
:root{--bg:#f7f1ee;--card:#fffdfc;--ink:#4b2f29;--muted:#8c7169;--line:#ead7d0;--accent:#b86f5d;--accent2:#d99a87;--good:#3d8a62;--warn:#c58a2b;--bad:#b64b4b;--shadow:0 16px 40px rgba(80,45,35,.08)}
*{box-sizing:border-box}html,body{margin:0;background:linear-gradient(135deg,#f7f1ee,#fffaf7);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}
.login-page{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(560px,100%);background:rgba(255,253,252,.94);border:1px solid #e8d3cb;border-radius:30px;padding:30px;box-shadow:var(--shadow)}
.logo{text-align:center}.diamond{width:46px;height:46px;border:2px solid var(--accent);transform:rotate(45deg);margin:10px auto 22px}.logo h1{font-family:Georgia,serif;font-size:54px;letter-spacing:2px;margin:0}.logo p{letter-spacing:4px;color:var(--muted);margin:8px 0 26px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.tabs button,.btn{border:1px solid var(--line);background:#fff8f5;color:var(--ink);border-radius:14px;padding:13px 16px;font-weight:700}.tabs .active,.btn.primary{background:var(--accent);color:white;border-color:var(--accent)}.btn.success{background:var(--good);color:#fff;border-color:var(--good)}.btn.danger{background:#fff0f0;color:var(--bad);border-color:#efc8c8}.btn.small{padding:8px 11px;border-radius:10px;font-size:13px}.btn.block{width:100%}.form{display:grid;gap:14px}.form label{display:grid;gap:7px;font-weight:700;color:#71544c}.form input,.form select,.form textarea,.search input{width:100%;border:1px solid #e1c8bf;border-radius:13px;padding:13px 14px;background:#fff}.form textarea{min-height:90px;resize:vertical}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.notice{background:#fff5db;border:1px solid #eedba8;padding:12px;border-radius:13px;color:#765b24;font-size:14px}.success{color:var(--good);font-weight:700}.error{color:var(--bad);font-weight:700}
.shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#4a2e28;color:white;padding:24px 16px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;padding:5px 8px 28px}.brand-mark{width:42px;height:42px;border:1px solid #d9a394;display:grid;place-items:center;transform:rotate(45deg)}.brand-mark span{transform:rotate(-45deg);font-size:20px}.brand-title{font:700 28px Georgia,serif}.brand-sub{font-size:10px;letter-spacing:3px;color:#d9b1a5}.nav{display:grid;gap:6px}.nav button{display:flex;gap:11px;align-items:center;width:100%;text-align:left;border:0;background:transparent;color:#f4ded8;padding:12px 13px;border-radius:12px}.nav button.active,.nav button:hover{background:#6b4238;color:#fff}.nav button span{width:23px;text-align:center}.side-bottom{position:absolute;bottom:20px;left:16px;right:16px}.main{padding:24px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.topbar h1{margin:0;font:700 32px Georgia,serif}.topbar p{margin:5px 0 0;color:var(--muted)}.userbox{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);padding:8px 12px;border-radius:16px}.avatar{width:36px;height:36px;border-radius:50%;background:#e9c1b4;color:#6e3e33;display:grid;place-items:center;font-weight:800}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,1fr)}.two{grid-template-columns:1.35fr 1fr}.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 7px 25px rgba(75,47,41,.04)}.metric .label{color:var(--muted);font-size:13px}.metric .value{font-size:30px;font-weight:800;margin:8px 0}.hint{font-size:12px;color:var(--muted)}.section{margin-top:16px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.section-head h2,.card h2{margin:0;font-size:19px}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:650px}.table th,.table td{padding:12px 10px;border-bottom:1px solid #f0e1dc;text-align:left;font-size:14px}.table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.badge.ok{background:#e8f5ed;color:var(--good)}.badge.warn{background:#fff3d9;color:#9a6a16}.badge.bad{background:#ffebeb;color:var(--bad)}.kpi-line{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f1e5e1}.empty{text-align:center;color:var(--muted);padding:35px 10px}.search{flex:1}.actions{display:flex;gap:8px;flex-wrap:wrap}.chart{height:230px;display:flex;align-items:end;gap:10px;padding-top:15px}.bar{flex:1;background:linear-gradient(#d59a87,#b86f5d);border-radius:8px 8px 0 0;min-height:8px}.bar-label{text-align:center;font-size:10px;color:var(--muted);margin-top:5px}.mini{font-size:12px;color:var(--muted)}.qrbox{display:grid;place-items:center;padding:15px;background:white;border:1px dashed var(--line);border-radius:16px}.qrbox img{width:180px;height:180px}.invoice{background:white;border:1px solid var(--line);border-radius:18px;padding:20px}.invoice-head{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px}.invoice-total{font-size:28px;font-weight:800}.mobile-nav{display:none}
.modal-back{position:fixed;inset:0;background:rgba(47,27,23,.45);display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(720px,100%);max-height:90vh;overflow:auto;background:#fffdfc;border-radius:22px;border:1px solid var(--line);padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.2)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.close{border:0;background:#f4e7e2;border-radius:50%;width:36px;height:36px}
.toast{position:fixed;right:20px;bottom:20px;background:#4a2e28;color:#fff;padding:13px 16px;border-radius:13px;z-index:30;box-shadow:var(--shadow)}
@media(max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{display:none}.main{padding:16px 14px 90px}.cards{grid-template-columns:1fr 1fr}.two,.three{grid-template-columns:1fr}.mobile-nav{display:grid;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);z-index:8}.mobile-nav button{border:0;background:#fff;color:var(--muted);padding:8px 3px;font-size:10px}.mobile-nav button.active{color:var(--accent);font-weight:800}.topbar{align-items:flex-start}.user-name{display:none}.topbar h1{font-size:25px}.two-col{grid-template-columns:1fr}.logo h1{font-size:44px}}
