.portal{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;display:grid}.portal__side{background:var(--paper-2);border-right:1px solid var(--line);padding:var(--space-4);gap:var(--space-5);flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow-y:auto}.portal__brand{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2);display:flex}.portal__brand a{color:inherit;text-decoration:none}.portal-tag{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border:1px solid var(--line-2);white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:.6875rem}.portal-nav{flex-direction:column;gap:2px;display:flex}.portal-nav a{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--ink-2);font-size:.9375rem;font-weight:500;text-decoration:none;display:flex}.portal-nav a:hover{background:var(--paper-3);color:var(--ink)}.portal-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent-soft-ink)}.portal-nav svg{opacity:.85;flex:none;width:18px;height:18px}.portal-nav__group{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);padding:var(--space-3) var(--space-3) var(--space-1);font-size:.6875rem;font-weight:600}.portal-nav .count{font-family:var(--font-mono);background:var(--paper-3);color:var(--ink-3);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:.75rem}.portal__side-foot{border-top:1px solid var(--line);padding-top:var(--space-4);gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.portal__main{flex-direction:column;min-width:0;display:flex}.topbar{height:var(--header-h);justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-6);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;display:flex;position:sticky;top:0}.topbar__title{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:.9375rem;font-weight:600;overflow:hidden}.topbar__actions{align-items:center;gap:var(--space-2);display:flex}.user-chip{align-items:center;gap:var(--space-2);border:1px solid var(--line);background:var(--paper-2);border-radius:999px;max-width:260px;padding:4px 12px 4px 4px;font-size:.875rem;display:flex}.user-chip__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.avatar{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);font-size:.6875rem;font-weight:600;font-family:var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.portal__content{padding:var(--space-6);flex:1}.kpis{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.portal-section+.portal-section{margin-top:var(--space-6)}.section-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.section-head h2{margin:0;font-size:1.125rem}.checklist{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.checklist li{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--paper-2);font-size:.9375rem;display:flex}.checklist__mark{background:var(--paper-3);width:22px;height:22px;color:var(--ink-3);border-radius:50%;flex:none;place-items:center;font-size:.75rem;font-weight:700;display:grid}.checklist li.is-done .checklist__mark{background:var(--ok-soft);color:var(--ok-ink)}.checklist li .muted{margin-left:auto;font-size:.8125rem}@media (width<=960px){.portal{grid-template-columns:1fr}.portal__side{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:var(--space-3) var(--space-4);align-items:center;gap:var(--space-3);flex-direction:row;position:static;overflow-x:auto}.portal-nav{flex-direction:row;gap:2px}.portal-nav a{padding:var(--space-2);font-size:.875rem}.portal-nav svg,.portal-nav__group,.portal-nav .count{display:none}.portal__side-foot{border-top:0;flex-direction:row;margin-top:0;margin-left:auto;padding-top:0}.portal__content{padding:var(--space-4)}.topbar{padding:0 var(--space-4)}}.auth{grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:100dvh;display:grid}.auth__aside{--aside-bg:var(--ink);--aside-fg:var(--paper);background:var(--aside-bg);height:100dvh;color:var(--aside-fg);padding:var(--space-7);justify-content:space-between;gap:var(--space-7);flex-direction:column;display:flex;position:relative;top:0;overflow:hidden}.auth__aside:before{content:"";background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 20% 10%,#000,#0000 75%);mask-image:radial-gradient(at 20% 10%,#000,#0000 75%)}.auth__aside>*{position:relative}.auth__aside h2{color:var(--aside-fg);max-width:18ch;font-size:clamp(1.75rem,1.2rem + 2vw,2.75rem);font-weight:600}.auth__aside p{color:color-mix(in srgb, var(--aside-fg) 72%, transparent);max-width:44ch}.auth__aside ul{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.auth__aside li{gap:var(--space-3);color:color-mix(in srgb, var(--aside-fg) 88%, transparent);align-items:flex-start;display:flex}.auth__aside li svg{width:20px;height:20px;color:var(--accent);flex:none;margin-top:2px}[data-theme=dark] .auth__aside{--aside-bg:var(--paper-2);--aside-fg:var(--ink);border-right:1px solid var(--line)}.auth__brand{color:inherit;text-decoration:none;display:inline-flex}.auth__aside-foot{color:color-mix(in srgb, var(--aside-fg) 65%, transparent)}.auth__aside-foot a{color:inherit}.auth__main{padding:var(--space-6);flex-direction:column;display:flex}.auth__top{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.auth__card{width:min(100%,460px);padding:var(--space-6) 0;margin:auto}.auth__card h1{margin-bottom:var(--space-2);font-size:1.875rem}.auth__card>p{color:var(--ink-3);margin-bottom:var(--space-5)}.auth__links{margin-top:var(--space-5);color:var(--ink-3);gap:var(--space-2) var(--space-4);flex-wrap:wrap;font-size:.9375rem;display:flex}@media (width<=860px){.auth{grid-template-columns:1fr}.auth__aside{display:none}}
