:root,:root[data-theme=dark]{--bg:#0f1115;--surface:#161922;--surface-2:#1d2230;--border:#2a3043;--text:#e6e8ee;--text-dim:#97a0b3;--accent:#646cff;--accent-hover:#7b82ff;--accent-text:#fff;--danger:#ff6b6b;--success:#5eead4;--shadow:0 12px 40px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#f6f7fb;--surface:#fff;--surface-2:#f0f2f8;--border:#d8dde7;--text:#1a1d24;--text-dim:#5b6478;--accent:#5258e0;--accent-hover:#3f44c8;--accent-text:#fff;--danger:#dc2626;--success:#0f9d83;--shadow:0 12px 30px #0f111514;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.45}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);transition:background-color .15s,color .15s}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{color:var(--text);margin:0;font-weight:600}p{margin:0}button{font-family:inherit}.shell{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.shell-sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:24px;height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}.shell-brand{justify-content:center;align-items:center;padding:4px 0;display:flex}.shell-brand-mark{object-fit:contain;border-radius:8px;width:100%;max-width:100%;height:auto;display:block}.shell.is-collapsed .shell-brand-mark{object-fit:cover;width:36px;height:36px}.shell-nav{flex-direction:column;gap:14px;display:flex}.shell-nav-section{flex-direction:column;gap:2px;display:flex}.shell-nav-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);opacity:.75;padding:6px 12px 2px;font-size:.7rem;font-weight:700}.shell-nav-link{color:var(--text-dim);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:.95rem;text-decoration:none;display:flex}.shell-nav-link:hover{background:var(--surface-2);color:var(--text);text-decoration:none}.shell-nav-link.is-active{background:var(--surface-2);color:var(--text);border-left:3px solid var(--accent);padding-left:9px}.shell-nav-icon{font-size:1rem}.shell-main{flex-direction:column;min-width:0;display:flex}.shell-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;justify-content:space-between;align-items:center;padding:16px 28px;display:flex;position:sticky;top:0}.shell-header-title{margin:0;font-size:1.1rem;font-weight:600}.shell-header-user{align-items:center;gap:10px;display:flex}.shell-header-username{color:var(--text);border-radius:6px;padding:6px 10px;font-size:.9rem;text-decoration:none}.shell-header-username:hover{background:var(--surface-2);text-decoration:none}.shell-icon-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:8px;place-items:center;width:34px;height:34px;padding:0;font-size:1.05rem;display:grid}.shell-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.shell-header-logout{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px}.shell-header-logout:hover{border-color:var(--accent)}.shell-content{flex:1;min-width:0;padding:28px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-header h2{margin:0;font-size:1.4rem}.btn{background:var(--accent);color:var(--accent-text);cursor:pointer;border:1px solid #0000;border-radius:6px;padding:8px 14px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.btn:hover{background:var(--accent-hover);text-decoration:none}.btn[disabled]{opacity:.6;cursor:progress}.btn.secondary{border-color:var(--border);color:var(--text);background:0 0}.btn.secondary:hover{background:var(--surface-2);border-color:var(--accent)}.btn.danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn.danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent)}.btn-icon{border:1px solid var(--border);width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;place-items:center;padding:0;font-size:.95rem;line-height:1;text-decoration:none;display:inline-grid}.btn-icon:hover{border-color:var(--accent);color:var(--accent);background:var(--surface-2);text-decoration:none}.btn-icon.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 30%, var(--border))}.btn-icon.danger:hover{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}.coll-tag{letter-spacing:.04em;color:#fff;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 1px #0000004d;border-radius:4px;padding:2px 6px;font-size:.72rem;font-weight:700;line-height:1.2;display:inline-block}.note-indicator{color:var(--text-dim);cursor:help;font-size:.95rem}.note-indicator:hover{color:var(--accent)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.input,.select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:6px;padding:8px 12px;font-size:.9rem}.input:focus,.select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.rich-select{min-width:220px;display:inline-block;position:relative}.rich-select.grow{flex:1;display:block}.rich-select-trigger{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;display:flex}.rich-select-trigger:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.rich-select-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.rich-select-caret{color:var(--text-dim);font-size:.75rem}.rich-select-primary{font-weight:500}.rich-select-primary.muted{color:var(--text-dim);font-weight:400}.rich-select-detail{color:var(--text-dim);margin-left:6px;font-size:.78rem}.rich-select-panel{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:8px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000002e}.rich-select-option{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:.9rem;display:block}.rich-select-option:hover{background:var(--surface-2)}.rich-select-option.is-selected{background:color-mix(in srgb, var(--accent) 18%, transparent)}.rich-select-option .rich-select-detail{margin-top:2px;margin-left:0;display:block}.table-wrap{background:var(--surface);border:1px solid var(--border);-webkit-overflow-scrolling:touch;border-radius:10px;overflow:auto hidden}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;word-break:break-word;padding:10px 14px}.table th.nowrap,.table td.nowrap{white-space:nowrap;word-break:normal}.table thead th{background:var(--surface-2);color:var(--text-dim);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.78rem;font-weight:600}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.table .actions{flex-wrap:nowrap;gap:4px;display:flex}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--text)}.sort-indicator{opacity:.4;vertical-align:middle;margin-left:6px;font-size:.7rem;display:inline-block}.sort-indicator.active{opacity:1;color:var(--accent)}.cell-truncate{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.table td.shrink{text-overflow:ellipsis;max-width:280px;overflow:hidden}.table th.shrink{width:280px;max-width:280px}.empty{text-align:center;color:var(--text-dim);padding:40px}.modal-backdrop{z-index:50;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.modal{background:var(--surface);border:1px solid var(--border);width:min(560px,100%);min-width:0;max-height:90vh;box-shadow:var(--shadow);border-radius:12px;gap:14px;padding:24px;display:grid;overflow:hidden auto}.modal.modal-wide{gap:8px;width:min(900px,100%);padding:16px 20px}.modal .form-group{gap:10px;padding:8px 14px 12px}.modal .form-group+.form-group{margin-top:4px}.modal.modal-wide form{gap:6px}.modal.modal-wide .form-group{gap:6px;padding:6px 12px 10px}.modal.modal-wide .form-group legend{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);padding:0 6px;font-size:.68rem;font-weight:700}.modal.modal-wide label{gap:3px;font-size:.78rem}.modal.modal-wide input,.modal.modal-wide textarea,.modal.modal-wide select{padding:6px 10px;font-size:.85rem}.modal.modal-wide .checkbox-label{padding:4px 0}.row-form-dense{grid-template-columns:repeat(3,1fr);gap:6px 10px;display:grid}.row-form-dense>*{min-width:0}.row-form-dense .span-2{grid-column:span 2}.row-form-dense .span-3{grid-column:1/-1}.modal form{min-width:0}.modal input,.modal textarea,.modal select{box-sizing:border-box;width:100%;min-width:0;max-width:100%}.modal textarea{resize:vertical}.modal h3{margin:0}.modal form{gap:12px;display:grid}.modal label{color:var(--text-dim);gap:6px;font-size:.85rem;display:grid}.modal input,.modal textarea,.modal select{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:6px;padding:8px 12px;font-family:inherit;font-size:.9rem}.modal-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.confirm-summary{background:var(--surface-2);border-radius:8px;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;padding:12px 14px;font-size:.9rem;display:grid}.confirm-summary dt{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;align-self:center;font-size:.78rem}.confirm-summary dd{word-break:break-word;margin:0}.error{color:var(--danger);margin:0;font-size:.9rem}.muted{color:var(--text-dim)}.pill{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-family:inherit;font-size:.75rem;font-weight:600;display:inline-flex}.pill.paid{color:var(--success);border-color:color-mix(in srgb, var(--success) 40%, transparent);background:color-mix(in srgb, var(--success) 10%, transparent)}.pill.unpaid{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent)}.pill:hover{filter:brightness(1.1)}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:16px 18px}.kpi-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem}.kpi-value{font-variant-numeric:tabular-nums;margin-top:6px;font-size:1.6rem;font-weight:700}.kpi-value.paid{color:var(--success)}.kpi-value.unpaid{color:var(--danger)}.shortcuts{flex-wrap:wrap;gap:6px;display:flex}.shortcut{border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:.82rem}.shortcut:hover{border-color:var(--accent)}.shortcut.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:20px;padding:20px}.chart-legend{color:var(--text-dim);gap:16px;margin-top:10px;font-size:.85rem;display:flex}.chart-legend-dot{vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.donut-wrap{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.donut-legend{flex:1;gap:6px;min-width:220px;margin:0;padding:0;list-style:none;display:grid}.donut-legend li{grid-template-columns:14px 1fr auto auto;align-items:center;gap:8px;font-size:.85rem;display:grid}.donut-dot{border-radius:3px;width:12px;height:12px;display:inline-block}.donut-label{color:var(--text)}.donut-value{color:var(--text);font-variant-numeric:tabular-nums}.donut-pct{color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right;min-width:48px;font-size:.78rem}.charts-grid{grid-template-columns:1.4fr 1fr;gap:16px;margin-bottom:20px;display:grid}@media (max-width:960px){.charts-grid{grid-template-columns:1fr}}.row-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.row-form>*{min-width:0}.row-form .full{grid-column:1/-1}.row-form-3{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}.row-form-3>*{min-width:0}.checkbox-label{align-items:center;gap:8px;padding:6px 0;color:var(--text)!important;font-size:.9rem!important;display:flex!important}.checkbox-label input[type=checkbox]{flex:none;width:auto!important;margin:0!important}.form-group{border:1px solid var(--border);border-radius:8px;gap:8px;margin:0;padding:12px 14px;display:grid}.form-group legend{text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);padding:0 6px;font-size:.78rem;font-weight:600}@media (max-width:1024px){.shell-content{padding:20px 16px}.shell-header{padding:14px 18px}}.shell.is-collapsed{grid-template-columns:56px 1fr}.shell.is-collapsed .shell-sidebar{gap:16px;padding:14px 6px}.shell.is-collapsed .shell-brand{justify-content:center;gap:0;padding:4px}.shell.is-collapsed .shell-nav{gap:10px}.shell.is-collapsed .shell-nav-link{justify-content:center;padding:10px 8px;font-size:1.05rem}.shell.is-collapsed .shell-nav-link.is-active{padding-left:5px}.shell.is-collapsed .shell-nav-link span:last-child,.shell.is-collapsed .shell-nav-section-title{display:none}.shell-collapse-toggle{border:1px solid var(--border);width:22px;height:22px;color:var(--text-dim);cursor:pointer;background:0 0;border-radius:4px;align-self:flex-end;place-items:center;padding:0;font-family:inherit;font-size:.75rem;line-height:1;display:grid}.shell.is-collapsed .shell-collapse-toggle{align-self:center}.shell-collapse-toggle:hover{border-color:var(--accent);color:var(--accent)}@media (max-width:720px){.shell-content{padding:14px 12px}.shell-header{padding:10px 12px}.shell-header-title{font-size:1rem}.shell-header-user{gap:6px}.shell-icon-btn{width:32px;height:32px;font-size:.95rem}.shell-header-username{text-overflow:ellipsis;white-space:nowrap;max-width:90px;padding:5px 8px;font-size:.82rem;overflow:hidden}.shell-header-logout{padding:5px 10px;font-size:.82rem}.page-header{gap:8px;margin-bottom:14px}.page-header h2{font-size:1.15rem}.toolbar{gap:6px;margin-bottom:12px}.toolbar .input,.toolbar .select,.toolbar .rich-select{flex:140px;width:100%;min-width:0}.input,.select{padding:7px 10px;font-size:.85rem}.rich-select{min-width:0}.rich-select-trigger{padding:7px 10px;font-size:.85rem}.btn{padding:7px 12px;font-size:.85rem}.table{font-size:.82rem}.table th,.table td{padding:8px 10px}.table thead th{font-size:.7rem}.table .actions{flex-direction:row;gap:4px}.btn-icon{width:28px;height:28px;font-size:.9rem}.cell-truncate{max-width:140px}.table td.shrink,.table th.shrink{width:auto;max-width:160px}.row-form,.row-form-3,.row-form-dense{grid-template-columns:1fr}.form-group{padding:10px 12px}.modal-backdrop{padding:10px}.modal{gap:12px;max-height:calc(100vh - 20px);padding:16px}.modal.modal-wide{padding:12px 14px}.modal h3{font-size:1.05rem}.modal input,.modal textarea,.modal select{padding:7px 10px;font-size:.85rem}.modal-actions{flex-wrap:wrap}.modal-actions .btn{flex:auto}.kpis{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:14px}.kpi{padding:12px 14px}.kpi-value{font-size:1.3rem}.chart-wrap{margin-bottom:14px;padding:14px}.donut-wrap{gap:16px}.donut-legend{min-width:0}.confirm-summary{grid-template-columns:1fr;gap:4px 0;padding:10px 12px}.confirm-summary dt{font-size:.7rem}.cal-grid{grid-auto-rows:minmax(70px,auto)}.cal-cell{gap:2px;padding:2px}.cal-cell-num{padding:1px 3px;font-size:.78rem}.cal-event{padding:1px 4px;font-size:.65rem}.cal-weekday{padding:6px 2px;font-size:.65rem}.cal-toolbar{gap:6px}.cal-title{flex-basis:100%;order:-1;font-size:1rem}}@media (max-width:480px){.shell-header-title,.shell-header-username{display:none}.toolbar{flex-direction:column;align-items:stretch}.toolbar>*{width:100%}.page-header{flex-direction:column;align-items:stretch}.page-header>.btn,.page-header>a.btn{text-align:center;width:100%}.kpis{grid-template-columns:1fr 1fr}.shortcuts{gap:4px}.shortcut{padding:5px 8px;font-size:.78rem}}.audit-timeline{border-top:1px solid var(--border);margin-top:6px;padding-top:12px}.audit-timeline summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;padding:4px 0;font-size:.85rem}.audit-timeline summary:hover{color:var(--text)}.audit-list{gap:10px;margin:8px 0 0;padding:0;list-style:none;display:grid}.audit-list>li{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;gap:4px;padding:8px 10px;font-size:.85rem;display:grid}.audit-badge{color:#fff;border-radius:999px;margin-right:8px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.audit-meta{color:var(--text-dim);font-size:.78rem}.audit-diff{gap:4px;margin:4px 0 0;padding:0;list-style:none;display:grid}.audit-diff li{word-break:break-word;font-size:.8rem}.audit-diff .from{color:var(--danger);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb, var(--danger) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--danger) 60%, transparent)}.audit-diff .to{color:var(--success)}.cal{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.cal-week-row{background:var(--surface-2);border-bottom:1px solid var(--border);grid-template-columns:repeat(7,1fr);display:grid}.cal-weekday{text-align:center;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);padding:8px;font-size:.78rem;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(110px,auto);display:grid}.cal-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);cursor:pointer;background:var(--surface);flex-direction:column;gap:4px;padding:4px;display:flex}.cal-cell:nth-child(7n){border-right:none}.cal-cell.is-other-month{background:var(--surface-2);color:var(--text-dim)}.cal-cell.is-today .cal-cell-num{background:var(--accent);color:#fff;border-radius:999px;place-items:center;width:24px;height:24px;font-size:.78rem;display:grid}.cal-cell-num{padding:2px 4px;font-size:.85rem;font-weight:600}.cal-cell-events{flex-direction:column;gap:2px;display:flex;overflow:hidden}.cal-event{color:#fff;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-left:3px solid #0000;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:.72rem;overflow:hidden}.cal-event:hover{filter:brightness(1.1)}.cal-event-more{color:var(--text-dim);padding:0 4px;font-size:.7rem}.cal-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.cal-title{text-transform:capitalize;flex:1;font-size:1.1rem;font-weight:600}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.card{background:var(--surface);border:1px solid var(--border);width:min(420px,100%);box-shadow:var(--shadow);border-radius:12px;padding:32px}.card h1{margin:0 0 16px;font-size:1.5rem}.login-logo{object-fit:contain;background:0 0;width:auto;max-width:240px;height:auto;max-height:120px;margin:0 auto 20px;display:block}.card form{gap:16px;display:grid}.card label{color:var(--text-dim);gap:6px;font-size:.9rem;display:grid}.card input{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;padding:10px 12px;font-size:1rem}.card input:focus{outline:2px solid var(--accent);outline-offset:1px}.card button{background:var(--accent);color:var(--accent-text);cursor:pointer;border:1px solid #0000;border-radius:8px;padding:10px 14px;font-weight:600}.card button[disabled]{opacity:.6;cursor:progress}.card .error{color:var(--danger);margin:0}
