:root{--brand:#ff5f1f;--brand-dark:#e0480c;--brand-light:#ffe8dc;--ink:#1a1a1a;--muted:#6b6b6b;--bg:#fafafa;--card:#fff;--border:#ececec;--success:#1dbf73;--danger:#e23636;--radius:14px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);margin:0;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--ink);color:#fff;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.brand{letter-spacing:-.5px;align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.brand .dot{background:var(--brand);width:10px;height:10px;box-shadow:0 0 10px var(--brand);border-radius:50%}.nav{align-items:center;gap:20px;font-size:14px;display:flex}.nav a{opacity:.85}.nav a:hover{opacity:1}.btn{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:700;transition:transform 80ms,box-shadow .15s;display:inline-flex}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 4px 14px #ff5f1f66}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #ff5f1f80}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-ghost{color:var(--ink);border:1.5px solid var(--border);background:0 0}.btn-ghost:hover{border-color:var(--brand);color:var(--brand-dark)}.btn-danger{color:var(--danger);background:#fff;border:1.5px solid #f6c4c4}.container{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:32px 24px}.page-title{margin:0 0 4px;font-size:26px;font-weight:800}.page-sub{color:var(--muted);margin:0 0 28px;font-size:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.auth-wrap{background:linear-gradient(160deg, #1a1a1a 0%, #1a1a1a 55%, var(--brand) 260%);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-card{background:#fff;border-radius:18px;width:380px;max-width:calc(100vw - 32px);padding:36px 32px;box-shadow:0 20px 60px #00000059}@media (width<=640px){.container{padding:20px 16px}.auth-wrap{padding:16px}.auth-card{padding:24px 20px}.admin-shell{flex-direction:column}.sidebar{width:100%;height:auto;padding:12px 0;position:relative}table{font-size:12px}}.field{margin-bottom:16px}.field label{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--border);border-radius:10px;outline:none;width:100%;padding:11px 13px;font-family:inherit;font-size:14px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand)}.error-text{color:var(--danger);margin-bottom:12px;font-size:13px}.stat-row{flex-wrap:wrap;gap:16px;margin-bottom:28px;display:flex}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-width:180px;padding:18px 20px}.stat-card .label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:12px;font-weight:600}.stat-card .value{margin-top:6px;font-size:26px;font-weight:800}.stat-card.brand{background:var(--brand);color:#fff}.stat-card.brand .label{color:#ffffffd9}.section-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.section-head h2{margin:0;font-size:18px}.listing-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.listing-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.listing-photo{background:var(--brand-light) center/cover no-repeat;height:150px;color:var(--brand-dark);justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.listing-body{flex-direction:column;flex:1;gap:6px;padding:14px 16px;display:flex}.listing-title{font-size:15px;font-weight:700}.listing-price{color:var(--brand-dark);font-size:15px;font-weight:800}.listing-meta{color:var(--muted);font-size:12px}.badge{text-transform:uppercase;letter-spacing:.4px;border-radius:999px;width:fit-content;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.badge-listed{color:var(--brand-dark);background:#fff1e8}.badge-claimed{color:#a47b00;background:#fff6da}.badge-picked_up{color:#0b6fb8;background:#e7f5ff}.badge-paid{color:#157a45;background:#e4f9ee}.badge-cancelled,.badge-rejected{color:var(--danger);background:#fdecec}.empty-state{text-align:center;color:var(--muted);padding:60px 20px}.photo-drop{border:2px dashed var(--border);text-align:center;cursor:pointer;color:var(--muted);border-radius:12px;padding:24px;font-size:13px}.photo-drop:hover{border-color:var(--brand)}.thumb-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.thumb{object-fit:cover;border:1px solid var(--border);border-radius:8px;width:64px;height:64px}.ledger-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:12px 0;font-size:14px;display:flex}.ledger-row:last-child{border-bottom:none}.ledger-amount.credit{color:var(--success);font-weight:700}.ledger-amount.debit{color:var(--danger);font-weight:700}.timer-box{background:var(--ink);color:#fff;border-radius:12px;align-items:center;gap:10px;padding:14px 18px;display:flex}.timer-box .digits{font-variant-numeric:tabular-nums;letter-spacing:1px;font-size:26px;font-weight:800}.timer-box.urgent{background:var(--danger)}.timer-box .label{opacity:.75;font-size:12px}.otp-input{letter-spacing:10px;text-align:center;font-size:28px;font-weight:800;padding:14px!important}.tabs{border-bottom:2px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 16px;font-size:14px;font-weight:700}.tab-btn.active{color:var(--brand-dark);border-bottom-color:var(--brand)}.doc-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.doc-row:last-child{border-bottom:none}.verification-banner{border-radius:12px;margin-bottom:24px;padding:16px 20px;font-size:14px;font-weight:600}.verification-banner.pending_docs,.verification-banner.under_review{color:#8a6600;background:#fff6da}.verification-banner.rejected{color:var(--danger);background:#fdecec}.verification-banner.approved{color:#157a45;background:#e4f9ee}.wallet-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:28px;display:grid}.admin-shell{min-height:100vh;display:flex}.sidebar{background:var(--ink);color:#fff;flex-shrink:0;width:240px;height:100vh;padding:20px 0;position:sticky;top:0;overflow-y:auto}.sidebar .brand{align-items:center;gap:8px;padding:0 20px 20px;font-size:18px;font-weight:800;display:flex}.sidebar-group{margin-bottom:4px}.sidebar-group-label{text-transform:uppercase;letter-spacing:.5px;color:#fff6;padding:10px 20px 4px;font-size:11px;font-weight:700}.sidebar-link{color:#ffffffbf;border-left:3px solid #0000;padding:8px 20px 8px 28px;font-size:13.5px;display:block}.sidebar-link:hover{color:#fff;background:#ffffff0d}.sidebar-link.active{color:#fff;border-left-color:var(--brand);background:#ff5f1f26;font-weight:700}.sidebar-top-link{color:#ffffffd9;padding:10px 20px;font-size:13.5px;font-weight:700;display:block}.sidebar-top-link.active{color:var(--brand)}.admin-main{background:var(--bg);flex:1;min-width:0}.admin-topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:flex-end;align-items:center;gap:14px;padding:14px 24px;display:flex}.bar-chart{align-items:flex-end;gap:6px;height:120px;display:flex}.bar-chart .bar{background:var(--brand);border-radius:4px 4px 0 0;flex:1;min-height:2px;position:relative}.bar-chart .bar-label{color:var(--muted);text-align:center;margin-top:4px;font-size:10px}.admin-main .container{max-width:1200px;margin:0}.brand-logo{object-fit:cover;border-radius:6px;width:24px;height:24px;display:block}.progress-bar{background:var(--border,#e0e0e0);border-radius:3px;width:100%;height:6px;margin-top:10px;overflow:hidden}.progress-bar-fill{background:var(--brand,#ff5f1f);border-radius:3px;width:40%;height:100%;animation:1.1s ease-in-out infinite progress-slide}@keyframes progress-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}
