:root{
  --pink:#c95b78;--pink2:#b84b69;--rose:#8e3f57;--blush:#f9e8ee;--blush2:#fff5f8;
  --ink:#1f2937;--muted:#6b7280;--line:#eadde2;--card:#fff;--bg:#fbf8fa;
  --green:#159468;--amber:#d58a23;--red:#c94352;--shadow:0 12px 34px rgba(93,44,61,.08);
}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 10%,#ffeaf1,transparent 30%),radial-gradient(circle at 90% 0,#fff0f5,transparent 28%),#fbf8fa}.auth-card{width:min(480px,100%);background:white;border:1px solid var(--line);border-radius:26px;padding:30px;box-shadow:var(--shadow)}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#f8c6d5,#fcebf0);display:grid;place-items:center;color:var(--rose);font-weight:800;font-size:22px}.brand h1{font-family:Georgia,serif;font-size:24px;margin:0;color:#7c344b}.brand p{font-size:11px;letter-spacing:.18em;margin:3px 0 0;color:#956174}.auth-card h2{margin:28px 0 8px;font-size:23px}.auth-card .lead{margin:0 0 20px;color:var(--muted);line-height:1.55}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.field label{font-size:12px;font-weight:700;color:#4b5563}.field input,.field select,.field textarea{width:100%;border:1px solid #ddd0d6;background:white;border-radius:12px;padding:11px 12px;outline:none}.field textarea{min-height:86px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#d17a92;box-shadow:0 0 0 3px rgba(201,91,120,.12)}.btn{border:0;border-radius:12px;padding:10px 15px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-primary{background:var(--pink);color:white}.btn-primary:hover{background:var(--pink2)}.btn-soft{background:var(--blush);color:var(--rose)}.btn-ghost{background:transparent;color:#5f4450;border:1px solid var(--line)}.btn-danger{background:#fff0f2;color:var(--red);border:1px solid #ffd2d8}.btn-success{background:#e8f8f2;color:var(--green);border:1px solid #c8efdf}.btn-sm{padding:7px 10px;border-radius:9px;font-size:12px}.btn-block{width:100%}.note{font-size:12px;color:var(--muted);line-height:1.55;background:#faf5f7;border-radius:12px;padding:12px}.error-box{background:#fff1f3;color:#9f263a;border:1px solid #ffd4dc;padding:11px 12px;border-radius:11px;font-size:13px;margin-bottom:14px}
.shell{min-height:100vh;display:grid;grid-template-columns:230px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#fff8fa,#f9e9ef);border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column}.sidebar .brand{padding:4px 8px 19px}.sidebar .brand-mark{width:40px;height:40px}.sidebar .brand h1{font-size:18px}.nav{display:flex;flex-direction:column;gap:5px}.nav button{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:11px;color:#4f4850;font-weight:650}.nav button:hover,.nav button.active{background:#f3cfd9;color:#7c344b}.nav button .mini{display:inline-block;width:26px;text-align:center}.sidebar-foot{margin-top:auto;padding:14px 8px;color:#886071;font-size:11px;line-height:1.5}.content{min-width:0}.topbar{height:74px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:0 24px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:20}.top-title{min-width:250px}.top-title h2{margin:0;font-size:20px}.top-title p{margin:2px 0 0;font-size:12px;color:var(--muted)}.role-pill{padding:8px 12px;border-radius:999px;background:var(--blush);color:var(--rose);font-size:12px;font-weight:700}.filters{margin-left:auto;display:flex;gap:5px;background:#faf7f8;border:1px solid var(--line);padding:4px;border-radius:12px}.filters button{border:0;background:transparent;padding:8px 10px;border-radius:9px;color:#625760;font-size:12px}.filters button.active{background:var(--pink);color:#fff}.userbox{display:flex;align-items:center;gap:9px;margin-left:7px}.avatar{width:36px;height:36px;border-radius:50%;background:#da88a0;color:white;display:grid;place-items:center;font-weight:800}.user-meta{line-height:1.15}.user-meta b{display:block;font-size:12px}.user-meta span{font-size:10px;color:var(--muted)}.main{padding:20px 24px 40px;max-width:1650px;margin:auto}.page-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.page-head h3{margin:0;font-size:22px}.page-head p{margin:3px 0 0;color:var(--muted);font-size:12px}.page-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:14px}.kpi{background:white;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 3px 12px rgba(89,45,60,.035)}.kpi .label{font-size:12px;color:#5e5960;font-weight:700}.kpi strong{display:block;margin-top:8px;font-size:23px;letter-spacing:-.02em}.kpi small{display:block;margin-top:6px;color:var(--muted);font-size:10px}.grid-2{display:grid;grid-template-columns:1.35fr .95fr;gap:14px;margin-bottom:14px}.grid-3{display:grid;grid-template-columns:1.35fr .72fr .72fr;gap:14px}.card{background:white;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 3px 12px rgba(89,45,60,.035);min-width:0}.card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.card-head h4{margin:0;font-size:15px}.card-head p{margin:2px 0 0;color:var(--muted);font-size:10px}.card-head .right{margin-left:auto}.table-wrap{overflow:auto;border:1px solid #f0e6ea;border-radius:12px}.table{width:100%;border-collapse:collapse;min-width:700px}.table th{background:#faf6f8;color:#56515a;font-size:10px;text-transform:uppercase;letter-spacing:.03em;text-align:left;padding:10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:10px;border-bottom:1px solid #f1e7eb;font-size:12px;vertical-align:middle}.table tr:last-child td{border-bottom:0}.table tr:hover td{background:#fffbfc}.money{font-variant-numeric:tabular-nums;font-weight:700}.status{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:800;text-transform:capitalize}.status.active,.status.paid,.status.approved{background:#e9f8f2;color:var(--green)}.status.pending,.status.void_pending,.status.partially-paid{background:#fff5df;color:var(--amber)}.status.voided,.status.rejected,.status.due{background:#fff0f2;color:var(--red)}.muted{color:var(--muted)}.truncate{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}.rent-panel{background:linear-gradient(135deg,#fff,#fff3f7)}.rent-business{padding:11px;border-radius:12px;background:#fce8ef;margin-bottom:10px}.rent-business b{display:block;color:#7b3249}.rent-business span{font-size:11px;color:#8b6572}.rent-row{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid #f0e5e9;font-size:11px}.rent-row:last-child{border:0}.bars{display:flex;align-items:end;gap:12px;height:205px;padding:18px 8px 4px;border-bottom:1px solid var(--line)}.bar-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:end;height:100%;gap:5px;min-width:42px}.bar{width:min(58px,72%);border-radius:9px 9px 2px 2px;background:linear-gradient(180deg,#ce6683,#edb1c1);min-height:3px}.bar-label{font-size:10px;color:var(--muted)}.bar-value{font-size:9px;font-weight:700;color:#7d4256}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.search{min-width:240px;flex:1;max-width:420px}.search input,.toolbar select,.toolbar input{border:1px solid var(--line);border-radius:10px;padding:9px 11px;background:#fff}.pill{padding:6px 9px;background:#f7edf1;border-radius:999px;color:#77545f;font-size:10px;font-weight:700}.split-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px}.split-box{border-radius:12px;background:#faf4f6;padding:12px}.split-box small{display:block;color:var(--muted)}.split-box strong{display:block;margin-top:4px;font-size:18px;color:#7b3249}.audit-json{max-width:340px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:ui-monospace,monospace;font-size:10px}.setup-banner{padding:12px;border:1px solid #f1c9d5;background:#fff5f8;border-radius:12px;color:#733248;font-size:12px;margin-bottom:14px}.staff-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.small-stat{background:#fff;border:1px solid var(--line);padding:13px;border-radius:13px}.small-stat span{font-size:10px;color:var(--muted)}.small-stat strong{display:block;font-size:19px;margin-top:5px}.role-rule{font-size:11px;color:#5f5960;line-height:1.7}.role-rule b{color:#7b3249}.toast{position:fixed;right:18px;bottom:18px;z-index:1000;background:#222;color:white;padding:11px 14px;border-radius:11px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;max-width:360px;font-size:12px}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:#a83245}.modal-backdrop{position:fixed;inset:0;background:rgba(30,20,25,.38);z-index:900;display:grid;place-items:center;padding:18px}.modal{width:min(620px,100%);max-height:90vh;overflow:auto;background:white;border-radius:18px;border:1px solid var(--line);box-shadow:0 30px 70px rgba(45,21,30,.22);padding:20px}.modal-head{display:flex;align-items:center;gap:10px;margin-bottom:16px}.modal-head h3{margin:0}.modal-head button{margin-left:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.form-grid .full{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.loading{padding:40px;text-align:center;color:var(--muted)}.spinner{width:28px;height:28px;border:3px solid #f4d8e1;border-top-color:var(--pink);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 10px}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}.grid-3{grid-template-columns:1fr 1fr}.grid-3>:first-child{grid-column:1/-1}.grid-2{grid-template-columns:1fr}.shell{grid-template-columns:205px 1fr}}
@media(max-width:780px){.shell{display:block}.sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:66px;z-index:50;padding:6px;background:#fff;border-top:1px solid var(--line);border-right:0}.sidebar .brand,.sidebar-foot{display:none}.nav{flex-direction:row;overflow:auto;height:100%}.nav button{font-size:0;min-width:60px;text-align:center;padding:8px}.nav button .mini{font-size:20px;width:auto}.topbar{height:auto;min-height:66px;padding:10px 13px;flex-wrap:wrap}.top-title{min-width:0}.top-title h2{font-size:16px}.top-title p,.user-meta,.role-pill{display:none}.filters{order:3;width:100%;margin-left:0;overflow:auto}.filters button{flex:1;white-space:nowrap}.main{padding:14px 12px 86px}.kpis{grid-template-columns:repeat(2,1fr)}.kpi strong{font-size:20px}.grid-3{grid-template-columns:1fr}.grid-3>:first-child{grid-column:auto}.staff-summary{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.page-head{align-items:flex-start;flex-wrap:wrap}.page-actions{width:100%;margin-left:0}.page-actions .btn{flex:1}.userbox{margin-left:auto}}
