:root{--bg:#070707;--bg-elevated:#101010;--panel:#121212;--card:#171717;--sidebar:#0b0b0b;--gold:#c9a227;--gold-soft:#e8c96a;--gold-dim:#8a7324;--text:#f6f1e4;--muted:#9d9686;--line:#2b2618;--danger:#c45c5c;--success:#7ea36b;--shadow:0 18px 50px #00000073;--radius:16px;--sidebar-w:268px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(circle at top, #1a160c 0%, var(--bg) 42%);color:var(--text);letter-spacing:.01em;margin:0;font-family:Segoe UI,Calibri,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}img{max-width:100%;display:block}.app-shell{grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:linear-gradient(#0d0d0d 0%,#090909 100%);flex-direction:column;height:100vh;padding:28px 18px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--line);margin-bottom:22px;padding:4px 10px 28px}.brand-mark{color:var(--gold);letter-spacing:.08em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:30px}.brand-sub{color:var(--muted);letter-spacing:.22em;text-transform:uppercase;margin-top:4px;font-size:11px}.nav-group{margin-bottom:22px}.nav-label{color:var(--gold-dim);letter-spacing:.18em;text-transform:uppercase;padding:0 12px 8px;font-size:11px}.nav-link{color:var(--muted);border-radius:10px;align-items:center;gap:10px;margin-bottom:4px;padding:10px 12px;display:flex}.nav-link:hover,.nav-link.active{color:var(--gold-soft);background:#c9a2271a}.sidebar-user{border-top:1px solid var(--line);margin-top:auto;padding:16px 12px 0}.sidebar-user strong{display:block}.sidebar-user span{color:var(--muted);font-size:12px}.main{min-width:0;padding:28px 36px 48px}.topbar{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:28px;display:flex}.page-kicker{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin:0 0 6px;font-size:12px}.page-title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:40px;font-weight:600}.card,.panel,.stat,.modal,.table-wrap,.login-card,.kanban-col,.task-card,.invoice-sheet{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat{padding:20px 22px}.stat span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:12px}.stat strong{color:var(--gold-soft);margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:32px;display:block}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:16px;display:flex}.search,.select,.input,textarea{border:1px solid var(--line);background:#0e0e0e;border-radius:10px;outline:none;min-width:0;padding:11px 13px}.search{min-width:240px}.input:focus,.select:focus,textarea:focus,.search:focus{border-color:var(--gold)}.btn{border:1px solid var(--gold);background:var(--gold);color:#111;cursor:pointer;border-radius:10px;padding:10px 16px;font-weight:700}.btn.ghost{color:var(--gold-soft);background:0 0}.btn.danger{border-color:var(--danger);color:#f0b3b3;background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.table-wrap{overflow-x:hidden}table{border-collapse:collapse;table-layout:fixed;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 14px}th{color:var(--gold-dim);letter-spacing:.08em;text-transform:uppercase;font-size:12px}tr:hover td{background:#c9a2270a}.badge{border:1px solid var(--line);color:var(--gold-soft);border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;display:inline-flex}.badge.ok{color:#cfe8c2;border-color:#3d5a32}.badge.warn{color:#ead38a}.badge.bad{color:#f0b3b3;border-color:#6b3030}.grid-2{grid-template-columns:1.4fr 1fr;gap:18px;display:grid}.grid-form{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.span-2{grid-column:span 2}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:12px}.modal-backdrop{z-index:20;background:#000000b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{width:min(720px,100%);max-height:90vh;padding:24px;overflow:auto}.modal h3{margin:0 0 16px;font-family:Georgia,Times New Roman,serif;font-size:30px}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{width:min(460px,100%);padding:42px 36px}.login-card h1{color:var(--gold-soft);margin:0 0 6px;font-family:Georgia,Times New Roman,serif;font-size:42px}.login-card p{color:var(--muted);margin:0 0 28px}.login-card .field{margin-bottom:14px}.login-card .btn{width:100%;margin-top:8px}.kanban{grid-auto-columns:280px;grid-auto-flow:column;gap:14px;padding-bottom:12px;display:grid;overflow-x:auto}.kanban-col{min-height:420px;padding:14px}.kanban-col h4{color:var(--gold-soft);justify-content:space-between;margin:0 0 12px;display:flex}.board-card{border:1px solid var(--line);background:#111;border-radius:12px;margin-bottom:10px;padding:12px}.board-card small{color:var(--muted)}.task-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.task-card{padding:18px}.task-card h3{margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:28px}.work-timer{border:1px solid var(--gold-dim);background:#0e0e0e;border-radius:10px;justify-content:space-between;align-items:center;margin:10px 0 14px;padding:10px 12px;display:flex}.work-timer span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.work-timer strong{color:var(--gold-soft);letter-spacing:.06em;font-family:Georgia,Times New Roman,serif;font-size:28px}.work-timer.live strong{color:var(--gold)}.photo-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.photo-row img{object-fit:cover;border:1px solid var(--line);border-radius:8px;width:72px;height:72px}.invoice-sheet{color:#111;background:#fff;padding:32px}.invoice-sheet h2{margin:0;font-family:Georgia,Times New Roman,serif}.invoice-actions{margin-bottom:16px}.error{color:#f0b3b3}.muted{color:var(--muted)}.row-actions{gap:8px;display:flex}.split-field{grid-template-columns:1fr auto;align-items:start;gap:10px;display:grid}.section-head{justify-content:space-between;align-items:center;margin:22px 0 10px;display:flex}.section-head h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:26px}.combo{position:relative}.combo-list{z-index:12;border:1px solid var(--gold-dim);max-height:240px;box-shadow:var(--shadow);background:#111;border-radius:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto}.combo-item{text-align:left;border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;flex-direction:column;gap:2px;width:100%;padding:10px 12px;display:flex}.combo-item span{color:var(--muted);font-size:12px}.combo-item:hover,.combo-item.active{background:#c9a2271f}.combo-empty{color:var(--muted);padding:12px}.line-wrap{overflow:visible}.line-table{table-layout:fixed;width:100%}.line-table th,.line-table td{white-space:normal;padding:8px 6px}.line-table input,.line-table .combo-input{width:100%;min-width:0}.line-table .col-sm{width:9%}.line-table .col-md{width:14%}.line-table .col-xs{width:46px}.line-table td{vertical-align:top}@media (width<=980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.grid-2,.grid-form{grid-template-columns:1fr}.span-2{grid-column:auto}.main{padding:20px}}@media print{.sidebar,.toolbar,.invoice-actions,.topbar,.btn{display:none!important}.app-shell{display:block}.invoice-sheet{box-shadow:none;border:none}}
