.parking-page{min-height:calc(100vh - 64px);padding:34px clamp(24px,3vw,48px) 56px;background:#f6f7fb;color:#211f2b}.parking-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.parking-hero>div:first-child>span,.parking-level-head span,.parking-preview header span{color:#746f83;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.parking-hero h1{margin:0;font-family:var(--font-sans);font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.04em}.parking-hero p{max-width:760px;margin:5px 0 0;color:#777382;font-size:13px}.parking-hero-actions{display:flex;align-items:center;gap:9px}.parking-save-state{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px}.parking-save-state>span{width:8px;height:8px;border-radius:50%;background:#58c9a9}.parking-save-state>span.is-saving{background:#e2a04d;animation:parking-pulse .8s ease-in-out infinite alternate}.parking-export-button,.parking-preview button.is-primary,.parking-print-dialog button.is-primary{display:inline-flex;height:34px;align-items:center;border:0;border-radius:10px;background:#2d1b69;color:white;cursor:pointer;font-size:8px;font-weight:700;padding:0 10px;box-shadow:0 8px 22px rgb(45 27 105/18%)}.parking-print-button{display:inline-flex;height:34px;align-items:center;border:1px solid #d9d5e8;border-radius:10px;background:white;color:#2d1b69;cursor:pointer;font-size:8px;font-weight:700;padding:0 10px}.parking-export-button:disabled,.parking-preview button:disabled,.parking-print-button:disabled,.parking-print-dialog button:disabled{cursor:progress;opacity:.55}.parking-message{margin:-10px 0 18px;border:1px solid;border-radius:10px;font-size:11px;padding:10px 13px}.parking-message.is-success{border-color:#b9e7d9;background:#eefaf6;color:#176c59}.parking-message.is-error{border-color:#efc2c2;background:#fff3f3;color:#9d3333}.parking-message.is-warning{border-color:#efd6a4;background:#fff9ec;color:#815b16}.parking-workspace{display:grid;grid-template-columns:minmax(210px,252px) minmax(0,1fr);align-items:start;gap:20px}.parking-level-card,.parking-vehicle-pool{border:1px solid #e4e2eb;border-radius:18px;background:rgb(255 255 255/88%);box-shadow:0 12px 36px rgb(35 29 72/6%)}.parking-vehicle-pool{position:sticky;top:92px;padding:16px}.parking-levels.is-disabled,.parking-vehicle-pool.is-disabled{opacity:.68;pointer-events:none}.parking-vehicle-pool>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.parking-vehicle-pool>header span{font-size:11px;font-weight:700}.parking-vehicle-pool>header strong{display:grid;min-width:27px;height:27px;place-items:center;border-radius:9px;background:#efedff;color:#4f3fb2;font-size:11px}.parking-vehicle-pool>input{width:100%;border:1px solid #e0deea;border-radius:10px;background:#fafafd;font-size:10px;padding:10px 11px}.parking-vehicle-list{display:grid;max-height:520px;gap:7px;margin:12px 0;overflow:auto}.parking-vehicle-list>button{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;border:1px solid #e7e5ee;border-radius:11px;background:white;cursor:grab;padding:9px;text-align:left}.parking-vehicle-list>button.is-selected,.parking-vehicle-list>button:hover{border-color:#8e7de0;background:#f5f2ff}.parking-vehicle-list>button span{display:grid;min-width:0}.parking-vehicle-list>button strong{color:#25196a;font-size:10px}.parking-vehicle-list>button small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.parking-vehicle-list>button>i{color:#aaa6b8;font-style:normal}.parking-vehicle-list>p{color:var(--muted);font-size:10px;line-height:1.5;text-align:center}.parking-guest-form{display:grid;gap:6px;margin-top:14px;padding-top:14px;border-top:1px solid #ebe9f1}.parking-guest-form label{color:#3a3163;font-size:9px;font-weight:700}.parking-guest-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.parking-guest-form input{min-width:0;border:1px solid #e0deea;border-radius:9px;background:#fafafd;font-size:9px;padding:9px 10px}.parking-guest-form button{border:0;border-radius:9px;background:#35217e;color:white;cursor:pointer;font-size:9px;font-weight:700;padding:0 11px}.parking-guest-form button:disabled{opacity:.45;cursor:default}.parking-guest-selection{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;width:100%;margin-top:8px;border:1px solid #8e7de0;border-radius:11px;background:#f5f2ff;cursor:pointer;padding:9px;text-align:left}.parking-guest-selection>span{display:grid}.parking-guest-selection strong{color:#25196a;font-size:10px}.parking-guest-selection small{color:var(--muted);font-size:8px}.parking-guest-button{margin-top:10px;width:100%;border:0;background:transparent;color:#6657bb;cursor:pointer;font-size:9px;font-weight:700}.parking-guest-button:disabled{color:#a6a3b0;cursor:default}.parking-levels{display:grid;gap:20px}.parking-level-card{padding:21px;overflow:hidden}.parking-level-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.parking-level-head h2{margin:2px 0 0;color:#25196a;font:600 27px/1 var(--font-sans);letter-spacing:-.04em}.parking-level-head>strong{color:var(--muted);font-size:10px;font-weight:500}.parking-level-grid{display:grid;grid-template-columns:repeat(9,minmax(92px,1fr));grid-template-rows:repeat(2,148px);gap:10px;min-width:900px;overflow-x:auto;padding:2px 2px 10px}.parking-level-grid.is-p2{grid-template-columns:repeat(7,minmax(110px,1fr))}.parking-level-grid.is-p0{grid-template-rows:148px}.parking-spot{display:flex;grid-column:calc(attr(data-column type(<integer>)) + 1);grid-row:calc(attr(data-row type(<integer>)) + 1);min-width:0;min-height:0;flex-direction:column;border:1px solid #dedce7;border-radius:13px;background:#fbfbfd;cursor:default;padding:9px;transition:.15s ease}.parking-spot[data-column="0"]{grid-column:1}.parking-spot[data-column="1"]{grid-column:2}.parking-spot[data-column="2"]{grid-column:3}.parking-spot[data-column="3"]{grid-column:4}.parking-spot[data-column="4"]{grid-column:5}.parking-spot[data-column="5"]{grid-column:6}.parking-spot[data-column="6"]{grid-column:7}.parking-spot[data-column="7"]{grid-column:8}.parking-spot[data-column="8"]{grid-column:9}.parking-spot[data-row="0"]{grid-row:1}.parking-spot[data-row="1"]{grid-row:2}.parking-spot.is-horizontal{grid-column:span 2}.parking-spot.is-horizontal[data-column="0"]{grid-column:1/span 2}.parking-spot.is-occupied{border-color:#c5bdef;background:#f7f5ff}.parking-spot.is-selectable,.parking-spot:has(.parking-assignment[draggable=true]):hover{border-color:#7564d3;box-shadow:0 0 0 3px rgb(117 100 211/10%)}.parking-spot.is-selectable{cursor:pointer}.parking-spot>header{display:flex;align-items:center;justify-content:space-between;gap:5px}.parking-spot>header>strong{color:#25196a;font-size:13px}.parking-kind{display:flex;align-items:center;gap:4px;color:#7b7789;font-size:7px}.parking-footer i,.parking-kind:before{width:7px;height:7px;border-radius:50%;background:#8bda72;content:""}.parking-footer i.is-temporary,.parking-kind.is-temporary:before{background:#ffc779}.parking-assignment{position:relative;display:grid;flex:1;align-content:center;justify-items:center;gap:7px;cursor:grab;text-align:center}.parking-assignment>div{display:grid;min-width:0}.parking-assignment strong{overflow:hidden;color:#372a84;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.parking-assignment small{color:#6558ae;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.parking-assignment em,.parking-assignment small{overflow:hidden;font-size:6px;text-overflow:ellipsis;white-space:nowrap}.parking-assignment em{color:#918c9f;font-style:normal}.parking-assignment>button{position:absolute;top:1px;right:0;display:grid;width:17px;height:17px;place-items:center;border:0;border-radius:50%;background:rgb(37 25 106/8%);color:#6657b5;cursor:pointer;font-size:12px}.parking-car{--car-body:#302777;--car-glass:#8e7de6;--car-radius:12px;position:relative;display:block;width:34px;height:54px;flex:0 0 auto;border:1px solid rgb(255 255 255/42%);border-radius:var(--car-radius);background:var(--car-body);box-shadow:inset 0 -5px 0 rgb(17 13 53/36%),0 6px 12px rgb(35 24 91/18%)}.parking-car i{top:7px;height:15px;border:1px solid rgb(255 255 255/18%);border-radius:6px;background:var(--car-glass)}.parking-car b,.parking-car i{position:absolute;right:6px;left:6px}.parking-car b{bottom:5px;height:2px;border-radius:4px;background:rgb(255 255 255/40%)}.parking-car-brand{position:absolute;top:27px;left:50%;display:grid!important;width:20px;height:20px;min-width:20px!important;place-items:center;transform:translateX(-50%);border-radius:7px;background:rgb(255 255 255/94%);color:#33277d;font-size:5px;font-weight:800;letter-spacing:-.02em}.parking-car-brand img{width:14px;height:14px;object-fit:contain}.parking-car.is-van{--car-body:#35404b;--car-glass:#9da8b2;--car-radius:8px;height:62px}.parking-car.is-compact-van{--car-body:#343761;--car-glass:#8d91bd;--car-radius:10px;height:58px}.parking-car.is-executive{--car-body:#252536;--car-glass:#777b8a;--car-radius:16px;width:36px}.parking-car.is-electric{--car-body:#143e72;--car-glass:#75b8db;--car-radius:16px;width:36px}.parking-car.is-electric b{background:#55dac2}.parking-car.is-guest{--car-body:#5f557c;--car-glass:#b2aac5;border-style:dashed}.parking-car.is-compact{width:30px;height:42px;border-radius:calc(var(--car-radius) * .75)}.parking-car.is-compact i{top:5px;right:5px;left:5px;height:11px}.parking-car.is-compact .parking-car-brand{top:20px;width:17px;height:17px;min-width:17px!important}.parking-car.is-compact .parking-car-brand img{width:12px;height:12px}.parking-car.is-horizontal-car{width:58px;height:34px;border-radius:calc(var(--car-radius) * .75)}.parking-car.is-horizontal-car i{top:6px;right:auto;bottom:6px;left:7px;width:17px;height:auto}.parking-car.is-horizontal-car .parking-car-brand{top:50%;left:36px;width:18px;height:18px;min-width:18px!important;transform:translateY(-50%)}.parking-car.is-horizontal-car .parking-car-brand img{width:13px;height:13px}.parking-car.is-horizontal-car b{top:7px;right:5px;bottom:7px;left:auto;width:2px;height:auto}.parking-empty-copy{display:grid;flex:1;align-content:center;justify-items:center;gap:4px;color:#aaa6b5}.parking-empty-copy>span{font-size:20px;font-weight:300}.parking-empty-copy strong{font-size:8px;font-weight:600}.parking-elevator{margin-top:5px;color:#5b4bae;font-size:9px;font-style:italic;text-align:center}.parking-footer{display:flex;align-items:center;justify-content:flex-end;gap:18px;margin-top:15px;color:var(--muted);font-size:9px}.parking-footer>span{display:flex;align-items:center;gap:6px}.parking-economics{margin-top:34px;padding:clamp(22px,3vw,34px);border:1px solid #dfdce9;border-radius:22px;background:radial-gradient(circle at 96% 0,rgb(117 92 213/12%),transparent 28%),#fff;box-shadow:0 18px 52px rgb(35 29 72/7%)}.parking-economics>header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.parking-economics>header>div>span{color:#706b7d;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.parking-economics h2{margin:4px 0 0;font:600 clamp(22px,2.4vw,31px) /1.1 var(--font-sans);letter-spacing:-.04em}.parking-economics>header p{margin:7px 0 0;color:#7d7887;font-size:11px}.parking-economics>header>a{display:grid;position:relative;gap:3px;padding:11px 14px 11px 31px;border:1px solid #d8eee8;border-radius:13px;background:#f3fbf8;color:#176653;font-size:9px;font-weight:700;text-decoration:none}.parking-economics>header>a i{position:absolute;top:14px;left:13px;width:8px;height:8px;border-radius:50%;background:#43bd97;box-shadow:0 0 0 4px rgb(67 189 151/12%)}.parking-economics>header>a small{color:#6d8b82;font-size:7px;font-weight:600}.parking-economics-cards{display:grid;gap:12px;margin-top:25px;grid-template-columns:repeat(4,minmax(0,1fr))}.parking-economics-cards article{min-width:0;padding:20px;border:1px solid #e6e3ed;border-radius:16px;background:#faf9fc}.parking-economics-cards article.is-primary{border-color:#362375;background:linear-gradient(135deg,#211450,#402b8c);color:#fff;box-shadow:0 14px 32px rgb(45 27 105/18%)}.parking-economics-cards article>span{color:#777182;font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.parking-economics-cards article.is-primary>span{color:#c9c0ed}.parking-economics-cards article>em{display:block;margin-top:13px;color:#8d8794;font-size:7px;font-style:normal;font-weight:600}.parking-economics-cards article.is-primary>em{color:#b9afd9}.parking-economics-cards article>strong{display:block;margin-top:2px;font:600 clamp(20px,2.1vw,30px) /1.15 var(--font-sans);letter-spacing:-.045em}.parking-economics-cards dl{display:grid;gap:10px;margin:17px 0 0;padding-top:13px;border-top:1px solid #e4e1ea;grid-template-columns:repeat(2,minmax(0,1fr))}.parking-economics-cards article.is-primary dl{border-color:rgb(255 255 255/18%)}.parking-economics-cards dl>div{min-width:0}.parking-economics-cards dt{color:#8a8490;font-size:7px;font-weight:600}.parking-economics-cards article.is-primary dt{color:#b9afd9}.parking-economics-cards dd{margin:3px 0 0;font-size:10px;font-weight:700}.parking-economics-formula{display:grid;align-items:center;gap:14px;margin-top:14px;padding:15px 17px;border:1px solid #e9e6ef;border-radius:14px;background:#fbfafc;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,.7fr)}.parking-economics-formula>div{display:grid;gap:2px}.parking-economics-formula span{color:#85808b;font-size:7px;font-weight:600;text-transform:uppercase}.parking-economics-formula strong{font-size:12px}.parking-economics-formula small{color:#918b96;font-size:7px}.parking-economics-formula>b{color:#aaa3b5;font-size:15px;font-weight:400}.parking-economics-status{margin-top:22px;padding:18px;border:1px solid #e7e3ed;border-radius:14px;background:#faf9fc}.parking-economics-status.is-error{border-color:#f0cccc;background:#fff7f7;color:#922f2f}.parking-economics-status p{margin:5px 0 0;font-size:9px}.parking-economics>footer{margin-top:13px;color:#9a949f;font-size:7px;line-height:1.5}.parking-preview-backdrop{position:fixed;z-index:80;inset:0;display:grid;place-items:center;background:rgb(18 13 52/64%);padding:24px;backdrop-filter:blur(5px)}.parking-preview{display:grid;width:min(900px,100%);max-height:calc(100svh - 48px);border-radius:18px;background:white;box-shadow:0 30px 90px rgb(15 9 45/35%);overflow:auto;padding:22px}.parking-preview>footer,.parking-preview>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.parking-preview h2{margin:3px 0 0;font:600 27px/1 var(--font-sans);letter-spacing:-.04em}.parking-preview>header>strong{border-radius:999px;background:#efedff;color:#4f3fb2;font-size:10px;padding:8px 11px}.parking-preview>img{width:100%;margin:18px 0;border:1px solid #ddd9ef;border-radius:12px;background:#efedff}.parking-preview-message{border-radius:11px;background:#f7f7fa;padding:13px}.parking-preview-message span{color:var(--muted);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.parking-preview-message p{margin:7px 0 0;font-size:11px;line-height:1.6;white-space:pre-wrap}.parking-preview>footer{margin-top:17px}.parking-preview>footer>p{max-width:480px;margin:0;color:var(--muted);font-size:9px;line-height:1.5}.parking-preview>footer>div{display:flex;gap:8px}.parking-preview>footer button:not(.is-primary){border:1px solid #dedce8;border-radius:11px;background:white;cursor:pointer;font-size:10px;font-weight:700;padding:12px 15px}.parking-print-dialog{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(980px,100%);max-height:calc(100svh - 48px);border-radius:18px;background:white;box-shadow:0 30px 90px rgb(15 9 45/35%);overflow:hidden;padding:22px}.parking-print-complete{position:absolute;z-index:10;inset:0;display:grid;align-content:center;justify-items:center;border-radius:inherit;background:rgb(255 255 255/98%);padding:32px;text-align:center}.parking-print-complete>span{display:grid;width:64px;height:64px;margin-bottom:18px;place-items:center;border-radius:50%;background:#e6f7e1;color:#2f7a32;font-size:30px;font-weight:800}.parking-print-complete>strong{color:#21184f;font:600 32px/1 var(--font-sans);letter-spacing:-.04em}.parking-print-complete>p{margin:10px 0 24px;color:var(--muted);font-size:12px}.parking-print-complete>div{display:flex;gap:8px}.parking-print-complete button:not(.is-primary){height:44px;border:1px solid #dedce8;border-radius:12px;background:white;color:#30264e;cursor:pointer;font-size:11px;font-weight:700;padding:0 18px}.parking-print-complete button.is-primary{height:44px;justify-content:center;border-radius:12px;font-size:11px;padding:0 20px}.parking-print-dialog legend,.parking-print-dialog>footer,.parking-print-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:18px}.parking-print-dialog>header span{color:#746f83;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.parking-print-dialog h2{margin:3px 0 0;font:600 27px/1 var(--font-sans);letter-spacing:-.04em}.parking-print-dialog>header p{margin:7px 0 0;color:var(--muted);font-size:10px}.parking-print-dialog>header>strong{border-radius:999px;background:#efedff;color:#4f3fb2;font-size:10px;padding:9px 12px;white-space:nowrap}.parking-print-actions{display:flex;gap:8px;margin:20px 0 14px;padding-bottom:14px;border-bottom:1px solid #eceaf1}.parking-print-actions button,.parking-print-dialog legend button{border:1px solid #dedbe8;border-radius:9px;background:white;color:#3d3269;cursor:pointer;font-size:9px;font-weight:700;padding:8px 10px}.parking-print-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-height:0;overflow-y:auto;padding:2px 7px 8px 2px;scrollbar-gutter:stable}.parking-print-error{position:absolute;z-index:3;right:22px;bottom:82px;left:22px;display:grid;border:1px solid #efc2c2;border-radius:10px;background:#fff3f3;color:#9d3333;font-size:9px;padding:9px 12px}.parking-print-error strong{font-size:10px}.parking-print-levels fieldset{min-width:0;margin:0;border:1px solid #e4e1ed;border-radius:13px;padding:12px}.parking-print-levels legend{width:100%;padding:0 0 10px}.parking-print-levels legend span{font:600 18px/1 var(--font-sans)}.parking-print-levels fieldset>div{display:grid;gap:7px}.parking-print-levels label{display:grid;grid-template-columns:17px 30px minmax(0,1fr);align-items:center;gap:10px;border:1px solid #e6e3ed;border-radius:10px;background:#faf9fc;cursor:pointer;padding:10px;transition:.15s ease}.parking-print-levels label.is-selected{border-color:#a89bea;background:linear-gradient(135deg,#f5f3ff,#ece8ff);box-shadow:inset 3px 0 #6949d7}.parking-print-levels label:hover{border-color:#b8afe2;transform:translateY(-1px)}.parking-print-levels input{width:15px;height:15px;accent-color:#5b3dcc}.parking-print-spot-copy{display:grid;min-width:0}.parking-print-spot-copy>span{display:flex;align-items:center;gap:5px;margin-bottom:2px}.parking-print-spot-copy>span small{color:#8a8497;font-size:7px;font-weight:700;text-transform:uppercase}.parking-print-spot-copy>span b{color:#332768;font-size:9px}.parking-print-spot-copy>span i{margin-left:auto;border-radius:999px;background:#e6f5e2;color:#39742f;font-size:6px;font-style:normal;font-weight:800;letter-spacing:.04em;padding:3px 5px;text-transform:uppercase}.parking-print-levels label.is-empty .parking-print-spot-copy>span i{background:#f0eef4;color:#898493}.parking-print-spot-copy>strong{color:#2d2551;font-size:14px;letter-spacing:.025em;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parking-print-spot-copy>small{overflow:hidden;color:#777183;font-size:7px;text-overflow:ellipsis;white-space:nowrap}.parking-print-empty-mark{display:grid;width:30px;height:42px;place-items:center;border:1px dashed #d8d4e2;border-radius:9px;background:#f2f0f6;color:#aaa5b4;font-size:18px}.parking-print-dialog>footer{position:relative;z-index:1;margin-top:12px;padding-top:14px;border-top:1px solid #eceaf1;background:white}.parking-print-dialog>footer>p{max-width:520px;margin:0;color:var(--muted);font-size:9px;line-height:1.5}.parking-print-dialog>footer>div{display:flex;gap:8px}.parking-print-dialog>footer button:not(.is-primary){display:inline-flex;height:44px;align-items:center;justify-content:center;border:1px solid #dedce8;border-radius:12px;background:white;cursor:pointer;font-size:11px;font-weight:700;padding:0 18px}.parking-print-dialog>footer button.is-primary{height:44px;min-width:172px;justify-content:center;border-radius:12px;font-size:11px;padding:0 18px;white-space:nowrap}.parking-loading{display:grid;min-height:calc(100svh - 72px);place-items:center;color:var(--muted);font-size:12px}.parking-loading.is-error{color:#9d3333}@keyframes parking-pulse{to{opacity:.35}}@media (max-width:1100px){.parking-workspace{grid-template-columns:1fr}.parking-vehicle-pool{position:static}.parking-vehicle-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));max-height:240px}.parking-economics-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.parking-page{padding:22px 15px 40px}.parking-hero,.parking-preview>footer,.parking-preview>header,.parking-print-dialog>footer,.parking-print-dialog>header{align-items:flex-start;flex-direction:column}.parking-hero-actions{width:100%;flex-wrap:wrap}.parking-level-card{padding:14px}.parking-preview>footer>div{display:grid}.parking-print-dialog>footer>div{width:100%}.parking-print-dialog>footer button{flex:1}.parking-print-dialog>footer>p{display:none}.parking-print-actions{flex-wrap:wrap}.parking-print-levels{grid-template-columns:1fr}.parking-economics>header{flex-direction:column}.parking-economics>header>a{width:100%}.parking-economics-cards{grid-template-columns:1fr}.parking-economics-formula{align-items:start;grid-template-columns:1fr}.parking-economics-formula>b{display:none}}.finance-services-page{display:grid;gap:18px;color:#17152a}.finance-services-page button,.finance-services-page input,.finance-services-page select{font-family:var(--font-sans)}.finance-services-page a:focus-visible,.finance-services-page button:focus-visible,.finance-services-page input:focus-visible{outline:3px solid rgb(37 25 106/18%);outline-offset:2px}.finance-services-page select:focus{outline:0}.finance-services-page select:focus-visible{box-shadow:inset 0 -2px 0 rgb(37 25 106/42%)}.finance-services-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:6px}.finance-services-chart-card>header span,.finance-services-heading>div:first-child>span,.finance-services-workspace>header>div>span{display:block;margin-bottom:8px;color:#6e61bf;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.finance-services-heading h1{margin:0;color:var(--purple-dark);font-size:clamp(34px,4vw,48px);font-weight:600}.finance-services-heading p{max-width:720px;margin:11px 0 0;color:#74738a;font-size:11px;line-height:1.6}.finance-services-update{display:grid;min-width:250px;justify-items:end;gap:2px;padding:13px 15px;border:1px solid #e2e1e8;border-radius:13px;background:rgb(255 255 255/72%)}.finance-services-update small,.finance-services-update span{color:#8b8999;font-size:8px}.finance-services-update strong{color:#2d2950;font-size:11px;font-weight:600}.finance-services-update small{max-width:225px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-services-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #dedde6}.finance-services-actions nav,.finance-services-actions>div{display:flex;align-items:center;gap:6px}.finance-services-actions nav button{position:relative;display:flex;min-height:48px;align-items:center;gap:8px;border:0;background:transparent;color:#79778a;padding:0 15px;font-size:10px;font-weight:600;cursor:pointer}.finance-services-actions nav button:after{position:absolute;right:10px;bottom:-1px;left:10px;height:2px;border-radius:999px 999px 0 0;background:transparent;content:""}.finance-services-actions nav button.is-active{color:var(--purple)}.finance-services-actions nav button.is-active:after{background:var(--purple)}.finance-services-actions nav em{display:grid;min-width:21px;height:21px;place-items:center;border-radius:999px;background:#efedf7;font-size:8px;font-style:normal}.finance-services-reset,.finance-services-upload{min-height:36px;border-radius:9px;padding:0 13px;font-size:9px;font-weight:600;cursor:pointer}.finance-services-upload{display:flex;align-items:center;gap:8px;border:0;background:var(--purple);color:#fff;box-shadow:0 9px 22px rgb(37 25 106/12%)}.finance-services-reset{border:1px solid #dddbe6;background:#fff;color:#6f6c7d}.finance-services-notice{padding:11px 14px;border:1px solid;border-radius:10px;font-size:10px}.finance-services-notice.is-success{border-color:#cae6dc;background:#eff9f5;color:#16735f}.finance-services-notice.is-error{border-color:#efc9cd;background:#fff3f4;color:#a23c49}.finance-services-summary{display:grid;grid-template-columns:.9fr repeat(3,1fr);overflow:hidden;border:1px solid #dfdee6;border-radius:16px;background:#fff;box-shadow:0 14px 34px rgb(35 27 72/4%)}.finance-services-summary>button,.finance-services-year-select{min-width:0;min-height:104px;border:0;border-right:1px solid #e7e5ec;background:#fff;padding:18px 20px;text-align:left}.finance-services-summary>button{position:relative;cursor:pointer}.finance-services-summary>button:last-child{border-right:0}.finance-services-summary>button:after{position:absolute;right:0;bottom:0;left:0;height:3px;background:transparent;content:""}.finance-services-summary>button.is-active{background:#fbfaff}.finance-services-summary>button.is-active:after{background:var(--purple)}.finance-services-summary span,.finance-services-year-select>span{display:block;color:#7d7a8b;font-size:9px;font-weight:600}.finance-services-summary strong{display:block;margin:8px 0 5px;color:#1c1846;font-size:clamp(21px,2vw,29px);font-weight:600;letter-spacing:-.04em}.finance-services-summary small{color:#92909e;font-size:8px}.finance-services-year-select{display:grid;align-content:center;gap:9px;background:#faf9fc}.finance-services-year-select select{width:100%;border:0;background:transparent;color:#241c64;font-size:16px;font-weight:600;cursor:pointer}.finance-services-chart-card,.finance-services-workspace{border:1px solid #dfdee6;border-radius:16px;background:#fff;box-shadow:0 14px 34px rgb(35 27 72/4%)}.finance-services-chart-card{padding:20px 22px 16px}.finance-services-chart-card>header,.finance-services-workspace>header{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.finance-services-chart-card h2,.finance-services-workspace h2{margin:0;color:#1d1944;font-size:17px;font-weight:600;letter-spacing:-.02em}.finance-services-chart-card>header>small{color:#93909e;font-size:8px}.finance-services-chart{height:245px;margin-top:12px}.finance-services-chart :is(.recharts-wrapper,.recharts-surface):focus{outline:0}.finance-services-workspace{overflow:hidden}.finance-services-workspace>header{align-items:flex-end;padding:20px 22px 0}.finance-services-workspace>header nav{display:flex;gap:2px;padding:3px;border:1px solid #e3e1e9;border-radius:10px;background:#f7f6fa}.finance-services-workspace>header nav button{min-height:30px;border:0;border-radius:7px;background:transparent;color:#777485;padding:0 12px;font-size:9px;font-weight:600;cursor:pointer}.finance-services-workspace>header nav button.is-active{background:#fff;color:var(--purple);box-shadow:0 2px 8px rgb(29 24 65/8%)}.finance-services-filters{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,minmax(130px,.75fr)) auto;align-items:end;gap:9px;margin-top:18px;padding:15px 22px;border-block:1px solid #ebe9ef;background:#fbfafd}.finance-services-filters label{position:relative;display:grid;gap:6px}.finance-service-card-value span,.finance-services-board article label>span,.finance-services-filters label>span{color:#8b8899;font-size:7px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.finance-services-board article select,.finance-services-board-tools input,.finance-services-filters input,.finance-services-filters select,.finance-services-table-wrap select{width:100%;height:38px;border:1px solid #dedce6;border-radius:9px;background:#fff;color:#302d45;padding:0 11px;font-size:9px}.finance-services-page select{padding-right:32px!important;appearance:none;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSI+PHBhdGggZD0ibTQgNiA0IDQgNC00IiBzdHJva2U9IiMzYjMzNzQiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48L3N2Zz4=")!important;background-repeat:no-repeat!important;background-position:right 11px center!important;background-size:13px 13px!important}.finance-services-search i{position:absolute;z-index:1;bottom:11px;left:11px;display:grid;color:#858195}.finance-services-search input{padding-left:34px}.finance-services-filters>button{height:38px;border:0;background:transparent;color:#6b5dbd;padding:0 4px;font-size:8px;font-weight:600;cursor:pointer;white-space:nowrap}.finance-services-board-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px}.finance-services-board-tools p{display:flex;align-items:center;gap:7px;margin:0;color:#777485;font-size:8px}.finance-services-board-tools form{display:flex;align-items:center;gap:6px}.finance-services-board-tools input{width:156px;height:32px}.finance-services-board-tools button{height:32px;border:0;border-radius:8px;background:#efedf8;color:var(--purple);padding:0 11px;font-size:8px;font-weight:600;cursor:pointer}.finance-services-board-tools button:disabled{cursor:not-allowed;opacity:.45}.finance-services-board{display:grid;grid-auto-columns:280px;grid-auto-flow:column;gap:12px;padding:0 22px 22px;overflow-x:auto;overscroll-behavior-inline:contain}.finance-services-board>section{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;min-width:0;min-height:180px;max-height:620px;overflow:hidden;border:1px solid #e3e1e8;border-radius:13px;background:#f7f6fa;transition:border-color .15s ease,background .15s ease}.finance-services-board>section.is-drop-target{border-color:#7568c1;background:#f1effc}.finance-services-board>section>header{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;border-bottom:1px solid #e4e2e9}.finance-services-board>section>header strong{font-size:10px;font-weight:600}.finance-services-board>section>header span{display:grid;min-width:21px;height:21px;place-items:center;border-radius:999px;background:#e8e5f2;color:#61588e;font-size:8px;font-weight:600}.finance-services-board>section>div{display:grid;grid-auto-rows:max-content;min-width:0;align-content:start;gap:8px;padding:9px;overflow-y:auto}.finance-services-board article{position:relative;display:grid;min-width:0;max-width:100%;gap:9px;overflow:hidden;padding:12px;border:1px solid #e3e1e8;border-radius:11px;background:#fff;box-shadow:0 5px 14px rgb(33 25 69/3%);cursor:grab;transition:opacity .12s ease,transform .12s ease,box-shadow .12s ease}.finance-services-board article:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgb(33 25 69/7%)}.finance-services-board article.is-dragging{opacity:.45}.finance-service-grip{position:absolute;top:9px;right:8px;display:grid;width:26px;height:26px;place-items:center;border:0;background:transparent;color:#aaa6b7;cursor:grab}.finance-service-card-heading{display:flex;min-width:0;align-items:center;gap:7px;padding-right:24px}.finance-service-card-heading strong{min-width:0;overflow:hidden;font-size:11px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.finance-service-card-heading span{flex:0 0 auto;padding:3px 6px;border-radius:999px;background:#eeecf7;color:#655b9a;font-size:7px;font-weight:600}.finance-service-card-value strong{display:block;margin-bottom:2px;color:#1e194c;font-size:17px;font-weight:600;letter-spacing:-.03em}.finance-services-board article label.finance-service-category{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;cursor:default}.finance-services-board article select{min-width:0;height:31px;font-size:8px}.finance-service-no-link,.finance-services-board article>a{display:flex;min-width:0;min-height:30px;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid #efedf3;color:#3b3374;font-size:8px;font-weight:600;text-decoration:none}.finance-services-board article>a>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-services-board article>a>i{display:grid;width:26px;height:26px;flex:0 0 26px;place-items:center;border-radius:8px;background:#f0eef8;font-style:normal;transition:background .12s ease,transform .12s ease}.finance-services-board article>a:hover>i{background:#e6e2f5;transform:translate(1px,-1px)}.finance-service-no-link{color:#aaa7b4;font-weight:400}.finance-services-table-wrap{overflow-x:auto}.finance-services-table-wrap table{width:100%;min-width:1080px;border-collapse:collapse}.finance-services-table-wrap th{background:#faf9fc;color:#888596;font-size:7px;font-weight:700;letter-spacing:.07em;text-align:right;text-transform:uppercase}.finance-services-table-wrap td,.finance-services-table-wrap th{padding:11px 13px;border-bottom:1px solid #eceaf0;white-space:nowrap}.finance-services-table-wrap td:first-child,.finance-services-table-wrap td:nth-child(2),.finance-services-table-wrap td:nth-child(3),.finance-services-table-wrap th:first-child,.finance-services-table-wrap th:nth-child(2),.finance-services-table-wrap th:nth-child(3){text-align:left}.finance-services-table-wrap td{color:#4b485b;font-size:8px;text-align:right}.finance-services-table-wrap td:first-child span,.finance-services-table-wrap td:first-child strong{display:block}.finance-service-table-name{display:flex;align-items:center;gap:9px}.finance-service-table-grip{display:grid;width:24px;height:28px;flex:0 0 24px;place-items:center;border:0;border-radius:7px;background:transparent;color:#a29ead;cursor:grab}.finance-service-table-grip:hover{background:#f1eff7;color:#514587}.finance-service-table-grip:active{cursor:grabbing}.finance-services-table-wrap tbody tr{transition:opacity .12s ease,background .12s ease}.finance-services-table-wrap tbody tr.is-dragging{opacity:.35}.finance-services-table-wrap tbody tr.is-drop-target td{background:#f3f0fb;box-shadow:inset 0 2px 0 rgb(75 58 143/42%)}.finance-services-table-wrap td:first-child strong{color:#201c42;font-size:9px;font-weight:600}.finance-services-table-wrap td:first-child span{margin-top:3px;color:#9996a3;font-size:7px}.finance-services-table-wrap select{width:135px;height:30px;font-size:8px}.finance-services-table-wrap a{display:inline-grid;width:28px;height:28px;place-items:center;border:1px solid #e0dee6;border-radius:8px;color:var(--purple)}.finance-services-empty{display:grid;min-height:250px;place-items:center;align-content:center;gap:7px;padding:28px;color:#aaa6b7;text-align:center}.finance-services-empty strong{color:#403c55;font-size:12px;font-weight:600}.finance-services-empty span{font-size:9px}@media (max-width:1050px){.finance-services-heading{align-items:flex-start}.finance-services-summary{grid-template-columns:repeat(2,1fr)}.finance-services-summary>:nth-child(2){border-right:0}.finance-services-summary>:nth-child(-n+2){border-bottom:1px solid #e7e5ec}.finance-services-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-services-filters>button{justify-self:start}}@media (max-width:720px){.finance-services-page{gap:14px}.finance-services-actions,.finance-services-board-tools,.finance-services-heading{align-items:stretch;flex-direction:column}.finance-services-heading{gap:16px}.finance-services-heading h1{font-size:34px}.finance-services-update{min-width:0;justify-items:start}.finance-services-actions{padding-bottom:13px}.finance-services-actions nav{overflow-x:auto}.finance-services-actions nav button{flex:0 0 auto}.finance-services-actions>div{display:grid;grid-template-columns:1fr 1fr}.finance-services-actions>div button{justify-content:center}.finance-services-summary{grid-template-columns:1fr 1fr}.finance-services-summary>button,.finance-services-year-select{min-height:94px;padding:15px}.finance-services-chart-card{padding:18px 14px 12px}.finance-services-chart-card>header,.finance-services-workspace>header{align-items:stretch;flex-direction:column}.finance-services-chart-card>header>small{display:none}.finance-services-chart{height:220px}.finance-services-workspace>header{padding:18px 16px 0}.finance-services-workspace>header nav{display:grid;grid-template-columns:1fr 1fr}.finance-services-filters{grid-template-columns:1fr 1fr;padding:14px 16px}.finance-services-search{grid-column:1/-1}.finance-services-board-tools{padding:12px 16px}.finance-services-board-tools form{display:grid;grid-template-columns:1fr auto}.finance-services-board-tools input{width:100%}.finance-services-board{grid-auto-columns:min(280px,84vw);padding:0 16px 18px;scroll-snap-type:x proximity}.finance-services-board>section{scroll-snap-align:start}}@media (max-width:460px){.finance-services-actions>div,.finance-services-filters,.finance-services-summary{grid-template-columns:1fr}.finance-services-summary>:nth-child(2),.finance-services-summary>button,.finance-services-year-select{border-right:0;border-bottom:1px solid #e7e5ec}.finance-services-summary>button:last-child{border-bottom:0}.finance-services-filters>label,.finance-services-search{grid-column:1}}.login-page{position:relative;display:grid;min-height:100svh;overflow:hidden;place-items:center;background:linear-gradient(140deg,rgb(23 16 74/97%),rgb(37 25 106/94%)),radial-gradient(circle at 18% 15%,#7b6ec7,transparent 38%);padding:40px 20px 68px}.login-page:before{position:absolute;inset:0;background-image:linear-gradient(rgb(255 255 255/2.5%) 1px,transparent 0),linear-gradient(90deg,rgb(255 255 255/2.5%) 1px,transparent 0);background-size:54px 54px;content:"";mask-image:linear-gradient(180deg,black,transparent 78%)}.login-ambient{position:absolute;border-radius:50%;filter:blur(1px);opacity:.32}.login-ambient-one{top:-210px;right:-120px;width:520px;height:520px;border:82px solid rgb(255 255 255/7%)}.login-ambient-two{bottom:-280px;left:-170px;width:580px;height:580px;background:rgb(95 218 185/10%)}.login-card{position:relative;z-index:1;width:min(430px,100%);border:1px solid rgb(255 255 255/42%);border-radius:20px;background:rgb(255 255 255/97%);padding:34px;box-shadow:0 30px 80px rgb(8 4 38/32%)}.login-brand{display:flex;align-items:flex-end;gap:10px;margin-bottom:50px}.login-brand img{width:102px;height:auto}.login-brand span{margin-bottom:1px;color:#88839f;font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.login-copy{margin-bottom:24px}.login-eyebrow{display:block;margin-bottom:10px;color:#776eb5;font-size:8px;font-weight:600;letter-spacing:.15em;text-transform:uppercase}.login-copy h1{margin:0;color:var(--purple-dark);font:600 28px/1.08 var(--font-sans);letter-spacing:-.035em}.login-copy p{margin:13px 0 0;color:#777487;font-size:10px;line-height:1.7}.google-sign-in{display:flex;width:100%;min-height:50px;align-items:center;justify-content:center;gap:12px;border:1px solid #dedce7;border-radius:10px;background:white;color:#353244;font-size:11px;font-weight:500;cursor:pointer;box-shadow:0 7px 18px rgb(34 25 75/6%);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.google-sign-in:hover{border-color:#c8c3dc;background:#fbfaff;box-shadow:0 10px 24px rgb(34 25 75/10%)}.google-sign-in svg{width:18px;height:18px}.login-alert{display:grid;gap:4px;margin-bottom:14px;border:1px solid #f2d6bf;border-radius:9px;background:#fff8f2;padding:12px 13px}.login-alert strong{color:#99531e;font-size:9px;font-weight:600}.login-alert span{color:#b06f3d;font-size:8px;line-height:1.5}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:22px;color:#9a97a6;font-size:7px;text-align:center}.login-security span{color:var(--green);font-size:8px}.login-footer{position:absolute;z-index:1;bottom:24px;margin:0;color:rgb(255 255 255/48%);font-size:7px;letter-spacing:.08em;text-transform:uppercase}.auth-connected{border:1px solid #cbe9df;border-radius:8px;background:#f0faf7;color:#19866c;padding:10px 12px;font-size:8px;font-weight:600;text-align:center}@media (max-width:520px){.login-card{border-radius:16px;padding:27px 23px}.login-brand{margin-bottom:38px}.login-copy h1{font-size:25px}}.person-avatar{display:grid;width:34px;height:34px;flex:0 0 34px;overflow:hidden;place-items:center;background:#e4e6f8;color:#2f3ba3;font:600 11px/1 var(--font-sans)}.person-avatar.is-internal{border-radius:50%}.person-avatar.is-external{border-radius:10px;background:#eeeaff;color:#4b359e}.person-avatar img{width:100%;height:100%;object-fit:cover}