:root { --ink:#16161d; --paper:#f6f7fb; --accent:#e93f78; --line:#e3e5ec; --muted:#6e7280; }
.detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; } .detail-grid article,.actions-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.25rem; } .actions-card { display:flex; align-items:center; gap:1rem; margin:1rem 0; } .actions-card form { margin:0; display:flex; gap:.5rem; } .calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:1px; background:var(--line); border:1px solid var(--line); } .calendar-grid>strong { background:#f0f1f5; padding:.7rem; text-align:center; } .calendar-day { background:#fff; min-height:125px; padding:.55rem; } .calendar-day>span { color:var(--muted); font-weight:700; } .calendar-event { display:block; margin-top:.45rem; border-radius:5px; padding:.35rem; background:#fff2da; color:#704300; font-size:.78rem; text-decoration:none; } .calendar-event.confirmed { background:#e4f7eb; color:#167346; }
.admin-footer { border-top:1px solid var(--line); color:var(--muted); display:flex; font-size:.82rem; justify-content:space-between; margin-top:3rem; padding:1.25rem 0 0; }
.public-page { background:#12131b; color:#fff; min-height:100vh; } .public-header,.public-footer { display:flex; align-items:center; justify-content:space-between; padding:1.25rem max(5vw,1.5rem); } .public-header a { color:#fff; text-decoration:none; } .hero { background:linear-gradient(125deg,#25122d,#7c1e51); min-height:56vh; padding:clamp(3rem,10vw,8rem) max(5vw,1.5rem); } .hero h1 { font-size:clamp(2.5rem,7vw,5.6rem); max-width:850px; } .hero p { font-size:1.1rem; max-width:630px; color:#ebe3ea; } .public-features { background:#fff; color:var(--ink); display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding:4rem max(5vw,1.5rem); } .public-features article,.public-form form { border:1px solid var(--line); border-radius:12px; padding:1.5rem; } .public-form { background:#fff; color:var(--ink); margin:2rem auto; max-width:900px; padding:2rem; border-radius:14px; } .public-footer { color:#b4b5c0; } .success-page { background:#fff; border-radius:16px; color:var(--ink); margin:10vh auto; max-width:600px; padding:3rem; } @media(max-width:760px){.public-features{grid-template-columns:1fr;}}
.dispatch-row { align-items:center; border-bottom:1px solid var(--line); display:flex; gap:.75rem; justify-content:space-between; padding:.65rem 0; }
.filter-bar { align-items:end; display:flex; flex-wrap:wrap; gap:.75rem; margin:1.25rem 0; } .filter-bar label { margin:0; } .filter-bar select { min-width:170px; }
.payment-row { border-bottom:1px solid var(--line); display:flex; gap:.5rem; justify-content:space-between; padding:.6rem 0; } .payment-row small { display:block; } .payment-row form { display:flex; gap:.35rem; margin:0; } .payment-row input { padding:.35rem; }
* { box-sizing:border-box; } body { margin:0; color:var(--ink); background:var(--paper); font:16px/1.45 Arial,sans-serif; } h1,h2,p { margin-top:0; } h1 { font-size:2rem; } h3 { margin-bottom:.5rem; } .eyebrow { color:var(--accent); font-size:.75rem; font-weight:800; letter-spacing:.14em; } .muted, small { color:var(--muted); } button,.button-link { border:0; border-radius:8px; padding:.8rem 1rem; background:var(--accent); color:#fff; cursor:pointer; font-weight:700; text-decoration:none; } .secondary { background:#eceef4; color:var(--ink); } label { display:grid; gap:.4rem; font-weight:700; margin:1rem 0; } input,textarea,select { border:1px solid var(--line); border-radius:8px; padding:.75rem; font:inherit; width:100%; } textarea { min-height:100px; resize:vertical; } .auth-page { min-height:100vh; display:grid; place-items:center; padding:1rem; } .auth-card { width:min(100%,430px); background:#fff; padding:2rem; border-radius:16px; box-shadow:0 14px 35px #20223415; } .auth-card button { width:100%; margin-top:.5rem; } .alert,.success { border-radius:8px; padding:.7rem; } .alert { color:#a12443; background:#ffe8ef; } .success { color:#167346; background:#e4f7eb; } .language-switch { color:var(--muted); font-size:.875rem; } .language-switch a { color:inherit; } .admin-page { display:flex; min-height:100vh; } .sidebar { width:235px; padding:2rem 1.25rem; background:#16161d; color:#fff; } .sidebar nav { display:grid; gap:.4rem; margin-top:2rem; } .sidebar a { padding:.7rem .75rem; color:#c8cad3; text-decoration:none; border-radius:7px; } .sidebar a.active,.sidebar a:hover { background:#31313d; color:#fff; } .content { width:100%; padding:2.5rem; } header { display:flex; justify-content:space-between; align-items:start; gap:1rem; } .header-actions { display:flex; align-items:center; gap:1rem; } .header-actions .language-switch { margin:0; } .cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; } .cards article,.next,.table-card,.editor-card,.reservation-editor section { background:#fff; border:1px solid var(--line); border-radius:12px; padding:1.25rem; } .cards span,.cards small { display:block; } .cards strong { display:block; margin:.5rem 0; font-size:1.8rem; } .status { text-transform:capitalize; } .status-available { color:#167346; } .status-rented { color:#a86000; } .status-dirty,.status-workshop,.status-out_of_service { color:#b42545; } .next { margin-top:1rem; } .catalog-tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0; } .catalog-tabs a { border:1px solid var(--line); border-radius:999px; color:var(--ink); padding:.45rem .75rem; text-decoration:none; } .catalog-tabs a.active { background:var(--ink); color:#fff; } .table-card { overflow:auto; padding:0; } table { border-collapse:collapse; width:100%; min-width:700px; } th,td { border-bottom:1px solid var(--line); padding:.85rem 1rem; text-align:left; vertical-align:top; } th { color:var(--muted); font-size:.8rem; text-transform:uppercase; } .badge { border-radius:999px; display:inline-block; font-size:.8rem; font-weight:700; padding:.2rem .5rem; } .badge-active,.badge-confirmed { background:#e4f7eb; color:#167346; } .badge-inactive,.badge-cancelled { background:#f1f1f3; color:#686b75; } .badge-pending { background:#fff2da; color:#9a5b00; } .table-actions { display:flex; gap:.75rem; align-items:center; white-space:nowrap; } .table-actions form { margin:0; } .table-actions a,.link-button,.back-link { color:#ba2457; background:none; border:0; padding:0; text-decoration:underline; font:inherit; cursor:pointer; } .empty-state { color:var(--muted); text-align:center; } .form-content,.reservation-form { max-width:1040px; } .back-link { display:inline-block; margin-bottom:1rem; } .editor-card { max-width:680px; } .checkbox-label { display:flex; align-items:center; gap:.75rem; } .checkbox-label input { width:auto; } .field-error { color:#b42545; } .reservation-editor { display:grid; gap:1rem; } .reservation-editor section { margin:0; } .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 1rem; } .selection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; } .quantity-label { align-items:center; grid-template-columns:1fr 88px; } .quantity-label input { margin:0; } @media (max-width:760px) { .sidebar { display:none; } .content { padding:1.5rem; } .cards,.form-grid,.selection-grid { grid-template-columns:1fr; } .header-actions { align-items:end; flex-direction:column; } }
