:root{font-family:Avenir Next,PingFang SC,Microsoft YaHei,sans-serif;color:#182230;background:#f5f7fa;font-synthesis:none;--ink: #182230;--ink-2: #344054;--muted: #667085;--muted-2: #98a2b3;--paper: #ffffff;--canvas: #f5f7fa;--line: #e4e9f0;--line-soft: #edf0f4;--blue: #2169f5;--blue-strong: #1558d6;--blue-soft: #edf4ff;--green: #079a6b;--green-soft: #eaf8f3;--amber: #c56a08;--amber-soft: #fff5e6;--red: #d92d20;--red-soft: #fff0ef;--purple: #6941c6;--shadow-xs: 0 1px 2px rgba(16, 24, 40, .04);--shadow: 0 1px 3px rgba(16, 24, 40, .05), 0 10px 30px rgba(16, 24, 40, .04);--shadow-lg: 0 24px 70px rgba(15, 23, 42, .18);--radius: 12px;--sidebar: 240px}*{box-sizing:border-box}html{min-width:320px;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.025em}input,select,textarea{width:100%;min-height:44px;border:1px solid #d0d7e2;border-radius:9px;background:#fff;color:var(--ink);padding:10px 12px;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input::placeholder,textarea::placeholder{color:#a8b0bd}textarea{min-height:96px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:#aeb8c7}input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #2169f51f}input:disabled,select:disabled,textarea:disabled{background:#f2f4f7;color:#667085}:focus-visible{outline:3px solid rgba(33,105,245,.28);outline-offset:2px}.skip-link{position:fixed;z-index:9999;left:16px;top:-60px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:8px}.skip-link:focus{top:16px}.mono{font-family:SFMono-Regular,Cascadia Code,monospace;font-variant-numeric:tabular-nums}.strong{font-weight:700}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);grid-template-rows:64px minmax(0,1fr)}.sidebar{grid-column:1;grid-row:1 / -1;position:sticky;top:0;z-index:40;height:100dvh;display:flex;flex-direction:column;min-width:0;padding:0 12px 16px;background:#fff;border-right:1px solid var(--line)}.sidebar__brand{height:76px;display:flex;align-items:center;padding:0 8px;border-bottom:1px solid var(--line-soft)}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand__mark{display:grid;place-items:center;flex:0 0 auto;width:35px;height:35px;border-radius:10px;background:linear-gradient(145deg,#2f7bff,#1457d4);color:#fff;box-shadow:0 7px 18px #2169f53d;font-family:DIN Alternate,SFMono-Regular,monospace;font-size:17px;font-weight:900}.brand strong{display:block;color:var(--ink);font-size:15px;letter-spacing:.02em}.brand small{display:block;margin-top:1px;color:#8b95a5;font-size:10px;letter-spacing:.04em}.sidebar__close{display:none!important;margin-left:auto}.sidebar nav{flex:1;min-height:0;overflow-y:auto;padding:18px 0;scrollbar-width:thin}.nav-group+.nav-group{margin-top:18px}.nav-group__label{display:block;padding:0 12px 7px;color:#a0a8b5;font-size:10px;font-weight:800;letter-spacing:.12em}.nav-link{position:relative;min-height:42px;display:flex;align-items:center;gap:11px;margin:2px 0;padding:9px 12px;border-radius:9px;color:#5d6878;font-size:13px;font-weight:650;transition:background .15s ease,color .15s ease,transform .15s ease}.nav-link svg{color:#8792a2;transition:color .15s ease}.nav-link:hover{background:#f4f7fb;color:var(--ink);transform:translate(1px)}.nav-link:hover svg{color:var(--blue)}.nav-link--active{background:var(--blue-soft);color:#174ea8;font-weight:750}.nav-link--active:before{content:"";position:absolute;left:0;width:3px;height:20px;border-radius:0 4px 4px 0;background:var(--blue)}.nav-link--active svg{color:var(--blue)}.sidebar__foot{display:flex;gap:10px;align-items:center;margin-top:auto;padding:14px 10px 2px;border-top:1px solid var(--line-soft)}.sidebar__foot-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;color:var(--green);background:var(--green-soft)}.sidebar__foot strong,.sidebar__foot small{display:block}.sidebar__foot strong{color:var(--ink-2);font-size:11px}.sidebar__foot small{color:var(--muted-2);font-size:10px}.topbar{grid-column:2;grid-row:1;position:sticky;top:0;z-index:30;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fffffff0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar__start,.topbar__context,.topbar__end,.topbar__user{display:flex;align-items:center}.topbar__end{gap:14px}.topbar__context{gap:9px;color:var(--green)}.topbar__context--demo{color:var(--amber)}.topbar__context>span strong,.topbar__context>span small{display:block}.topbar__context>span strong{color:#344054;font-size:11px}.topbar__context>span small{color:#98a2b3;font-size:9px}.topbar__user{gap:10px}.topbar__user>div{min-width:90px}.topbar__user>div strong,.topbar__user>div small{display:block}.topbar__user>div strong{color:var(--ink);font-size:12px}.topbar__user>div small{color:var(--muted-2);font-size:10px}.user-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#174ea8;background:#e6efff;border:1px solid #cfdef9;font-size:12px;font-weight:800}.topbar__logout{color:#667085!important;border-left:1px solid var(--line)!important;border-radius:0!important;margin-left:2px}.topbar__logout:hover{color:var(--red)!important;background:transparent!important}.mode-switch{min-height:34px;display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #d8dee7;border-radius:999px;color:#475467;background:#fff;font-size:10px;font-weight:750;white-space:nowrap}.mode-switch:hover{color:var(--blue);border-color:#b7c9e9;background:var(--blue-soft)}.mode-switch--active{color:#a55506;border-color:#f2cf9d;background:var(--amber-soft)}.mode-switch--active:hover{color:#8a4805;border-color:#e8b96f;background:#ffefd4}.app-shell--demo .sidebar{border-right-color:#f0d5ab}.app-shell--demo .sidebar__brand{background:linear-gradient(180deg,#fffaf2,#fff)}.topbar__menu,.topbar__mobile-brand{display:none!important}.icon-button{width:40px;height:40px;min-height:40px;display:inline-grid;place-items:center;border:0;border-radius:9px;background:transparent;color:inherit}.icon-button:hover{background:#f1f4f8}.drawer-scrim{display:none}.content{grid-column:2;grid-row:2;min-width:0;overflow-x:clip}.page{width:min(1500px,100%);margin:0 auto;padding:30px 32px 64px;animation:page-in .3s ease-out both}@keyframes page-in{0%{opacity:0;transform:translateY(5px)}}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.page-header__copy{min-width:0}.page-header h1{margin:5px 0 6px;font-size:clamp(24px,2.2vw,30px);line-height:1.15;font-weight:760}.page-header p{max-width:720px;color:var(--muted);font-size:12px}.eyebrow{font-family:SFMono-Regular,Cascadia Code,monospace;color:var(--blue);font-size:9px;font-weight:850;letter-spacing:.17em}.page-header__actions,.header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;border:1px solid transparent;border-radius:9px;color:var(--ink);font-size:12px;font-weight:750;white-space:nowrap;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}.button:not(:disabled):active{transform:translateY(1px)}.button--primary{color:#fff;background:var(--blue);box-shadow:0 4px 12px #2169f533}.button--primary:hover{background:var(--blue-strong);box-shadow:0 6px 16px #2169f540}.button--secondary{background:#fff;border-color:#d6dce5;box-shadow:var(--shadow-xs)}.button--secondary:hover{background:#f8fafc;border-color:#b9c2d0}.button--danger{color:var(--red);background:#fff;border-color:#f3b8b3}.button--danger:hover{background:var(--red-soft);border-color:#ed8d84}.button--quiet{min-height:34px;color:#475467;background:transparent;padding:6px 8px}.button--quiet:hover{color:var(--blue);background:var(--blue-soft)}.text-button{border:0;background:none;color:var(--blue);font-size:11px;font-weight:750;padding:7px}.text-button:hover{text-decoration:underline}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;overflow:hidden;margin-bottom:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-xs)}.kpi-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{--tone: var(--ink);position:relative;min-width:0;min-height:112px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:18px 22px;border:0;border-right:1px solid var(--line-soft);border-radius:0;background:transparent}.kpi:last-child{border-right:0}.kpi:before{content:"";position:absolute;left:22px;top:23px;width:7px;height:7px;border-radius:50%;background:var(--tone);box-shadow:0 0 0 4px color-mix(in srgb,var(--tone) 10%,transparent)}button.kpi{width:100%;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}button.kpi:after{content:"↗";position:absolute;top:15px;right:15px;width:25px;height:25px;display:grid;place-items:center;border:1px solid #e4e9f0;border-radius:50%;color:#98a2b3;background:#fff;font-size:11px;transition:color .15s ease,border-color .15s ease,background .15s ease}button.kpi:hover{background:#f9fbfe}button.kpi:hover:after{color:var(--blue);border-color:#c8d7ef;background:var(--blue-soft)}.kpi--green{--tone: var(--green)}.kpi--red{--tone: var(--red)}.kpi--amber{--tone: var(--amber)}.kpi--blue{--tone: var(--blue)}.kpi--ink{--tone: #475467}.kpi__label,.kpi__meta{display:block}.kpi__label{padding-left:16px;color:var(--muted);font-size:10px;font-weight:700}.kpi strong{display:block;max-width:100%;margin:8px 0 4px;color:var(--ink);font-family:DIN Alternate,Avenir Next,sans-serif;font-size:clamp(21px,1.8vw,26px);line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi__meta{color:var(--muted-2);font-size:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.85fr);gap:14px}.panel{min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-xs)}.panel--wide{min-height:330px}.panel__head{min-height:38px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.panel__head h2{margin-top:4px;font-size:15px;font-weight:760}.panel__head>svg{color:#98a2b3}.legend{display:flex;gap:12px;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:7px;height:7px;display:inline-block;border-radius:50%}.legend__in{background:var(--blue)}.legend__out{background:#a8c7ff}.bar-chart{position:relative;height:240px;display:flex;align-items:stretch;justify-content:space-between;gap:6px;padding:18px 6px 0;border-bottom:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0,transparent 59px,#f0f2f5 60px)}.bar-chart__month{flex:1 1 0;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px}.bar-chart__month>span{color:#98a2b3;font-family:SFMono-Regular,monospace;font-size:9px}.bar-chart__bars{width:min(35px,78%);height:196px;display:flex;align-items:flex-end;justify-content:center;gap:3px}.bar{width:45%;min-height:0;display:block;border-radius:4px 4px 1px 1px;transition:filter .15s ease,transform .15s ease}.bar:hover{filter:saturate(1.15);transform:scaleX(1.08)}.bar--in{background:linear-gradient(180deg,#4f8cff,#2169f5)}.bar--out{background:#b9d0fb}.metric-list{margin:0}.metric-list>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line-soft)}.metric-list dt{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.metric-list dt svg{width:15px;color:#98a2b3}.metric-list dd{margin:0;color:var(--ink);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.panel__note{margin-top:14px;padding:10px 11px;border-radius:8px;color:#5c6675;background:#f5f7fa;font-size:10px}.compact-list{margin:-4px -4px 0}.compact-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 8px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;text-align:left}.compact-list button:last-child{border-bottom:0}.compact-list button:hover{background:#f8fafc;border-radius:8px}.compact-list button>span{min-width:0}.compact-list button>span:last-child{text-align:right}.compact-list strong,.compact-list small,.compact-list b{display:block}.compact-list strong{overflow:hidden;color:var(--ink);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.compact-list small{margin-top:2px;color:var(--muted-2);font-size:9px}.compact-list b{margin-bottom:4px;color:var(--ink-2);font-size:11px;font-variant-numeric:tabular-nums}.panel__empty{padding:42px 0;color:var(--muted-2);text-align:center;font-size:11px}.compact-field{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:650;white-space:nowrap}.compact-field select{width:auto;min-height:38px;padding-block:6px}.toolbar{min-height:58px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:12px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-xs)}.toolbar>select{width:auto;min-width:132px;min-height:40px}.toolbar>span{margin-left:auto;padding-right:6px;color:var(--muted-2);font-size:10px;white-space:nowrap}.search{min-width:min(330px,100%);min-height:40px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid #d6dce5;border-radius:9px;background:#fff;color:var(--muted-2)}.search:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #2169f51a}.search input{min-height:38px;padding-inline:0;border:0;box-shadow:none!important}.data-surface{min-width:0;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-xs)}.data-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.data-table thead{position:sticky;top:0;z-index:1;background:#f8fafc}.data-table th{padding:11px 14px;border-bottom:1px solid var(--line);color:#7f8998;font-size:9px;font-weight:800;letter-spacing:.08em;text-align:left;text-transform:uppercase;white-space:nowrap}.data-table td{max-width:320px;padding:13px 14px;border-bottom:1px solid var(--line-soft);color:#344054;font-size:11px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .12s ease}.data-table tbody tr:hover{background:#f9fbfd}.data-table td strong,.data-table td small{display:block}.data-table td strong{color:var(--ink)}.data-table td small{overflow:hidden;margin-top:3px;color:var(--muted-2);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.money-cell{color:var(--ink)!important;font-family:DIN Alternate,Avenir Next,sans-serif;font-size:12px!important;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.money-cell--in{color:var(--green)!important}.money-cell--out{color:var(--red)!important}.row-actions{display:flex;align-items:center;gap:2px;white-space:nowrap}.status,.flow{display:inline-flex;align-items:center;justify-content:center;min-height:23px;padding:3px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.status{color:#536071;background:#eef1f5}.status--active,.status--paid,.status--rented{color:#087654;background:var(--green-soft)}.status--draft,.status--unpaid,.status--upcoming,.status--vacant{color:#a55506;background:var(--amber-soft)}.status--expired,.status--archived,.status--voided{color:#667085;background:#eef1f4}.status--terminated,.status--overdue,.status--overdue_partial{color:#bd271c;background:var(--red-soft)}.status--partial{color:#1859c9;background:var(--blue-soft)}.flow{border-radius:6px}.flow--in{color:var(--green);background:var(--green-soft)}.flow--out{color:var(--red);background:var(--red-soft)}.role{display:inline-flex;align-items:center;gap:6px;color:#344054;font-weight:700}.role svg{color:var(--blue)}.mobile-cards{display:none}.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.area-card{--area-color: #2169f5;position:relative;overflow:hidden;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-xs)}.area-card:after{content:"";position:absolute;top:-34px;right:-34px;width:100px;height:100px;border-radius:50%;background:color-mix(in srgb,var(--area-color) 9%,transparent)}.area-card header{position:relative;z-index:1;display:flex;align-items:center;gap:10px}.area-card__dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:var(--area-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--area-color) 12%,transparent)}.area-card header>div{min-width:0;flex:1}.area-card h2{font-size:15px}.area-card p{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.area-card header>strong{color:var(--ink);font-family:DIN Alternate,sans-serif;font-size:25px}.occupancy{height:7px;margin:20px 0 13px;overflow:hidden;border-radius:7px;background:#edf0f4}.occupancy i{display:block;height:100%;border-radius:inherit;background:var(--area-color)}.area-card footer{display:flex;justify-content:space-between;color:var(--muted);font-size:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;align-items:start;justify-items:center;overflow-y:auto;padding:22px;background:#0f172a7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{width:min(760px,100%);max-height:calc(100dvh - 44px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:16px;background:var(--paper);box-shadow:var(--shadow-lg);animation:modal-in .2s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}}.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 22px 15px;border-bottom:1px solid var(--line-soft)}.modal__header h2{font-size:18px}.modal__header p{margin-top:4px;color:var(--muted);font-size:11px}.modal__header .icon-button{color:var(--muted)}.modal__body{min-height:0;overflow:auto;padding:20px 22px}.modal__body>p{color:var(--muted);font-size:11px}.modal__footer{display:flex;justify-content:flex-end;gap:8px;padding:13px 22px 17px;border-top:1px solid var(--line-soft);background:#fbfcfd}.field{margin-bottom:16px}.field>label{display:block;margin-bottom:6px;color:#3a4656;font-size:11px;font-weight:750}.field>label span{color:var(--red)}.field small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.field--error input,.field--error select,.field--error textarea{border-color:var(--red)}.field--error small{color:var(--red)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.inline-error,.conflict-box{padding:10px 12px;border:1px solid #f0b8b3;border-radius:8px;color:#b42318;background:var(--red-soft);font-size:11px}.color-options{display:flex;flex-wrap:wrap;gap:10px;padding:4px}.color-option{width:36px;height:36px;border:3px solid white;border-radius:50%;box-shadow:0 0 0 1px #b6bfcc}.color-option--active{box-shadow:0 0 0 3px var(--ink)}.steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0 0 24px;padding:0}.steps li{position:relative;color:#98a2b3;font-size:9px;text-align:center}.steps li:before{content:"";position:absolute;z-index:0;left:0;right:0;top:13px;height:1px;background:#dbe1e9}.steps li:first-child:before{left:50%}.steps li:last-child:before{right:50%}.steps span{position:relative;z-index:1;width:27px;height:27px;display:grid;place-items:center;margin:0 auto 6px;border:1px solid #d9dfe7;border-radius:50%;color:#667085;background:#fff;font-family:monospace}.steps__active{color:var(--ink)!important;font-weight:750}.steps__active span{color:#fff;border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 4px var(--blue-soft)}.selection-grid{max-height:270px;display:grid;grid-template-columns:1fr 1fr;gap:8px;overflow:auto;padding:2px}.selection-grid--compact{max-height:154px}.selection-card{display:flex!important;align-items:center;gap:9px;margin:0!important;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff;cursor:pointer}.selection-card:hover{border-color:#b7c2d0}.selection-card--selected{border-color:var(--blue);background:var(--blue-soft)}.selection-card input{width:18px;min-height:18px;accent-color:var(--blue)}.selection-card>span{min-width:0;flex:1;color:var(--muted);font-size:10px}.selection-card strong{display:block;color:var(--ink)}.schedule-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.schedule-summary>div{padding:14px;border:1px solid var(--line-soft);border-radius:9px;background:#f7f9fc}.schedule-summary span,.schedule-summary strong{display:block}.schedule-summary span{color:var(--muted);font-size:9px}.schedule-summary strong{margin-top:3px;font-family:DIN Alternate,sans-serif;font-size:19px}.schedule-list{max-height:330px;overflow:auto;border:1px solid var(--line);border-radius:9px}.schedule-list>div{display:flex;justify-content:space-between;gap:18px;padding:11px 13px;border-bottom:1px solid var(--line-soft)}.schedule-list>div:last-child{border:0}.schedule-list span:last-child{text-align:right}.schedule-list strong,.schedule-list small{display:block}.schedule-list strong{font-size:11px}.schedule-list small{color:var(--muted);font-size:9px}.conflict-box{margin-bottom:14px}.conflict-box p{margin-top:4px}.review-card{margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.review-card h3{margin-bottom:10px;font-size:14px}.review-card dl{margin:0}.review-card dl>div{display:flex;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid #e2e7ee}.review-card dl>div:last-child{border:0}.review-card dt{color:var(--muted);font-size:10px}.review-card dd{margin:0;text-align:right;font-size:11px;font-weight:750}.file-drop{position:relative;min-height:80px!important;display:flex!important;align-items:center;justify-content:center;gap:9px;margin:0!important;border:1px dashed #aab4c2;border-radius:9px;color:var(--muted);background:#f8fafc;cursor:pointer}.file-drop:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.file-drop input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.deposit-entry{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.deposit-entry h3{margin-bottom:14px;font-size:14px}.deposit-entry>.button{width:100%}.clickable-row,.clickable-record{cursor:pointer}.clickable-row:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px}.detail-facts>div{min-width:0;padding:14px;border:1px solid var(--line-soft);border-radius:10px;background:#f7f9fc}.detail-facts span,.detail-facts strong,.detail-facts small{display:block}.detail-facts span{margin-bottom:4px;color:var(--muted);font-size:9px}.detail-facts strong{color:var(--ink);font-size:12px}.detail-facts small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:500}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:4px 0 10px}.section-heading h3,.edit-strip h3{font-size:14px}.section-heading p,.edit-strip p{margin-top:3px;color:var(--muted);font-size:9px}.ledger-list{overflow:hidden;border:1px solid var(--line);border-radius:10px}.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 14px;border-bottom:1px solid var(--line-soft)}.ledger-row:last-child{border-bottom:0}.ledger-row strong,.ledger-row span,.ledger-row small{display:block}.ledger-row strong{font-size:11px}.ledger-row span{margin-top:2px;color:#526174;font-size:10px}.ledger-row small{margin-top:2px;color:var(--muted);font-size:9px}.ledger-row--muted{opacity:.6;background:#f8fafc}.ledger-tag{padding:4px 7px;border-radius:999px;color:var(--muted)!important;background:#eef1f5;font-size:9px!important}.edit-strip{margin-top:14px;padding:16px;border:1px solid #bad0ff;border-radius:10px;background:var(--blue-soft)}.edit-strip .field{margin:13px 0 10px}.edit-strip__actions{display:flex;justify-content:flex-end;gap:8px}.modal .state{min-height:170px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-pulse{animation:pulse 1.5s ease-in-out infinite;background:#e4e9f0;border-radius:6px;color:transparent!important;-webkit-user-select:none;user-select:none;pointer-events:none;display:inline-block}.skeleton-line{display:inline-block;height:11px;margin:4px 0;border-radius:4px}.skeleton-block{display:block;border-radius:8px}[aria-busy=true] .kpi strong.skeleton-pulse{min-height:26px}.date-range{display:flex;align-items:center;gap:6px}.date-range input[type=date]{width:auto;min-width:130px;min-height:38px;padding:7px 10px}.date-range button{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--muted-2);cursor:pointer;padding:0}.date-range button:hover{background:var(--line);color:var(--ink)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.filter-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--paper);color:var(--ink-2);font-size:10px;font-weight:650}.filter-chip__label{color:var(--muted);font-weight:500}.filter-chip__value{color:var(--ink-2)}.filter-chip button{display:grid;place-items:center;width:16px;height:16px;border:0;border-radius:50%;background:transparent;color:var(--muted-2);cursor:pointer;padding:0}.filter-chip button:hover{background:var(--line);color:var(--ink)}.filter-chip__clear-all{border:0;background:none;color:var(--blue);font-size:10px;font-weight:650;cursor:pointer;padding:4px 6px}.filter-chip__clear-all:hover{text-decoration:underline}.pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:14px 0 4px}.pagination button{min-width:34px;min-height:34px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink-2);font-size:11px;font-weight:650;cursor:pointer;padding:4px 8px}.pagination button:hover:not(:disabled){border-color:var(--blue);color:var(--blue);background:#f8fafc}.pagination button:disabled{opacity:.4;cursor:default}.pagination__active{background:var(--blue)!important;border-color:var(--blue)!important;color:#fff!important}.pagination__active:hover{background:var(--blue-strong)!important;color:#fff!important}.pagination__dots{color:var(--muted-2);font-size:11px;min-width:24px;text-align:center}.pagination__info{color:var(--muted-2);font-size:10px;margin-left:12px;white-space:nowrap}.data-surface--compact .data-table th,.data-surface--compact .data-table td{padding:7px 10px;font-size:10px}.data-surface--compact .data-table td .money-cell{font-size:11px!important}.data-surface--compact .data-table th{font-size:8px}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:28px;background-color:#eef2f7;background-image:radial-gradient(circle at 15% 15%,rgba(33,105,245,.11),transparent 30%),radial-gradient(circle at 85% 85%,rgba(7,154,107,.08),transparent 28%),radial-gradient(#dce2eb 1px,transparent 1px);background-size:auto,auto,24px 24px}.login-card{width:min(960px,100%);min-height:590px;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid rgba(255,255,255,.85);border-radius:22px;background:#fff;box-shadow:0 30px 90px #1e293b29}.login-intro{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:34px 42px 38px;color:#fff;background:#13233f;background-image:radial-gradient(circle at 85% 18%,rgba(58,139,253,.3),transparent 30%),linear-gradient(145deg,#172a49,#0e1c32)}.login-intro:before{content:"";position:absolute;width:360px;height:360px;right:-190px;bottom:-200px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 45px #ffffff06,0 0 0 90px #ffffff05}.brand--login{position:relative;z-index:1}.brand--login strong{color:#fff}.brand--login small{color:#aab8cc}.login-intro__copy{position:relative;z-index:1;margin:auto 0}.login-intro__copy .eyebrow{color:#73a7ff}.login-intro h1{margin:18px 0 16px;color:#fff;font-size:clamp(31px,3.2vw,42px);line-height:1.2;letter-spacing:-.045em}.login-intro__copy p{max-width:390px;color:#b8c4d5;font-size:13px;line-height:1.8}.login-assurance{position:relative;z-index:1;display:flex;align-items:center;gap:10px;color:#75d7b5}.login-assurance span strong,.login-assurance span small{display:block}.login-assurance span strong{color:#dce6f4;font-size:11px}.login-assurance span small{color:#8494aa;font-size:9px}.login-form{align-self:center;padding:52px 48px}.login-form header{margin-bottom:32px}.login-form h2{margin:6px 0;font-size:25px}.login-form header p{color:var(--muted);font-size:11px}.login-form label{display:block;margin-bottom:17px;color:#344054;font-size:11px;font-weight:750}.login-form input{margin-top:6px}.login-form .button{width:100%;min-height:44px;margin-top:4px}.login-form__note{display:block;margin-top:16px;color:#98a2b3;font-size:9px;text-align:center}.login-form .inline-error{margin-bottom:12px}.state{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--muted);text-align:center}.state svg{margin-bottom:10px;color:#98a2b3}.state h2{color:var(--ink);font-size:15px}.state p{max-width:420px;margin:5px 0 14px;font-size:11px}.state--error svg{color:var(--red)}.connection-banner{position:fixed;z-index:1000;inset:0 0 auto;padding:9px 20px;color:#fff;background:#924a08;font-size:11px;font-weight:700;text-align:center}.toast-container{position:fixed;bottom:24px;right:24px;z-index:200;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(440px,calc(100vw - 48px))}.toast-item{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;min-width:280px;max-width:100%;padding:13px 14px;border-radius:10px;background:var(--paper);box-shadow:var(--shadow-lg);border:1px solid var(--line);animation:toast-in .28s ease-out}.toast-item--success{border-color:#b7e5d2}.toast-item--error{border-color:#f3b8b3}.toast-item--info{border-color:#c8d7ef}.toast-item>span{flex:1;min-width:0;color:var(--ink-2);font-size:12px;line-height:1.4}.toast-item__dismiss{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted-2);cursor:pointer;padding:0}.toast-item__dismiss:hover{background:var(--line-soft);color:var(--ink)}.toast-item--exiting{animation:toast-out .18s ease-in both}@keyframes toast-in{0%{opacity:0;transform:translate(20px)}}@keyframes toast-out{to{opacity:0;transform:translate(20px)}}@media (max-width: 760px){.toast-container{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom))}.toast-item{min-width:0}}.mobile-amount{display:flex;align-items:baseline;justify-content:space-between;margin:12px 0;padding:12px;border-radius:9px;background:#f5f7fa}.mobile-amount span{color:var(--muted);font-size:10px}.mobile-amount strong{font-family:DIN Alternate,sans-serif;font-size:20px}.mobile-flow{font-family:DIN Alternate,sans-serif;font-size:16px;white-space:nowrap}.mobile-flow--in{color:var(--green)}.mobile-flow--out{color:var(--red)}@media (max-width: 1180px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi:nth-child(2n){border-right:0}.kpi:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}.kpi-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-grid--three .kpi{border-right:1px solid var(--line-soft);border-bottom:0}.kpi-grid--three .kpi:last-child{border-right:0}.dashboard-grid{grid-template-columns:1fr}.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi strong{font-size:24px}}@media (max-width: 900px){:root{--sidebar: 210px}.page{padding-inline:22px}.topbar{padding-inline:18px}.row-actions{flex-wrap:wrap}}@media (max-width: 760px){:root{--sidebar: 0px}.app-shell{display:block}.topbar{position:sticky;height:60px;padding:0 10px}.topbar__menu{display:inline-grid!important}.topbar__mobile-brand{display:flex!important;align-items:center;gap:8px}.topbar__mobile-brand .brand__mark{width:30px;height:30px;border-radius:8px;font-size:14px}.topbar__mobile-brand strong{font-size:13px}.topbar__context{display:none}.topbar__end{gap:5px}.mode-switch span{display:none}.mode-switch{width:34px;justify-content:center;padding-inline:0}.topbar__user>div{display:none}.user-avatar{width:32px;height:32px}.topbar__logout{width:38px;border-left:0!important}.sidebar{position:fixed;left:-274px;top:0;bottom:0;z-index:80;width:260px;height:100dvh;padding-bottom:calc(16px + env(safe-area-inset-bottom));transition:left .22s ease;box-shadow:18px 0 50px #0f172a2e}.sidebar--open{left:0}.sidebar__brand{height:64px}.sidebar__close{display:inline-grid!important}.drawer-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;border:0;background:#0f172a80}.content{min-height:calc(100dvh - 60px)}.page{padding:22px 14px 44px}.page-header{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:19px}.page-header h1{font-size:23px}.page-header__actions,.page-header__actions>.header-actions{width:100%}.page-header__actions .button,.page-header__actions .header-actions>*{flex:1}.kpi-grid,.kpi-grid--three{grid-template-columns:1fr;gap:0}.kpi,.kpi:nth-child(2n),.kpi:nth-child(-n+2){min-height:90px;display:grid;grid-template-columns:1fr auto;align-content:center;padding:14px 16px;border-right:0;border-bottom:1px solid var(--line-soft)}.kpi-grid--three .kpi{border-right:0;border-bottom:1px solid var(--line-soft)}.kpi:last-child{border-bottom:0}.kpi-grid--three .kpi:last-child{border-bottom:0}.kpi:before{left:16px;top:20px}.kpi__label{padding-left:15px}.kpi strong{grid-column:2;grid-row:1 / 3;align-self:center;margin:0;padding-left:12px;font-size:20px;text-align:right}.kpi__meta{grid-column:1}button.kpi:after{display:none}.panel{padding:16px}.panel--wide{min-height:300px}.bar-chart{height:220px;gap:2px;padding-inline:0}.bar-chart__bars{width:min(26px,84%);height:178px;gap:2px}.area-grid{grid-template-columns:1fr}.toolbar{align-items:stretch;padding:9px}.toolbar .search{width:100%;min-width:0}.toolbar>select,.toolbar .compact-field{flex:1}.toolbar>span{width:100%;margin:0;padding:0 3px;text-align:right}.desktop-only{display:none!important}.mobile-cards{display:block;padding:0}.data-surface{overflow:visible;border:0;background:transparent;box-shadow:none}.mobile-record{margin-bottom:10px;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow-xs)}.mobile-record header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.mobile-record h2{color:var(--ink);font-size:14px}.mobile-record header span{color:var(--muted);font-size:9px}.mobile-record dl{margin:10px 0}.mobile-record dl>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--line-soft)}.mobile-record dl>div:last-child{border-bottom:0}.mobile-record dt{color:var(--muted);font-size:9px}.mobile-record dd{max-width:65%;margin:0;color:#344054;font-size:10px;font-weight:700;text-align:right;overflow-wrap:anywhere}.mobile-record>.button{width:100%}.mobile-record__actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.mobile-record__actions .button{min-width:0}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:95dvh;border-radius:17px 17px 0 0}.modal__header,.modal__body{padding-left:16px;padding-right:16px}.modal__footer{padding:12px 16px calc(14px + env(safe-area-inset-bottom))}.modal__footer .button{flex:1;min-height:44px}.form-grid,.selection-grid,.schedule-summary,.detail-facts{grid-template-columns:1fr}.ledger-row{align-items:flex-start}.edit-strip__actions .button{flex:1}.review-card dl>div{display:block}.review-card dd{margin-top:3px;text-align:left}.steps{overflow:auto}.steps li{min-width:72px}.compact-field{justify-content:space-between}.compact-field select{flex:1}.header-actions{width:100%}.login-shell{place-items:stretch;padding:0;background:#fff}.login-card{min-height:100dvh;display:block;border:0;border-radius:0}.login-intro{min-height:300px;padding:24px}.login-intro__copy{margin:44px 0 28px}.login-intro h1{font-size:29px}.login-intro__copy p{font-size:11px}.login-form{padding:34px 24px calc(36px + env(safe-area-inset-bottom))}.login-form input{font-size:16px}}@media (max-width: 420px){.topbar__mobile-brand strong{display:none}.page-header__actions .header-actions{display:grid;grid-template-columns:1fr 1fr}.page-header__actions .header-actions>:first-child:last-child{grid-column:1 / -1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
