.portal-root{--pt-ground: #15171c;--pt-panel: rgba(42, 46, 53, .72);--pt-panel-border: rgba(255, 255, 255, .1);--pt-accent: #00aaff;--pt-accent-soft: rgba(0, 170, 255, .1);--pt-accent-border: rgba(0, 170, 255, .22);--pt-text: #e8eaed;--pt-muted: #a9afb8;--pt-faint: #7d838c;--pt-paid: #35d18c;--pt-paid-soft: rgba(53, 209, 140, .12);--pt-due: #ffb02e;--pt-due-soft: rgba(255, 176, 46, .12);--pt-danger: #ff0055;--pt-danger-soft: rgba(255, 0, 85, .1);min-height:100vh;color:var(--pt-text);background:radial-gradient(1100px 500px at 85% -10%,rgba(0,170,255,.07),transparent 60%),radial-gradient(800px 600px at -10% 100%,rgba(0,170,255,.05),transparent 55%),var(--pt-ground);font-size:15px;line-height:1.55}.portal-shell{display:flex;min-height:100vh}.portal-sidebar{width:240px;flex:0 0 240px;padding:22px 14px;border-right:1px solid rgba(255,255,255,.07);display:flex;flex-direction:column;gap:22px}.portal-brand{display:flex;align-items:center;gap:11px;padding:0 8px;text-decoration:none}.portal-brand img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(0,170,255,.35))}.portal-brand-name{font-weight:900;letter-spacing:.2px;font-size:14.5px;line-height:1.25;color:var(--pt-text)}.portal-brand-sub{font-size:11.5px;color:var(--pt-faint)}.portal-nav{display:flex;flex-direction:column;gap:3px}.portal-nav-label{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pt-faint);padding:0 10px;margin-bottom:5px}.portal-nav a{display:flex;align-items:center;gap:10px;border:1px solid transparent;border-radius:11px;color:var(--pt-muted);font-weight:600;font-size:14px;padding:9px 10px;text-decoration:none}.portal-nav a:hover{color:var(--pt-text);background:#ffffff0a}.portal-nav a.active{color:var(--pt-accent);background:var(--pt-accent-soft);border-color:var(--pt-accent-border)}.portal-nav a svg{width:17px;height:17px;flex:0 0 17px}.portal-sidebar-foot{margin-top:auto;padding:0 8px;font-size:12px;color:var(--pt-faint)}.portal-sidebar-foot .portal-who{color:var(--pt-muted);font-weight:600;overflow-wrap:anywhere}.portal-sidebar-foot button{margin-top:6px;background:none;border:none;color:var(--pt-accent);font:inherit;font-weight:600;cursor:pointer;padding:0}.portal-main{flex:1;min-width:0;padding:26px 30px 70px;max-width:1060px;margin:0 auto;width:100%}.portal-page-head{margin-bottom:20px}.portal-eyebrow{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--pt-accent);margin-bottom:3px}.portal-page-head h1{font-size:24px;font-weight:900;margin:0;letter-spacing:.2px}.portal-page-head p{margin:5px 0 0;color:var(--pt-muted);font-size:14px}.portal-card{border-radius:16px;padding:1px;background:linear-gradient(135deg,rgba(0,170,255,.35),rgba(255,255,255,.07),transparent)}.portal-card.quiet{background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.04),transparent)}.portal-card-in{border-radius:15px;background:var(--pt-panel);border:1px solid var(--pt-panel-border);padding:18px;height:100%}.portal-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.portal-card-head h2{font-size:16px;font-weight:800;margin:0}.portal-card-head .portal-card-sub{margin:2px 0 0;font-size:13px;color:var(--pt-muted);width:100%}.portal-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.portal-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.portal-stack{display:grid;gap:16px}.portal-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.02em;color:var(--pt-accent);background:var(--pt-accent-soft);border:1px solid var(--pt-accent-border);white-space:nowrap}.portal-chip.paid{color:var(--pt-paid);background:var(--pt-paid-soft);border-color:#35d18c4d}.portal-chip.due{color:var(--pt-due);background:var(--pt-due-soft);border-color:#ffb02e4d}.portal-chip.plain{color:var(--pt-muted);background:#ffffff0d;border-color:var(--pt-panel-border)}.portal-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:11px;padding:9px 15px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border:1px solid transparent;text-decoration:none}.portal-btn.primary{background:var(--pt-accent);color:#071018;box-shadow:0 0 18px #00aaff40}.portal-btn.primary:hover{filter:brightness(1.08)}.portal-btn.primary:disabled{opacity:.6;cursor:default;filter:none}.portal-btn.ghost{background:#ffffff0d;color:var(--pt-text);border-color:var(--pt-panel-border)}.portal-btn.ghost:hover{background:#ffffff17}.portal-btn.danger{background:var(--pt-danger-soft);color:#ff9ab8;border-color:#ff00554d}.portal-btn.sm{padding:6px 11px;font-size:12.5px;border-radius:9px}.portal-btn:focus-visible,.portal-nav a:focus-visible{outline:2px solid var(--pt-accent);outline-offset:2px}.portal-tile{border-radius:14px;padding:14px 15px;background:var(--pt-panel);border:1px solid var(--pt-panel-border)}.portal-tile .t-label{font-size:10.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--pt-faint);margin-bottom:6px}.portal-tile .t-value{font-size:19px;font-weight:900;font-variant-numeric:tabular-nums}.portal-tile .t-value.ok{color:var(--pt-paid)}.portal-tile .t-value.warn{color:var(--pt-due)}.portal-tile .t-sub{font-size:12px;color:var(--pt-muted);margin-top:2px}.portal-tracker{display:flex;margin-top:14px}.portal-step{flex:1;position:relative;padding-top:20px}.portal-step:before{content:"";position:absolute;top:6px;left:0;right:0;height:3px;background:#ffffff1a}.portal-step:after{content:"";position:absolute;top:0;left:calc(50% - 7px);width:14px;height:14px;border-radius:50%;background:#23272f;border:3px solid rgba(255,255,255,.18);box-sizing:border-box}.portal-step.done:before{background:var(--pt-accent)}.portal-step.done:after{background:var(--pt-accent);border-color:var(--pt-accent);box-shadow:0 0 10px #00aaff73}.portal-step.current:after{border-color:var(--pt-accent);box-shadow:0 0 12px #00aaff8c}.portal-step.current:before{background:linear-gradient(90deg,var(--pt-accent),rgba(255,255,255,.1))}.portal-step:first-child:before{left:50%}.portal-step:last-child:before{right:50%}.portal-step .step-name{text-align:center;font-size:12px;font-weight:700;color:var(--pt-faint);margin-top:6px}.portal-step.done .step-name{color:var(--pt-muted)}.portal-step.current .step-name{color:var(--pt-accent)}.portal-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.07)}.portal-row:last-child{border-bottom:none;padding-bottom:2px}.portal-row .r-title{font-weight:700;font-size:14px}.portal-row .r-sub{font-size:12.5px;color:var(--pt-muted);margin-top:1px}.portal-row .r-side{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.portal-money{font-variant-numeric:tabular-nums;font-weight:800}.portal-activity-item{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.portal-activity-item:last-child{border-bottom:none}.portal-activity-dot{width:8px;height:8px;border-radius:50%;margin-top:7px;flex:0 0 8px;background:var(--pt-accent);box-shadow:0 0 8px #00aaff80}.portal-activity-item .a-text{font-size:13.5px}.portal-activity-item .a-date{font-size:11.5px;color:var(--pt-faint)}.portal-field label{display:block;font-size:12.5px;font-weight:700;color:var(--pt-muted);margin-bottom:5px}.portal-field input,.portal-field select,.portal-field textarea{width:100%;font:inherit;font-size:16px;color:var(--pt-text);background:#0000003d;border:1px solid rgba(255,255,255,.13);border-radius:11px;padding:10px 12px;box-sizing:border-box}.portal-field textarea{min-height:88px;resize:vertical}.portal-field input:focus,.portal-field select:focus,.portal-field textarea:focus{outline:none;border-color:var(--pt-accent-border);box-shadow:0 0 0 3px #00aaff1f}.portal-form-grid{display:grid;gap:13px}.portal-notice{margin-top:12px;padding:10px 12px;border-radius:12px;font-size:13.5px}.portal-notice.info{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#dcdcdc}.portal-notice.success{background:var(--pt-accent-soft);border:1px solid var(--pt-accent-border);color:#cfefff}.portal-notice.error{background:var(--pt-danger-soft);border:1px solid rgba(255,0,85,.22);color:#ffd1dc}.portal-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.07)}.portal-toggle-row:last-child{border-bottom:none}.portal-switch{width:40px;height:22px;border-radius:999px;position:relative;flex:0 0 40px;background:#ffffff24;border:none;cursor:pointer;padding:0}.portal-switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#cfd3d9;transition:transform .15s ease}.portal-switch.on{background:var(--pt-accent)}.portal-switch.on:after{transform:translate(18px);background:#071018}.portal-check-row{display:flex;align-items:center;gap:11px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06)}.portal-check-row:last-child{border-bottom:none}.portal-check-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--pt-accent);cursor:pointer}.portal-check-row .done{color:var(--pt-faint);text-decoration:line-through}.archie-fab{position:fixed;right:22px;bottom:22px;z-index:40;width:54px;height:54px;border-radius:50%;background:var(--pt-accent);border:none;cursor:pointer;color:#071018;display:grid;place-items:center;box-shadow:0 0 22px #00aaff73,0 10px 25px #00000080}.archie-fab:hover{filter:brightness(1.08)}.archie-fab svg{width:25px;height:25px}.archie-panel{position:fixed;right:22px;bottom:88px;z-index:40;width:360px;max-width:calc(100vw - 32px);height:min(540px,calc(100vh - 120px));display:flex;flex-direction:column;border-radius:18px;background:#1e2127f7;border:1px solid var(--pt-accent-border);box-shadow:0 0 25px #00aaff24,0 18px 45px #00000080;overflow:hidden}.archie-head{display:flex;align-items:center;gap:10px;padding:13px 15px;background:var(--pt-accent-soft);border-bottom:1px solid var(--pt-accent-border)}.archie-head img{width:32px;height:32px;object-fit:contain}.archie-head .n-title{font-weight:800;font-size:14px}.archie-head .n-sub{font-size:11.5px;color:var(--pt-muted)}.archie-head .n-close{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--pt-muted);font-size:18px;line-height:1;padding:4px 6px}.archie-head .n-close:hover{color:var(--pt-text)}.archie-body{flex:1;overflow-y:auto;padding:15px;display:flex;flex-direction:column;gap:10px}.archie-msg{max-width:85%;padding:9px 12px;border-radius:14px;font-size:13.5px;white-space:pre-wrap;overflow-wrap:anywhere}.archie-msg.bot{align-self:flex-start;background:#ffffff0f;border:1px solid var(--pt-panel-border);border-bottom-left-radius:5px}.archie-msg.user{align-self:flex-end;background:var(--pt-accent-soft);border:1px solid var(--pt-accent-border);border-bottom-right-radius:5px}.archie-msg .archie-action{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.09);font-size:12px;color:var(--pt-paid);font-weight:700}.archie-typing{align-self:flex-start;color:var(--pt-faint);font-size:13px;padding:4px 2px}.archie-chips{display:flex;gap:7px;flex-wrap:wrap;padding:0 15px 10px}.archie-chips button{font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;color:var(--pt-accent);background:none;border:1px solid var(--pt-accent-border);border-radius:999px;padding:5px 11px}.archie-chips button:hover{background:var(--pt-accent-soft)}.archie-input{display:flex;gap:8px;padding:11px 13px;border-top:1px solid rgba(255,255,255,.08)}.archie-input input{flex:1;font:inherit;font-size:16px;color:var(--pt-text);background:#00000042;border:1px solid rgba(255,255,255,.13);border-radius:999px;padding:9px 14px}.archie-input input:focus{outline:none;border-color:var(--pt-accent-border)}.archie-input button{border:none;border-radius:50%;width:38px;height:38px;flex:0 0 38px;background:var(--pt-accent);color:#071018;cursor:pointer;display:grid;place-items:center}.archie-input button:disabled{opacity:.5;cursor:default}.archie-input button svg{width:17px;height:17px}.archie-foot{padding:0 15px 10px;font-size:10.5px;color:var(--pt-faint);text-align:center}.portal-mobile-top,.portal-bottom-nav{display:none}@media(max-width:860px){.portal-shell{flex-direction:column}.portal-sidebar{display:none}.portal-main{padding:18px 16px 100px}.portal-grid-2{grid-template-columns:1fr}.portal-tiles{grid-template-columns:1fr 1fr}.portal-mobile-top{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.07)}.portal-mobile-top img{width:34px;height:34px;object-fit:contain}.portal-mobile-top .portal-brand-name{font-size:14px}.portal-mobile-top .portal-mobile-logout{margin-left:auto;background:none;border:none;color:var(--pt-accent);font:inherit;font-size:13px;font-weight:700;cursor:pointer}.portal-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:#1c1f24eb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.09);padding:6px 4px calc(6px + env(safe-area-inset-bottom));transition:transform .2s ease}.portal-bottom-nav.kb-hidden{transform:translateY(110%)}.portal-bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--pt-faint);font-size:10px;font-weight:700;padding:5px 0;text-decoration:none}.portal-bottom-nav a.active{color:var(--pt-accent)}.portal-bottom-nav a svg{width:19px;height:19px}.archie-fab{bottom:calc(74px + env(safe-area-inset-bottom));right:14px}.archie-panel{right:14px;bottom:calc(138px + env(safe-area-inset-bottom));height:min(480px,calc(100vh - 160px))}.archie-panel.kb-tight{bottom:8px;height:min(420px,calc(100vh - 90px))}}@media(prefers-reduced-motion:reduce){.portal-root *{transition:none!important;animation:none!important}}
