:root{--bg:#f4f1eb;--surface:#fffdf9;--surface-2:#f8f5ef;--ink:#17202a;--muted:#6d756f;--navy:#182633;--navy-2:#243746;--gold:#b58a47;--line:#e7e0d6;--green:#247456;--red:#a13f3f;--shadow:0 14px 38px rgba(29,38,44,.08);--radius:18px}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:14px}a{color:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:248px;background:linear-gradient(180deg,var(--navy),#101c25);color:#edf1f0;position:fixed;inset:0 auto 0 0;padding:22px 16px;display:flex;flex-direction:column;z-index:30;box-shadow:8px 0 28px rgba(10,18,23,.12)}.brand{display:flex;align-items:center;gap:12px;padding:5px 9px 24px;border-bottom:1px solid rgba(255,255,255,.10);margin-bottom:16px}.brand img{width:38px;height:38px;object-fit:contain;background:white;border-radius:10px;padding:4px}.brand strong{display:block;font-size:15px;letter-spacing:.1px}.brand span{display:block;color:#9fb0bb;font-size:11px;margin-top:3px}.sidebar nav{display:grid;gap:4px}.sidebar nav a{display:flex;gap:11px;align-items:center;text-decoration:none;color:#b9c5cc;padding:11px 12px;border-radius:12px;transition:.18s}.sidebar nav a span{width:19px;text-align:center;color:#d8c29c}.sidebar nav a:hover,.sidebar nav a.active{background:rgba(255,255,255,.095);color:white}.sidebar-footer{margin-top:auto;color:#788b96;font-size:11px;padding:10px}.main-content{margin-left:248px;width:calc(100% - 248px);min-width:0}.topbar{height:88px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:rgba(244,241,235,.88);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(205,196,183,.65)}.topbar h1{margin:0;font-size:22px;letter-spacing:-.3px}.topbar p{margin:5px 0 0;color:var(--muted);font-size:12px}.admin-menu details{position:relative}.admin-menu summary{list-style:none;cursor:pointer;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-weight:600}.admin-menu summary::-webkit-details-marker{display:none}.dropdown{position:absolute;right:0;top:45px;min-width:165px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;z-index:40}.dropdown a{display:block;text-decoration:none;padding:9px 10px;border-radius:8px}.dropdown a:hover{background:var(--surface-2)}.page-content{padding:26px 30px 44px;max-width:1600px}.alert{margin:16px 30px 0;padding:12px 15px;border-radius:12px;border:1px solid}.alert.success{background:#edf8f3;border-color:#cce9dc;color:#1f674c}.alert.error{background:#fff0f0;border-color:#f0caca;color:#8e3030}.alert.warning{background:#fff7e8;border-color:#eedcad;color:#755821}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card h2,.card h3{margin:0 0 14px}.stat-card{position:relative;overflow:hidden;min-height:130px}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:linear-gradient(145deg,rgba(181,138,71,.18),rgba(181,138,71,0));right:-20px;top:-20px}.stat-label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.75px}.stat-value{font-size:28px;font-weight:750;margin-top:13px;letter-spacing:-.8px}.stat-note{color:var(--muted);font-size:12px;margin-top:8px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap}.toolbar .group{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.button,button{appearance:none;border:0;background:var(--navy);color:white;border-radius:11px;padding:10px 14px;font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;gap:7px;align-items:center;justify-content:center;font-family:inherit}.button:hover,button:hover{filter:brightness(1.08)}.button.secondary,button.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.button.gold{background:var(--gold)}.button.danger{background:var(--red)}.button.small{padding:7px 10px;font-size:12px;border-radius:9px}.button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}input,select,textarea{width:100%;background:white;border:1px solid #dcd5ca;border-radius:11px;padding:10px 11px;color:var(--ink);font:inherit;outline:none;transition:.15s}input:focus,select:focus,textarea:focus{border-color:#a78958;box-shadow:0 0 0 3px rgba(181,138,71,.13)}label{display:block;font-weight:650;margin-bottom:6px;font-size:12px}.field{margin-bottom:14px}.field small{display:block;color:var(--muted);margin-top:5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:white}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:12px 13px;border-bottom:1px solid #eee7dd;vertical-align:middle}th{background:#f7f3ec;color:#5c665f;font-size:11px;text-transform:uppercase;letter-spacing:.55px;position:sticky;top:0}tr:last-child td{border-bottom:0}tr:hover td{background:#fffdf8}.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700}.badge.active,.badge.paid{background:#e7f5ee;color:#216549}.badge.inactive,.badge.draft{background:#f4eee5;color:#785d34}.badge.absent{background:#fbeaea;color:#923d3d}.muted{color:var(--muted)}.empty{text-align:center;padding:42px 20px;color:var(--muted)}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-actions a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;border:1px solid var(--line);border-radius:13px;padding:13px;background:white}.quick-actions a:hover{border-color:#c7af87;transform:translateY(-1px)}.split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:18px}.summary-box{background:linear-gradient(145deg,#fffdf9,#f7f0e5);border:1px solid #e4d6c1;border-radius:16px;padding:16px}.summary-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed #e2d5c4}.summary-line:last-child{border-bottom:0}.summary-line.total{font-size:18px;font-weight:800;padding-top:12px}.hint{background:#f3f6f5;border-left:3px solid #789187;padding:11px 13px;border-radius:9px;color:#52615b}.danger-zone{border-color:#ebc8c8;background:#fffafa}.inline-form{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.inline-form .field{margin:0;min-width:140px}.pagination{display:flex;gap:6px;margin-top:14px}.pagination a{padding:7px 10px;border:1px solid var(--line);border-radius:9px;text-decoration:none;background:white}.pagination a.active{background:var(--navy);color:white}.js-toast{position:fixed;right:24px;bottom:24px;background:#173328;color:white;padding:11px 14px;border-radius:11px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:100}.js-toast.bad{background:#8e3030}.js-toast.show{opacity:1;transform:none}.mobile-only{display:none}.icon-button{padding:8px 10px}.receipt-preview{max-width:320px;margin:auto}.logo-preview{height:58px;max-width:180px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px}.save-status{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.sidebar{transform:translateX(-105%);transition:.2s}.sidebar.open{transform:none}.main-content{margin-left:0;width:100%}.mobile-only{display:inline-flex}.topbar{padding:0 16px}.page-content{padding:20px 16px}.alert{margin:12px 16px 0}.form-grid,.form-grid.cols-3,.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.topbar h1{font-size:18px}}
@media print{.sidebar,.topbar,.toolbar,.button,.no-print,.alert{display:none!important}.main-content{margin:0;width:100%}.page-content{padding:0}.card{box-shadow:none;border:0;padding:0}.table-wrap{border:0;overflow:visible}table{min-width:0}th{position:static}.app-shell{display:block}}
