@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--ink:#201c19;--charcoal:#2c2723;--brown:#5a4635;--gold:#c79b52;--gold-soft:#ead7af;--cream:#f7f2e9;--paper:#fffdf9;--muted:#81766b;--line:#e8dfd2;--danger:#a94339;--shadow:0 14px 36px rgba(44,39,35,.08)}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:'Playfair Display',serif;margin:0;font-weight:600}h1{font-size:30px}h2{font-size:24px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:var(--charcoal);color:#f8eee0;padding:28px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 32px;font-family:'Playfair Display',serif;font-size:18px;color:#fff}.brand img,.login-logo{width:50px;height:50px;object-fit:contain}.brand small{display:block;font:11px 'DM Sans',sans-serif;color:var(--gold-soft);letter-spacing:1px;margin-top:3px}.sidebar nav{display:grid;gap:4px}.sidebar nav a,.logout{padding:12px 13px;border-radius:6px;color:#d8cbbc}.sidebar nav a:hover,.sidebar nav a.nav-highlight{background:#40372f;color:#fff}.nav-highlight{border-left:2px solid var(--gold)}.logout{margin-top:auto;border-top:1px solid #51473f;padding-top:20px}.main-content{margin-left:252px;width:calc(100% - 252px);padding:30px 42px 50px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-size:10px;color:var(--gold);font-weight:700;margin:0 0 7px}.user-chip{background:#fff;border:1px solid var(--line);padding:10px 16px;border-radius:30px;font-weight:600}.welcome{display:flex;justify-content:space-between;align-items:center;background:var(--charcoal);color:#fff;padding:28px 30px;border-radius:10px;margin-bottom:22px}.welcome p:not(.eyebrow){color:#cbbdaf}.button{border:0;border-radius:5px;padding:12px 18px;font-weight:700;display:inline-block}.button.gold{background:var(--gold);color:#1f1a16}.button.full{width:100%}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px}.metric{background:var(--paper);padding:21px;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.metric span,.metric small{display:block;color:var(--muted)}.metric strong{font:700 25px 'Playfair Display',serif;display:block;margin:12px 0 6px}.metric small{font-size:12px}.secondary{grid-template-columns:repeat(3,1fr)}.warning strong{color:var(--danger)}.content-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:15px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:25px}.dark-panel{background:#4a392d;color:#fff}.dark-panel p:not(.eyebrow){color:#d8cbbc}.quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.quick-actions a{border:1px solid var(--line);padding:16px;border-radius:5px;font-weight:600}.quick-actions a:hover{border-color:var(--gold);color:var(--brown)}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 15% 20%,#5c4534 0,#2a2420 45%,#181513 100%);color:#fff}.login-panel{width:min(420px,calc(100% - 32px));padding:40px;background:rgba(38,32,28,.92);border:1px solid #755a3b;border-radius:10px;box-shadow:0 25px 70px #0008}.login-panel h1{font-size:34px}.login-logo{display:block;margin:0 auto 18px}.login-panel .eyebrow{text-align:center}.login-location{text-align:center;color:#cbbdaf;line-height:1.7;margin:10px 0 28px}.login-panel label{display:block;color:#decfbf;margin:15px 0 6px}.login-panel input:not([type=checkbox]){width:100%;background:#302923;border:1px solid #675444;color:#fff;padding:12px;border-radius:5px;margin-top:6px}.password-field{display:flex;gap:6px}.password-field input{flex:1}.password-field button{background:transparent;color:var(--gold-soft);border:0}.check-row{display:flex!important;gap:8px;align-items:center;font-size:12px}.alert{padding:11px 13px;border-radius:5px;margin:12px 0}.error{background:#512e2a;color:#ffd5cb}.login-help{font-size:12px;text-align:center;color:#bcae9f;margin-top:20px}.login-help a{color:var(--gold-soft)}.table-wrap{overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:8px}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table th{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.data-table tr:last-child td{border-bottom:0}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.search{background:var(--paper);border:1px solid var(--line);padding:11px 13px;border-radius:5px;min-width:260px}.badge{padding:5px 9px;border-radius:20px;font-size:11px;font-weight:700}.badge.good{background:#e0f0e5;color:#2d7045}.badge.low{background:#fff0d5;color:#92631d}.badge.out{background:#f6deda;color:#994139}.form-panel{max-width:900px;background:var(--paper);padding:25px;border:1px solid var(--line);border-radius:8px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-grid .wide{grid-column:1/-1}.field label{display:block;font-size:12px;font-weight:600;color:var(--muted);margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:#fff;padding:11px;border-radius:5px}.field textarea{min-height:90px;resize:vertical}.actions{display:flex;gap:10px;margin-top:22px}.button.secondary{background:#eee5d8}.invoice{background:#fff;padding:38px;max-width:900px;margin:auto;box-shadow:var(--shadow)}.invoice-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--gold);padding-bottom:20px}.invoice-brand{display:flex;gap:12px}.invoice-brand img{width:58px;height:58px;object-fit:contain}.invoice table{width:100%;border-collapse:collapse;margin:28px 0}.invoice th,.invoice td{padding:11px;border-bottom:1px solid #eee;text-align:left}.invoice-summary{margin-left:auto;width:260px}.invoice-summary div{display:flex;justify-content:space-between;padding:7px}.invoice-summary .total{font-weight:700;border-top:2px solid var(--gold);font-size:18px}.bill-items{width:100%;border-collapse:collapse}.bill-items th,.bill-items td{padding:8px;border-bottom:1px solid var(--line);text-align:left}.bill-items input,.bill-items select{width:100%;padding:8px;border:1px solid var(--line)}@media(max-width:900px){.sidebar{width:210px}.main-content{margin-left:210px;width:calc(100% - 210px);padding:24px}.metric-grid{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}@media(max-width:640px){.sidebar{position:static;width:100%;min-height:auto}.app-shell{display:block}.sidebar nav{grid-template-columns:repeat(2,1fr)}.logout{margin-top:15px}.main-content{margin-left:0;width:100%;padding:20px 14px}.topbar{align-items:flex-start}.topbar h1{font-size:25px}.welcome{display:block}.welcome .button{margin-top:18px}.metric-grid,.secondary,.form-grid{grid-template-columns:1fr}.toolbar{display:block}.search{width:100%;margin-bottom:10px}.invoice{padding:18px}.invoice-head{display:block}.invoice-summary{width:100%}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.main-content{margin:0;width:100%;padding:0}.invoice{box-shadow:none;max-width:none}}
