@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--brand:#ff5c00;--brand-dark:#e05000;--brand-soft:#ffe8d6;--brand-glow:#ff8533;--accent:#0a84ff;--accent-soft:#d6ebff;--surface:#fff;--surface-2:#f0f3f8;--bg:#e8ecf4;--bg-accent:#dde4f0;--text:#1d1d1f;--muted:#6e6e73;--border:#c5cad6;--border-strong:#aeb5c4;--sidebar:#fff;--sidebar-text:#1d1d1f;--danger:#ff3b30;--danger-soft:#ffe8e6;--warn:#ff9f0a;--warn-soft:#fff3df;--ok:#30d158;--ok-soft:#e6f9ed;--shadow-sm:0 1px 3px #1d1d1f0f, 0 8px 20px #ff5c0012;--shadow-md:0 12px 32px #1d1d1f1f;--radius:.8rem;--radius-sm:.6rem;--sidebar-w:14.5rem;--font-sans:"Plus Jakarta Sans", "Segoe UI", sans-serif;--space-page:1.1rem 1.25rem 1.65rem;--space-panel:1.05rem 1.15rem;--ctrl-h:2.4rem;--ink:var(--text);--line:var(--border);--green:var(--brand);--green-dark:var(--brand-dark);--mint:var(--brand-soft)}*{box-sizing:border-box}html{height:100%}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}body{background:radial-gradient(980px 460px at 0% -8%, #ff5c0029, transparent 58%), radial-gradient(860px 400px at 100% 0%, #0a84ff24, transparent 52%), linear-gradient(180deg, var(--bg) 0%, var(--bg-accent) 100%);min-height:100vh;color:var(--text);font-family:var(--font-sans);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;margin:0;font-size:.925rem;line-height:1.5}*{scrollbar-width:thin;scrollbar-color:var(--brand) color-mix(in srgb, var(--accent-soft) 55%, var(--surface-2))}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:linear-gradient(165deg, var(--brand-glow), var(--brand) 45%, var(--accent));background-clip:padding-box;border:2px solid #0000;border-radius:999px}.app-body{min-height:100dvh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--sidebar);color:var(--sidebar-text);border-right:1px solid var(--border);z-index:40;height:100dvh;box-shadow:none;flex-direction:column;padding:.95rem .7rem;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.brand{color:var(--text);align-items:center;gap:.55rem;padding:.55rem .8rem 1.1rem;display:flex}.brand-mark{display:none}.brand-logo{object-fit:contain;width:auto;max-width:7.5rem;height:1.85rem;display:block}.brand strong{display:none}.brand small{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:999px;padding:.1rem .45rem;font-size:.65rem;font-weight:600}.nav-caption{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.55rem .55rem .2rem;font-size:.625rem;font-weight:600}.nav-list,.nav-group{flex-direction:column;gap:.2rem;display:flex}.nav-group{margin-bottom:.35rem}.nav-link{color:var(--text);border-radius:.65rem;align-items:center;gap:.6rem;min-height:42px;padding:.58rem .72rem;font-size:.9rem;font-weight:500;transition:background .12s,box-shadow .12s,color .12s;display:flex}.nav-link:hover{background:color-mix(in srgb, var(--brand-soft) 70%, white)}.nav-link.active{background:var(--brand-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand) 28%, transparent);color:var(--brand-dark);font-weight:650}.nav-icon{width:1.25rem;height:1.25rem;color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.nav-icon .icon,.nav-icon.icon{width:1.1rem;height:1.1rem}.nav-link.active .nav-icon,.nav-link.active .nav-icon .icon{color:var(--brand)}.sidebar-bottom{border-top:1px solid #0000000f;margin-top:auto;padding-top:.75rem}.help-card{display:none}.profile{align-items:center;gap:.55rem;padding:.35rem .4rem;display:flex}.avatar{background:var(--brand-soft);width:2rem;height:2rem;color:var(--brand-dark);border-radius:999px;place-items:center;font-size:.72rem;font-weight:700;display:grid}.profile-text{flex:1;min-width:0}.profile-text strong,.profile-text small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.profile-text strong{font-size:.78rem}.profile-text small{color:var(--muted);text-transform:capitalize;margin-top:2px;font-size:.68rem}.icon{flex-shrink:0;width:1.1rem;height:1.1rem;display:block}.icon-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:.5rem;place-items:center;width:2.35rem;height:2.35rem;padding:0;display:inline-grid}.icon-button .icon{width:1.15rem;height:1.15rem}.icon-button:hover{background:var(--brand-soft);border-color:var(--brand-glow);color:var(--brand-dark)}.main-area{margin-left:var(--sidebar-w);flex-direction:column;flex:1;min-width:0;min-height:100dvh;display:flex;overflow:hidden}.topbar{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(16px);border-bottom:1px solid color-mix(in srgb, var(--border) 70%, transparent);z-index:10;align-items:center;gap:.65rem;min-height:3.25rem;padding:.55rem 1rem;display:flex;position:sticky;top:0}.module-switcher{background:color-mix(in srgb, var(--surface-2) 90%, white);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);scrollbar-width:none;border-radius:999px;align-items:center;gap:.2rem;max-width:100%;margin:0 auto;padding:.18rem;display:flex;overflow-x:auto}.module-switcher::-webkit-scrollbar{display:none}.module-tab{color:var(--muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.4rem .95rem;font-size:.8rem;font-weight:650;line-height:1.2;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.module-tab:hover{color:var(--text);background:color-mix(in srgb, var(--brand-soft) 55%, white)}.module-tab.active{background:linear-gradient(180deg, var(--brand-glow) 0%, var(--brand) 100%);color:#fff;box-shadow:0 2px 8px #ff5c0047}.module-tab-platform:not(.active){color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border) 85%, transparent);background:#fff}.module-tab-platform.active{color:#fff;background:#1d1d1f;box-shadow:0 2px 8px #1d1d1f47}.page-content{min-height:0;padding:var(--space-page);flex:1;width:100%;max-width:1440px;margin:0 auto;overflow-y:auto}.page-heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-dark);margin:0 0 .35rem;font-size:.7rem;font-weight:600}.page-heading h1{letter-spacing:-.03em;margin:0;font-size:1.45rem;font-weight:700}.page-subtitle{color:var(--muted);margin:.35rem 0 0;font-size:.85rem}.page-actions{flex-wrap:wrap;gap:.5rem;display:flex}.button,.btn-primary,.btn-secondary,.btn-danger{min-height:var(--ctrl-h);cursor:pointer;border:1px solid var(--border);color:var(--text);background:#fff;border-radius:980px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.15rem;font-size:.9rem;font-weight:600;transition:background .12s,border-color .12s,box-shadow .12s;display:inline-flex}.button:hover,.btn-secondary:hover{background:var(--surface-2)}.button-primary,.btn-primary{background:linear-gradient(180deg, var(--brand-glow) 0%, var(--brand) 100%);color:#fff;border-color:#0000;box-shadow:0 2px 8px #ff5c0052}.button-primary:hover,.btn-primary:hover{background:linear-gradient(180deg, var(--brand) 0%, var(--brand-dark) 100%);box-shadow:0 6px 16px #ff5c005c}.button-danger,.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, white);background:var(--surface)}.button-danger:hover,.btn-danger:hover{background:var(--danger-soft);border-color:var(--danger)}.button-small{min-height:2rem;padding:.35rem .8rem;font-size:.8rem}.button-wide{width:100%;min-height:2.75rem}.button:disabled{opacity:.55;cursor:wait}.card,.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.panel{padding:var(--space-panel);overflow:hidden}.panel h2{letter-spacing:-.02em;margin:0 0 .25rem;font-size:1rem;font-weight:650}.panel-description{color:var(--muted);margin:0 0 .9rem;font-size:.8rem}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin-bottom:1rem;display:grid}.stat-card{min-height:7rem;padding:1.05rem 1.15rem}.stat-top{color:var(--muted);justify-content:space-between;font-size:.72rem;font-weight:600;display:flex}.stat-value{letter-spacing:-.03em;margin:.65rem 0 .2rem;font-size:1.35rem;font-weight:700}.stat-note{color:var(--muted);font-size:.72rem}.table-wrap{width:100%;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}th{text-align:left;background:color-mix(in srgb, var(--brand-soft) 35%, white);color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding:.65rem .9rem;font-size:.68rem;font-weight:700}td{border-bottom:1px solid color-mix(in srgb, var(--border) 55%, white);color:var(--text);padding:.75rem .9rem;font-size:.85rem}tbody tr:hover td{background:color-mix(in srgb, var(--brand-soft) 28%, white)}.table-primary{font-weight:600}.table-muted{color:var(--muted);font-size:.75rem}.table-empty{text-align:center;color:var(--muted);padding:2rem .75rem}.status{border-radius:999px;align-items:center;padding:.25rem .55rem;font-size:.68rem;font-weight:650;display:inline-flex}.status-confirmed,.status-paid,.status-active{background:var(--ok-soft);color:#1a7a3a}.status-draft,.status-open{background:var(--warn-soft);color:#9a5b00}.status-cancelled,.status-inactive{background:var(--danger-soft);color:#b42318}.section-grid,.two-col,.dashboard-grid{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.6rem;padding:.75rem .9rem;display:flex}.field{color:var(--muted);gap:.35rem;font-size:.75rem;font-weight:600;display:grid}.field input,.field select,.field textarea,.search-input,.filter-select{border:1px solid var(--border);color:var(--text);background:#fff;border-radius:.65rem;outline:none;width:100%;min-height:2.5rem;padding:.55rem .7rem;font-size:.9rem;font-weight:400}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand-glow);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand-soft) 80%, transparent)}.field textarea{resize:vertical;min-height:5.5rem}.form-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.field-full{grid-column:1/-1}.stack-form{gap:.85rem;display:grid}[hidden]{display:none!important}.form-error{color:var(--danger);min-height:1rem;margin:0;font-size:.85rem}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:.5rem;padding-top:.85rem;display:flex}.checkline{color:var(--text);align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;display:flex}.checkline input{accent-color:var(--brand)}.modal{width:min(630px,100vw - 24px);max-height:90vh;box-shadow:var(--shadow-md);background:var(--surface);border:0;border-radius:.85rem;padding:0}.modal::backdrop{backdrop-filter:blur(2px);background:#14181680}.modal-inner{max-height:90vh;padding:1.1rem 1.25rem 1.25rem;overflow:auto}.modal-heading{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.modal-heading h2{margin:0;font-size:1.05rem;font-weight:650}.toast{z-index:90;color:#fff;box-shadow:var(--shadow-md);opacity:0;pointer-events:none;background:#1d1d1f;border-radius:.75rem;padding:.75rem 1rem;font-size:.85rem;transition:all .2s;position:fixed;bottom:1.25rem;right:1.25rem;transform:translateY(8px)}.toast.visible{opacity:1;transform:translateY(0)}.toast.error{background:var(--danger)}.loading-state,.empty-state{min-height:10rem;color:var(--muted);justify-content:center;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--brand);border-radius:50%;width:1.1rem;height:1.1rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.tabs{background:color-mix(in srgb, var(--surface-2) 80%, white);border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:.75rem;gap:.25rem;width:max-content;margin-bottom:.9rem;padding:.25rem;display:flex}.tab-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.55rem;padding:.5rem .85rem;font-size:.8rem;font-weight:550}.tab-button.active{color:var(--brand-dark);box-shadow:0 2px 6px #ff5c0029, 0 0 0 1px color-mix(in srgb, var(--brand) 22%, transparent);background:#fff;font-weight:650}.summary-row{flex-wrap:wrap;gap:.75rem;margin-bottom:.9rem;display:flex}.summary-box{flex:1;min-width:9rem;padding:.85rem 1rem}.summary-box small{color:var(--muted);font-size:.7rem;display:block}.summary-box strong{margin-top:.35rem;font-size:1.05rem;font-weight:700;display:block}.summary-meta{color:var(--muted);margin-top:.25rem;font-size:.72rem;display:block}.note-box{background:var(--warn-soft);border:1px solid color-mix(in srgb, var(--warn) 35%, white);color:#7a5200;border-radius:.65rem;margin-top:.75rem;padding:.75rem .9rem;font-size:.85rem;line-height:1.5}.muted{color:var(--muted)}.amount-in{color:#1a7a3a;font-weight:600}.amount-out{color:#b42318;font-weight:600}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}.finance-accounts{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.finance-account{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--brand-soft) 40%, white), #fff);flex-direction:column;gap:.35rem;padding:1rem 1.1rem;display:flex}.finance-account strong{letter-spacing:-.03em;font-size:1.2rem;font-weight:700}.finance-account small{color:var(--muted);font-size:.72rem}.finance-account-kind{color:var(--muted);font-size:.75rem;font-weight:600}.permission-row{border-bottom:1px solid color-mix(in srgb, var(--border) 55%, white);align-items:center;gap:.6rem;padding:.75rem 0;font-size:.85rem;display:flex}.permission-row small{color:var(--muted);margin-top:.2rem;font-size:.75rem;display:block}.permission-row input{accent-color:var(--brand)}.skip-link{z-index:100;color:var(--text);background:#fff;border-radius:8px;padding:12px 16px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.sidebar-backdrop{border:0;padding:0;display:none}.mobile-menu{display:none}.login-page{background:radial-gradient(900px 420px at 15% 10%,#ff5c002e,#0000 55%),radial-gradient(700px 360px at 90% 0,#0a84ff1f,#0000 50%),linear-gradient(160deg,#f5f5f0 0%,#ebe6dc 55%,#e2ddd4 100%);justify-content:center;align-items:center;min-height:100dvh;padding:1.25rem;display:flex;overflow-y:auto}.login-shell{gap:1rem;width:min(100%,920px);display:grid}@media (width>=900px){.login-shell{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:1.5rem}}.login-side{flex-direction:column;justify-content:center;gap:.75rem;padding:.25rem;display:flex}.login-logo{width:min(100%,220px);height:auto;margin-bottom:.35rem;display:block}.login-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-dark);margin:0;font-size:.75rem;font-weight:600}.login-title{letter-spacing:-.03em;margin:0;font-size:clamp(1.4rem,3vw,2rem);font-weight:650;line-height:1.15}.login-lead{max-width:34rem;color:var(--muted);margin:0;font-size:.95rem;line-height:1.55}.login-points{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.login-points li{color:var(--text);font-size:.875rem}.login-points li:before{content:"";background:var(--brand);vertical-align:middle;border-radius:50%;width:.45rem;height:.45rem;margin-right:.5rem;display:inline-block}.login-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);width:100%;max-width:26rem;box-shadow:var(--shadow-sm);flex-direction:column;gap:.85rem;margin:0;padding:1.35rem;display:flex}.login-brand{color:var(--brand-dark);letter-spacing:-.03em;margin:0;font-size:1.35rem;font-weight:700}.login-subtitle{color:var(--muted);margin:0;font-size:.875rem;line-height:1.4}.login-foot{color:var(--muted);text-align:center;margin:.5rem 0 0;font-size:.75rem}.password-field{display:block;position:relative}.password-field input{width:100%;padding-right:2.75rem}.password-toggle{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:.45rem;place-items:center;width:2.2rem;height:2.2rem;padding:0;display:inline-grid;position:absolute;top:50%;right:.3rem;transform:translateY(-50%)}.password-toggle .icon{width:1.15rem;height:1.15rem}.password-toggle:hover,.password-toggle:focus-visible{color:var(--brand-dark);background:var(--brand-soft);outline:none}@media (width>=900px){.login-card{justify-content:center;max-width:none}.page-content{padding:1.25rem 1.65rem 1.9rem}}@media (width<=1050px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.sidebar{transition:left .2s;left:-270px;box-shadow:15px 0 40px #1d1d1f1f}.sidebar.open{left:0}.main-area{width:100%;margin-left:0}.mobile-menu{display:inline-grid}.sidebar-backdrop{visibility:hidden;z-index:30;opacity:0;pointer-events:none;background:#1d1d1f73;transition:opacity .2s;display:block;position:fixed;inset:0}.sidebar.open~.sidebar-backdrop{visibility:visible;opacity:1;pointer-events:auto}.module-switcher{flex:1;justify-content:flex-start;margin:0}.module-tab{padding:.38rem .75rem;font-size:.75rem}.page-heading{flex-direction:column;align-items:flex-start}.section-grid,.two-col,.dashboard-grid,.form-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-side-extra{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
