:root{--navy:#2c324a;--navy-2:#363d58;--navy-3:#202538;--gold:#d4b77c;--gold-deep:#94743a;--bg:#f1f3f6;--surface:#fff;--soft:#f6f7f9;--line:#dfe3ea;--text:#1b2133;--muted:#5a6276;--ok:#237350;--warn:#a2650f;--bad:#ad3d35;--violet:#67499f;--radius:12px;--shadow:0 7px 24px rgba(24,30,48,.07)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font:14px/1.5 Outfit,system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 11px;background:var(--surface);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px #d4b77c38}textarea{resize:vertical}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(360px,.85fr)}.login-brand{background:linear-gradient(145deg,#23283b,#303a5a);color:#fff;padding:clamp(36px,9vw,132px);display:flex;flex-direction:column}.brand-word{font:600 clamp(45px,6vw,78px)/.85 "Cormorant Garamond",serif;letter-spacing:.16em}.brand-sub{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;margin:16px 0 0 6px}.login-copy{max-width:500px;margin:auto 0}.login-copy span,.eyebrow{color:var(--gold-deep);font-size:11px;font-weight:700;letter-spacing:.12em}.login-brand .login-copy span{color:var(--gold)}.login-copy h1{font-size:clamp(30px,4vw,50px);line-height:1.1;margin:12px 0}.login-copy p{color:#c9cfdf;font-size:16px}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(100%,420px);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:34px}.login-card h2{font-size:27px;line-height:1.1;margin:8px 0}.muted{color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:12px;font-weight:700;margin-top:15px}.field input,.field select,.field textarea{color:var(--text);font-size:14px;font-weight:400}.button{border:1px solid var(--line);border-radius:8px;padding:8px 13px;background:var(--surface);font-weight:700;white-space:nowrap}.button:hover{border-color:#9da5b5}.button.gold{background:var(--gold);border-color:var(--gold);color:#241d0e}.button.success{border-color:#95c9ad;color:var(--ok)}.button.danger{border-color:#e2b5b1;color:var(--bad)}.button.plain{border-color:transparent;background:transparent;color:var(--muted)}.login-card .button.gold{width:100%;margin-top:22px;padding:11px}.login-note{color:var(--muted);font-size:12px;margin:18px 0 0}.form-error{padding:10px 12px;border-radius:8px;background:#f8e3e1;color:var(--bad);font-size:13px;margin:14px 0 0}.success-message{padding:10px 12px;border-radius:8px;background:#e2f0e8;color:var(--ok);font-weight:600}.shell{min-height:100vh;display:grid;grid-template-columns:252px minmax(0,1fr)}.sidebar{background:var(--navy);color:#dfe2ea;display:flex;flex-direction:column;padding:24px 14px}.brand{padding:4px 12px 22px;border-bottom:1px solid rgba(255,255,255,.08);text-align:center}.brand b{display:block;font:600 30px/1 Cormorant Garamond,serif;letter-spacing:.16em}.brand small{display:block;margin-top:8px;color:var(--gold);font-size:9px;letter-spacing:.23em;text-transform:uppercase}.sidebar nav{display:flex;flex-direction:column;gap:3px;margin-top:22px}.nav-item{border:0;border-left:3px solid transparent;border-radius:8px;background:transparent;color:#dfe2ea;padding:10px 12px;text-align:left;font-weight:600}.nav-item:hover{background:#ffffff0f}.nav-item.active{background:var(--navy-2);border-left-color:var(--gold);color:#fff}.sidebar-bottom{margin-top:auto;border-radius:9px;background:var(--navy-3);padding:12px}.sidebar-bottom b,.sidebar-bottom small{display:block}.sidebar-bottom small{color:#aab2c7;font-size:11px;margin-top:2px}.signout{border:0;background:transparent;color:var(--gold);font-weight:700;padding:8px 0 0}.workspace{min-width:0}.app-bar{height:48px;background:#ffffffd9;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;color:var(--muted);font-size:12px}.content{max-width:1480px;padding:28px;margin:0 auto}.page-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}.page-head h1{font-size:30px;line-height:1.1;margin:4px 0 7px}.page-head .muted{margin:0}.kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px #191e3208;padding:18px}.kpi span{display:block;color:var(--muted);font-weight:700;font-size:12px}.kpi b{display:block;font-size:27px;letter-spacing:-.04em;margin:5px 0}.kpi small{color:var(--muted);font-size:12px}.kpi.feature{background:var(--navy);border-color:var(--navy);color:#fff}.kpi.feature span,.kpi.feature small{color:#b2bad0}.kpi.feature b{color:var(--gold)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px #191e3208;margin-bottom:16px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:15px 18px;border-bottom:1px solid #edf0f4}.panel-head h2{font-size:15px;margin:0}.panel-head p{color:var(--muted);font-size:12px;margin:3px 0 0}.empty{padding:34px;text-align:center;color:var(--muted)}.empty.compact{padding:20px}.toolbar{display:flex;gap:8px;margin-bottom:16px;max-width:600px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding-bottom:18px}.form-grid .panel-head,.form-grid .form-actions{grid-column:1/-1}.form-grid .field{padding:0 18px}.form-grid .field.wide{grid-column:1/-1}.form-actions{padding:18px 18px 0;display:flex;justify-content:flex-end}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:var(--soft);padding:11px 14px;white-space:nowrap}td{padding:12px 14px;border-top:1px solid #edf0f4;vertical-align:middle}td b,td small{display:block}td small{color:var(--muted);margin-top:2px}.right{text-align:right}.mono{font-family:Geist Mono,ui-monospace,monospace;font-size:12px}.status{display:inline-flex;border-radius:99px;padding:3px 8px;font-size:11px;font-weight:700;white-space:nowrap}.status-open{background:#e2eaf5;color:#355f96}.status-due_today{background:#f7ecd9;color:var(--warn)}.status-overdue{background:#f8e3e1;color:var(--bad)}.status-partial{background:#f5efe2;color:var(--gold-deep)}.status-pending{background:#ebe5f6;color:var(--violet)}.status-paid{background:#e2f0e8;color:var(--ok)}.status-reversed,.status-cancelled{background:#e8ebf0;color:#55607a}.actions{display:flex;gap:6px}.actions .button{padding:5px 8px;font-size:12px}.loading{min-height:100vh;display:grid;place-items:center;color:var(--muted)}code{font:12px Geist Mono,monospace}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative;padding:14px}.sidebar .brand{display:none}.sidebar nav{flex-direction:row;overflow:auto;margin:0}.nav-item{white-space:nowrap}.sidebar-bottom{display:none}.app-bar{padding:0 16px}.app-bar span:last-child{display:none}.content{padding:20px 16px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.login-layout{grid-template-columns:1fr}.login-brand{padding:42px 28px;min-height:330px}.login-copy{margin:auto 0 0}.login-panel{padding:25px 18px}.login-card{box-shadow:none;border:0;padding:12px}.page-head{align-items:flex-start;flex-direction:column}.form-grid{grid-template-columns:1fr}.toolbar{max-width:none}.actions{flex-wrap:wrap}}@media(max-width:520px){.kpis{grid-template-columns:1fr}.content{padding:16px}.page-head h1{font-size:27px}.toolbar{flex-direction:column}.app-bar{height:42px}.table-wrap{font-size:12px}}.admin-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin:-6px 0 16px}.admin-tab{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:10px 14px;font-weight:700}.admin-tab.active{border-bottom-color:var(--gold-deep);color:var(--text)}.admin-tab span{margin-left:5px;border-radius:99px;background:#eceff4;padding:2px 7px;font-size:11px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-card{padding:18px}.profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.profile-head h2{font-size:18px;margin:5px 0}.profile-card>p{min-height:52px;font-size:12px;line-height:1.6}.profile-card .actions{justify-content:flex-end}.modal-backdrop{position:fixed;z-index:30;inset:0;background:#151a2894;display:grid;place-items:center;padding:20px;overflow:auto}.admin-modal{width:min(100%,760px);max-height:min(90vh,900px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 25px 80px #1116264d;padding:0 20px 20px}.modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 -20px 12px;padding:16px 20px;background:var(--surface);border-bottom:1px solid var(--line)}.modal-head h2{margin:3px 0 0;font-size:20px}.modal-form .field{margin-top:14px}.modal-form>.muted{padding:0 18px}.checkbox-field{display:flex;flex-direction:row;align-items:center;gap:10px}.checkbox-field input{width:17px;height:17px;accent-color:var(--gold-deep)}.permission-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.permission-group{border:1px solid var(--line);border-radius:10px;padding:8px 12px 12px;min-width:0}.permission-group legend{padding:0 6px;color:var(--gold-deep);font-weight:800;text-transform:capitalize}.permission-row{display:grid;grid-template-columns:minmax(0,1fr) 165px;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #edf0f4}.permission-row:last-child{border-bottom:0}.permission-row b,.permission-row small{display:block}.permission-row b{font-size:12px}.permission-row small{color:var(--muted);font-size:10px;word-break:break-word}.permission-row select{padding:7px;font-size:11px}.permission-row input[type=checkbox]{width:18px;height:18px;justify-self:center;accent-color:var(--gold-deep)}.modal-form .wide{grid-column:1/-1}.modal-form small{font-weight:400;font-size:11px;color:var(--muted)}@media(max-width:760px){.profile-grid,.permission-groups{grid-template-columns:1fr}.admin-modal{max-height:94vh;padding:0 14px 14px}.modal-head{margin:0 -14px 10px;padding:14px}.permission-row{grid-template-columns:minmax(0,1fr) minmax(132px,150px)}.actions{min-width:190px}}.tag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tag-card{display:flex;align-items:center;gap:10px;padding:14px}.tag-card b,.tag-card small{display:block}.tag-card small{color:var(--muted);font-size:11px}.tag-dot{display:inline-block;width:10px;height:10px;border-radius:99px;flex:0 0 auto}.tag-selector{display:flex;flex-wrap:wrap;gap:9px;border:1px solid var(--line);border-radius:10px;margin:16px 18px 0;padding:12px}.tag-selector legend{color:var(--muted);font-size:12px;font-weight:700}.tag-selector label{display:flex;align-items:center;gap:6px;border-radius:99px;background:var(--soft);padding:6px 9px;font-size:12px}.tag-selector input{width:15px;height:15px;accent-color:var(--gold-deep)}.engagement-form{padding-bottom:18px}.engagement-form .form-grid{padding-top:4px}.component-area{margin:18px;border-top:1px solid var(--line);padding-top:16px}.component-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.component-head h3{margin:3px 0 0;font-size:16px}.component-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.component-card{border:1px solid var(--line);border-radius:10px;background:var(--soft);padding:12px;margin-top:10px}.component-title{display:flex;justify-content:space-between;align-items:center}.component-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.component-fields.three{grid-template-columns:repeat(4,minmax(0,1fr))}.component-note{padding:14px 0 0;margin:0}.confirm-panel{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;background:#fffaf0;border-color:#e6ce9d}.confirm-panel h2{font-size:15px;margin:0}.confirm-panel p{color:var(--muted);margin:4px 0 0;font-size:12px}@media(max-width:900px){.tag-grid,.component-fields.three{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.tag-grid,.component-fields,.component-fields.three{grid-template-columns:1fr}.component-head,.confirm-panel{flex-direction:column}.component-actions{justify-content:flex-start}.component-area{margin:14px}.tag-selector{margin-left:14px;margin-right:14px}}.balance-note{margin:2px 18px 0;padding:10px 12px;border-left:3px solid var(--gold-deep);background:#fffaf0;font-size:13px}.payment-hint{margin:3px 18px 0;padding:8px 12px;background:var(--soft);border-radius:8px;font-size:12px}.audit-detail{min-width:260px;max-width:440px;margin-top:8px}.audit-detail pre{max-height:180px;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:8px;background:var(--soft);border-radius:6px;font-size:11px}.audit-detail b{display:block;margin-top:6px}
