.portal-app{--portal-navy:#051c2c;--portal-navy-deep:#031018;--portal-navy-soft:#0a2540;--portal-rail:#051c2c;--portal-rail-deep:#031018;--portal-fill:#051c2c;--portal-accent:#2251ff;--portal-accent-soft:rgba(34,81,255,0.08);--portal-success:#0f6e4f;--portal-success-strong:#0d5f44;--portal-success-soft:color-mix(in srgb,var(--portal-success) 11%,var(--portal-blend));--portal-canvas:#e8ecf1;--portal-surface:#ffffff;--portal-surface-muted:#f6f8fa;--portal-ink:#051c2c;--portal-ink-muted:#5c6670;--portal-ink-faint:#8b949e;--portal-border:rgba(5,28,44,0.09);--portal-border-strong:rgba(5,28,44,0.14);--portal-shadow-sm:0 1px 2px rgba(5,28,44,0.04);--portal-shadow-md:0 8px 32px rgba(5,28,44,0.07);--portal-shadow-lg:0 24px 64px rgba(5,28,44,0.12);--portal-blend:#ffffff;--portal-shell-glow:rgba(34,81,255,0.04);--portal-radius:2px;--portal-sidebar-width:15.5rem;--portal-sidebar-collapsed-width:4.5rem;--portal-touch-target:2.75rem;color-scheme:light;background:var(--portal-canvas);color:var(--portal-ink);font-family:var(--font-inter),ui-sans-serif,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.portal-app[data-theme=dark],html[data-portal-theme=dark] .portal-app{--portal-navy:#c5d2de;--portal-navy-deep:#040a10;--portal-navy-soft:#1a2f42;--portal-rail:#051c2c;--portal-rail-deep:#031018;--portal-fill:#2251ff;--portal-accent:#4d7cff;--portal-accent-soft:rgba(77,124,255,0.14);--portal-success:#3d9b78;--portal-success-strong:#2f7d60;--portal-success-soft:color-mix(in srgb,var(--portal-success) 16%,var(--portal-blend));--portal-canvas:#071018;--portal-surface:#0c1a2a;--portal-surface-muted:#0f2030;--portal-ink:#e8edf2;--portal-ink-muted:#9aa8b5;--portal-ink-faint:#6b7a88;--portal-border:rgba(232,237,242,0.08);--portal-border-strong:rgba(232,237,242,0.14);--portal-shadow-sm:0 1px 2px rgba(0,0,0,0.28);--portal-shadow-md:0 10px 36px rgba(0,0,0,0.38);--portal-shadow-lg:0 28px 72px rgba(0,0,0,0.48);--portal-blend:#0c1a2a;--portal-shell-glow:rgba(77,124,255,0.09);color-scheme:dark}.portal-app *,.portal-app :after,.portal-app :before{border-color:var(--portal-border)}.portal-skeleton{background:linear-gradient(90deg,var(--portal-surface-muted) 0,color-mix(in srgb,var(--portal-surface-muted) 65%,var(--portal-blend)) 50%,var(--portal-surface-muted) 100%);background-size:200% 100%;animation:portal-skeleton-shimmer 1.2s ease-in-out infinite}.portal-app[data-theme=dark] .portal-skeleton,html[data-portal-theme=dark] .portal-skeleton{background:linear-gradient(90deg,var(--portal-surface-muted) 0,color-mix(in srgb,var(--portal-surface-muted) 55%,#1a3348) 50%,var(--portal-surface-muted) 100%);background-size:200% 100%}@keyframes portal-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.portal-skeleton{animation:none}}.portal-shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:100dvh;background:radial-gradient(circle at 100% 0,var(--portal-shell-glow),transparent 42%),var(--portal-canvas)}@media (min-width:1024px){.portal-shell{grid-template-columns:var(--portal-sidebar-width) minmax(0,1fr)}.portal-shell.is-sidebar-collapsed{grid-template-columns:var(--portal-sidebar-collapsed-width) minmax(0,1fr)}}.portal-mobile-backdrop{display:block;position:fixed;inset:0;z-index:55;border:0;background:rgba(5,28,44,.55);cursor:pointer}@media (min-width:1024px){.portal-mobile-backdrop{display:none}}.portal-sidebar{display:flex;flex-direction:column;background:linear-gradient(180deg,var(--portal-rail) 0,var(--portal-rail-deep) 100%);color:rgba(255,255,255,.92);border-right:1px solid rgba(255,255,255,.06);box-shadow:inset -1px 0 0 rgba(255,255,255,.04)}@media (max-width:1023px){.portal-sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(18rem,88vw);max-width:100%;transform:translateX(-105%);transition:transform .24s ease;will-change:transform}.portal-sidebar.is-mobile-open{transform:translateX(0)}}@media (min-width:1024px){.portal-sidebar{position:sticky;top:0;height:100dvh;width:var(--portal-sidebar-width);transform:none;transition:width .2s ease}.portal-shell.is-sidebar-collapsed .portal-sidebar{width:var(--portal-sidebar-collapsed-width)}}.portal-sidebar-brand{padding:1.75rem 1.35rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.portal-sidebar-brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.portal-sidebar-brand-link{display:flex;min-width:0;flex:1;align-items:flex-start;gap:.75rem}.portal-sidebar-brand-mark{display:none;flex-shrink:0;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid rgba(255,255,255,.14);border-radius:var(--portal-radius);font-size:.625rem;font-weight:700;letter-spacing:.08em;color:#fff}.portal-sidebar-brand-copy{min-width:0}.portal-sidebar-mobile-close{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--portal-touch-target);height:var(--portal-touch-target);border:1px solid rgba(255,255,255,.16);border-radius:var(--portal-radius);color:rgba(255,255,255,.85)}@media (min-width:1024px){.portal-sidebar-mobile-close{display:none}}.portal-sidebar-brand-eyebrow{font-size:.625rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.45)}.portal-sidebar-brand-subtitle{margin-top:.35rem;font-size:.625rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.42)}.portal-sidebar-brand-title{font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:1.05rem;line-height:1.35;letter-spacing:-.01em;color:#fff}.portal-sidebar-brand-title-primary{margin-top:0}.portal-sidebar-account,.portal-sidebar-greeting{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}.portal-time-greeting-wrap--header{margin:0}.portal-time-greeting--header{display:inline-flex;align-items:center;gap:.4rem;padding:0;border:none;min-height:0;text-transform:none;letter-spacing:normal}.portal-time-greeting-wrap--header .portal-time-greeting-icon{color:color-mix(in srgb,var(--portal-navy) 70%,var(--portal-ink-faint))}.portal-time-greeting-wrap--header .portal-time-greeting-icon[data-daylight=false]{color:color-mix(in srgb,var(--portal-navy) 55%,var(--portal-accent))}.portal-time-greeting-icon--pulse{animation:portal-greeting-icon-pulse 3.6s ease-in-out infinite}@keyframes portal-greeting-icon-pulse{0%,to{opacity:.58;transform:scale(1);filter:drop-shadow(0 0 0 transparent)}50%{opacity:1;transform:scale(1.08);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--portal-navy) 24%,transparent))}}.portal-time-greeting-wrap--header .portal-time-greeting-icon--pulse[data-daylight=false]{animation-name:portal-greeting-icon-pulse-moon}@keyframes portal-greeting-icon-pulse-moon{0%,to{opacity:.65;transform:scale(1);filter:drop-shadow(0 0 0 transparent)}50%{opacity:1;transform:scale(1.06);filter:drop-shadow(0 0 5px color-mix(in srgb,var(--portal-accent) 35%,transparent))}}.portal-time-greeting--header .portal-time-greeting-text{font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:.875rem;font-weight:400;line-height:1.2;letter-spacing:-.01em;color:var(--portal-ink-muted);white-space:nowrap}@media (prefers-reduced-motion:reduce){.portal-time-greeting-icon--pulse{animation:none;opacity:.85}}.portal-sidebar-account-name{font-size:.8125rem;font-weight:500;color:rgba(255,255,255,.92)}.portal-sidebar-account-meta{margin-top:.2rem;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.42)}.portal-sidebar-nav{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:1rem .75rem;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .2s ease}.portal-sidebar-nav:focus-within,.portal-sidebar-nav:hover{scrollbar-color:rgba(255,255,255,.22) transparent}.portal-sidebar-nav::-webkit-scrollbar{width:3px}.portal-sidebar-nav::-webkit-scrollbar-track{background:transparent}.portal-sidebar-nav::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}.portal-sidebar-nav:focus-within::-webkit-scrollbar-thumb,.portal-sidebar-nav:hover::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22)}.portal-sidebar-nav::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.36)}.portal-sidebar-nav-label{padding:0 .65rem .55rem;font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.38)}.portal-sidebar-nav-group+.portal-sidebar-nav-group{margin-top:.85rem}.portal-sidebar-nav-group-label{padding:.15rem .65rem .45rem;font-size:.5625rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.28)}.portal-sidebar-link{position:relative;display:flex;align-items:center;gap:.65rem;margin-bottom:.2rem;padding:.75rem;min-height:var(--portal-touch-target);border-radius:var(--portal-radius);border-left:2px solid transparent;font-size:.8125rem;font-weight:500;color:rgba(255,255,255,.68);overflow:hidden;--portal-nav-sweep:rgba(255,255,255,0.09);background-color:transparent;background-image:linear-gradient(90deg,transparent 0,var(--portal-nav-sweep) 42%,rgba(255,255,255,.05) 50%,var(--portal-nav-sweep) 58%,transparent 100%);background-size:0 100%;background-repeat:no-repeat;background-position:0;transition:background-size .55s cubic-bezier(.22,1,.36,1),background-color .28s ease,color .28s ease,border-left-color .35s ease,box-shadow .28s ease}.portal-sidebar-link svg{flex-shrink:0;opacity:.8;transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .28s ease}.portal-sidebar-link-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:transform .45s cubic-bezier(.22,1,.36,1)}.portal-nav-pulse{margin-left:auto;width:.5rem;height:.5rem;flex-shrink:0;border-radius:999px;background:var(--portal-accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--portal-accent) 45%,transparent);animation:portal-nav-pulse 1.6s ease-out infinite}.portal-sidebar.is-collapsed .portal-nav-pulse{position:absolute;top:.45rem;right:.45rem;margin-left:0}@keyframes portal-nav-pulse{0%{transform:scale(.9);box-shadow:0 0 0 0 color-mix(in srgb,var(--portal-accent) 45%,transparent)}70%{transform:scale(1);box-shadow:0 0 0 .45rem color-mix(in srgb,var(--portal-accent) 0%,transparent)}to{transform:scale(.9);box-shadow:0 0 0 0 color-mix(in srgb,var(--portal-accent) 0%,transparent)}}@media (min-width:1024px){.portal-sidebar.is-collapsed .portal-sidebar-account,.portal-sidebar.is-collapsed .portal-sidebar-brand-copy,.portal-sidebar.is-collapsed .portal-sidebar-collapse-label,.portal-sidebar.is-collapsed .portal-sidebar-link-label,.portal-sidebar.is-collapsed .portal-sidebar-nav-group-label,.portal-sidebar.is-collapsed .portal-sidebar-nav-label{display:none}.portal-sidebar.is-collapsed .portal-sidebar-brand-link{justify-content:center}.portal-sidebar.is-collapsed .portal-sidebar-brand-mark{display:inline-flex}.portal-sidebar.is-collapsed .portal-sidebar-link{position:relative;justify-content:center;padding-inline:.5rem}.portal-sidebar.is-collapsed .portal-btn-ghost,.portal-sidebar.is-collapsed .portal-sidebar-collapse-btn{justify-content:center;padding-inline:.5rem}}.portal-sidebar-link:hover{background-size:100% 100%;background-color:rgba(255,255,255,.05);color:rgba(255,255,255,.94);border-left-color:rgba(255,255,255,.42)}.portal-sidebar-link:hover .portal-sidebar-link-label,.portal-sidebar-link:hover svg{opacity:1;transform:translateX(3px)}button.portal-sidebar-send-btn.portal-sidebar-link{width:100%;cursor:pointer;text-align:left;appearance:none;border:none;border-left:2px solid transparent;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:inherit;letter-spacing:inherit;color:rgba(255,255,255,.68);background-color:transparent}button.portal-sidebar-send-btn.portal-sidebar-link:hover{color:rgba(255,255,255,.94);border-left-color:rgba(255,255,255,.42)}.portal-sidebar-nav-sub{padding-left:.85rem}@media (min-width:1024px){.portal-sidebar.is-collapsed .portal-sidebar-nav-sub{padding-left:0}}.portal-sidebar-link.is-active{background-size:100% 100%;background-color:rgba(255,255,255,.1);color:#fff;border-left-color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.portal-sidebar-link.is-active svg{opacity:1;transform:translateX(2px)}.portal-sidebar-link.is-active .portal-sidebar-link-label{transform:translateX(2px)}.portal-sidebar-link:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px}@media (prefers-reduced-motion:reduce){.portal-sidebar-link{background-image:none;transition:background-color .15s ease,color .15s ease,border-left-color .15s ease}.portal-sidebar-link svg,.portal-sidebar-link-label{transition:none;transform:none}.portal-sidebar-link.is-active,.portal-sidebar-link:hover{background-color:rgba(255,255,255,.08)}}@media (min-width:1024px){.portal-sidebar.is-collapsed .portal-sidebar-link.is-active svg,.portal-sidebar.is-collapsed .portal-sidebar-link:hover svg{transform:none}}.portal-sidebar-footer{display:flex;flex-direction:column;gap:.5rem;padding:1rem .85rem 1.35rem;border-top:1px solid rgba(255,255,255,.08)}.portal-sidebar-version{margin:.1rem 0 0;padding:0 .75rem;font-size:.625rem;font-weight:500;letter-spacing:.06em;line-height:1.2;color:rgba(255,255,255,.32);user-select:text}.portal-sidebar.is-collapsed .portal-sidebar-version{padding:0;text-align:center;letter-spacing:.04em}.portal-sidebar-collapse-btn{display:none;align-items:center;gap:.65rem;width:100%;min-height:var(--portal-touch-target);padding:.65rem .75rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--portal-radius);font-size:.75rem;color:rgba(255,255,255,.72);transition:border-color .18s ease,color .18s ease,background-color .18s ease}.portal-sidebar-collapse-btn:hover{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.04);color:#fff}@media (min-width:1024px){.portal-sidebar-collapse-btn{display:inline-flex}}.portal-theme-toggle{display:inline-flex;align-items:center;gap:.65rem;width:100%;min-height:var(--portal-touch-target);padding:.65rem .75rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--portal-radius);font-size:.75rem;color:rgba(255,255,255,.72);transition:border-color .18s ease,color .18s ease,background-color .18s ease}.portal-theme-toggle:hover{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.04);color:#fff}.portal-theme-toggle:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:2px}.portal-theme-toggle-label{white-space:nowrap}@media (min-width:1024px){.portal-sidebar.is-collapsed .portal-theme-toggle{justify-content:center;padding-inline:.5rem}.portal-sidebar.is-collapsed .portal-theme-toggle-label{display:none}}.portal-theme-toggle-mobile{display:inline-flex;align-items:center;justify-content:center;width:var(--portal-touch-target);height:var(--portal-touch-target);border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-surface);color:var(--portal-ink);flex-shrink:0}.portal-theme-toggle-mobile:hover{background:var(--portal-surface-muted)}.portal-theme-toggle-mobile:focus-visible{outline:2px solid var(--portal-accent);outline-offset:2px}.portal-main{display:flex;min-width:0;min-height:100dvh;flex-direction:column}.portal-topbar{display:none}@media (min-width:1024px){.portal-topbar{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;position:sticky;top:0;z-index:30;padding:.85rem 1.5rem .35rem;background:color-mix(in srgb,var(--portal-canvas,#f4f6f8) 88%,transparent);backdrop-filter:blur(10px)}}.portal-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:max(.75rem,env(safe-area-inset-top)) max(.85rem,env(safe-area-inset-right)) .75rem max(.85rem,env(safe-area-inset-left));background:var(--portal-fill);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}.portal-mobile-menu-btn{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:var(--portal-touch-target);height:var(--portal-touch-target);border:1px solid rgba(255,255,255,.16);border-radius:var(--portal-radius);color:#fff}.portal-mobile-bar-heading{font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:.95rem;line-height:1.3;color:#fff}.portal-mobile-bar-subtitle{margin-top:.15rem;font-size:.625rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.5)}@media (min-width:1024px){.portal-mobile-bar{display:none}}.portal-mobile-nav{display:none}.portal-content{flex:1;padding:1rem max(.85rem,env(safe-area-inset-right)) max(1.75rem,env(safe-area-inset-bottom)) max(.85rem,env(safe-area-inset-left))}@media (min-width:768px){.portal-content{padding:1.5rem 1.5rem 2.5rem}}@media (min-width:1280px){.portal-content{padding:2.5rem 3rem 3.5rem}}.portal-content-inner{margin:0 auto;max-width:72rem}.portal-content-inner:has(.quasar-shell){max-width:none}.portal-panel{background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm)}.portal-meeting-card{position:relative;overflow:hidden;border-left:2px solid transparent;--portal-meeting-sweep:color-mix(in srgb,var(--portal-navy) 10%,transparent);background-color:var(--portal-surface);background-image:linear-gradient(90deg,transparent 0,var(--portal-meeting-sweep) 42%,color-mix(in srgb,var(--portal-navy) 5%,transparent) 50%,var(--portal-meeting-sweep) 58%,transparent 100%);background-size:0 100%;background-repeat:no-repeat;background-position:0;transition:background-size .55s cubic-bezier(.22,1,.36,1),background-color .28s ease,border-left-color .35s ease,border-color .28s ease,box-shadow .28s ease}.portal-meeting-card-inner,.portal-meeting-card-title{transition:transform .45s cubic-bezier(.22,1,.36,1)}@media (hover:hover) and (pointer:fine){.portal-meeting-card:hover{background-size:100% 100%;background-color:color-mix(in srgb,var(--portal-navy) 4%,var(--portal-surface));border-left-color:color-mix(in srgb,var(--portal-navy) 55%,transparent);border-color:color-mix(in srgb,var(--portal-navy) 18%,var(--portal-border));box-shadow:var(--portal-shadow-md)}.portal-meeting-card:hover .portal-meeting-card-inner,.portal-meeting-card:hover .portal-meeting-card-title{transform:translateX(3px)}}@media (prefers-reduced-motion:reduce){.portal-meeting-card,.portal-meeting-card-inner,.portal-meeting-card-title{transition:none}.portal-meeting-card:hover .portal-meeting-card-inner,.portal-meeting-card:hover .portal-meeting-card-title{transform:none}}.portal-panel-muted{background:var(--portal-surface-muted);border:1px solid var(--portal-border);border-radius:var(--portal-radius)}.portal-eyebrow{font-size:.6875rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--portal-ink-faint)}.portal-title{font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;letter-spacing:-.02em;color:var(--portal-ink)}.portal-section-head{margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--portal-border)}.portal-dashboard-section{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.75rem;margin-inline:-.35rem;padding:.35rem;border-radius:calc(var(--portal-radius) + 2px);transition:background-color .28s ease,box-shadow .28s ease}.portal-dashboard-section:has(.portal-dashboard-section-cta-mobile:focus-visible),.portal-dashboard-section:has(.portal-dashboard-section-cta-mobile:hover),.portal-dashboard-section:has(.portal-dashboard-section-cta:focus-visible),.portal-dashboard-section:has(.portal-dashboard-section-cta:hover){background-color:color-mix(in srgb,var(--portal-navy) 2%,transparent)}@media (hover:hover) and (pointer:fine){.portal-dashboard-section:hover{background-color:color-mix(in srgb,var(--portal-navy) 2.5%,transparent);box-shadow:inset 3px 0 0 var(--portal-navy)}}.portal-dashboard-section-main{min-width:0}.portal-dashboard-section-body{transition:opacity .28s ease}.portal-dashboard-section-sortable{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.35rem}.portal-dashboard-section-sortable--dragging{z-index:2;opacity:.92}.portal-dashboard-section-sortable--dragging .portal-dashboard-drag-handle{cursor:grabbing;opacity:1}.portal-dashboard-section-sortable .portal-dashboard-section{margin-inline:0;padding-inline:0}.portal-dashboard-drag-handle{display:inline-flex;align-items:center;justify-content:center;margin-top:.45rem;padding:.2rem;border:none;background:transparent;color:color-mix(in srgb,var(--portal-ink-muted) 85%,transparent);border-radius:.25rem;cursor:grab;touch-action:none;opacity:.28;transition:opacity .2s ease,color .2s ease,background-color .2s ease,transform .45s cubic-bezier(.22,1,.36,1)}.portal-dashboard-drag-handle:focus-visible,.portal-dashboard-drag-handle:hover,.portal-dashboard-section-sortable--dragging .portal-dashboard-drag-handle,.portal-dashboard-section-sortable:hover .portal-dashboard-drag-handle{opacity:1}@media (hover:none){.portal-dashboard-drag-handle{opacity:.55}}.portal-dashboard-drag-handle:hover{color:var(--portal-navy);background:color-mix(in srgb,var(--portal-navy) 8%,transparent)}.portal-dashboard-drag-handle:active{cursor:grabbing}.portal-dashboard-reorder-error{margin:0 0 1rem;font-size:.8125rem;color:#b91c1c}.portal-dashboard-section-cta{display:none;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;align-self:center;min-width:3.25rem;padding:.85rem .35rem;color:var(--portal-navy);text-decoration:none;opacity:0;transform:translateX(.65rem);transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1),color .2s ease}@media (hover:hover) and (pointer:fine){.portal-dashboard-section-cta{display:flex}.portal-dashboard-section:focus-within .portal-dashboard-section-cta,.portal-dashboard-section:hover .portal-dashboard-section-cta{opacity:1;transform:translateX(0)}}.portal-dashboard-section-cta-text{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.625rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--portal-ink-muted);transition:color .2s ease}.portal-dashboard-section-cta-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:1px solid var(--portal-border-strong);border-radius:999px;background:var(--portal-surface);box-shadow:var(--portal-shadow-sm);transition:border-color .22s ease,background .22s ease,transform .22s cubic-bezier(.22,1,.36,1)}.portal-dashboard-section-cta:focus-visible .portal-dashboard-section-cta-text,.portal-dashboard-section-cta:hover .portal-dashboard-section-cta-text{color:var(--portal-navy)}.portal-dashboard-section-cta:focus-visible .portal-dashboard-section-cta-icon,.portal-dashboard-section-cta:hover .portal-dashboard-section-cta-icon{border-color:var(--portal-fill);background:var(--portal-surface-muted);transform:translateX(2px)}.portal-dashboard-section-cta-mobile{display:none;align-items:center;justify-content:flex-end;gap:.4rem;margin-top:1.1rem;padding-top:.85rem;border-top:1px solid var(--portal-border);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-ink-muted);transition:color .2s ease}.portal-dashboard-section-cta-mobile:focus-visible,.portal-dashboard-section-cta-mobile:hover{color:var(--portal-navy)}@media (hover:none),(pointer:coarse){.portal-dashboard-section-cta-mobile{display:inline-flex}}@media (prefers-reduced-motion:reduce){.portal-dashboard-section,.portal-dashboard-section-body,.portal-dashboard-section-cta,.portal-dashboard-section-cta-icon{transition:none}.portal-dashboard-section-cta{display:flex;opacity:1;transform:none}}.portal-stat-value{font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:2rem;line-height:1.1;letter-spacing:-.02em;color:var(--portal-navy)}.portal-table-wrap{overflow-x:auto;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-table-wrap table{width:100%;min-width:720px;border-collapse:collapse;text-align:left;font-size:.875rem}.portal-table-wrap thead{background:var(--portal-surface-muted);border-bottom:1px solid var(--portal-border)}.portal-table-wrap th{padding:.85rem 1rem;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-table-wrap td{padding:1rem;vertical-align:top;border-bottom:1px solid var(--portal-border)}.portal-table-wrap tbody tr:last-child td{border-bottom:none}.portal-empty{display:flex;flex-direction:column;padding:3.5rem 1.5rem;text-align:center;border:1px dashed var(--portal-border-strong);background:var(--portal-surface-muted)}.portal-btn-primary,.portal-empty{align-items:center;justify-content:center;border-radius:var(--portal-radius)}.portal-btn-primary{display:inline-flex;gap:.45rem;width:100%;min-height:var(--portal-touch-target);padding:.85rem 1rem;background:var(--portal-fill);color:#fff;font-size:.8125rem;font-weight:500;transition:opacity .18s ease}.portal-btn-primary:hover{opacity:.92}.portal-btn-primary:disabled{opacity:.55}.portal-btn-secondary{display:inline-flex;align-items:center;gap:.45rem;min-height:var(--portal-touch-target);padding:.55rem .9rem;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-surface);color:var(--portal-ink);font-size:.8125rem;font-weight:500;transition:border-color .18s ease,color .18s ease}.portal-btn-secondary:hover{border-color:var(--portal-fill);color:var(--portal-navy)}.portal-btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:var(--portal-touch-target);padding:.55rem .9rem;border:1px solid #b42318;border-radius:var(--portal-radius);background:#b42318;color:#fff;font-size:.8125rem;font-weight:500;transition:background .18s ease,border-color .18s ease,opacity .18s ease}.portal-btn-danger:hover:not(:disabled){background:#911f15;border-color:#911f15;color:#fff}.portal-btn-danger:disabled{opacity:.45;cursor:not-allowed}.portal-report-card .portal-btn-primary{width:auto}.portal-btn-ghost{padding:.45rem .75rem;border:1px solid rgba(255,255,255,.16);border-radius:var(--portal-radius);font-size:.75rem;color:rgba(255,255,255,.78);transition:border-color .18s ease,color .18s ease}.portal-btn-ghost:hover{border-color:rgba(255,255,255,.32);color:#fff}.portal-input{width:100%;padding:.85rem 1rem;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-surface);color:var(--portal-ink);font-size:.875rem;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.portal-input:focus{border-color:rgba(34,81,255,.45);box-shadow:0 0 0 3px rgba(34,81,255,.12)}.portal-secret-input-wrap{position:relative;display:flex;align-items:center}.portal-secret-input{padding-right:2.75rem}.portal-secret-input-toggle{position:absolute;right:.35rem;display:inline-flex;align-items:center;justify-content:center;padding:.45rem;border:0;border-radius:.35rem;background:transparent;color:var(--portal-ink-muted);cursor:pointer;transition:color .18s ease}.portal-secret-input-toggle:hover:not(:disabled){color:var(--portal-navy)}.portal-secret-input-toggle:focus-visible{outline:2px solid rgba(34,81,255,.45);outline-offset:2px}.portal-secret-input-toggle:disabled{cursor:not-allowed;opacity:.5}.portal-modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(5,28,44,.55)}@media (max-width:639px){.portal-modal-backdrop{align-items:flex-end;padding:0}}.portal-modal{box-sizing:border-box;width:100%;max-width:42rem;flex-shrink:0;max-height:calc(100dvh - 2rem);overflow-x:hidden;overflow-y:auto;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);color:var(--portal-ink);padding:1.25rem;box-shadow:0 24px 64px rgba(5,28,44,.18);-webkit-overflow-scrolling:touch}@media (max-width:639px){.portal-modal{width:100%;max-height:min(92dvh,100%);border-bottom-left-radius:0;border-bottom-right-radius:0;padding:1rem 1rem max(1rem,env(safe-area-inset-bottom))}}.portal-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.portal-modal-close{display:inline-flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);color:var(--portal-ink-muted);transition:border-color .18s ease,color .18s ease}.portal-modal-close:hover{border-color:var(--portal-fill);color:var(--portal-navy)}.portal-modal--compact{width:100%;max-width:28rem}.portal-modal--form{width:100%;max-width:36rem}.portal-confirm-dialog{position:relative;padding:1.5rem 1.5rem 1.35rem;overflow:hidden}.portal-confirm-dialog-accent{position:absolute;top:0;left:0;right:0;height:2px;background:var(--portal-navy)}.portal-confirm-dialog-accent--danger{background:#b42318}.portal-confirm-dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem;margin-top:1.5rem;padding-top:1.15rem;border-top:1px solid var(--portal-border)}.portal-confirm-dialog-actions .portal-btn-danger,.portal-confirm-dialog-actions .portal-btn-primary,.portal-confirm-dialog-actions .portal-btn-secondary{width:auto;min-width:7.5rem}@media (max-width:639px){.portal-confirm-dialog-actions{flex-direction:column-reverse;align-items:stretch}.portal-confirm-dialog-actions .portal-btn-danger,.portal-confirm-dialog-actions .portal-btn-primary,.portal-confirm-dialog-actions .portal-btn-secondary{width:100%;justify-content:center}}.portal-notice{position:relative;overflow:hidden;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);padding:1rem 1.15rem 1.05rem;box-shadow:var(--portal-shadow-sm)}.portal-notice:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--portal-navy)}.portal-notice--ok:before{background:linear-gradient(90deg,var(--portal-navy) 0,var(--portal-navy-soft,#0a2540) 100%)}.portal-notice--error:before{background:linear-gradient(90deg,var(--portal-navy) 0,#8a3b12 72%,#b54708 100%)}.portal-notice--compact{padding:.85rem 1rem .9rem;box-shadow:none}.portal-notice-eyebrow{margin:0;font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--portal-ink-faint)}.portal-notice--error .portal-notice-eyebrow{color:#9a5b14}.portal-notice--ok .portal-notice-eyebrow{color:var(--portal-navy)}.portal-notice-message{margin:.4rem 0 0;font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:.95rem;font-weight:400;line-height:1.45;color:var(--portal-ink)}.portal-notice--compact .portal-notice-message{font-size:.9rem;line-height:1.4}.portal-task-complete-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border:1px solid color-mix(in srgb,var(--portal-success) 55%,#0a3d2c);border-radius:999px;background:var(--portal-success);color:#fff;font-size:.75rem;font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:0 1px 2px color-mix(in srgb,var(--portal-success) 18%,transparent),inset 0 1px 0 color-mix(in srgb,white 14%,transparent);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.portal-task-complete-btn:hover{background:var(--portal-success-strong);border-color:var(--portal-success-strong);box-shadow:0 4px 14px color-mix(in srgb,var(--portal-success) 24%,transparent),inset 0 1px 0 color-mix(in srgb,white 10%,transparent);transform:translateY(-1px)}.portal-task-complete-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--portal-success) 45%,var(--portal-blend));outline-offset:2px}.portal-task-complete-btn:active{transform:translateY(0);box-shadow:0 1px 2px color-mix(in srgb,var(--portal-success) 16%,transparent)}.portal-task-complete-actions{display:flex;justify-content:flex-end;gap:.75rem;border-top:1px solid var(--portal-border);padding-top:1rem}.portal-task-complete-error{margin:0 0 1rem;font-size:.8125rem;color:#b91c1c}.portal-task-card-actions{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--portal-border)}.portal-kpi{padding:1.35rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm)}.portal-kpi-sparkline{display:block;width:7.5rem;height:2.25rem;color:var(--portal-navy)}.portal-app[data-theme=dark] .portal-kpi-sparkline,html[data-portal-theme=dark] .portal-kpi-sparkline{color:var(--portal-accent)}.portal-kpi-annotation{margin:0;font-size:.75rem;line-height:1.45;color:var(--portal-ink-muted)}.portal-report-question{padding:.85rem 1rem;background:var(--portal-surface-muted);border:1px solid var(--portal-border);border-radius:var(--portal-radius)}.portal-login-shell{--portal-login-bg-left:#051c2c;--portal-login-bg-right:#ffffff;--portal-login-title:#ffffff;--portal-login-subtitle:rgba(255,255,255,0.72);--portal-login-muted:rgba(255,255,255,0.48);--portal-login-rule:rgba(255,255,255,0.28);--portal-login-card-border:rgba(5,28,44,0.12);--portal-login-input-border:rgba(5,28,44,0.18);--portal-login-input-focus:#051c2c;--portal-login-focus:rgba(5,28,44,0.08);--portal-login-submit-bg:#051c2c;--portal-login-submit-border:#051c2c;--portal-login-submit-hover:#031018;--portal-login-submit-color:#ffffff;--portal-login-submit-focus-ring:rgba(5,28,44,0.35);--portal-login-error-border:rgba(180,35,24,0.16);--portal-login-error-bg:rgba(180,35,24,0.04);--portal-login-error-text:#8f1d13;display:grid;min-height:100dvh;grid-template-rows:auto 1fr;background:var(--portal-login-bg-right)}.portal-app[data-theme=dark] .portal-login-shell,html[data-portal-theme=dark] .portal-login-shell{--portal-login-bg-left:#040a10;--portal-login-bg-right:#0c1520;--portal-login-card-border:rgba(232,237,242,0.12);--portal-login-input-border:rgba(232,237,242,0.22);--portal-login-input-focus:#e8edf2;--portal-login-focus:rgba(232,237,242,0.12);--portal-login-submit-bg:#e8edf2;--portal-login-submit-border:#e8edf2;--portal-login-submit-hover:#ffffff;--portal-login-submit-color:#040a10;--portal-login-submit-focus-ring:rgba(232,237,242,0.4);--portal-login-error-border:rgba(248,113,113,0.28);--portal-login-error-bg:rgba(248,113,113,0.08);--portal-login-error-text:#fca5a5}@media (min-width:1024px){.portal-login-shell{grid-template-rows:none;grid-template-columns:minmax(22rem,1fr) minmax(24rem,.92fr)}}.portal-login-brand{display:none;flex-direction:column;justify-content:space-between;padding:clamp(3rem,6vw,5rem);background:var(--portal-login-bg-left);color:var(--portal-login-title)}@media (min-width:1024px){.portal-login-brand{display:flex;min-height:100dvh}}.portal-login-brand-compact{display:block;padding:max(2rem,env(safe-area-inset-top)) 1.5rem 1.75rem;background:var(--portal-login-bg-left);color:var(--portal-login-title)}@media (min-width:1024px){.portal-login-brand-compact{display:none}}.portal-login-brand-content{max-width:26rem}.portal-login-brand-main{display:flex;flex-direction:column;gap:0;max-width:36rem}.portal-login-brand-eyebrow{font-size:.6875rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--portal-login-muted)}.portal-login-brand-rule{width:2.75rem;height:1px;margin-top:1.5rem;background:var(--portal-login-rule)}.portal-login-brand-title{margin-top:1.75rem;font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:clamp(2.125rem,4vw,3.5rem);font-weight:400;line-height:1.08;letter-spacing:-.025em;color:var(--portal-login-title)}.portal-login-brand-compact .portal-login-brand-title{margin-top:1.25rem;font-size:clamp(1.875rem,7vw,2.375rem)}.portal-login-brand-compact .portal-login-brand-rule{margin-top:1.125rem}.portal-login-brand-subtitle{margin-top:1.5rem;max-width:21rem;font-size:.9375rem;line-height:1.75;color:var(--portal-login-subtitle)}.portal-login-dna-visual{position:relative;flex:0 0 auto;width:calc(100% + 1.5rem);max-width:36rem;height:clamp(9.5rem,18vh,13.5rem);min-height:9.5rem;margin:2rem 0 0 -.25rem;isolation:isolate;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(#000,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent),linear-gradient(#000,#000 88%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}.portal-login-dna-visual--compact{flex:0 0 auto;width:100%;max-width:none;height:5.5rem;min-height:5.5rem;margin:1.5rem 0 0}.portal-login-dna-canvas{display:block;width:100%;height:100%}@media (prefers-reduced-motion:reduce){.portal-login-dna-visual{opacity:.72}}.portal-app[data-theme=dark] .portal-login-dna-visual,html[data-portal-theme=dark] .portal-login-dna-visual{filter:brightness(1.18) saturate(1.1) contrast(1.05)}.portal-login-brand-compact .portal-login-brand-subtitle{margin-top:1rem;font-size:.875rem;line-height:1.7}.portal-login-brand-footer{margin-top:auto;padding-top:3rem;font-size:.625rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--portal-login-muted)}.portal-login-form-area{position:relative;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem max(2.5rem,env(safe-area-inset-bottom));background:var(--portal-login-bg-right)}.portal-login-theme{position:absolute;top:1rem;right:1rem;z-index:2}@media (min-width:1024px){.portal-login-form-area{min-height:100dvh;padding:3rem clamp(2rem,5vw,4rem);border-left:1px solid var(--portal-login-card-border)}.portal-login-theme{top:1.5rem;right:1.5rem}}.portal-login-card{width:100%;max-width:22.5rem}.portal-login-form-loading{font-size:.875rem;color:var(--portal-ink-faint)}.portal-login-card-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(5,28,44,.08);text-align:center;font-size:.625rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--portal-ink-faint)}@media (min-width:1024px){.portal-login-card-footer{display:none}}.portal-install-prompt{margin-top:1.5rem;padding:1rem 1.05rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface-muted);display:grid;gap:.85rem}.portal-install-prompt-eyebrow{margin:0;font-size:.625rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--portal-ink-faint)}.portal-install-prompt-title{margin:.35rem 0 0;font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:1.05rem;font-weight:400;letter-spacing:-.02em;color:var(--portal-ink)}.portal-install-prompt-body{margin:.45rem 0 0;font-size:.8125rem;line-height:1.55;color:var(--portal-ink-muted)}.portal-install-prompt-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.portal-install-prompt-dismiss,.portal-install-prompt-primary{min-height:var(--portal-touch-target);padding:.55rem 1rem;border-radius:var(--portal-radius);font-size:.75rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.portal-install-prompt-primary{border:1px solid var(--portal-navy);background:var(--portal-navy);color:#fff}.portal-install-prompt-dismiss{border:1px solid transparent;background:transparent;color:var(--portal-ink-muted)}.portal-install-prompt-primary:hover{background:var(--portal-navy-soft);border-color:var(--portal-navy-soft)}.portal-install-prompt-dismiss:hover{color:var(--portal-ink)}.portal-app[data-theme=dark] .portal-install-prompt,html[data-portal-theme=dark] .portal-install-prompt{background:color-mix(in srgb,var(--portal-login-bg-right) 82%,#000);border-color:var(--portal-login-card-border)}.portal-app[data-theme=dark] .portal-install-prompt-primary,html[data-portal-theme=dark] .portal-install-prompt-primary{border-color:#e8edf2;background:#e8edf2;color:#040a10}.portal-app[data-theme=dark] .portal-install-prompt-primary:hover,html[data-portal-theme=dark] .portal-install-prompt-primary:hover{border-color:#ffffff;background:#ffffff}html[data-portal-native="1"] .portal-app{min-height:100dvh;min-height:100svh}.portal-login-form-wrap{display:flex;flex-direction:column;gap:2rem}.portal-login-form-intro{display:flex;flex-direction:column;gap:.625rem}.portal-login-form-title{font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:clamp(1.75rem,4vw,2.125rem);font-weight:400;line-height:1.15;letter-spacing:-.02em;color:var(--portal-navy)}.portal-login-form-subtitle{max-width:20rem;font-size:.9375rem;line-height:1.65;color:var(--portal-ink-muted)}.portal-login-form{display:flex;flex-direction:column;gap:1.75rem}.portal-login-field{display:flex;flex-direction:column;gap:.5rem}.portal-login-label{font-size:.8125rem;font-weight:500;letter-spacing:.01em;color:var(--portal-navy)}.portal-login-input{width:100%;padding:.75rem 0;border:0;border-bottom:1px solid var(--portal-login-input-border);border-radius:0;background:transparent;color:var(--portal-ink);font-size:.9375rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.portal-login-input::placeholder{color:var(--portal-ink-faint)}.portal-login-input:focus{border-bottom-color:var(--portal-login-input-focus);box-shadow:0 1px 0 0 var(--portal-login-input-focus)}.portal-login-input:-webkit-autofill,.portal-login-input:-webkit-autofill:active,.portal-login-input:-webkit-autofill:focus,.portal-login-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--portal-ink);caret-color:var(--portal-ink);transition:background-color 99999s ease-in-out 0s;box-shadow:0 0 0 1000px var(--portal-login-bg-right) inset;border-bottom-color:var(--portal-login-input-border)}.portal-app[data-theme=dark] .portal-login-input:-webkit-autofill,.portal-app[data-theme=dark] .portal-login-input:-webkit-autofill:active,.portal-app[data-theme=dark] .portal-login-input:-webkit-autofill:focus,.portal-app[data-theme=dark] .portal-login-input:-webkit-autofill:hover,html[data-portal-theme=dark] .portal-login-input:-webkit-autofill,html[data-portal-theme=dark] .portal-login-input:-webkit-autofill:active,html[data-portal-theme=dark] .portal-login-input:-webkit-autofill:focus,html[data-portal-theme=dark] .portal-login-input:-webkit-autofill:hover{-webkit-text-fill-color:var(--portal-ink);box-shadow:0 0 0 1000px var(--portal-login-bg-right) inset}.portal-login-password-wrap{position:relative;display:flex;align-items:center}.portal-login-input-password{padding-right:2.25rem}.portal-login-password-toggle{position:absolute;right:0;display:inline-flex;align-items:center;justify-content:center;padding:.5rem;border:0;border-radius:.25rem;background:transparent;color:var(--portal-ink-muted);cursor:pointer;transition:color .2s ease}.portal-login-password-toggle:hover{color:var(--portal-ink)}.portal-login-password-toggle:focus-visible{outline:2px solid var(--portal-login-input-focus);outline-offset:2px}.portal-login-error{padding:.875rem 1rem;border:1px solid var(--portal-login-error-border);background:var(--portal-login-error-bg);font-size:.875rem;line-height:1.5;color:var(--portal-login-error-text)}.portal-login-submit{display:inline-flex;width:100%;min-height:3rem;align-items:center;justify-content:center;margin-top:.25rem;padding:.875rem 1rem;border:1px solid var(--portal-login-submit-border);border-radius:0;background:var(--portal-login-submit-bg);color:var(--portal-login-submit-color);font-size:.8125rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;transition:background-color .2s ease,border-color .2s ease,opacity .2s ease}.portal-login-submit:hover:not(:disabled){background:var(--portal-login-submit-hover);border-color:var(--portal-login-submit-hover)}.portal-login-submit:focus-visible{outline:none;box-shadow:0 0 0 2px var(--portal-login-bg-right),0 0 0 4px var(--portal-login-submit-focus-ring)}.portal-login-submit:disabled{opacity:.55;cursor:not-allowed}.portal-divider-list>*+*{border-top:1px solid var(--portal-border)}.portal-link-back{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--portal-ink-muted);transition:color .18s ease}.portal-link-back:hover,.portal-section-link{color:var(--portal-navy)}.portal-section-link{display:inline-flex;align-items:center;gap:.45rem;min-height:2.375rem;padding:.5rem .95rem;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-surface);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:var(--portal-shadow-sm);transition:border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}.portal-section-link:hover{border-color:var(--portal-fill);box-shadow:var(--portal-shadow-md);color:var(--portal-navy)}.portal-section-link:active{transform:translateY(1px)}.portal-section-link svg{transition:transform .22s cubic-bezier(.22,1,.36,1)}.portal-section-link:hover svg{transform:translateX(3px)}@media (prefers-reduced-motion:reduce){.portal-section-link,.portal-section-link svg{transition:none}.portal-section-link:active,.portal-section-link:hover svg{transform:none}}.portal-refresh-action-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.portal-refresh-action{display:inline-flex;align-items:center;gap:.5rem;min-height:2.375rem;padding:.5rem .95rem;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-surface);color:var(--portal-navy);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:var(--portal-shadow-sm);cursor:pointer;transition:border-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease,background-color .22s ease}.portal-refresh-action:hover:not(:disabled){border-color:var(--portal-fill);box-shadow:var(--portal-shadow-md)}.portal-refresh-action:active:not(:disabled){transform:translateY(1px)}.portal-refresh-action:disabled{cursor:wait;opacity:.72}.portal-refresh-action.is-success{border-color:color-mix(in srgb,var(--portal-success) 35%,var(--portal-blend));background:var(--portal-success-soft);color:var(--portal-success-strong)}.portal-refresh-action.is-error{border-color:rgba(180,35,24,.22);background:rgba(180,35,24,.04);color:#8f2f26}.portal-refresh-action-icon{transition:transform .22s cubic-bezier(.22,1,.36,1)}.portal-refresh-action:hover:not(:disabled) .portal-refresh-action-icon{transform:rotate(-18deg)}.portal-refresh-action-icon.is-spinning{animation:portal-refresh-spin .85s linear infinite}.portal-refresh-action:hover:not(:disabled) .portal-refresh-action-icon.is-spinning{transform:none}@keyframes portal-refresh-spin{to{transform:rotate(1turn)}}.portal-refresh-action-status{margin:0;max-width:14rem;font-size:.6875rem;font-weight:500;letter-spacing:.06em;text-align:right;text-transform:uppercase;color:var(--portal-ink-faint)}.portal-refresh-action-status.is-success{color:var(--portal-success-strong)}.portal-refresh-action-status.is-error{color:#8f2f26}@media (prefers-reduced-motion:reduce){.portal-refresh-action,.portal-refresh-action-icon{transition:none}.portal-refresh-action:active:not(:disabled),.portal-refresh-action:hover:not(:disabled) .portal-refresh-action-icon{transform:none}.portal-refresh-action-icon.is-spinning{animation:none}}.portal-client-header{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--portal-border)}.portal-client-header-layout{display:flex;flex-direction:column;gap:1.25rem}.portal-client-header-identity{display:flex;align-items:flex-start;gap:1rem;min-width:0}.portal-client-header-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .75rem}.portal-client-header-title{font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.15}.portal-client-header-website{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;font-size:.8125rem;color:var(--portal-ink-muted);transition:color .2s ease}.portal-client-header-website:hover{color:var(--portal-navy)}.portal-client-header-meta{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;font-size:.875rem}.portal-client-header-meta-link{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}.portal-client-header-meta-link:hover{color:var(--portal-navy);border-bottom-color:color-mix(in srgb,var(--portal-navy) 35%,transparent)}.portal-client-header-actions{display:flex;flex-wrap:wrap;gap:.75rem}@media (min-width:1024px){.portal-client-header-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:start;column-gap:2rem;row-gap:1rem}.portal-client-header-identity{grid-column:1;grid-row:1}.portal-client-header-meta{grid-column:2;grid-row:1;justify-content:flex-end;text-align:right;gap:2rem}.portal-client-header-actions{grid-column:1/-1;grid-row:2;padding-top:.25rem;border-top:1px solid var(--portal-border)}}@media (min-width:768px){.portal-client-header{margin-bottom:2rem;padding-bottom:2rem}}.portal-time-greeting-wrap{margin-top:0}.portal-time-greeting{display:inline-flex;align-items:center;gap:.55rem;min-height:1.125rem;padding:.35rem 0 .35rem .7rem;border-left:1px solid color-mix(in srgb,var(--portal-navy) 22%,transparent);font-size:.75rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.portal-time-greeting-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:color-mix(in srgb,var(--portal-navy) 78%,var(--portal-ink-faint));transition:color .28s ease}.portal-time-greeting-icon[data-daylight=false]{color:color-mix(in srgb,var(--portal-navy) 62%,var(--portal-accent))}.portal-time-greeting-text{color:var(--portal-ink);letter-spacing:.12em}.portal-client-logo-mark{display:inline-flex;align-items:stretch;gap:.85rem;animation:portal-client-logo-reveal .7s cubic-bezier(.22,1,.36,1) both}.portal-client-logo-mark--sm{gap:.65rem}.portal-client-logo-accent{position:relative;width:1px;flex-shrink:0;align-self:stretch;min-height:2.5rem;background:linear-gradient(180deg,var(--portal-navy) 0,color-mix(in srgb,var(--portal-navy) 24%,transparent) 72%,transparent 100%);transform-origin:top center;animation:portal-client-logo-accent-grow .85s cubic-bezier(.22,1,.36,1) both}.portal-client-logo-mark--md .portal-client-logo-accent{min-height:3.25rem}@keyframes portal-client-logo-reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes portal-client-logo-accent-grow{0%{opacity:0;transform:scaleY(.35)}to{opacity:1;transform:scaleY(1)}}.portal-client-logo{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;overflow:hidden;background:transparent;border:0;box-shadow:none}.portal-client-logo-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:saturate(.94) contrast(1.02);transition:filter .35s ease,opacity .35s ease}.portal-client-logo-mark:hover .portal-client-logo-image{filter:saturate(1) contrast(1.04)}.portal-client-logo--fallback{width:3.25rem;height:3.25rem;background:color-mix(in srgb,var(--portal-surface-muted) 72%,transparent);border:0;border-bottom:1px solid color-mix(in srgb,var(--portal-navy) 16%,transparent);border-radius:0;box-shadow:none}.portal-client-logo--fallback.portal-client-logo--md{width:3.75rem;height:3.75rem}.portal-client-logo-initial{font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:1.25rem;font-weight:400;color:var(--portal-navy)}.portal-client-logo--sm .portal-client-logo-initial{font-size:1rem}@media (prefers-reduced-motion:reduce){.portal-client-logo-accent,.portal-client-logo-mark{animation:none}.portal-client-logo-image{transition:none}}.portal-grid-cards{display:grid;gap:1rem}@media (min-width:640px){.portal-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.portal-grid-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.portal-grid-admin{display:grid;gap:1rem}@media (min-width:768px){.portal-grid-admin{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.portal-grid-admin{grid-template-columns:repeat(3,minmax(0,1fr))}}.portal-admin-view-banner--preview{background:color-mix(in srgb,var(--portal-navy) 3%,var(--portal-surface))}.portal-admin-view-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.5rem;padding:.85rem 1rem;background:color-mix(in srgb,var(--portal-navy) 6%,var(--portal-surface));border:1px solid color-mix(in srgb,var(--portal-navy) 14%,var(--portal-border));border-radius:var(--portal-radius)}.portal-admin-view-banner-copy{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .75rem;min-width:0}.portal-admin-view-banner-badge{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;background:var(--portal-fill);color:#fff;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.portal-admin-view-banner-text{margin:0;font-size:.9rem;font-weight:500;color:var(--portal-ink)}.portal-admin-view-banner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.portal-admin-view-banner-link{font-size:.85rem;font-weight:500;color:var(--portal-navy);text-decoration:none}button.portal-admin-view-banner-link{background:none;border:none;padding:0;cursor:pointer}button.portal-admin-view-banner-link:disabled{cursor:wait;opacity:.65}.portal-admin-view-banner-link:hover{text-decoration:underline}.portal-admin-client-switcher{display:flex;flex-direction:column;gap:.35rem;width:100%}.portal-admin-client-switcher.is-compact{width:auto;max-width:11rem}.portal-admin-client-switcher-label{font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-admin-client-switcher-control{position:relative;display:block}.portal-admin-client-switcher-select{width:100%;appearance:none;padding:.45rem 1.75rem .45rem .65rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface);color:var(--portal-ink);font-size:.82rem;line-height:1.2}.portal-admin-client-switcher.is-compact .portal-admin-client-switcher-select{padding-top:.35rem;padding-bottom:.35rem;font-size:.78rem}.portal-admin-client-switcher-select:focus{outline:2px solid color-mix(in srgb,var(--portal-navy) 35%,transparent);outline-offset:1px}.portal-admin-client-switcher-icon{position:absolute;top:50%;right:.45rem;transform:translateY(-50%);pointer-events:none;color:var(--portal-ink-muted)}.portal-admin-card{display:block;padding:1.5rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.portal-admin-card:hover{border-color:var(--portal-border-strong);box-shadow:var(--portal-shadow-md);transform:translateY(-1px)}.portal-engagement-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--portal-navy) 18%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 5%,var(--portal-surface));color:var(--portal-navy);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.portal-visit-digest{padding:.9rem 1rem;border:1px solid var(--portal-border);border-left:3px solid var(--portal-navy);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-visit-digest-title{margin:0 0 .5rem;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-visit-digest-list{margin:0;padding:0;list-style:none;display:grid;gap:.35rem;font-size:.88rem;color:var(--portal-ink)}.portal-visit-digest-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--portal-ink);text-decoration:none;border-radius:.25rem;transition:color .2s ease,transform .2s ease}.portal-visit-digest-link:hover{color:var(--portal-navy)}.portal-visit-digest-link:hover .portal-visit-digest-link-icon{transform:translateX(2px);opacity:1}.portal-visit-digest-link:focus-visible{outline:2px solid var(--portal-navy);outline-offset:2px}.portal-visit-digest-link-icon{flex-shrink:0;opacity:.55;transition:transform .2s ease,opacity .2s ease}.portal-overdue-tasks-alert{overflow:hidden;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-md)}.portal-overdue-tasks-alert:before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--portal-navy) 0,var(--portal-navy-mid,#0a2540) 72%,#b54708 100%)}.portal-overdue-tasks-alert-inner{display:grid;gap:1.1rem;padding:1.25rem 1.35rem 1.35rem}@media (min-width:768px){.portal-overdue-tasks-alert-inner{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.5rem}}.portal-overdue-tasks-alert-eyebrow{margin:0;font-size:.64rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#9a5b14}.portal-overdue-tasks-alert-title{margin:.45rem 0 0;font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:clamp(1.15rem,2.2vw,1.35rem);font-weight:400;line-height:1.25;color:var(--portal-ink)}.portal-overdue-tasks-alert-detail{margin:.65rem 0 0;max-width:38rem;font-size:.88rem;line-height:1.55;color:var(--portal-ink-muted)}.portal-overdue-tasks-alert-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.portal-overdue-tasks-alert-link{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.75rem;padding:.55rem 0;color:var(--portal-ink);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.portal-overdue-tasks-alert-link:hover{color:var(--portal-navy);border-bottom-color:var(--portal-navy)}.portal-overdue-tasks-alert-ack{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.65rem 1rem;border:1px solid var(--portal-navy);background:var(--portal-fill);color:#fff;font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,border-color .15s ease}.portal-overdue-tasks-alert-ack:hover{background:var(--portal-navy-deep);border-color:var(--portal-navy-deep)}@media (max-width:767px){.portal-overdue-tasks-alert-inner{padding:1.1rem 1rem 1.15rem}.portal-overdue-tasks-alert-actions{width:100%;padding-top:.15rem;border-top:1px solid var(--portal-border)}.portal-overdue-tasks-alert-ack,.portal-overdue-tasks-alert-link{flex:1 1 calc(50% - 0.35rem)}}.portal-scorecard{display:grid;gap:1.25rem;padding:1.5rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:linear-gradient(165deg,color-mix(in srgb,var(--portal-navy) 4%,var(--portal-surface)) 0,var(--portal-surface) 42%);box-shadow:var(--portal-shadow-sm)}.portal-scorecard-priority{padding-bottom:1rem;border-bottom:1px solid var(--portal-border)}.portal-scorecard-priority-text{margin:.5rem 0 0;font-family:var(--font-serif,Georgia,serif);font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.45;color:var(--portal-ink)}.portal-scorecard-grid{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:900px){.portal-scorecard-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}.portal-scorecard-tile{padding:.85rem .9rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface)}.portal-scorecard-tile-label{margin:0;font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-scorecard-tile-value{margin:.45rem 0 0;font-size:.92rem;font-weight:600;color:var(--portal-ink);line-height:1.35}.portal-scorecard-stat{font-family:var(--font-serif,Georgia,serif);font-size:1.35rem}.portal-scorecard-link{color:var(--portal-navy);text-decoration:none}.portal-scorecard-link:hover{text-decoration:underline}.portal-scorecard-kpis{padding-top:.25rem}.portal-scorecard-kpis-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.portal-scorecard-kpis-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:500;color:var(--portal-navy);text-decoration:none}.portal-scorecard-kpis-link:hover{text-decoration:underline}.portal-scorecard-kpi-grid{display:grid;gap:.75rem;grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.portal-scorecard-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.portal-scorecard-kpi{padding:.9rem 1rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface)}.portal-scorecard-kpi-label{margin:0;font-size:.78rem;color:var(--portal-ink-muted)}.portal-scorecard-kpi-value{margin:.35rem 0 0;font-family:var(--font-serif,Georgia,serif);font-size:1.35rem;color:var(--portal-ink)}.portal-scorecard-kpi-change{margin:.35rem 0 0;font-size:.78rem;font-weight:600;color:var(--portal-ink-muted)}.portal-scorecard-kpi-change.is-up{color:#0f6e4f}.portal-scorecard-kpi-change.is-down{color:#b42318}.portal-action-center,.portal-action-center-empty{border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-action-center-empty{padding:1.25rem 1.35rem}.portal-action-center-list{margin:0;padding:0;list-style:none}.portal-action-center-item{position:relative;display:flex;align-items:center;gap:.9rem;padding:1rem 1.15rem;border-top:1px solid var(--portal-border);border-left:2px solid transparent;color:inherit;text-decoration:none;overflow:hidden;background-color:var(--portal-surface);--portal-action-sweep:color-mix(in srgb,var(--portal-navy) 10%,transparent);background-image:linear-gradient(90deg,transparent 0,var(--portal-action-sweep) 42%,color-mix(in srgb,var(--portal-navy) 5%,transparent) 50%,var(--portal-action-sweep) 58%,transparent 100%);background-size:0 100%;background-repeat:no-repeat;background-position:0;transition:background-size .55s cubic-bezier(.22,1,.36,1),background-color .28s ease,border-left-color .35s ease,color .28s ease}.portal-action-center-list>li:first-child .portal-action-center-item{border-top:none}.portal-action-center-item:hover{background-size:100% 100%;background-color:color-mix(in srgb,var(--portal-navy) 4%,var(--portal-surface));border-left-color:color-mix(in srgb,var(--portal-navy) 55%,transparent)}.portal-action-center-index{flex-shrink:0;width:2rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--portal-ink-muted);transition:transform .45s cubic-bezier(.22,1,.36,1)}.portal-action-center-index.is-urgent{color:var(--portal-navy)}.portal-action-center-copy{display:grid;gap:.2rem;min-width:0;flex:1;transition:transform .45s cubic-bezier(.22,1,.36,1)}.portal-action-center-featured-label{display:block;font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--portal-navy)}.portal-action-center-item:hover .portal-action-center-copy{transform:translateX(3px)}.portal-action-center-title{font-size:.95rem;font-weight:600;color:var(--portal-ink)}.portal-action-center-description{font-size:.82rem;color:var(--portal-ink-muted)}.portal-action-center-arrow{flex-shrink:0;color:var(--portal-navy);opacity:.55;transition:opacity .28s ease,transform .45s cubic-bezier(.22,1,.36,1)}.portal-action-center-item:hover .portal-action-center-arrow{opacity:1;transform:translateX(3px)}.portal-task-summary-list{margin:0;padding:0;list-style:none;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm);overflow:hidden}.portal-task-summary-item{position:relative;display:flex;align-items:center;gap:.9rem;padding:1rem 1.15rem;border-top:1px solid var(--portal-border);border-left:2px solid transparent;color:inherit;text-decoration:none;overflow:hidden;background-color:var(--portal-surface);--portal-task-summary-sweep:color-mix(in srgb,var(--portal-navy) 10%,transparent);background-image:linear-gradient(90deg,transparent 0,var(--portal-task-summary-sweep) 42%,color-mix(in srgb,var(--portal-navy) 5%,transparent) 50%,var(--portal-task-summary-sweep) 58%,transparent 100%);background-size:0 100%;background-repeat:no-repeat;background-position:0;transition:background-size .55s cubic-bezier(.22,1,.36,1),background-color .28s ease,border-left-color .35s ease,color .28s ease}.portal-task-summary-list>li:first-child .portal-task-summary-item{border-top:none}.portal-task-summary-item:hover{background-size:100% 100%;background-color:color-mix(in srgb,var(--portal-navy) 4%,var(--portal-surface));border-left-color:color-mix(in srgb,var(--portal-navy) 55%,transparent)}.portal-task-summary-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem;transition:transform .45s cubic-bezier(.22,1,.36,1)}.portal-task-summary-item:hover .portal-task-summary-copy{transform:translateX(3px)}.portal-task-summary-title{font-size:.9375rem;font-weight:600;color:var(--portal-ink);line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.portal-task-summary-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.8125rem;color:var(--portal-ink-muted);line-height:1.4}.portal-task-summary-meta .portal-task-status-cell{flex-shrink:0}.portal-task-summary-meta-sep{opacity:.45}.portal-task-summary-arrow{flex-shrink:0;opacity:.35;color:var(--portal-ink-muted);transition:opacity .28s ease,transform .45s cubic-bezier(.22,1,.36,1)}.portal-task-summary-item:hover .portal-task-summary-arrow{opacity:1;transform:translateX(3px)}@media (prefers-reduced-motion:reduce){.portal-task-summary-item{background-image:none;transition:background-color .15s ease}.portal-task-summary-arrow,.portal-task-summary-copy{transition:none;transform:none}.portal-task-summary-item:hover{background-color:var(--portal-surface-muted)}}.portal-request-cards,.portal-task-cards{display:grid;gap:.75rem}.portal-request-card{padding:0;border-color:rgba(5,28,44,.1);box-shadow:0 1px 2px rgba(5,28,44,.04),0 8px 24px rgba(5,28,44,.06);transition:border-color .18s ease,box-shadow .18s ease}.portal-request-card,.portal-request-card.portal-task-card{background:#ffffff;background-image:none}.portal-app[data-theme=dark] .portal-request-card,.portal-app[data-theme=dark] .portal-request-card.portal-task-card,html[data-portal-theme=dark] .portal-app .portal-request-card,html[data-portal-theme=dark] .portal-app .portal-request-card.portal-task-card{background:#122436;background-image:none;border-color:rgba(232,237,242,.12);box-shadow:0 1px 2px rgba(0,0,0,.28),0 10px 28px rgba(0,0,0,.32)}@media (hover:hover) and (pointer:fine){.portal-request-card:hover{border-color:rgba(5,28,44,.16);box-shadow:0 2px 4px rgba(5,28,44,.05),0 12px 28px rgba(5,28,44,.09)}.portal-app[data-theme=dark] .portal-request-card:hover,html[data-portal-theme=dark] .portal-app .portal-request-card:hover{border-color:rgba(232,237,242,.18);box-shadow:0 2px 4px rgba(0,0,0,.32),0 14px 32px rgba(0,0,0,.4)}}.portal-request-card-trigger{display:block;width:100%;padding:1.1rem 1.15rem;text-align:left;cursor:pointer;background:transparent;border:0;color:inherit;-webkit-tap-highlight-color:transparent}.portal-request-card-trigger:focus-visible{outline:2px solid var(--portal-fill);outline-offset:2px}.portal-request-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.portal-request-card-header-main{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;flex:1}.portal-requests-page-actions,.portal-roadmap-page-actions,.portal-tasks-page-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.portal-roadmap-sync-section{position:relative}.portal-roadmap-sync-section.is-syncing .portal-quarterly-roadmap{pointer-events:none;opacity:.45}.portal-roadmap-sync-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding-top:2.5rem;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.55) 42%,rgba(255,255,255,0));pointer-events:none}.portal-roadmap-sync-overlay p{margin:0;padding:.55rem .9rem;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm);font-size:.8125rem;font-weight:500;color:var(--portal-ink)}.portal-task-digest-modal{max-width:min(100%,42rem);max-height:min(92vh,52rem);overflow-y:auto}.portal-minutes-lightbox-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(5,28,44,0);opacity:0;pointer-events:none;transition:background .28s ease,opacity .28s ease}.portal-minutes-lightbox-backdrop--open{background:rgba(5,28,44,.58);opacity:1;pointer-events:auto}.portal-minutes-lightbox{width:min(100%,42rem);max-height:min(92dvh,54rem);display:flex;flex-direction:column;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:0 28px 72px rgba(5,28,44,.22);transform:translateY(12px) scale(.985);opacity:0;transition:transform .28s ease,opacity .28s ease}.portal-minutes-lightbox--open{transform:translateY(0) scale(1);opacity:1}.portal-minutes-lightbox-handle{display:none;width:2.5rem;height:.28rem;margin:.55rem auto 0;border-radius:999px;background:color-mix(in srgb,var(--portal-ink-muted) 45%,transparent)}.portal-minutes-lightbox-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem 1rem;border-bottom:1px solid var(--portal-border);flex-shrink:0}.portal-minutes-lightbox-title{margin-top:.35rem;font-size:1.35rem;font-weight:600;line-height:1.25;color:var(--portal-navy);overflow-wrap:anywhere}.portal-minutes-lightbox-body{flex:1 1 auto;min-height:0;padding:1.15rem 1.35rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.portal-minutes-lightbox-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem;padding:.95rem 1.35rem max(.95rem,env(safe-area-inset-bottom));border-top:1px solid var(--portal-border);background:color-mix(in srgb,var(--portal-surface) 88%,#e8eef5);flex-shrink:0}.portal-minutes-choice{display:flex;align-items:flex-start;gap:.7rem;width:100%;padding:.7rem .8rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface);cursor:pointer;transition:border-color .16s ease,background-color .16s ease}.portal-minutes-choice input{margin-top:.15rem}.portal-minutes-choice.is-selected{border-color:color-mix(in srgb,var(--portal-navy) 42%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 5%,var(--portal-surface))}.portal-minutes-email{overflow:hidden;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 1px);background:#eceeef}.portal-minutes-email-meta{display:grid;gap:.85rem;padding:.95rem 1.05rem;background:color-mix(in srgb,var(--portal-surface) 92%,#dbe4ef);border-bottom:1px solid var(--portal-border)}.portal-minutes-email-meta-label{font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-minutes-email-meta-value{margin-top:.25rem;font-size:.875rem;line-height:1.45;color:var(--portal-ink);overflow-wrap:anywhere}.portal-minutes-email-shell{margin:.85rem;background:#ffffff;border:1px solid #e6eaee;box-shadow:0 8px 24px rgba(5,28,44,.06)}.portal-minutes-email-accent{height:2px;background:#051c2c}.portal-minutes-email-brand-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1.15rem 1.25rem 0}.portal-minutes-email-brand{margin:0;font-size:.625rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:#051c2c}.portal-minutes-email-confidential{margin:0;font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;color:#9aa1aa}.portal-minutes-email-client{margin:.75rem 1.25rem 0;font-family:Georgia,Times New Roman,serif;font-size:.875rem;line-height:1.4;color:#5a6370}.portal-minutes-email-rule{margin:1.1rem 1.25rem 0;border-top:1px solid #e6eaee}.portal-minutes-email-body{padding:1.15rem 1.25rem 1.35rem}.portal-minutes-email-heading{margin:0;font-size:.625rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8a93a0}.portal-minutes-email-meeting-title{margin:.55rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.25rem;font-weight:700;line-height:1.3;color:#051c2c}.portal-minutes-email-meeting-date{margin:.35rem 0 0;font-size:.75rem;color:#6b7380}.portal-minutes-email-intro{margin:1rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:.9375rem;line-height:1.7;color:#1a2330}.portal-minutes-email-intro.portal-md .portal-md-paragraph{margin:0 0 .75rem}.portal-minutes-email-intro.portal-md .portal-md-paragraph:last-child{margin-bottom:0}.portal-minutes-email-intro.portal-md .portal-md-list{margin:.65rem 0 .75rem}.portal-minutes-email-intro.portal-md .portal-md-link{color:#0563c1}.portal-minutes-email-section{margin-top:1.35rem}.portal-minutes-email-section-head{margin-bottom:.85rem}.portal-minutes-email-section-head>p{margin:0 0 .55rem;font-size:.625rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#8a93a0}.portal-minutes-email-section-head>div{border-top:1px solid #051c2c;border-bottom:1px solid #051c2c;height:3px}.portal-minutes-email-copy{margin:0;font-family:Georgia,Times New Roman,serif;font-size:.9375rem;line-height:1.7;color:#1a2330}.portal-minutes-email-copy>p{margin:0 0 .9rem}.portal-minutes-email-copy>p:last-child{margin-bottom:0}.portal-minutes-email-bullets{margin:0;padding:0;list-style:none}.portal-minutes-email-bullets>li{display:grid;grid-template-columns:1.25rem minmax(0,1fr);gap:.35rem .45rem;padding:.85rem 0;border-bottom:1px solid #e6eaee;font-family:Georgia,Times New Roman,serif;font-size:.9375rem;line-height:1.5;color:#051c2c}.portal-minutes-email-bullets>li:last-child{border-bottom:0}.portal-minutes-email-bullet{font-family:Arial,Helvetica,sans-serif;font-size:.9rem;line-height:1.5;color:#8a93a0}.portal-minutes-email-indexed{margin:0;padding:0;list-style:none}.portal-minutes-email-indexed>li{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.35rem .55rem;padding:.85rem 0;border-bottom:1px solid #e6eaee;font-family:Georgia,Times New Roman,serif;font-size:.9375rem;line-height:1.5;color:#051c2c}.portal-minutes-email-indexed>li:last-child{border-bottom:0}.portal-minutes-email-index{font-family:Arial,Helvetica,sans-serif;font-size:.6875rem;letter-spacing:.06em;line-height:1.45;color:#8a93a0}.portal-minutes-email-task-title{display:block;font-size:1rem;line-height:1.45}.portal-minutes-email-task-meta{display:block;margin-top:.35rem;font-family:Arial,Helvetica,sans-serif;font-size:.6875rem;line-height:1.5;color:#5a6370}.portal-minutes-email-cta{display:inline-block;margin-top:1.5rem;padding:.8rem 1.35rem;background:#051c2c;color:#ffffff;font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.portal-minutes-email-signature{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #d8dde4;font-family:Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.55;color:#6b7380}.portal-minutes-email-signature-name{margin:0 0 .15rem;font-family:Georgia,Times New Roman,serif;font-size:.9375rem;line-height:1.35;color:#051c2c}.portal-minutes-email-signature-role{margin:0 0 .85rem;font-size:.6875rem;letter-spacing:.04em;color:#6b7380}.portal-minutes-email-closing{margin:1.15rem 0 0;padding-top:1rem;border-top:1px solid #e6eaee;font-family:Arial,Helvetica,sans-serif;font-size:.6875rem;line-height:1.55;color:#9aa1aa}@media (max-width:639px){.portal-minutes-lightbox-backdrop{align-items:flex-end;padding:0}.portal-minutes-lightbox{width:100%;max-height:min(94dvh,100%);border-radius:14px 14px 0 0;transform:translateY(100%)}.portal-minutes-lightbox--open{transform:translateY(0)}.portal-minutes-lightbox-handle{display:block}.portal-minutes-lightbox-header{padding:.75rem 1rem .9rem}.portal-minutes-lightbox-title{font-size:1.15rem}.portal-minutes-lightbox-body{padding:1rem}.portal-minutes-lightbox-footer{padding:.85rem 1rem max(.85rem,env(safe-area-inset-bottom))}.portal-minutes-lightbox-footer .portal-btn-primary,.portal-minutes-lightbox-footer .portal-btn-secondary{flex:1 1 auto;justify-content:center}.portal-minutes-email-shell{margin:.65rem}.portal-minutes-email-body{padding:1rem 1rem 1.15rem}.portal-minutes-email-brand-row{padding:1rem 1rem 0}.portal-minutes-email-client,.portal-minutes-email-rule{margin-left:1rem;margin-right:1rem}}@media (prefers-reduced-motion:reduce){.portal-minutes-lightbox,.portal-minutes-lightbox-backdrop{transition:none}.portal-minutes-lightbox,.portal-minutes-lightbox--open{transform:none}}.portal-task-digest-history{padding-top:1.25rem;border-top:1px solid var(--portal-border)}.portal-task-digest-timeline{margin:0;padding:0;list-style:none;max-height:min(28vh,16rem);overflow-y:auto}.portal-task-digest-timeline>li{position:relative;padding-left:1.15rem}.portal-task-digest-timeline>li:not(:last-child):before{content:"";position:absolute;left:.28rem;top:1.15rem;bottom:-.15rem;width:1px;background:var(--portal-border)}.portal-task-digest-timeline-item{display:block;width:100%;padding:.55rem .55rem .55rem 0;border:0;border-radius:calc(var(--portal-radius) - 2px);background:transparent;text-align:left;cursor:pointer;transition:background-color .16s ease}.portal-task-digest-timeline-item:hover{background:color-mix(in srgb,var(--portal-navy) 4%,transparent)}.portal-task-digest-timeline-dot{position:absolute;left:0;top:.95rem;width:.55rem;height:.55rem;border-radius:999px;background:var(--portal-surface);border:1.5px solid var(--portal-navy);flex-shrink:0}.portal-task-digest-history-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(5,28,44,.72)}@media (max-width:639px){.portal-task-digest-history-overlay{align-items:flex-end;padding:0}}.portal-task-digest-history-dialog{width:min(100%,36rem);max-height:min(90dvh,40rem);overflow-y:auto;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);color:var(--portal-ink);padding:1.25rem;box-shadow:0 18px 50px rgba(5,28,44,.28)}@media (max-width:639px){.portal-task-digest-history-dialog{width:100%;max-height:min(92dvh,40rem);border-radius:var(--portal-radius) var(--portal-radius) 0 0}}.portal-task-digest-history-note{padding:.9rem 1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface-muted);font-size:.875rem;line-height:1.65;color:var(--portal-ink);white-space:pre-wrap}.portal-task-digest-history-task-list{margin:0;padding:0;list-style:none;display:grid;gap:.65rem}.portal-task-digest-history-task-list>li{display:flex;gap:.75rem;align-items:flex-start;padding-bottom:.65rem;border-bottom:1px solid var(--portal-border)}.portal-task-digest-history-task-list>li:last-child{padding-bottom:0;border-bottom:0}.portal-task-digest-history-task-index{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.7rem;letter-spacing:.06em;color:var(--portal-ink-faint);padding-top:.2rem}.portal-task-digest-list{display:grid;gap:.45rem;max-height:min(40vh,22rem);overflow-y:auto;margin:0;padding:0;list-style:none}.portal-task-digest-item{display:flex;align-items:flex-start;gap:.75rem;padding:.85rem .9rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);cursor:pointer}.portal-task-digest-item.is-selected{border-color:color-mix(in srgb,var(--portal-navy) 28%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 4%,var(--portal-surface))}.portal-task-digest-item input{margin-top:.2rem}@media (max-width:639px){.portal-tasks-page-actions{width:100%;flex-direction:column;align-items:stretch}.portal-tasks-page-actions .portal-btn-primary,.portal-tasks-page-actions .portal-btn-secondary{width:100%;justify-content:center}}.portal-request-card--updated{border-color:color-mix(in srgb,var(--portal-accent) 42%,var(--portal-border));box-shadow:0 1px 2px rgba(5,28,44,.04),0 8px 24px rgba(5,28,44,.06),0 0 0 1px color-mix(in srgb,var(--portal-accent) 12%,transparent)}.portal-app[data-theme=dark] .portal-request-card--updated,html[data-portal-theme=dark] .portal-app .portal-request-card--updated{border-color:color-mix(in srgb,var(--portal-accent) 45%,var(--portal-border));box-shadow:0 1px 2px rgba(0,0,0,.28),0 10px 28px rgba(0,0,0,.32),0 0 0 1px color-mix(in srgb,var(--portal-accent) 18%,transparent)}.portal-request-card-title-row{display:flex;align-items:flex-start;gap:.5rem;min-width:0}.portal-request-card-title-row .portal-task-card-title{min-width:0}.portal-request-card-pulse{margin-top:.4rem;width:.5rem;height:.5rem;flex-shrink:0;border-radius:999px;background:var(--portal-accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--portal-accent) 45%,transparent);animation:portal-nav-pulse 1.6s ease-out infinite}.portal-request-card-update-label{margin-top:.3rem;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--portal-accent)}.portal-request-card-activity{display:inline-flex;margin-top:.35rem;padding:.15rem .45rem;font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-ink-muted);border:1px solid var(--portal-border);border-radius:var(--portal-radius)}.portal-request-card-badges{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.4rem;flex-shrink:0}.portal-request-priority-badge{display:inline-flex;border-radius:var(--portal-radius);padding:.25rem .5rem;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.portal-request-priority-badge--urgent{color:#9a3412;background:#fff7ed;box-shadow:inset 0 0 0 1px #ffedd5}.portal-request-priority-badge--medium{color:#92400e;background:#fffbeb;box-shadow:inset 0 0 0 1px #fef3c7}.portal-task-priority-badge{display:inline-flex;align-items:center;border-radius:var(--portal-radius);padding:.25rem .5rem;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}.portal-task-priority-badge--high{color:#9a3412;background:#fff7ed;box-shadow:inset 0 0 0 1px #ffedd5}.portal-task-priority-badge--medium{color:#92400e;background:#fffbeb;box-shadow:inset 0 0 0 1px #fef3c7}.portal-task-priority-badge--low{color:#1e3a5f;background:#eff6ff;box-shadow:inset 0 0 0 1px #dbeafe}.portal-app[data-theme=dark] .portal-task-priority-badge--high,html[data-portal-theme=dark] .portal-app .portal-task-priority-badge--high{color:#fdba74;background:rgba(154,52,18,.22);box-shadow:inset 0 0 0 1px rgba(251,146,60,.28)}.portal-app[data-theme=dark] .portal-task-priority-badge--medium,html[data-portal-theme=dark] .portal-app .portal-task-priority-badge--medium{color:#fcd34d;background:rgba(146,64,14,.22);box-shadow:inset 0 0 0 1px rgba(251,191,36,.28)}.portal-app[data-theme=dark] .portal-task-priority-badge--low,html[data-portal-theme=dark] .portal-app .portal-task-priority-badge--low{color:#93c5fd;background:rgba(30,58,95,.35);box-shadow:inset 0 0 0 1px rgba(147,197,253,.28)}.portal-app[data-theme=dark] .portal-request-priority-badge--urgent,html[data-portal-theme=dark] .portal-app .portal-request-priority-badge--urgent{color:#fdba74;background:rgba(154,52,18,.22);box-shadow:inset 0 0 0 1px rgba(251,146,60,.28)}.portal-app[data-theme=dark] .portal-request-priority-badge--medium,html[data-portal-theme=dark] .portal-app .portal-request-priority-badge--medium{color:#fcd34d;background:rgba(146,64,14,.22);box-shadow:inset 0 0 0 1px rgba(251,191,36,.28)}.portal-request-card-hint{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--portal-border);font-size:.75rem;letter-spacing:.02em;color:var(--portal-ink-muted)}.portal-request-lightbox-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(5,28,44,0);opacity:0;pointer-events:none;transition:background .28s ease,opacity .28s ease}.portal-request-lightbox-backdrop--open{background:rgba(5,28,44,.55);opacity:1;pointer-events:auto}.portal-request-lightbox{width:min(100%,40rem);max-height:min(92dvh,52rem);display:flex;flex-direction:column;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:linear-gradient(165deg,color-mix(in srgb,var(--portal-surface) 92%,#dfe8f2) 0,var(--portal-surface) 42%,var(--portal-surface) 100%);box-shadow:0 28px 72px rgba(5,28,44,.22);transform:translateY(12px) scale(.985);opacity:0;transition:transform .28s ease,opacity .28s ease}.portal-request-lightbox--open{transform:translateY(0) scale(1);opacity:1}.portal-request-lightbox-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.25rem 1.35rem 1rem;border-bottom:1px solid var(--portal-border)}.portal-request-lightbox-header-copy{min-width:0}.portal-request-lightbox-title{margin-top:.35rem;font-size:1.25rem;font-weight:600;line-height:1.3;color:var(--portal-navy);overflow-wrap:anywhere}.portal-request-lightbox-body{padding:1.15rem 1.35rem 1.5rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.portal-request-lightbox-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem .85rem;margin-bottom:1rem}.portal-request-lightbox-meta{font-size:.8125rem;color:var(--portal-ink-muted)}.portal-request-lightbox-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.75rem 1.25rem;margin-bottom:1.25rem;padding-bottom:1.1rem;border-bottom:1px solid var(--portal-border)}.portal-request-lightbox-facts dt{font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-request-lightbox-facts dd{margin-top:.25rem;font-size:.875rem;color:var(--portal-ink)}.portal-request-lightbox-section{margin-bottom:1.35rem}.portal-request-lightbox-message{margin-top:.55rem;white-space:pre-wrap;font-size:.9375rem;line-height:1.6;color:var(--portal-ink)}.portal-request-lightbox-hint{margin-top:.4rem;margin-bottom:.85rem;font-size:.8125rem;color:var(--portal-ink-muted)}.portal-request-attachment-list{display:grid;gap:.45rem;margin:.55rem 0 .95rem}.portal-request-attachment-link{display:flex;align-items:center;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:color-mix(in srgb,var(--portal-surface) 88%,#edf2f7);color:var(--portal-navy);font-size:.875rem;text-decoration:none;transition:border-color .18s ease,background .18s ease}@media (hover:hover) and (pointer:fine){.portal-request-attachment-link:hover{border-color:var(--portal-border-strong);background:var(--portal-surface)}}.portal-request-lightbox-handle{display:none;width:2.5rem;height:.25rem;margin:.65rem auto 0;border-radius:999px;background:color-mix(in srgb,var(--portal-ink-faint) 55%,transparent)}.portal-request-link-form{margin-top:.35rem}.portal-request-link-fields{display:grid;grid-template-columns:1fr;gap:.55rem;margin-top:.55rem}@media (min-width:640px){.portal-request-link-fields{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;align-items:center}}@media (max-width:639px){.portal-requests-page-actions{width:100%;flex-direction:column;align-items:stretch}.portal-requests-page-actions .portal-requests-action-btn,.portal-requests-page-actions .portal-requests-sync{width:100%}.portal-requests-page-actions .portal-requests-action-btn{justify-content:center}.portal-requests-page-actions .portal-requests-sync{align-items:stretch}.portal-request-card-trigger{padding:1rem .95rem}.portal-request-card-header{flex-direction:column;align-items:stretch;gap:.65rem}.portal-request-card-badges{justify-content:flex-start}.portal-request-card .portal-task-card-row{flex-direction:column;align-items:flex-start;gap:.2rem}.portal-request-card .portal-task-card-description{margin-top:.75rem;padding-top:.75rem}.portal-request-card-hint{margin-top:.75rem;padding-top:.65rem}.portal-request-lightbox-backdrop{align-items:flex-end;padding:0}.portal-request-lightbox{width:100%;max-height:min(94dvh,100%);border-radius:12px 12px 0 0;transform:translateY(100%)}.portal-request-lightbox--open{transform:translateY(0)}.portal-request-lightbox-handle{display:block}.portal-request-lightbox-header{padding:.85rem 1rem;gap:.75rem}.portal-request-lightbox-title{font-size:1.05rem;line-height:1.35}.portal-request-lightbox-body{padding:1rem 1rem max(1.25rem,env(safe-area-inset-bottom))}.portal-request-lightbox-facts{grid-template-columns:1fr;gap:.85rem}.portal-request-lightbox-toolbar{gap:.5rem .65rem}.portal-request-attachment-link{min-height:var(--portal-touch-target);padding:.75rem .85rem}.portal-request-comment-submit,.portal-request-link-submit{width:100%}.portal-request-comment-actions{display:block}.portal-modal .portal-input,.portal-request-lightbox .portal-input,.portal-request-lightbox .portal-markdown-editor-input{font-size:1rem}.portal-modal-header .portal-title{font-size:1.35rem}.portal-contact-form-actions{flex-direction:column-reverse;align-items:stretch}.portal-contact-form-actions .portal-btn-secondary,.portal-contact-form-actions .portal-contact-form-submit{width:100%;justify-content:center}.portal-request-lightbox .portal-comment-reaction-pill{min-height:2.25rem;padding:.35rem .55rem}.portal-request-lightbox .portal-comment-reaction-add{width:2.25rem;height:2.25rem}.portal-request-lightbox .portal-comment-reaction-popover{right:0;left:auto}}@media (prefers-reduced-motion:reduce){.portal-request-lightbox,.portal-request-lightbox-backdrop{transition:none}.portal-request-lightbox,.portal-request-lightbox--open{transform:none}.portal-nav-pulse,.portal-request-card-pulse{animation:none}}.portal-task-card{padding:1.1rem 1.15rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:var(--portal-radius);box-shadow:var(--portal-shadow-sm)}.portal-task-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.portal-task-card-title{font-size:.9375rem;font-weight:600;color:var(--portal-ink);line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.portal-task-card-description{margin-top:.85rem;padding-top:.85rem;border-top:1px solid var(--portal-border);font-size:.875rem;line-height:1.55;color:var(--portal-ink-muted);overflow-wrap:anywhere;word-break:break-word}.portal-task-card-drive{margin-top:.85rem}.portal-task-card-meta{display:grid;gap:.65rem;margin-top:.85rem;font-size:.8125rem}.portal-task-card-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.portal-task-card-row--action dd{flex-shrink:0}.portal-task-card-label{flex-shrink:0;font-size:.6875rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-ink-faint)}.portal-task-board-section{width:100%;position:relative}.portal-task-board-section.is-syncing .portal-task-board,.portal-task-board-section.is-syncing .portal-task-cards{pointer-events:none;opacity:.45}.portal-task-board-sync-overlay{position:absolute;inset:0;z-index:5;display:flex;align-items:flex-start;justify-content:center;padding-top:2.5rem;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.55) 42%,rgba(255,255,255,0));pointer-events:none}.portal-task-board-sync-overlay p{margin:0;padding:.55rem .9rem;border:1px solid var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-navy)}@media (min-width:768px){.portal-task-board-section{margin-inline:-1.5rem;width:calc(100% + 3rem)}}@media (min-width:1024px){.portal-task-board-section{--portal-task-inset:2rem;box-sizing:border-box;width:calc(100vw - var(--portal-sidebar-width) - var(--portal-task-inset) * 2);max-width:1440px;margin-inline:auto;position:relative;left:50%;transform:translateX(-50%)}.portal-shell.is-sidebar-collapsed .portal-task-board-section{width:calc(100vw - var(--portal-sidebar-collapsed-width) - var(--portal-task-inset) * 2)}}@media (min-width:1280px){.portal-task-board-section{--portal-task-inset:3rem}}.portal-task-board{--portal-task-drag-slot:1.375rem;min-width:0;max-width:100%;overflow-x:hidden}.portal-task-board table{table-layout:fixed;min-width:0!important;width:100%}.portal-task-board td,.portal-task-board th{overflow-wrap:anywhere;word-break:break-word}.portal-task-board th{padding:.75rem .9rem}.portal-task-sort-btn{display:inline-flex;max-width:100%;align-items:center;gap:.35rem;margin:-.2rem -.35rem;padding:.2rem .35rem;border:0;border-radius:calc(var(--portal-radius) - 1px);background:transparent;color:inherit;font:inherit;font-weight:600;letter-spacing:.02em;text-transform:inherit;text-align:left;cursor:pointer;transition:color .18s ease,background-color .18s ease}.portal-task-sort-btn:hover{background:color-mix(in srgb,var(--portal-navy) 6%,transparent);color:var(--portal-ink)}.portal-task-sort-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--portal-navy) 45%,transparent);outline-offset:1px}.portal-task-sort-btn.is-active{color:var(--portal-navy)}.portal-task-sort-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-task-sort-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;color:color-mix(in srgb,var(--portal-ink-muted) 72%,transparent);opacity:.55;transition:opacity .18s ease,color .18s ease,transform .18s ease}.portal-task-sort-btn:hover .portal-task-sort-icon{opacity:.9}.portal-task-sort-btn.is-active .portal-task-sort-icon{opacity:1;color:var(--portal-navy)}.portal-app[data-theme=dark] .portal-task-sort-btn:hover{background:rgba(255,255,255,.06)}.portal-app[data-theme=dark] .portal-task-sort-btn.is-active,.portal-app[data-theme=dark] .portal-task-sort-btn.is-active .portal-task-sort-icon{color:#fff}.portal-task-board td{padding:.9rem}.portal-task-board .portal-task-col-title{width:20%}.portal-task-board td.portal-task-col-title,.portal-task-board th.portal-task-col-title{padding-left:.55rem}.portal-task-title-with-handle{display:flex;align-items:flex-start;gap:.35rem;min-width:0}.portal-task-drag-slot{flex-shrink:0;width:var(--portal-task-drag-slot);display:inline-flex;align-items:flex-start;justify-content:center;padding-top:.05rem}.portal-task-title-with-handle .portal-task-row-title{flex:1;min-width:0}.portal-task-board .portal-task-col-status{width:11%;white-space:nowrap}.portal-task-board .portal-task-col-priority,.portal-task-board .portal-task-col-quarter{width:7%}.portal-task-board .portal-task-col-due{width:8%;white-space:nowrap}.portal-task-board .portal-task-col-description{width:18%;max-width:0}.portal-task-board .portal-task-col-assigned{width:10%;white-space:nowrap}.portal-task-board .portal-task-col-drive{width:7%;min-width:6.5rem}.portal-task-board tbody tr:last-child td{border-bottom:none}.portal-task-reorder-error{margin:0 0 .75rem;font-size:.8125rem;color:#b91c1c}.portal-task-drag-handle{display:inline-flex;align-items:center;justify-content:center;padding:.15rem;border:none;background:transparent;color:color-mix(in srgb,var(--portal-ink-muted) 85%,transparent);border-radius:.25rem;cursor:grab;touch-action:none;opacity:.28;transition:opacity .2s ease,color .2s ease,background-color .2s ease,transform .45s cubic-bezier(.22,1,.36,1)}.portal-task-drag-handle:focus-visible,.portal-task-drag-handle:hover,.portal-task-row--dragging .portal-task-drag-handle,.portal-task-row:hover .portal-task-drag-handle{opacity:1}@media (hover:none){.portal-task-drag-handle{opacity:.55}}.portal-task-drag-handle:hover{color:var(--portal-navy);background:color-mix(in srgb,var(--portal-navy) 8%,transparent)}.portal-task-drag-handle:active{cursor:grabbing}.portal-task-card-header-start{display:flex;align-items:flex-start;gap:.35rem;min-width:0;flex:1}.portal-task-row--dragging{opacity:.62;z-index:2;position:relative}.portal-task-row--dragging .portal-task-drag-handle{cursor:grabbing}.portal-task-row{--portal-task-sweep:color-mix(in srgb,var(--portal-navy) 7%,transparent)}.portal-task-board tbody tr.portal-task-row{background-color:transparent;background-image:linear-gradient(90deg,transparent 0,var(--portal-task-sweep) 42%,color-mix(in srgb,var(--portal-navy) 4%,transparent) 50%,var(--portal-task-sweep) 58%,transparent 100%);background-size:0 100%;background-repeat:no-repeat;background-position:0;transition:background-size .55s cubic-bezier(.22,1,.36,1),background-color .28s ease}.portal-task-board tbody tr.portal-task-row>td{background-color:var(--portal-surface);transition:background-color .28s ease,border-color .35s ease}.portal-task-board tbody tr.portal-task-row>td:first-child{border-left:2px solid transparent}.portal-task-board tbody tr.portal-task-row:hover{background-size:100% 100%;background-color:color-mix(in srgb,var(--portal-navy) 2.5%,var(--portal-surface))}.portal-task-board tbody tr.portal-task-row:hover>td{background-color:transparent}.portal-task-board tbody tr.portal-task-row:hover>td:first-child{border-left-color:var(--portal-navy)}.portal-task-row-title{display:inline-block;transition:transform .45s cubic-bezier(.22,1,.36,1)}.portal-task-board tbody tr.portal-task-row:hover .portal-task-drag-handle,.portal-task-board tbody tr.portal-task-row:hover .portal-task-row-title{transform:translateX(3px)}.portal-task-card.portal-task-row{position:relative;overflow:hidden;background-color:transparent;background-image:linear-gradient(90deg,transparent 0,var(--portal-task-sweep) 42%,color-mix(in srgb,var(--portal-navy) 4%,transparent) 50%,var(--portal-task-sweep) 58%,transparent 100%);background-size:0 100%;background-repeat:no-repeat;background-position:0;transition:background-size .55s cubic-bezier(.22,1,.36,1),background-color .28s ease,border-color .28s ease,box-shadow .28s ease}.portal-task-card.portal-task-row:hover{background-size:100% 100%;background-color:color-mix(in srgb,var(--portal-navy) 2.5%,var(--portal-surface));border-color:color-mix(in srgb,var(--portal-navy) 18%,var(--portal-border));box-shadow:var(--portal-shadow-md)}.portal-task-card.portal-task-row:hover .portal-task-drag-handle{transform:translateX(3px)}.portal-task-card.portal-task-row:hover .portal-task-card-title{transform:translateX(3px);transition:transform .45s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion:reduce){.portal-task-board tbody tr.portal-task-row,.portal-task-card.portal-task-row{background-image:none;transition:background-color .15s ease}.portal-task-card.portal-task-row:hover .portal-task-card-title,.portal-task-drag-handle,.portal-task-row-title{transform:none;transition:none}.portal-task-board tbody tr.portal-task-row:hover>td,.portal-task-card.portal-task-row:hover{background-color:var(--portal-surface-muted)}}.portal-task-col-description,.portal-task-col-title{min-width:0}.portal-task-col-description p,.portal-task-col-title p{overflow-wrap:anywhere;word-break:break-word;hyphens:auto}.portal-task-description{min-width:0;max-width:100%}.portal-task-description-preview{margin:0;font-size:.75rem;line-height:1.45;color:var(--portal-ink-muted);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;word-break:break-word}.portal-task-description-full{max-height:16rem;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:var(--portal-border-strong) transparent}.portal-task-description-panel{padding:.15rem 0}.portal-rich-text{color:inherit}.portal-rich-text-list+.portal-rich-text-paragraph,.portal-rich-text-paragraph+.portal-rich-text-paragraph{margin-top:.75rem}.portal-rich-text-subheading+.portal-rich-text-list,.portal-rich-text-subheading+.portal-rich-text-paragraph{margin-top:.625rem}.portal-rich-text-paragraph{white-space:pre-line}.portal-rich-text-subheading{margin:0;font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:1rem;font-weight:400;line-height:1.4;color:var(--portal-navy)}.portal-rich-text-list+.portal-rich-text-subheading,.portal-rich-text-paragraph+.portal-rich-text-subheading,.portal-rich-text-subheading:not(:first-child){margin-top:1.35rem}.portal-rich-text-list{margin:0;padding-left:1.25rem;list-style:disc}.portal-rich-text-list-numbered{list-style:decimal}.portal-rich-text-list li{display:list-item}.portal-rich-text-list-item{display:inline}.portal-rich-text-list li+li{margin-top:.35rem}.portal-rich-text-link{color:var(--portal-accent);font-weight:500;text-decoration:underline;text-decoration-color:rgba(34,81,255,.42);text-underline-offset:.14em;transition:color .18s ease,text-decoration-color .18s ease}.portal-rich-text-link:hover{color:var(--portal-navy);text-decoration-color:rgba(5,28,44,.35)}.portal-task-description-toggle{margin-top:.35rem;padding:0;border:0;background:none;color:var(--portal-navy);font-size:.6875rem;font-weight:600;letter-spacing:.02em;line-height:1.2;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(5,28,44,.28);text-underline-offset:.15em;white-space:nowrap;transition:color .18s ease,text-decoration-color .18s ease}.portal-task-description-toggle:hover{color:var(--portal-accent);text-decoration-color:rgba(34,81,255,.45)}.portal-task-col-title p{line-height:1.4}.portal-task-col-description p{margin:0}.portal-task-col-drive{white-space:nowrap}.portal-task-empty{color:var(--portal-ink-faint)}.portal-task-drive-link,.portal-task-file-button{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .6rem;border:1px solid var(--portal-border-strong);border-radius:6px;background:var(--portal-surface);color:var(--portal-navy);font-size:.6875rem;font-weight:500;line-height:1.2;white-space:nowrap;transition:border-color .18s ease,background .18s ease,color .18s ease}.portal-task-drive-link:hover,.portal-task-file-button:hover{border-color:var(--portal-fill);background:var(--portal-surface-muted);color:var(--portal-navy)}.portal-task-file-actions,.portal-task-file-actions-only{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--portal-border)}.portal-task-file-actions-only{margin-top:0;padding-top:0;border-top:none}.portal-task-file-actions-label{margin:0 0 .65rem;font-size:.625rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--portal-ink-faint)}.portal-task-file-actions-list{display:flex;flex-wrap:wrap;gap:.5rem}.portal-task-file-button{font-size:.75rem;padding:.5rem .75rem}.portal-task-status-cell{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.portal-task-status-badge-trigger{display:inline-flex;padding:0;border:none;background:transparent;border-radius:999px;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}.portal-task-status-badge-trigger:focus-visible,.portal-task-status-badge-trigger:hover{transform:translateY(-1px);box-shadow:var(--portal-shadow-sm);outline:none}.portal-task-status-badge-trigger:focus-visible{outline:2px solid color-mix(in srgb,var(--portal-navy) 35%,transparent);outline-offset:2px}.portal-task-activity-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--portal-border)}.portal-task-status-picker{margin:-.35rem 0 1.25rem;padding:.9rem 0 1rem;border-bottom:1px solid var(--portal-border)}.portal-task-status-picker-header{display:grid;gap:.35rem;margin-bottom:.85rem}.portal-task-status-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.portal-task-status-picker-label{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--portal-ink)}.portal-task-status-picker-hint{margin:0;font-size:.8125rem;color:var(--portal-ink-muted)}.portal-task-status-help-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .55rem;border:1px solid var(--portal-border-strong);border-radius:999px;background:var(--portal-surface);color:var(--portal-ink-muted);font-size:.6875rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease}.portal-task-status-help-btn:hover{border-color:color-mix(in srgb,var(--portal-navy) 28%,var(--portal-border));color:var(--portal-ink);background:color-mix(in srgb,var(--portal-navy) 4%,white)}.portal-task-status-menu{position:relative;max-width:22rem}.portal-task-status-trigger{display:inline-flex;width:100%;align-items:center;gap:.55rem;min-height:2.5rem;padding:.45rem .75rem;border:1px solid;border-radius:.35rem;font-size:.8125rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:filter .16s ease,box-shadow .16s ease}.portal-task-status-trigger:hover:not(:disabled){filter:brightness(.98);box-shadow:0 8px 18px rgba(5,28,44,.06)}.portal-task-status-trigger:disabled{cursor:wait;opacity:.85}.portal-task-status-trigger-label{flex:1;text-align:left}.portal-task-status-swatch{display:inline-block;width:.55rem;height:.55rem;border-radius:999px;flex-shrink:0}.portal-task-status-list{position:absolute;z-index:30;top:calc(100% + .4rem);left:0;right:0;margin:0;padding:.35rem;list-style:none;border:1px solid var(--portal-border-strong);border-radius:.45rem;background:#fff;box-shadow:0 18px 40px rgba(5,28,44,.12)}.portal-task-status-list-item{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) .9rem;align-items:center;gap:.65rem;width:100%;padding:.55rem .6rem;border:0;border-radius:.3rem;background:transparent;text-align:left;cursor:pointer;transition:background .15s ease}.portal-task-status-list-item:hover:not(:disabled){background:color-mix(in srgb,var(--portal-navy) 4%,white)}.portal-task-status-list-item.is-active{background:color-mix(in srgb,var(--portal-accent) 6%,white)}.portal-task-status-list-item:disabled:not(.is-active){cursor:wait;opacity:.7}.portal-task-status-list-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .55rem;border-radius:.25rem;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.portal-task-status-list-summary{font-size:.75rem;line-height:1.35;color:var(--portal-ink-muted)}.portal-task-status-list-check{color:var(--portal-accent);justify-self:end}.portal-task-status-help{margin-top:.85rem;padding:.85rem .9rem;border:1px solid var(--portal-border);border-radius:.45rem;background:color-mix(in srgb,var(--portal-navy) 2.5%,white)}.portal-task-status-help-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.portal-task-status-help-title{margin:0;font-size:.8125rem;font-weight:650;color:var(--portal-ink)}.portal-task-status-help-close{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border:1px solid var(--portal-border);border-radius:999px;background:#fff;color:var(--portal-ink-muted);cursor:pointer}.portal-task-status-help-close:hover{color:var(--portal-ink)}.portal-task-status-help-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.portal-task-status-help-item{display:grid;gap:.35rem}.portal-task-status-help-item p{margin:0;font-size:.8125rem;line-height:1.45;color:var(--portal-ink-muted)}.portal-task-status-picker-error{margin:.65rem 0 0;font-size:.8125rem;color:#b42318}@media (max-width:640px){.portal-task-status-menu{max-width:none}.portal-task-status-list-item{grid-template-columns:minmax(0,1fr) .9rem}.portal-task-status-list-summary{grid-column:1/-1;padding-left:.15rem}.portal-task-status-list-check{grid-column:2;grid-row:1}}.portal-task-activity-trigger{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;min-width:1.75rem;height:1.75rem;padding:0 .4rem;border:1px solid var(--portal-border-strong);border-radius:999px;background:var(--portal-surface);color:var(--portal-ink-muted);transition:border-color .22s ease,background .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease}.portal-task-activity-trigger--active,.portal-task-activity-trigger:hover{border-color:color-mix(in srgb,var(--portal-navy) 28%,var(--portal-border-strong));background:var(--portal-surface-muted);color:var(--portal-navy);box-shadow:var(--portal-shadow-sm)}.portal-task-activity-trigger--active{background:var(--portal-accent-soft);border-color:color-mix(in srgb,var(--portal-accent) 24%,var(--portal-border-strong))}.portal-task-activity-trigger:active{transform:scale(.96)}.portal-task-activity-count{min-width:.85rem;font-size:.625rem;font-weight:700;line-height:1;letter-spacing:.02em}.portal-activity-backdrop{position:fixed;inset:0;z-index:120;display:flex;justify-content:flex-end;align-items:stretch;background:rgba(5,28,44,0);backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);transition:background .32s cubic-bezier(.22,1,.36,1),backdrop-filter .32s cubic-bezier(.22,1,.36,1)}.portal-activity-backdrop--open{background:rgba(5,28,44,.48);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.portal-activity-backdrop--open{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(5,28,44,.72)}}@media (max-width:639px){.portal-activity-backdrop{align-items:flex-end;justify-content:center}}.portal-activity-panel{display:flex;flex-direction:column;width:min(100%,38rem);height:100dvh;max-height:100dvh;overflow:hidden;border-left:1px solid var(--portal-border);background:var(--portal-surface);box-shadow:-24px 0 64px rgba(5,28,44,.16);transform:translateX(100%);opacity:.98;transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .32s cubic-bezier(.22,1,.36,1)}.portal-activity-panel--open{transform:translateX(0);opacity:1}@media (max-width:639px){.portal-activity-panel{width:100%;height:auto;max-height:min(90dvh,100%);border-left:0;border-top:1px solid var(--portal-border);border-radius:12px 12px 0 0;box-shadow:0 -20px 56px rgba(5,28,44,.18);transform:translateY(100%)}.portal-activity-panel--open{transform:translateY(0)}}.portal-activity-handle{display:none;width:2.5rem;height:.25rem;margin:.65rem auto 0;border-radius:999px;background:color-mix(in srgb,var(--portal-ink-faint) 55%,transparent)}@media (max-width:639px){.portal-activity-handle{display:block}}.portal-activity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0;padding:1.35rem 1.35rem 1rem;border-bottom:1px solid var(--portal-border);background:linear-gradient(180deg,color-mix(in srgb,var(--portal-navy) 3%,var(--portal-surface)) 0,var(--portal-surface) 100%)}@media (max-width:639px){.portal-activity-header{padding-top:.85rem}}.portal-activity-header-copy{min-width:0}.portal-activity-title{margin:.55rem 0 0;font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:1.25rem;font-weight:400;line-height:1.35;color:var(--portal-ink)}.portal-activity-summary{margin:.55rem 0 0;font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-ink-faint)}.portal-activity-body{flex:1;min-height:0;overflow-y:auto;padding:1.1rem 1.35rem 1.35rem;-webkit-overflow-scrolling:touch}.portal-activity-empty{display:grid;justify-items:center;gap:.85rem;padding:2.5rem 1rem;text-align:center;border:1px dashed var(--portal-border-strong);border-radius:var(--portal-radius);background:var(--portal-surface-muted)}.portal-activity-empty-icon{width:1.35rem;height:1.35rem;color:var(--portal-ink-faint)}.portal-activity-empty p{margin:0;max-width:18rem;font-size:.875rem;line-height:1.55;color:var(--portal-ink-muted)}.portal-status-history{display:flex;flex-direction:column;gap:.65rem}.portal-status-history-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:.7rem .85rem;border:1px solid color-mix(in srgb,var(--portal-border) 92%,transparent);border-radius:calc(var(--portal-radius) - 1px);background:color-mix(in srgb,var(--portal-surface-muted,#f8f9fb) 88%,var(--portal-surface))}.portal-status-history-summary-main{display:flex;align-items:center;gap:.75rem;min-width:0;flex:1 1 12rem}.portal-status-history-summary-meta{min-width:0}.portal-status-history-summary-title{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-status-history-summary-line{margin:.15rem 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .45rem;font-size:.8rem;line-height:1.35;color:var(--portal-ink-faint)}.portal-status-history-toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .55rem;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--portal-ink-muted);font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.portal-status-history-toggle:hover{color:var(--portal-ink);background:color-mix(in srgb,var(--portal-navy) 6%,var(--portal-surface))}.portal-status-history-hint{margin:0;padding:0 .15rem;font-size:.8rem;line-height:1.4;color:var(--portal-ink-muted)}.portal-status-history-list{margin-top:.15rem}@media (max-width:640px){.portal-status-history-summary{padding:.65rem .7rem}.portal-status-history-toggle{width:100%;justify-content:center}}.portal-task-activity-list{list-style:none;margin:0;padding:0;display:grid;gap:0}.portal-task-activity-item{position:relative;display:grid;grid-template-columns:.75rem minmax(0,1fr);gap:.85rem;padding-bottom:1.1rem}.portal-task-activity-item:not(:last-child):before{content:"";position:absolute;left:.34rem;top:.55rem;bottom:0;width:1px;background:var(--portal-border-strong)}.portal-task-activity-marker{width:.65rem;height:.65rem;margin-top:.35rem;border:1px solid var(--portal-border-strong);border-radius:999px;background:var(--portal-surface);box-shadow:inset 0 0 0 2px var(--portal-surface);position:relative;z-index:1}.portal-task-activity-item--current,.portal-task-activity-item--current[data-status=backlog]{--status-pulse:#64748b}.portal-task-activity-item--current[data-status=planned]{--status-pulse:#2563eb}.portal-task-activity-item--current[data-status=in_progress]{--status-pulse:#d97706}.portal-task-activity-item--current[data-status=staging]{--status-pulse:#7c3aed}.portal-task-activity-item--current[data-status=completed]{--status-pulse:#059669}.portal-task-activity-item--current[data-status=blocked]{--status-pulse:#dc2626}.portal-task-activity-item--current .portal-task-activity-marker{border-color:var(--status-pulse);background:var(--status-pulse);box-shadow:none}.portal-task-activity-item--current .portal-task-activity-marker:after{content:"";position:absolute;inset:-.2rem;border-radius:999px;border:1.5px solid var(--status-pulse);opacity:.7;animation:portal-task-status-pulse 1.8s ease-out infinite;pointer-events:none}@keyframes portal-task-status-pulse{0%{transform:scale(.85);opacity:.65}70%{transform:scale(2.1);opacity:0}to{transform:scale(2.1);opacity:0}}@media (prefers-reduced-motion:reduce){.portal-task-activity-item--current .portal-task-activity-marker:after{animation:none;opacity:.35;transform:scale(1.35)}}.portal-task-activity-card{min-width:0;padding:.95rem 1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm);transition:border-color .18s ease,box-shadow .18s ease}.portal-task-activity-card--comment{border:0;border-radius:0;box-shadow:none;background:transparent;padding:0}.portal-comment-header{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;margin-bottom:.3rem}.portal-comment-header .portal-task-activity-author{margin:0;font-size:.875rem;font-weight:650;color:var(--portal-ink)}.portal-comment-header .portal-task-activity-time{font-size:.72rem;color:var(--portal-ink-faint)}.portal-comment-node{display:block;scroll-margin:1.25rem}.portal-comment-node.is-comment-target .portal-task-activity-card--comment{border-radius:calc(var(--portal-radius) - 2px);padding:.65rem .75rem;background:color-mix(in srgb,var(--portal-navy) 5%,var(--portal-surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--portal-navy) 22%,transparent);animation:portal-comment-target 1.2s ease-out 2}@keyframes portal-comment-target{0%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}to{box-shadow:0 0 0 .45rem rgba(220,38,38,0)}}.portal-task-activity-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem}.portal-task-activity-kind{font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--portal-navy)}.portal-task-activity-time{font-size:.6875rem;color:var(--portal-ink-faint);white-space:nowrap}.portal-task-activity-author{margin:.45rem 0 0;font-size:.8125rem;font-weight:600;color:var(--portal-ink)}.portal-task-activity-author--empty{color:var(--portal-ink-muted);font-weight:500}.portal-task-activity-author-row{display:flex;align-items:center;gap:.4rem;margin-top:.45rem}.portal-task-activity-author-row .portal-task-activity-author{margin:0}.portal-task-activity-author-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface);color:var(--portal-ink-muted);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.portal-task-activity-author-edit-btn:hover{color:var(--portal-ink);border-color:var(--portal-border-strong);background:color-mix(in srgb,var(--portal-navy) 4%,white)}.portal-task-activity-author-edit{display:grid;gap:.45rem;margin-top:.45rem}.portal-task-activity-author-combobox{position:relative}.portal-task-activity-author-menu{position:absolute;z-index:40;top:calc(100% + .3rem);left:0;right:0;margin:0;padding:.3rem;border:1px solid var(--portal-border-strong);border-radius:.4rem;background:#fff;box-shadow:0 14px 32px rgba(5,28,44,.12);max-height:12rem;overflow:auto}.portal-task-activity-author-menu-empty{margin:0;padding:.55rem .65rem;font-size:.75rem;color:var(--portal-ink-muted)}.portal-task-activity-author-menu-item{display:grid;gap:.1rem;width:100%;padding:.5rem .65rem;border:0;border-radius:.3rem;background:transparent;text-align:left;cursor:pointer}.portal-task-activity-author-menu-item.is-active,.portal-task-activity-author-menu-item:hover{background:color-mix(in srgb,var(--portal-navy) 5%,white)}.portal-task-activity-author-menu-label{font-size:.8125rem;font-weight:600;color:var(--portal-ink)}.portal-task-activity-author-menu-sub{font-size:.6875rem;color:var(--portal-ink-muted)}.portal-task-activity-author-input{width:100%;min-height:2.25rem;padding:.4rem .65rem;border:1px solid var(--portal-border-strong);border-radius:.35rem;background:#fff;color:var(--portal-ink);font-size:.8125rem}.portal-task-activity-author-input:focus{outline:2px solid color-mix(in srgb,var(--portal-navy) 28%,transparent);outline-offset:1px}.portal-task-activity-author-actions{display:flex;flex-wrap:wrap;gap:.4rem}.portal-task-activity-author-cancel,.portal-task-activity-author-save{display:inline-flex;align-items:center;gap:.3rem;min-height:1.85rem;padding:.25rem .65rem;border-radius:.3rem;font-size:.75rem;font-weight:600;cursor:pointer}.portal-task-activity-author-save{border:1px solid color-mix(in srgb,var(--portal-navy) 35%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 8%,white);color:var(--portal-ink)}.portal-task-activity-author-save:disabled{opacity:.55;cursor:not-allowed}.portal-task-activity-author-cancel{border:1px solid var(--portal-border);background:transparent;color:var(--portal-ink-muted)}.portal-task-activity-author-feedback{margin:.35rem 0 0;font-size:.75rem;color:var(--portal-ink-muted)}.portal-task-activity-body{margin:.45rem 0 0;font-size:.8125rem;line-height:1.55;color:var(--portal-ink-muted);overflow-wrap:anywhere;word-break:break-word}.portal-task-activity-body--comment{white-space:pre-wrap}.portal-task-activity-status{margin-top:.55rem}.portal-task-activity-reply-label{margin:.15rem 0 .45rem;font-size:.78rem;font-weight:600;color:var(--portal-ink-muted)}.portal-task-activity-actions{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.75rem}.portal-task-activity-action{border:none;background:transparent;padding:0;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-navy);cursor:pointer}.portal-task-activity-action:hover{text-decoration:underline}.portal-task-activity-action--danger{color:#b42318}.portal-comment-delete-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem .75rem;margin-top:.75rem;padding:.55rem .65rem;border-radius:calc(var(--portal-radius) - 2px);background:color-mix(in srgb,var(--portal-ink) 4%,var(--portal-blend));border:1px solid var(--portal-border)}.portal-comment-delete-confirm-text{margin:0;flex:1 1 10rem;font-size:.8125rem;line-height:1.45;color:var(--portal-ink-muted)}.portal-comment-delete-confirm-actions{display:inline-flex;align-items:center;gap:.35rem}.portal-comment-delete-confirm-btn{display:inline-flex;align-items:center;gap:.3rem;min-height:1.75rem;padding:.2rem .65rem;border:none;border-radius:4px;background:var(--portal-surface);box-shadow:inset 0 0 0 1px var(--portal-border-strong);font-size:.78rem;font-weight:600;color:var(--portal-ink);cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease}.portal-comment-delete-confirm-btn:hover:not(:disabled){background:color-mix(in srgb,var(--portal-ink) 4%,var(--portal-blend))}.portal-comment-delete-confirm-btn--danger{color:#b42318;box-shadow:inset 0 0 0 1px color-mix(in srgb,#b42318 35%,var(--portal-border))}.portal-comment-delete-confirm-btn--danger:hover:not(:disabled){background:color-mix(in srgb,#b42318 8%,var(--portal-blend))}.portal-comment-delete-confirm-btn:disabled{opacity:.6;cursor:default}.portal-task-activity-edit-form{margin-top:.35rem}.portal-task-activity-edit-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.portal-task-activity-feedback{margin-top:.55rem;font-size:.82rem}.portal-task-activity-reply-banner{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.75rem;padding:.65rem .75rem;border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface-muted,#f8f9fb);border:1px solid var(--portal-border)}.portal-task-activity-reply-banner-text{font-size:.82rem;font-weight:600;color:var(--portal-ink-muted)}.portal-task-activity-reply-banner-close{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border:none;border-radius:999px;background:transparent;color:var(--portal-ink-muted);cursor:pointer}.portal-task-activity-reply-banner-close:hover{background:var(--portal-surface);color:var(--portal-ink)}.portal-task-activity-comment-form{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--portal-border)}.portal-task-activity-readonly-hint{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--portal-border);font-size:.84rem;line-height:1.5;color:var(--portal-ink-muted)}.portal-task-activity-sections{display:flex;flex-direction:column;gap:1.5rem}.portal-task-activity-section-title{margin:0 0 .85rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-comment-thread{display:flex;flex-direction:column;gap:1.35rem}.portal-comment-branch{min-width:0}.portal-comment-branch-row{display:grid;grid-template-columns:1.35rem minmax(0,1fr);column-gap:.65rem;align-items:start}.portal-comment-branch-row--leaf{grid-template-columns:minmax(0,1fr);column-gap:0}.portal-comment-gutter{position:relative;display:flex;justify-content:center;padding-top:.1rem}.portal-comment-collapse{z-index:1;display:inline-flex;align-items:center;justify-content:center;width:1.2rem;height:1.2rem;border:1px solid color-mix(in srgb,var(--portal-ink) 22%,var(--portal-border));border-radius:3px;background:var(--portal-surface);color:var(--portal-ink-muted);cursor:pointer;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.portal-comment-collapse:hover{border-color:color-mix(in srgb,var(--portal-navy) 45%,var(--portal-border));color:var(--portal-ink);background:color-mix(in srgb,var(--portal-navy) 6%,var(--portal-surface))}.portal-comment-branch-content{min-width:0;padding-bottom:.1rem}.portal-comment-children{position:relative;display:flex;flex-direction:column;gap:.95rem;margin-top:.75rem;margin-left:.15rem;padding:.4rem 0 .1rem 1.45rem;border-left:2px solid color-mix(in srgb,var(--portal-navy) 55%,var(--portal-border))}.portal-comment-branch.is-nested{position:relative}.portal-comment-expand-more{display:inline-flex;align-items:center;gap:.4rem;margin-top:.55rem;padding:.3rem .55rem;border:0;border-radius:4px;background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface));color:var(--portal-ink-muted);font-size:.75rem;font-weight:600;cursor:pointer;transition:color .18s ease,background-color .18s ease}.portal-comment-expand-more:hover{color:var(--portal-ink);background:color-mix(in srgb,var(--portal-navy) 14%,var(--portal-surface))}.portal-comment-rail{display:none}.portal-comment-node .portal-task-activity-body--comment{margin:0;font-size:.9rem;line-height:1.55}.portal-comment-node .portal-task-activity-actions{margin-top:.4rem;padding-top:0;border-top:0;gap:.5rem}.portal-comment-thread>.portal-comment-branch+.portal-comment-branch{padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--portal-border) 90%,transparent)}.portal-app[data-theme=dark] .portal-comment-children{border-left-color:color-mix(in srgb,#9db0c4 58%,transparent)}.portal-comment-quote{margin:.2rem 0 .55rem;padding:.55rem .7rem;border-left:3px solid color-mix(in srgb,var(--portal-navy) 35%,var(--portal-border));border-radius:0 calc(var(--portal-radius) - 2px) calc(var(--portal-radius) - 2px) 0;background:color-mix(in srgb,var(--portal-surface-muted,#f8f9fb) 88%,white)}.portal-comment-quote-label{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-comment-quote-text{margin:.3rem 0 0;font-size:.8rem;line-height:1.45;color:var(--portal-ink-muted)}.portal-comment-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.55rem}.portal-comment-reaction-list{display:flex;flex-wrap:wrap;gap:.3rem}.portal-comment-reaction-pill{display:inline-flex;align-items:center;gap:.28rem;min-height:1.5rem;padding:.1rem .45rem;border:1px solid var(--portal-border);border-radius:4px;background:var(--portal-surface);font-size:.78rem;line-height:1;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.portal-comment-reaction-pill:hover:not(:disabled){border-color:var(--portal-border-strong);background:color-mix(in srgb,var(--portal-navy) 4%,var(--portal-blend))}.portal-comment-reaction-pill--mine{border-color:color-mix(in srgb,var(--portal-navy) 30%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 6%,var(--portal-blend))}.portal-comment-reaction-pill:disabled{cursor:default}.portal-comment-reaction-count{font-size:.68rem;font-weight:600;letter-spacing:.02em;color:var(--portal-ink-muted)}.portal-comment-reaction-add-wrap{position:relative}.portal-comment-reaction-add{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border:1px solid var(--portal-border);border-radius:4px;background:transparent;color:var(--portal-ink-faint);cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.portal-comment-reaction-add--open,.portal-comment-reaction-add:hover:not(:disabled){border-color:var(--portal-border-strong);color:var(--portal-navy);background:color-mix(in srgb,var(--portal-navy) 5%,var(--portal-blend))}.portal-comment-reaction-add:disabled{opacity:.55;cursor:default}.portal-comment-reaction-popover{position:absolute;z-index:30;bottom:calc(100% + .35rem);left:0;display:flex;align-items:center;gap:.1rem;padding:.3rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-comment-reaction-popover-btn{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border:none;border-radius:4px;background:transparent;font-size:.95rem;line-height:1;cursor:pointer;transition:background-color .15s ease}.portal-comment-reaction-popover-btn--active,.portal-comment-reaction-popover-btn:hover:not(:disabled){background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-blend))}.portal-comment-reaction-popover-btn:disabled{opacity:.55;cursor:default}.portal-html-editor{display:flex;flex-direction:column;gap:0;border:1px solid var(--portal-border);border-radius:var(--portal-radius);overflow:hidden;background:var(--portal-surface)}.portal-html-editor-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;padding:.3rem .4rem;border-bottom:1px solid var(--portal-border);background:var(--portal-surface-muted,#f8f9fb)}.portal-html-editor-toolbar--advanced{border-top:0;padding-top:.2rem;padding-bottom:.35rem;background:color-mix(in srgb,var(--portal-surface-muted,#f8f9fb) 70%,var(--portal-surface))}.portal-html-editor-toolbar-divider{width:1px;height:1.1rem;margin:0 .2rem;background:var(--portal-border)}.portal-html-editor-tool{display:inline-flex;align-items:center;justify-content:center;width:1.85rem;height:1.85rem;border:none;border-radius:calc(var(--portal-radius) - 2px);background:transparent;color:var(--portal-ink-muted);cursor:pointer}.portal-html-editor-tool--more{width:auto;gap:.2rem;padding:0 .45rem;font-size:.72rem;font-weight:650}.portal-html-editor-tool--more.is-active{background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface));color:var(--portal-ink)}.portal-html-editor-more-label{line-height:1}.portal-html-editor-tool:hover:not(:disabled){background:var(--portal-surface);color:var(--portal-ink)}.portal-html-editor-tool:disabled{opacity:.45;cursor:not-allowed}.portal-html-editor-color-wrap{position:relative}.portal-html-editor-color-menu{position:absolute;top:calc(100% + .35rem);left:0;z-index:5;display:grid;grid-template-columns:repeat(6,1.15rem);gap:.35rem;padding:.45rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface);box-shadow:0 8px 24px rgba(5,28,44,.12)}.portal-html-editor-color-swatch{width:1.15rem;height:1.15rem;border:1px solid color-mix(in srgb,var(--portal-border) 80%,transparent);border-radius:999px;cursor:pointer}.portal-html-editor-upload-row{margin-top:.65rem}.portal-html-editor-upload-error{margin:.55rem 0 0;font-size:.8rem;color:#b91c1c}.portal-comment-html code,.portal-html-editor-input code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86em;padding:.08em .32em;border-radius:4px;background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface))}.portal-comment-html pre,.portal-html-editor-input pre,.portal-md-pre{margin:.55rem 0;padding:.7rem .8rem;overflow-x:auto;border-radius:calc(var(--portal-radius) - 2px);background:color-mix(in srgb,var(--portal-navy) 7%,var(--portal-surface));border:1px solid color-mix(in srgb,var(--portal-border) 90%,transparent)}.portal-comment-html pre code,.portal-html-editor-input pre code{padding:0;background:transparent}.portal-comment-html mark,.portal-html-editor-input mark{border-radius:2px;padding:0 .12em}.portal-comment-html img,.portal-html-editor-input img,.portal-md-image{display:block;max-width:100%;height:auto;margin:.55rem 0;border-radius:calc(var(--portal-radius) - 2px)}.portal-html-editor-link-form{padding:.75rem;border-bottom:1px solid var(--portal-border);background:var(--portal-surface-muted,#f8f9fb)}.portal-html-editor-link-field{display:block}.portal-html-editor-link-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.portal-html-editor-surface{position:relative}.portal-html-editor-placeholder{pointer-events:none;position:absolute;top:.85rem;left:.9rem;right:.9rem;margin:0;color:var(--portal-ink-faint,#8b949e);font-size:.9rem;line-height:1.55}.portal-html-editor-input{min-height:9rem;padding:.85rem .9rem;outline:none;color:var(--portal-ink);font-size:.925rem;line-height:1.65}.portal-html-editor-input:focus{background:color-mix(in srgb,var(--portal-surface) 92%,var(--portal-surface-muted))}.portal-html-editor-input ul{margin:.35rem 0 .65rem;padding-left:1.2rem;list-style:disc}.portal-html-editor-input ol{margin:.35rem 0 .65rem;padding-left:1.2rem;list-style:decimal}.portal-html-editor-input li{margin:.2rem 0}.portal-html-editor-input p{margin:0 0 .55rem}.portal-html-editor-input p:last-child{margin-bottom:0}.portal-html-editor-input a{color:var(--portal-navy);text-decoration:underline}.portal-markdown-editor{display:block}.portal-markdown-editor-toolbar{display:flex;align-items:center;gap:.15rem;padding:.35rem .45rem;border-bottom:1px solid var(--portal-border);background:var(--portal-surface-muted,#f8f9fb)}.portal-markdown-editor-tool{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:calc(var(--portal-radius) - 2px);background:transparent;color:var(--portal-ink-muted);cursor:pointer}.portal-markdown-editor-tool:hover:not(:disabled){background:var(--portal-surface);color:var(--portal-ink)}.portal-markdown-editor-tool:disabled{opacity:.45;cursor:not-allowed}.portal-markdown-editor-link-form{padding:.75rem;border-bottom:1px solid var(--portal-border);background:var(--portal-surface-muted,#f8f9fb)}.portal-markdown-editor-link-fields{display:grid;gap:.75rem}@media (min-width:480px){.portal-markdown-editor-link-fields{grid-template-columns:1fr 1fr}}.portal-markdown-editor-link-field{display:block}.portal-markdown-editor-link-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.portal-markdown-editor-input{border:none;border-radius:0;box-shadow:none}.portal-markdown-editor-input:focus{box-shadow:none}.portal-md{color:var(--portal-ink);line-height:1.65}.portal-md-paragraph{margin:0 0 .75rem}.portal-md-paragraph:last-child{margin-bottom:0}.portal-md-list{margin:0 0 .75rem;padding-left:1.15rem}.portal-md-list:last-child{margin-bottom:0}.portal-md-ul{list-style:disc}.portal-md-ol{list-style:decimal}.portal-md-li{margin:0 0 .4rem;padding-left:.15rem}.portal-md-li:last-child{margin-bottom:0}.portal-md-link{color:var(--portal-navy);text-decoration:underline;text-underline-offset:2px}.portal-md strong{font-weight:650;color:var(--portal-ink)}.portal-md em{font-style:italic}@media (prefers-reduced-motion:reduce){.portal-activity-backdrop,.portal-activity-panel,.portal-task-activity-trigger{transition:none}.portal-activity-panel,.portal-activity-panel--open{transform:none}}@media (min-width:1024px){.portal-task-cards{display:none}}@media (max-width:767px){.portal-task-board-section{margin-inline:-.85rem;width:calc(100% + 1.7rem)}}@media (max-width:1023px){.portal-task-table-desktop{display:none}}.portal-looker-embed-section{width:100%}@media (min-width:768px){.portal-looker-embed-section{margin-inline:-1.5rem;width:calc(100% + 3rem)}}@media (min-width:1024px){.portal-looker-embed-section{--portal-looker-inset:2rem;box-sizing:border-box;width:calc(100vw - var(--portal-sidebar-width) - var(--portal-looker-inset) * 2);max-width:1440px;margin-inline:auto;position:relative;left:50%;transform:translateX(-50%)}.portal-shell.is-sidebar-collapsed .portal-looker-embed-section{width:calc(100vw - var(--portal-sidebar-collapsed-width) - var(--portal-looker-inset) * 2)}}@media (min-width:1280px){.portal-looker-embed-section{--portal-looker-inset:3rem}}.portal-looker-embed{width:100%}.portal-looker-embed-shell{overflow:hidden;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-md)}.portal-looker-embed-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.85rem 1rem;padding:.9rem 1rem;border-bottom:1px solid var(--portal-border);background:linear-gradient(180deg,var(--portal-surface) 0,var(--portal-surface-muted) 100%)}.portal-looker-embed-brand{display:flex;align-items:center;gap:.75rem;min-width:0}.portal-looker-embed-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:8px;background:var(--portal-fill);color:#fff}.portal-looker-embed-kicker{font-size:.625rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--portal-ink-faint)}.portal-looker-embed-toolbar-title{margin-top:.1rem;font-size:.9375rem;font-weight:600;color:var(--portal-ink);line-height:1.3}.portal-looker-embed-open{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0;padding:.45rem .75rem;border:1px solid var(--portal-border-strong);border-radius:6px;background:var(--portal-surface);color:var(--portal-navy);font-size:.75rem;font-weight:500;white-space:nowrap;transition:border-color .18s ease,background .18s ease,color .18s ease}.portal-looker-embed-open:hover{border-color:var(--portal-fill);background:var(--portal-surface-muted)}.portal-looker-embed-frame{position:relative;width:100%;height:clamp(520px,68vh,720px);background:var(--portal-surface-muted)}.portal-looker-embed-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media (max-width:767px){.portal-looker-embed-section{margin-inline:-.85rem;width:calc(100% + 1.7rem)}.portal-looker-embed-frame{height:clamp(440px,62vh,580px)}.portal-looker-embed-toolbar{padding:.85rem}}.portal-kpi-source-badge{display:inline-block;margin-left:.5rem;padding:.1rem .4rem;border-radius:999px;background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface));color:var(--portal-navy);font-size:.58rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle}.portal-kpi-source-badge--gsc{background:color-mix(in srgb,#1a73e8 10%,var(--portal-surface));color:#1558b0}.portal-kpi-source-badge--ga4{background:color-mix(in srgb,#e8710a 12%,var(--portal-surface));color:#c5620a}.portal-scorecard-kpi-label .portal-kpi-source-badge{margin-left:.35rem;vertical-align:.05em}.portal-homework-board{display:grid;gap:1rem}.portal-homework-card{padding:1.25rem 1.35rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-homework-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.portal-homework-card-meta{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.65rem}.portal-homework-status{display:inline-flex;align-items:center;padding:.15rem .5rem;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--portal-panel-muted,#f4f4f5);color:var(--portal-ink-muted)}.portal-homework-status.is-submitted{background:color-mix(in srgb,var(--portal-navy) 10%,var(--portal-blend));color:var(--portal-navy)}.portal-homework-status.is-approved{background:var(--portal-success-soft);color:var(--portal-success)}.portal-homework-status.is-revision{background:color-mix(in srgb,#b45309 12%,var(--portal-blend));color:#b45309}.portal-homework-chip{font-size:.72rem;color:var(--portal-ink-muted)}.portal-homework-card-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--portal-ink)}.portal-homework-card-due{margin:.35rem 0 0;font-size:.82rem;color:var(--portal-ink-muted)}.portal-homework-card-body{margin-top:1rem}.portal-homework-evidence,.portal-homework-review-note{margin-top:1rem;padding:.9rem 1rem;border-radius:calc(var(--portal-radius) - 2px);background:color-mix(in srgb,var(--portal-navy) 4%,var(--portal-surface));border:1px solid var(--portal-border)}.portal-homework-evidence-link{display:inline-flex;align-items:center;gap:.3rem;margin-top:.35rem;font-size:.88rem;color:var(--portal-navy);text-decoration:none}.portal-homework-evidence-link:hover{text-decoration:underline}.portal-homework-form{margin-top:1.15rem;padding-top:1.15rem;border-top:1px solid var(--portal-border)}.portal-homework-form,.portal-homework-form-grid{display:grid;gap:.85rem}@media (min-width:768px){.portal-homework-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-homework-field-wide{grid-column:1/-1}}.portal-homework-field{display:grid;gap:.4rem;font-size:.82rem;color:var(--portal-ink-muted)}.portal-homework-awaiting{margin:1rem 0 0;font-size:.88rem;color:var(--portal-navy)}.portal-homework-review-list{display:grid;gap:1rem}.portal-homework-review-card{padding:1.15rem 1.25rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm);display:grid;gap:.85rem}.portal-homework-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.portal-homework-review-title{margin:.25rem 0 0;font-size:1rem;font-weight:600}.portal-homework-review-link{font-size:.82rem;font-weight:500;color:var(--portal-navy);text-decoration:none;white-space:nowrap}.portal-homework-review-link:hover{text-decoration:underline}.portal-homework-review-actions{display:flex;flex-wrap:wrap;gap:.65rem}.portal-playbook-list{display:grid;gap:1rem}.portal-playbook-card{padding:1.35rem 1.45rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-playbook-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.portal-playbook-title{margin:.35rem 0 0;font-family:var(--font-serif,Georgia,serif);font-size:1.2rem;color:var(--portal-ink)}.portal-playbook-summary{margin:.5rem 0 0;font-size:.92rem;line-height:1.6;color:var(--portal-ink-muted)}.portal-playbook-resource{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem;font-weight:500;color:var(--portal-navy);text-decoration:none;white-space:nowrap}.portal-playbook-steps{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.portal-playbook-steps>li{display:flex;gap:.85rem;padding:.9rem 1rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:color-mix(in srgb,var(--portal-navy) 3%,var(--portal-surface))}.portal-playbook-step-index{flex-shrink:0;width:2rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;color:var(--portal-ink-muted)}.portal-playbook-step-title{margin:0;font-size:.95rem;font-weight:600;color:var(--portal-ink)}.portal-playbook-step-body{margin-top:.35rem}.portal-algorithm-compact-scope{margin:0 0 1rem;font-size:.82rem;color:var(--portal-ink-muted)}.portal-algorithm-empty{margin:0;font-size:.9rem;color:var(--portal-ink-muted)}.portal-algorithm-list{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.portal-algorithm-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.1rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface)}@media (min-width:640px){.portal-algorithm-item{flex-direction:row;align-items:flex-start;justify-content:space-between}}.portal-algorithm-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.portal-algorithm-item-title{margin:0;font-size:.95rem;font-weight:600;line-height:1.35;color:var(--portal-ink)}.portal-algorithm-category{display:inline-flex;align-items:center;padding:.15rem .5rem;border:1px solid var(--portal-border);border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.portal-algorithm-category--core{color:var(--portal-accent);border-color:color-mix(in srgb,var(--portal-accent) 25%,var(--portal-blend));background:var(--portal-accent-soft)}.portal-algorithm-category--spam{color:#9a6700;border-color:rgba(154,103,0,.2);background:rgba(154,103,0,.08)}.portal-algorithm-category--system{color:#0b6e99;border-color:rgba(11,110,153,.2);background:rgba(11,110,153,.08)}.portal-algorithm-category--ai{color:#6b4ce6;border-color:rgba(107,76,230,.2);background:rgba(107,76,230,.08)}.portal-algorithm-category--other{color:var(--portal-ink-muted);background:var(--portal-surface-muted)}.portal-algorithm-item-meta{margin:.35rem 0 0;font-size:.8rem;color:var(--portal-ink-muted)}.portal-algorithm-item-meta-sep{margin:0 .35rem}.portal-algorithm-status--rolling{color:#9a6700;font-weight:600}.portal-algorithm-item-description{margin:.5rem 0 0;font-size:.84rem;line-height:1.55;color:var(--portal-ink-muted)}.portal-algorithm-external-link{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;font-size:.78rem;font-weight:500;color:var(--portal-accent);text-decoration:none}.portal-algorithm-external-link:hover{text-decoration:underline}.portal-algorithm-panel{overflow:hidden}.portal-algorithm-dashboard{border-color:var(--portal-border);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-algorithm-dashboard .text-muted-foreground{color:var(--portal-ink-muted)}.portal-algorithm-dashboard .text-foreground{color:var(--portal-ink)}.portal-algorithm-dashboard .border-border{border-color:var(--portal-border)}.portal-algorithm-dashboard .bg-background{background:var(--portal-surface)}.portal-algorithm-dashboard .bg-muted{background:var(--portal-surface-muted)}.portal-algorithm-dashboard .bg-primary{background:var(--portal-accent)}.portal-algorithm-dashboard .text-primary{color:var(--portal-accent)}.portal-algorithm-dashboard .border-primary{border-color:var(--portal-accent)}.portal-traffic-brief-composer,.portal-traffic-brief-wrap{display:grid;gap:1.25rem}.portal-traffic-brief-empty,.portal-traffic-brief-signal-empty{margin:0;font-size:.9rem;color:var(--portal-ink-muted)}.portal-traffic-brief-panel{border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm);overflow:hidden}.portal-traffic-brief-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--portal-border);background:color-mix(in srgb,var(--portal-navy) 3%,var(--portal-surface))}.portal-traffic-brief-period{margin:0;font-size:.82rem;color:var(--portal-ink-muted)}.portal-traffic-brief-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.portal-traffic-brief-badge--draft{color:#9a6700;background:rgba(154,103,0,.08);border:1px solid rgba(154,103,0,.18)}.portal-traffic-brief-badge--approved{color:var(--portal-success);background:var(--portal-success-soft);border:1px solid color-mix(in srgb,var(--portal-success) 20%,var(--portal-blend))}.portal-traffic-brief-sections{display:grid;gap:0}.portal-traffic-brief-section{padding:1rem 1.1rem;border-top:1px solid var(--portal-border)}.portal-traffic-brief-section:first-child{border-top:0}.portal-traffic-brief-section-title{margin:0 0 .45rem;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-traffic-brief-section-body{margin:0;font-size:.92rem;line-height:1.65;color:var(--portal-ink)}.portal-traffic-brief-metric{display:inline-flex;align-items:center;gap:.08em;font-weight:600;white-space:nowrap;vertical-align:-.18em}.portal-traffic-brief-metric-icon{width:.95em;height:.95em;min-width:.95em;min-height:.95em;flex:none;display:block;stroke:currentColor}.portal-traffic-brief-metric.is-up{color:var(--portal-success)}.portal-traffic-brief-metric.is-down{color:#b42318}.portal-app[data-theme=dark] .portal-traffic-brief-metric.is-down,html[data-portal-theme=dark] .portal-traffic-brief-metric.is-down{color:#f97066}.portal-traffic-brief-admin{display:grid;gap:.85rem;padding:1rem 1.1rem;border:1px dashed var(--portal-border-strong);border-radius:calc(var(--portal-radius) - 2px);background:color-mix(in srgb,var(--portal-accent) 4%,var(--portal-surface))}.portal-traffic-brief-signal-list{margin:0;padding-left:1.1rem;color:var(--portal-ink-muted);font-size:.84rem;line-height:1.5}.portal-traffic-brief-editor{border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface);overflow:hidden}.portal-traffic-brief-editor .portal-traffic-brief-panel-head{align-items:flex-end}.portal-traffic-brief-editor-input{min-height:6.5rem;resize:vertical}.portal-traffic-brief-confidence{display:block;padding:0 1.1rem 1rem}.portal-traffic-brief-admin-actions{display:flex;flex-wrap:wrap;gap:.6rem}.portal-traffic-brief-admin-message{margin:0;font-size:.82rem;color:var(--portal-ink-muted)}.portal-traffic-brief-admin-message.is-error{color:#9f1239}.finance-invoice-toolbar{display:flex;flex-wrap:wrap;gap:1rem}.finance-invoice-toolbar-field{display:flex;flex-direction:column;gap:.35rem;min-width:12rem;font-size:.75rem;font-weight:500;color:var(--portal-ink-muted)}.finance-invoice-sheet{border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);padding:1.5rem;box-shadow:var(--portal-shadow-sm,0 1px 2px rgba(5,28,44,.04))}.finance-invoice-sheet-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid var(--portal-border)}.finance-invoice-emit-toggle{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--portal-ink)}.finance-invoice-party-grid{display:grid;gap:.85rem;margin-top:1.25rem;grid-template-columns:1fr}@media (min-width:768px){.finance-invoice-party-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.finance-invoice-lines{margin-top:1.5rem;overflow-x:auto}.finance-invoice-lines-head,.finance-invoice-lines-row{display:grid;gap:.5rem;grid-template-columns:minmax(10rem,2fr) 6rem 5rem 8rem 5.5rem minmax(7rem,1fr) 6.5rem;align-items:center;min-width:52rem}.finance-invoice-lines-head{margin-bottom:.5rem;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--portal-ink-muted)}.finance-invoice-lines-row{margin-bottom:.5rem}.finance-invoice-line-total{display:flex;flex-direction:column;gap:.15rem;font-size:.875rem;font-weight:500}.finance-invoice-add-line{margin-top:.75rem;border:none;background:transparent;color:var(--portal-navy);font-size:.875rem;font-weight:500;cursor:pointer;padding:0}.finance-invoice-add-line:hover{text-decoration:underline}.finance-invoice-footer-grid{display:grid;gap:1.5rem;margin-top:1.75rem;padding-top:1.25rem;border-top:1px solid var(--portal-border)}@media (min-width:900px){.finance-invoice-footer-grid{grid-template-columns:1.4fr .8fr}}.finance-invoice-totals{display:flex;flex-direction:column;gap:.65rem;padding:1rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface-muted,#f8f9fb)}.finance-invoice-totals>div{display:flex;justify-content:space-between;gap:1rem;font-size:.875rem;color:var(--portal-ink-muted)}.finance-invoice-totals strong{color:var(--portal-ink);font-weight:600}.finance-invoice-totals-grand{padding-top:.5rem;border-top:1px solid var(--portal-border);font-size:1rem!important;color:var(--portal-ink)!important}.finance-subnav{position:relative;z-index:50;display:flex;flex-wrap:wrap;align-items:center;gap:.2rem;padding:0 0 .65rem;margin:0 0 .35rem;border-bottom:1px solid var(--portal-border);overflow:visible}.finance-subnav-link{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;white-space:nowrap;padding:.4rem .65rem;border:0;border-radius:calc(var(--portal-radius) - 2px);background:transparent;font:inherit;font-size:.8125rem;font-weight:500;line-height:1.2;color:var(--portal-ink-muted);text-decoration:none;cursor:pointer}.finance-subnav-link:hover{color:var(--portal-ink);background:color-mix(in srgb,var(--portal-navy) 6%,transparent)}.finance-subnav-link.is-active{color:var(--portal-ink);background:color-mix(in srgb,var(--portal-navy) 10%,transparent)}.finance-subnav-dropdown{position:relative;flex-shrink:0;z-index:1}.finance-subnav-dropdown:has(.finance-subnav-menu){z-index:60}.finance-subnav-menu{position:absolute;top:calc(100% + .35rem);left:0;z-index:70;min-width:15.5rem;padding:.35rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface,#fff);box-shadow:0 12px 32px rgb(5 28 44/14%),0 2px 6px rgb(5 28 44/6%)}.finance-subnav-menu-item{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem .65rem;border-radius:calc(var(--portal-radius) - 2px);color:var(--portal-ink);text-decoration:none}.finance-subnav-menu-item:hover{background:color-mix(in srgb,var(--portal-navy) 6%,transparent)}.finance-subnav-menu-item.is-active{background:color-mix(in srgb,var(--portal-navy) 10%,transparent)}.finance-subnav-menu-label{display:block;font-size:.8125rem;font-weight:600;line-height:1.25}.finance-subnav-menu-desc{display:block;margin-top:.15rem;font-size:.6875rem;line-height:1.35;color:var(--portal-ink-muted)}.finance-expense-form,.finance-expense-form-row{display:grid;gap:.85rem}@media (min-width:768px){.finance-expense-form-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-expense-form-row--3{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-expense-form-row--4{grid-template-columns:repeat(4,minmax(0,1fr))}}.finance-expense-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding-top:.25rem}.finance-expense-check{display:inline-flex;align-items:center;gap:.5rem;min-height:2.5rem;font-size:.8125rem;color:var(--portal-ink-muted)}@media (max-width:640px){.finance-subnav-link{padding:.4rem .55rem;font-size:.75rem}.finance-subnav-link svg{width:.85rem;height:.85rem}.finance-subnav-menu{min-width:14rem}}.finance-chart-card{border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);padding:1.25rem 1.35rem;box-shadow:var(--portal-shadow-sm)}.finance-kpi-card{transition:border-color .15s ease,box-shadow .15s ease}.finance-kpi-secondary{margin-top:.2rem;font-size:.875rem;line-height:1.3;color:var(--portal-ink-muted);font-variant-numeric:tabular-nums}.finance-bar-fill{background:linear-gradient(90deg,color-mix(in srgb,var(--portal-navy) 92%,transparent),var(--portal-navy))}.finance-section-panel{display:flex;flex-direction:column;gap:1rem}.finance-section-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--portal-border)}.finance-row-action-bar{display:inline-flex;align-items:center;gap:.1rem;padding:.2rem;border:1px solid color-mix(in srgb,var(--portal-border) 88%,transparent);border-radius:999px;background:color-mix(in srgb,var(--portal-surface-muted) 72%,var(--portal-surface));box-shadow:inset 0 1px 0 color-mix(in srgb,white 55%,transparent)}.finance-row-action-divider{width:1px;height:1.125rem;margin-inline:.05rem;background:color-mix(in srgb,var(--portal-border) 90%,transparent)}.finance-row-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:1.875rem;padding:.35rem .7rem;border:none;border-radius:999px;background:transparent;color:var(--portal-ink-muted);font-size:.75rem;font-weight:500;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}.finance-row-action-btn:hover:not(:disabled){background:var(--portal-surface);color:var(--portal-navy);box-shadow:var(--portal-shadow-sm)}.finance-row-action-btn--danger:hover:not(:disabled){color:#912018;background:color-mix(in srgb,#b42318 7%,var(--portal-surface))}.finance-row-action-btn:disabled{opacity:.55;cursor:not-allowed}.finance-row-action-btn-icon{width:.875rem;height:.875rem;flex-shrink:0}.finance-row-action-btn-label{line-height:1}.finance-table-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2rem;padding:.35rem .75rem;border-radius:calc(var(--portal-radius) - 2px);font-size:.75rem;font-weight:500;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.finance-table-btn:disabled{opacity:.55;cursor:not-allowed}.finance-table-btn--primary{border:1px solid color-mix(in srgb,var(--portal-fill) 35%,var(--portal-border-strong));background:color-mix(in srgb,var(--portal-fill) 8%,var(--portal-surface));color:var(--portal-navy)}.finance-table-btn--primary:hover:not(:disabled){border-color:var(--portal-fill);background:color-mix(in srgb,var(--portal-fill) 14%,var(--portal-surface))}.finance-table-btn--ghost{border:1px solid transparent;background:transparent;color:var(--portal-ink-muted)}.finance-table-btn--ghost:hover:not(:disabled){border-color:var(--portal-border-strong);background:var(--portal-surface-muted);color:var(--portal-ink)}.finance-invoice-cobro-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;min-width:0}.finance-invoice-cobro-cell.is-card{gap:.75rem;width:100%}.finance-cobro-card-hint{margin:0;font-size:.8125rem;line-height:1.45;color:var(--portal-ink-muted)}.finance-cobro-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.4rem}.finance-cobro-menu-trigger{display:inline-flex;align-items:center;gap:.3rem;min-height:1.65rem;padding:.2rem .55rem .2rem .65rem;border:1px solid transparent;border-radius:999px;background:color-mix(in srgb,var(--portal-navy) 5%,var(--portal-surface));color:var(--portal-ink);font-size:.6875rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,color .15s ease}.finance-cobro-menu-trigger:hover:not(:disabled){background:color-mix(in srgb,var(--portal-navy) 9%,var(--portal-surface))}.finance-cobro-menu-trigger.is-open{background:color-mix(in srgb,var(--portal-fill) 12%,var(--portal-surface));color:var(--portal-fill);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-fill) 12%,transparent)}.finance-cobro-menu-trigger.is-busy,.finance-cobro-menu-trigger:disabled{opacity:.55;cursor:not-allowed}.finance-cobro-menu-trigger-label{line-height:1}.finance-cobro-menu-panel{padding:.3rem;border:1px solid var(--portal-border);border-radius:12px;background:var(--portal-surface,#fff);box-shadow:0 18px 40px rgb(5 28 44/16%),0 2px 8px rgb(5 28 44/6%)}.finance-cobro-menu-item{display:flex;width:100%;align-items:flex-start;gap:.65rem;padding:.55rem .6rem;border:0;border-radius:8px;background:transparent;text-align:left;color:var(--portal-ink);cursor:pointer;transition:background .12s ease}.finance-cobro-menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--portal-navy) 6%,transparent)}.finance-cobro-menu-item:disabled{opacity:.55;cursor:not-allowed}.finance-cobro-menu-item-icon{width:.95rem;height:.95rem;margin-top:.12rem;flex-shrink:0;color:var(--portal-ink-muted)}.finance-cobro-menu-item.is-danger .finance-cobro-menu-item-icon,.finance-cobro-menu-item.is-danger .finance-cobro-menu-item-label{color:#b42318}.finance-cobro-menu-item-copy{display:flex;min-width:0;flex-direction:column;gap:.1rem}.finance-cobro-menu-item-label{font-size:.8125rem;font-weight:600;line-height:1.25}.finance-cobro-menu-item-desc{font-size:.6875rem;line-height:1.35;color:var(--portal-ink-muted)}.finance-invoice-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;padding:1rem 1.1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.finance-invoice-filters .portal-input{min-height:2.5rem;padding:.55rem .75rem;font-size:.8125rem}.finance-data-table tbody tr:hover td{background:color-mix(in srgb,var(--portal-surface-muted) 65%,transparent)}.finance-data-table tbody tr:hover td.finance-td-actions{background:color-mix(in srgb,var(--portal-surface-muted) 65%,var(--portal-surface))}.finance-data-table .finance-th-actions,.finance-data-table td.finance-td-actions{position:sticky;right:0;z-index:1;min-width:10rem;background:var(--portal-surface);box-shadow:-8px 0 12px -10px color-mix(in srgb,var(--portal-navy) 18%,transparent)}.finance-data-table thead .finance-th-actions{z-index:2;background:var(--portal-surface-muted)}.finance-expense-actions{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;min-width:9.5rem}.finance-expense-pay-block{display:flex;flex-direction:column;gap:.5rem;width:100%;padding-top:.7rem;border-top:1px solid color-mix(in srgb,var(--portal-border) 82%,transparent)}.finance-expense-pay-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.finance-expense-pay-select{min-height:2rem;min-width:7.5rem;flex:1 1 7.5rem;padding:.35rem .6rem;border:1px solid color-mix(in srgb,var(--portal-border) 90%,transparent);border-radius:999px;background:var(--portal-surface);font-size:.75rem;color:var(--portal-ink)}.finance-expense-pay-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:.35rem .85rem;border:1px solid color-mix(in srgb,var(--portal-navy) 18%,var(--portal-border-strong));border-radius:999px;background:color-mix(in srgb,var(--portal-navy) 6%,var(--portal-surface));color:var(--portal-navy);font-size:.75rem;font-weight:600;letter-spacing:.01em;white-space:nowrap;transition:background .16s ease,border-color .16s ease,transform .16s ease}.finance-expense-pay-btn:hover:not(:disabled){background:color-mix(in srgb,var(--portal-navy) 10%,var(--portal-surface));border-color:color-mix(in srgb,var(--portal-navy) 28%,var(--portal-border-strong))}.finance-expense-pay-btn:disabled{opacity:.55;cursor:not-allowed}.finance-data-table td.finance-td-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.finance-iva-purchases{margin-top:.25rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:color-mix(in srgb,var(--portal-surface-muted) 42%,var(--portal-surface))}.finance-iva-purchases-summary{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;cursor:pointer;list-style:none;font-size:.9375rem;font-weight:500}.finance-iva-purchases-summary::-webkit-details-marker{display:none}.finance-iva-purchases-meta{margin-left:auto;font-size:.8125rem;font-weight:400;color:var(--portal-ink-muted)}.finance-iva-purchases-chevron{width:1rem;height:1rem;color:var(--portal-ink-muted);transition:transform .18s ease}.finance-iva-purchases[open] .finance-iva-purchases-chevron{transform:rotate(180deg)}.finance-iva-purchases-body{padding:0 1rem 1rem;border-top:1px solid var(--portal-border)}.finance-iva-purchases-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem 0 1rem}.finance-iva-purchases-filters{display:flex;flex-wrap:wrap;gap:.35rem}.finance-iva-purchases-filter{border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface);padding:.28rem .72rem;font-size:.75rem;color:var(--portal-ink-muted);transition:background .15s ease,color .15s ease,border-color .15s ease}.finance-iva-purchases-filter:hover{color:var(--portal-ink);border-color:color-mix(in srgb,var(--portal-navy) 24%,var(--portal-border))}.finance-iva-purchases-filter.is-active{color:var(--portal-ink);border-color:color-mix(in srgb,var(--portal-navy) 36%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface))}.finance-badge-warn{display:inline-flex;align-items:center;border-radius:999px;border:1px solid color-mix(in srgb,#b45309 35%,var(--portal-border));background:color-mix(in srgb,#f59e0b 12%,var(--portal-surface));padding:.15rem .55rem;font-size:.6875rem;font-weight:500;color:#92400e}.finance-tribu-panel{padding-top:.25rem}.finance-tribu-section+.finance-tribu-section{margin-top:1rem}.finance-expense-fiscal-summary dt{font-size:.75rem}.finance-expense-fiscal-summary dd{font-weight:500}.finance-stat-grid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.finance-stat-chip{border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface-muted);padding:.75rem .85rem}.finance-stat-chip strong{display:block;font-family:var(--font-libre-baskerville),Georgia,serif;font-size:1.35rem;color:var(--portal-ink);line-height:1.1}.finance-stat-chip span{display:block;margin-top:.25rem;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-ink-faint)}.finance-doc-stats{display:flex;flex-wrap:wrap;gap:.75rem}.finance-logo-preview{display:flex;align-items:center;justify-content:center;min-height:5rem;border:1px dashed var(--portal-border-strong,var(--portal-border));border-radius:var(--portal-radius);background:var(--portal-surface-muted);padding:1rem}.finance-logo-preview img{max-height:4rem;max-width:12rem;object-fit:contain}.finance-brand-footer{margin-top:.5rem;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--portal-ink-faint)}.finance-doc-page{display:flex;flex-direction:column;gap:1.5rem}.finance-doc-banner{margin:0;padding:.85rem 1rem;border:1px solid var(--portal-border);border-left:2px solid var(--portal-navy);background:var(--portal-surface);font-size:.875rem;line-height:1.45;color:var(--portal-ink-muted)}.finance-doc-banner--danger{border-color:#fecdca;background:#fef3f2;color:#b42318}.finance-doc-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.finance-doc-hero{display:grid;gap:1.5rem;padding:1.5rem 1.5rem 1.35rem;background:var(--portal-surface);border:1px solid var(--portal-border);border-top:2px solid var(--portal-navy)}@media (min-width:768px){.finance-doc-hero{grid-template-columns:1.4fr 1fr;align-items:start}}.finance-doc-hero-total{margin:.35rem 0 1rem;font-family:var(--font-libre-baskerville),Georgia,serif;font-size:clamp(1.85rem,3vw,2.35rem);line-height:1.1;letter-spacing:-.02em;color:var(--portal-ink)}.finance-doc-hero-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1.25rem;margin:0}.finance-doc-hero-meta dt{margin:0;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-ink-faint)}.finance-doc-hero-meta dd{margin:.2rem 0 0;font-size:.9375rem;color:var(--portal-ink)}.finance-doc-hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.finance-doc-hero-actions .portal-btn-primary,.finance-doc-hero-actions .portal-btn-secondary{width:100%!important;justify-content:center}.finance-doc-hero-actions>*{width:100%}.finance-doc-payment-status{margin:.25rem 0 0;font-size:.8125rem;color:var(--portal-ink-muted)}.finance-doc-notice{padding:.95rem 1.1rem;border:1px solid var(--portal-border);background:var(--portal-surface)}.finance-doc-notice--ok{border-left:2px solid var(--portal-success)}.finance-doc-notice--warn{border-left:2px solid #b54708;background:#fffaeb}.finance-doc-notice--error{border-left:2px solid #b42318;background:#fef3f2}.finance-doc-notice-title{margin:0;font-size:.9375rem;font-weight:600;color:var(--portal-ink)}.finance-doc-notice-body{margin:.4rem 0 0;font-size:.875rem;line-height:1.5;color:var(--portal-ink-muted);white-space:pre-wrap}.finance-doc-error-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.85rem}.finance-doc-error-list li{padding:.75rem .85rem;border:1px solid #fecdca;background:#fff}.finance-doc-error-code{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#b42318}.finance-doc-error-msg{margin:.35rem 0 0;font-size:.875rem;line-height:1.45;color:var(--portal-ink)}.finance-doc-error-hint{margin:.4rem 0 0;font-size:.8125rem;line-height:1.4;color:var(--portal-ink-muted)}.finance-doc-parties{display:grid;gap:1.25rem;padding:1.25rem 0;border-top:1px solid var(--portal-border);border-bottom:1px solid var(--portal-border)}@media (min-width:640px){.finance-doc-parties{grid-template-columns:1fr 1fr;gap:2rem}}.finance-doc-party-name{margin:.35rem 0 .2rem;font-size:1.05rem;font-weight:600;color:var(--portal-ink)}.finance-doc-party-id{margin:0;font-size:.875rem;color:var(--portal-ink-muted)}.finance-doc-lines{display:flex;flex-direction:column;gap:.75rem;padding:1.25rem 1.35rem;background:var(--portal-surface);border:1px solid var(--portal-border)}.finance-doc-table{width:100%;border-collapse:collapse;font-size:.875rem;text-align:left}.finance-doc-table th{padding:.65rem .75rem;border-bottom:1px solid var(--portal-border-strong);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--portal-ink-faint)}.finance-doc-table td{padding:.85rem .75rem;border-bottom:1px solid var(--portal-border);vertical-align:top;color:var(--portal-ink)}.finance-doc-table tr:last-child td{border-bottom:none}.finance-doc-table td:nth-child(n+3),.finance-doc-table th:nth-child(n+3){text-align:right;font-variant-numeric:tabular-nums}.finance-doc-grid{display:grid;gap:1.25rem}@media (min-width:900px){.finance-doc-grid{grid-template-columns:1.2fr 1fr;align-items:start}}.finance-doc-collect,.finance-doc-files,.finance-doc-side-card{padding:1.25rem 1.35rem;background:var(--portal-surface);border:1px solid var(--portal-border)}.finance-doc-ref{display:flex;flex-direction:column;gap:.3rem;margin-top:.85rem}.finance-doc-ref span{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--portal-ink-faint)}.finance-doc-ref code{font-size:.75rem;line-height:1.45;word-break:break-all;color:var(--portal-ink-muted)}.finance-doc-refs-row{display:grid;gap:.75rem}@media (min-width:640px){.finance-doc-refs-row{grid-template-columns:1fr 1.6fr}}.finance-doc-file-list{list-style:none;margin:.85rem 0 0;padding:0;display:flex;flex-direction:column;gap:0}.finance-doc-file-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--portal-border)}.finance-doc-file-item:last-child{border-bottom:none;padding-bottom:0}.finance-doc-file-item:first-child{padding-top:0}.finance-doc-collect-fields{display:grid;gap:.85rem;margin:.85rem 0 1rem}@media (min-width:480px){.finance-doc-collect-fields{grid-template-columns:1.4fr 1fr}}.portal-roadmap-preview{display:flex;flex-direction:column;gap:1.25rem;padding:clamp(1.25rem,2.5vw,1.75rem);border:1px solid var(--portal-border);border-radius:var(--portal-radius-lg);background:linear-gradient(135deg,rgba(15,23,42,.03) 0,rgba(255,255,255,0) 42%),var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-roadmap-preview-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem}.portal-roadmap-preview-intro{flex:1 1 16rem;min-width:0}.portal-roadmap-preview-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.35rem}.portal-roadmap-preview-quarter{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--portal-border-strong);background:var(--portal-surface);font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--portal-navy)}.portal-roadmap-preview-quarter.is-live{border-color:var(--portal-navy);background:var(--portal-navy);color:#fff;box-shadow:0 0 0 4px rgba(15,23,42,.08);animation:portal-roadmap-live-pulse 2.4s ease-in-out infinite}.portal-roadmap-preview-title{margin:0;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.2;color:var(--portal-ink)}.portal-roadmap-preview-now{padding:.2rem .55rem;border-radius:999px;background:rgba(15,23,42,.06);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-navy)}.portal-roadmap-preview-description,.portal-roadmap-preview-range{margin:.45rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--portal-ink-muted)}.portal-roadmap-preview-stats{display:flex;flex-wrap:wrap;gap:.45rem}.portal-roadmap-preview-stats span{padding:.35rem .65rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);font-size:.72rem;font-weight:600;color:var(--portal-ink-muted)}.portal-task-filters{display:flex;flex-wrap:wrap;gap:.35rem}.portal-task-filter{min-height:2.25rem;padding:.4rem .75rem;border:1px solid transparent;border-radius:var(--portal-radius);background:transparent;font-size:.75rem;font-weight:500;letter-spacing:.04em;color:var(--portal-ink-muted);cursor:pointer}.portal-task-filter:hover{color:var(--portal-ink);background:var(--portal-surface-muted)}.portal-task-filter.is-active{border-color:var(--portal-border-strong);background:var(--portal-surface);color:var(--portal-ink)}.portal-task-filter-count{margin-left:.3rem;color:var(--portal-ink-faint)}.portal-empty-cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:.85rem;font-size:.8125rem;font-weight:500;text-decoration:none;color:var(--portal-ink)}.portal-empty-cta:hover{color:var(--portal-accent)}.portal-roadmap-preview-initiatives{display:flex;flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none}.portal-roadmap-preview-initiative{display:flex;align-items:center;gap:.75rem;padding:.85rem .95rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);text-decoration:none;color:inherit;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}.portal-roadmap-preview-initiative:hover{border-color:var(--portal-border-strong);background:var(--portal-surface-muted,rgba(15,23,42,.03))}.portal-roadmap-preview-initiative-icon{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;background:rgba(15,23,42,.06);color:var(--portal-navy);flex-shrink:0}.portal-roadmap-preview-initiative-copy{display:flex;flex:1 1 auto;flex-direction:column;gap:.15rem;min-width:0}.portal-roadmap-preview-initiative-label{font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-roadmap-preview-initiative-title{font-size:.875rem;font-weight:600;line-height:1.35;color:var(--portal-ink)}.portal-roadmap-preview-initiative-tracks{font-size:.72rem;color:var(--portal-ink-muted)}.portal-roadmap-preview-empty{margin:0;padding:.85rem .95rem;border:1px dashed var(--portal-border);border-radius:var(--portal-radius);font-size:.8125rem;color:var(--portal-ink-muted)}.portal-roadmap-preview-progress{display:flex;flex-direction:column;gap:.45rem}.portal-roadmap-preview-progress-bar{overflow:hidden;height:.45rem;border-radius:999px;background:rgba(15,23,42,.08)}.portal-roadmap-preview-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--portal-navy) 0,rgba(15,23,42,.72) 100%)}.portal-roadmap-preview-progress-meta{margin:0;font-size:.75rem;color:var(--portal-ink-muted)}.portal-roadmap-preview-cta{display:inline-flex;align-items:center;gap:.35rem;align-self:flex-start;font-size:.8125rem;font-weight:600;color:var(--portal-navy);text-decoration:none}.portal-roadmap-preview-cta:hover{text-decoration:underline}.portal-quarterly-roadmap{display:flex;flex-direction:column;gap:1.75rem}.portal-roadmap-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.portal-roadmap-fullscreen-btn{display:inline-flex;align-items:center;gap:.4rem;min-height:2rem;padding:.35rem .75rem;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface-muted);color:var(--portal-ink-muted);font-size:.8125rem;font-weight:600;transition:background .16s ease,border-color .16s ease,color .16s ease}.portal-roadmap-fullscreen-btn:hover{border-color:color-mix(in srgb,var(--portal-navy) 18%,var(--portal-border));color:var(--portal-navy);background:var(--portal-surface)}.portal-roadmap-stage{display:flex;flex-direction:column;gap:1.75rem}.portal-roadmap-stage:fullscreen{overflow-y:auto;padding:1.75rem clamp(1.25rem,3vw,2.5rem) 2rem;background:var(--portal-surface)}.portal-roadmap-stage.is-fullscreen:fullscreen .portal-roadmap-journey-canvas,.portal-roadmap-stage.is-fullscreen:fullscreen .portal-roadmap-journey-stops{min-height:clamp(20rem,36vh,28rem)}.portal-roadmap-year-switch{display:inline-flex;gap:.35rem;padding:.25rem;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface-muted)}.portal-roadmap-year-btn{min-width:3.5rem;min-height:2rem;padding:.35rem .8rem;border:none;border-radius:999px;background:transparent;color:var(--portal-ink-muted);font-size:.8125rem;font-weight:600;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.portal-roadmap-year-btn.is-active{background:var(--portal-surface);color:var(--portal-navy);box-shadow:var(--portal-shadow-sm)}.portal-roadmap-cycle-label{display:inline-flex;padding:.35rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;color:var(--portal-navy)}.portal-roadmap-cycle-label,.portal-roadmap-hero{align-items:center;border:1px solid var(--portal-border);background:var(--portal-surface)}.portal-roadmap-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.25rem;padding:1.35rem 1.4rem;border-radius:calc(var(--portal-radius) + 2px);box-shadow:var(--portal-shadow-sm)}.portal-roadmap-hero-compact{padding:1.15rem 1.25rem}.portal-roadmap-hero-title{margin-top:.35rem;font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.2;color:var(--portal-navy)}.portal-roadmap-hero-description{margin-top:.45rem;max-width:40rem;font-size:.9rem;line-height:1.5;color:var(--portal-ink-muted)}.portal-roadmap-progress-card{display:flex;align-items:center;gap:.9rem;padding:.75rem .9rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface-muted)}.portal-roadmap-progress-ring{--progress:0%;position:relative;display:grid;place-items:center;width:3.6rem;height:3.6rem;border-radius:999px;background:radial-gradient(farthest-side,var(--portal-surface) 68%,transparent 69%),conic-gradient(var(--portal-navy) var(--progress),color-mix(in srgb,var(--portal-border) 75%,transparent) 0)}.portal-roadmap-progress-value{font-size:.78rem;font-weight:700;color:var(--portal-navy)}.portal-roadmap-progress-label{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-roadmap-progress-meta{margin-top:.15rem;font-size:.8125rem;color:var(--portal-ink)}.portal-roadmap-quarter-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem}.portal-roadmap-quarter-tab{display:flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.45rem;padding:.55rem .75rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface-muted);color:var(--portal-ink-muted);font-size:.875rem;font-weight:600;transition:background .16s ease,border-color .16s ease,color .16s ease}.portal-roadmap-quarter-tab.is-active{border-color:color-mix(in srgb,var(--portal-navy) 20%,var(--portal-border));background:var(--portal-surface);color:var(--portal-navy);box-shadow:var(--portal-shadow-sm)}.portal-roadmap-quarter-tab.is-current:not(.is-active){border-color:color-mix(in srgb,var(--portal-fill) 35%,var(--portal-border))}.portal-roadmap-quarter-pill{padding:.15rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--portal-navy) 10%,var(--portal-surface));font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-navy)}.portal-roadmap-pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.portal-roadmap-pillar-card{display:flex;flex-direction:column;gap:.85rem;min-height:100%;padding:1rem 1.05rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) + 2px);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-roadmap-pillar-card.has-tasks{border-color:color-mix(in srgb,var(--portal-navy) 12%,var(--portal-border))}.portal-roadmap-pillar-head{display:flex;align-items:flex-start;gap:.75rem}.portal-roadmap-pillar-icon{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:999px;background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface-muted));color:var(--portal-navy);flex-shrink:0}.portal-roadmap-pillar-eyebrow{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-roadmap-pillar-title{margin-top:.2rem;font-size:1rem;font-weight:600;line-height:1.35;color:var(--portal-navy)}.portal-roadmap-pillar-body{font-size:.875rem;line-height:1.55;color:var(--portal-ink-muted)}.portal-roadmap-pillar-placeholder{font-size:.875rem;line-height:1.5;color:var(--portal-ink-muted);font-style:italic}.portal-roadmap-pillar-progress{display:flex;flex-direction:column;gap:.35rem}.portal-roadmap-pillar-progress-bar{overflow:hidden;height:.35rem;border-radius:999px;background:color-mix(in srgb,var(--portal-border) 70%,transparent)}.portal-roadmap-pillar-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--portal-navy)}.portal-roadmap-pillar-progress-meta{font-size:.75rem;color:var(--portal-ink-muted)}.portal-roadmap-pillar-tasks{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--portal-border)}.portal-roadmap-journey{position:relative;overflow:visible;padding:1.35rem 1.2rem 2.25rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) + 6px);background:radial-gradient(90% 120% at 0 100%,color-mix(in srgb,var(--portal-fill) 10%,transparent),transparent 60%),linear-gradient(180deg,color-mix(in srgb,var(--portal-surface-muted) 80%,var(--portal-surface)),var(--portal-surface));box-shadow:var(--portal-shadow-sm)}.portal-roadmap-journey-head{margin-bottom:1rem}.portal-roadmap-journey-hint{margin-top:.35rem;max-width:38rem;font-size:.875rem;line-height:1.5;color:var(--portal-ink-muted)}.portal-roadmap-journey-canvas{position:relative;min-height:clamp(19rem,42vw,24rem);padding-bottom:1.5rem}.portal-roadmap-journey-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.portal-roadmap-journey-path-track{fill:none;stroke:color-mix(in srgb,var(--portal-border) 85%,transparent);stroke-width:1.8;stroke-linecap:round;vector-effect:non-scaling-stroke}.portal-roadmap-journey-path-active{--journey-progress:25%;fill:none;stroke:color-mix(in srgb,var(--portal-navy) 55%,var(--portal-fill));stroke-width:2.4;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--journey-progress));transition:stroke-dashoffset .45s ease}.portal-roadmap-journey-stops{position:relative;z-index:1;min-height:clamp(19rem,42vw,24rem);padding-bottom:.5rem}.portal-roadmap-milestone{position:absolute;left:var(--mx);top:var(--my);display:flex;flex-direction:column;align-items:center;gap:.65rem;width:8.5rem;margin-left:-4.25rem;margin-top:-2.4rem;padding:0;border:none;background:transparent;text-align:center;cursor:pointer;transition:transform .2s ease}.portal-roadmap-milestone:hover{transform:translateY(-2px)}.portal-roadmap-milestone.is-active{transform:translateY(-4px)}.portal-roadmap-milestone-pin{position:relative;display:grid;place-items:center}.portal-roadmap-milestone-pin:after{content:"";position:absolute;top:calc(100% + .15rem);width:1px;height:1.1rem;background:color-mix(in srgb,var(--portal-navy) 18%,var(--portal-border))}.portal-roadmap-milestone-ring{--ring-progress:0%;position:relative;display:grid;place-items:center;width:4.35rem;height:4.35rem;border-radius:999px;background:radial-gradient(farthest-side,var(--portal-surface) 68%,transparent 69%),conic-gradient(var(--portal-navy) var(--ring-progress),color-mix(in srgb,var(--portal-border) 75%,transparent) 0);box-shadow:0 10px 24px color-mix(in srgb,var(--portal-navy) 10%,transparent),inset 0 1px 0 color-mix(in srgb,white 70%,transparent);transition:transform .2s ease,box-shadow .2s ease}.portal-roadmap-milestone.is-active .portal-roadmap-milestone-ring{transform:scale(1.06);box-shadow:0 14px 30px color-mix(in srgb,var(--portal-navy) 16%,transparent),0 0 0 4px color-mix(in srgb,var(--portal-fill) 18%,transparent)}.portal-roadmap-milestone.is-current .portal-roadmap-milestone-ring{background:radial-gradient(farthest-side,var(--portal-surface) 68%,transparent 69%),conic-gradient(var(--portal-navy) var(--ring-progress),color-mix(in srgb,var(--portal-fill) 35%,var(--portal-border)) 0)}.portal-roadmap-milestone.is-live .portal-roadmap-milestone-ring{animation:portal-roadmap-live-pulse 2.4s ease-in-out infinite}@keyframes portal-roadmap-live-pulse{0%,to{box-shadow:0 10px 24px color-mix(in srgb,var(--portal-navy) 10%,transparent),0 0 0 0 color-mix(in srgb,var(--portal-navy) 0%,transparent)}50%{box-shadow:0 14px 30px color-mix(in srgb,var(--portal-navy) 16%,transparent),0 0 0 6px color-mix(in srgb,var(--portal-navy) 14%,transparent)}}.portal-roadmap-milestone-dates{display:block;margin-bottom:.15rem;font-size:.68rem;line-height:1.35;color:var(--portal-ink-muted)}.portal-roadmap-notes-card{padding:1rem 1.1rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) + 2px);background:color-mix(in srgb,var(--portal-surface-muted) 50%,var(--portal-surface))}.portal-roadmap-notes-body{margin-top:.55rem;font-size:.9rem;line-height:1.55;color:var(--portal-ink-muted)}.portal-roadmap-tracks-field{display:flex;flex-direction:column;gap:.65rem}.portal-roadmap-tracks-pills{display:flex;flex-wrap:wrap;gap:.4rem}.portal-roadmap-tracks-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .45rem .2rem .6rem;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface-muted);font-size:.75rem;font-weight:600;color:var(--portal-navy)}.portal-roadmap-tracks-pill-remove{display:grid;place-items:center;padding:.1rem;border:none;border-radius:999px;background:transparent;color:var(--portal-ink-muted)}.portal-roadmap-tracks-pill-remove:hover{color:var(--portal-navy);background:color-mix(in srgb,var(--portal-navy) 8%,transparent)}.portal-roadmap-tracks-suggestions{position:absolute;z-index:20;top:calc(100% + .25rem);left:0;right:0;overflow:hidden;margin:0;padding:.25rem;list-style:none;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-roadmap-tracks-suggestion{display:block;width:100%;padding:.5rem .65rem;border:none;border-radius:calc(var(--portal-radius) - 2px);background:transparent;text-align:left;font-size:.8125rem;color:var(--portal-ink)}.portal-roadmap-tracks-suggestion:hover{background:var(--portal-surface-muted);color:var(--portal-navy)}.portal-roadmap-tracks-quick{display:flex;flex-wrap:wrap;gap:.35rem}.portal-roadmap-tracks-quick-btn{padding:.25rem .55rem;border:1px dashed var(--portal-border-strong);border-radius:999px;background:transparent;font-size:.72rem;font-weight:600;color:var(--portal-ink-muted)}.portal-roadmap-tracks-quick-btn:hover{border-color:color-mix(in srgb,var(--portal-navy) 20%,var(--portal-border));color:var(--portal-navy)}.portal-roadmap-milestone.is-empty .portal-roadmap-milestone-ring{background:radial-gradient(farthest-side,var(--portal-surface) 68%,transparent 69%),repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--portal-border) 70%,transparent) 0 12deg,transparent 12deg 24deg)}.portal-roadmap-milestone-label{font-size:1rem;font-weight:700;letter-spacing:.04em;color:var(--portal-navy)}.portal-roadmap-milestone-copy{display:flex;flex-direction:column;gap:.15rem}.portal-roadmap-milestone-year{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-roadmap-milestone-meta{font-size:.75rem;line-height:1.35;color:var(--portal-ink)}.portal-roadmap-milestone-action{font-size:.72rem;font-weight:600;color:var(--portal-navy);text-decoration:underline;text-underline-offset:2px}.portal-roadmap-quarter-panel{padding:1.35rem 1.4rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) + 2px);background:var(--portal-surface);box-shadow:var(--portal-shadow-sm)}.portal-roadmap-quarter-panel-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--portal-border)}.portal-roadmap-quarter-panel-title{margin-top:.35rem;max-width:42rem;font-family:var(--font-libre-baskerville),ui-serif,Georgia,serif;font-size:clamp(1.2rem,2.2vw,1.55rem);line-height:1.25;color:var(--portal-navy)}.portal-roadmap-quarter-stats{display:flex;flex-wrap:wrap;gap:.45rem}.portal-roadmap-quarter-stats span{padding:.35rem .65rem;border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface-muted);font-size:.75rem;color:var(--portal-ink-muted)}.portal-roadmap-quarter-panel-body{display:flex;flex-direction:column;gap:.75rem;padding-top:1rem}.portal-roadmap-initiative-accordion{overflow:hidden;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:color-mix(in srgb,var(--portal-surface-muted) 45%,var(--portal-surface));transition:border-color .16s ease,box-shadow .16s ease}.portal-roadmap-initiative-accordion.is-open{border-color:color-mix(in srgb,var(--portal-navy) 16%,var(--portal-border-strong));box-shadow:var(--portal-shadow-sm)}.portal-roadmap-initiative-trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1rem;border:none;background:transparent;text-align:left;cursor:pointer}.portal-roadmap-initiative-trigger-main{display:flex;min-width:0;align-items:flex-start;gap:.75rem}.portal-roadmap-initiative-trigger-icon{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:999px;background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface));color:var(--portal-navy);flex-shrink:0}.portal-roadmap-initiative-trigger-title{display:block;margin-top:.15rem;font-size:.98rem;font-weight:600;line-height:1.35;color:var(--portal-ink)}.portal-roadmap-initiative-trigger-meta{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;flex-shrink:0}.portal-roadmap-initiative-chevron{color:var(--portal-ink-muted);transition:transform .2s ease}.portal-roadmap-initiative-chevron.is-open{transform:rotate(180deg)}.portal-roadmap-initiative-panel{overflow:hidden}.portal-roadmap-initiative-panel-inner{padding:0 1rem 1rem 3.9rem}.portal-roadmap-section-head h3,.portal-roadmap-section-head h4{font-size:1rem;font-weight:600;color:var(--portal-navy)}.portal-roadmap-section-head p{margin-top:.25rem;font-size:.875rem;color:var(--portal-ink-muted)}.portal-roadmap-initiative-eyebrow{display:block;font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-roadmap-initiative-body{font-size:.875rem;line-height:1.55;color:var(--portal-ink-muted)}.portal-roadmap-initiative-meta{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem;font-size:.75rem;color:var(--portal-ink-muted)}.portal-roadmap-initiative-tasks{margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--portal-border)}.portal-roadmap-initiative-tasks-label{margin-bottom:.55rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--portal-ink-muted)}.portal-roadmap-subsections{display:flex;flex-direction:column;gap:.85rem;margin-top:.9rem;padding-top:.85rem;border-top:1px solid var(--portal-border)}.portal-roadmap-subsection{padding:.75rem .85rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:color-mix(in srgb,var(--portal-surface-muted) 55%,var(--portal-surface))}.portal-roadmap-subsection-label{margin-bottom:.55rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--portal-navy)}.portal-roadmap-task-list{display:flex;flex-direction:column;gap:.55rem}.portal-roadmap-task-item{list-style:none}.portal-roadmap-task-link{display:flex;align-items:center;gap:.55rem;width:100%;padding:.4rem .55rem;margin:-.15rem -.35rem;border-radius:calc(var(--portal-radius) - 2px);text-decoration:none;color:inherit;transition:background-color .15s ease,box-shadow .15s ease}.portal-roadmap-task-link:hover{background:var(--portal-surface-muted,rgba(15,23,42,.04))}.portal-roadmap-task-link:focus-visible{outline:2px solid var(--portal-accent,#2563eb);outline-offset:2px}.portal-roadmap-task-link.is-selected{background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--portal-navy) 22%,var(--portal-border))}.portal-task-activity-description,.portal-task-activity-description+.portal-task-file-actions-only{margin-bottom:1.25rem}.portal-roadmap-task-title{font-size:.8125rem;line-height:1.35;color:var(--portal-ink)}.portal-roadmap-task-meta{font-size:.72rem;color:var(--portal-ink-muted)}.portal-roadmap-task-empty{font-size:.8125rem;color:var(--portal-ink-muted)}.portal-roadmap-delivery-card{padding:1rem 1.1rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface-muted)}.portal-roadmap-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;padding:3rem 1.5rem;border:1px dashed var(--portal-border-strong);border-radius:var(--portal-radius);color:var(--portal-ink-muted);text-align:center}.portal-roadmap-empty-compact{padding:2rem 1.25rem}.portal-roadmap-footer{display:flex;justify-content:flex-end}.portal-roadmap-footer-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem;font-weight:500;color:var(--portal-navy)}.portal-roadmap-footer-link:hover{text-decoration:underline}@media (max-width:900px){.portal-roadmap-pillar-grid{grid-template-columns:1fr}.portal-roadmap-quarter-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-roadmap-journey-canvas,.portal-roadmap-journey-stops{min-height:auto}.portal-roadmap-journey-path{display:none}.portal-roadmap-journey-stops{display:grid;gap:.75rem}.portal-roadmap-milestone{position:relative;left:auto;top:auto;width:100%;margin:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:.9rem;padding:.85rem .95rem;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);text-align:left}.portal-roadmap-milestone-pin:after{display:none}.portal-roadmap-milestone-copy{align-items:flex-start}.portal-roadmap-initiative-panel-inner{padding-left:1rem}}.portal-report-history{display:flex;flex-direction:column;gap:1.25rem}.portal-report-history-years{display:flex;flex-wrap:wrap;gap:.5rem}.portal-report-history-year-btn{border:1px solid var(--portal-border);border-radius:999px;background:var(--portal-surface);padding:.35rem .85rem;font-size:.8125rem;font-weight:500;color:var(--portal-ink-muted);transition:background-color .2s ease,border-color .2s ease,color .2s ease}.portal-report-history-year-btn:hover{border-color:color-mix(in srgb,var(--portal-navy) 24%,var(--portal-border));color:var(--portal-ink)}.portal-report-history-year-btn.is-active{border-color:color-mix(in srgb,var(--portal-navy) 35%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 8%,var(--portal-surface));color:var(--portal-navy)}.portal-report-history-year-label{font-size:.875rem;font-weight:600;color:var(--portal-ink)}.portal-report-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}@media (min-width:640px){.portal-report-history-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:768px){.portal-report-history-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:1024px){.portal-report-history-grid{grid-template-columns:repeat(12,minmax(0,1fr))}}.portal-report-history-month{position:relative;display:flex;min-height:4.5rem;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--portal-border);border-radius:calc(var(--portal-radius) - 2px);background:var(--portal-surface);padding:.65rem .35rem;text-align:center}.portal-report-history-month.is-empty{opacity:.34;background:color-mix(in srgb,var(--portal-fill) 35%,var(--portal-surface))}.portal-report-history-month.is-available{color:var(--portal-ink);text-decoration:none;transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease,transform .22s ease}.portal-report-history-month.is-selected{border-color:color-mix(in srgb,var(--portal-navy) 42%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 10%,var(--portal-surface));box-shadow:var(--portal-shadow-sm)}.portal-report-history-month.is-selected .portal-report-history-month-marker{transform:scale(1.15)}@media (hover:hover) and (pointer:fine){.portal-report-history-month.is-available:hover{border-color:color-mix(in srgb,var(--portal-navy) 28%,var(--portal-border));background:color-mix(in srgb,var(--portal-navy) 4%,var(--portal-surface));box-shadow:var(--portal-shadow-sm);transform:translateY(-1px)}}.portal-report-history-month-label{font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:capitalize;color:inherit}.portal-report-history-month.is-empty .portal-report-history-month-label{color:var(--portal-ink-muted)}.portal-report-history-month-marker{width:.45rem;height:.45rem;border-radius:999px;background:var(--portal-navy)}.portal-report-history-month.is-unseen .portal-report-history-month-marker{animation:portal-report-history-pulse 2s ease-in-out infinite}@keyframes portal-report-history-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--portal-navy) 45%,transparent);transform:scale(1)}50%{box-shadow:0 0 0 .35rem color-mix(in srgb,var(--portal-navy) 0%,transparent);transform:scale(1.08)}}.portal-report-history-new-badge{position:absolute;top:.35rem;right:.35rem;border-radius:999px;background:color-mix(in srgb,var(--portal-accent) 14%,var(--portal-surface));padding:.08rem .38rem;font-size:.58rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--portal-navy)}.portal-report-inline{animation:portal-report-inline-enter .35s ease-out}@keyframes portal-report-inline-enter{0%{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.portal-report-history-month.is-unseen .portal-report-history-month-marker{animation:none}.portal-report-history-month.is-available{transition:none}.portal-report-inline{animation:none}}.contracts-admin-head,.contracts-wizard-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.25rem}.contracts-admin-head-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}.contracts-kicker{margin:0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#64748b;font-weight:700}.contracts-lede{margin:.35rem 0 0;color:#64748b;font-size:.92rem}.contracts-counters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1.25rem}.contracts-counters>div{border:1px solid #e2e8f0;border-radius:.55rem;padding:.85rem 1rem;background:#fff}.contracts-counters strong{display:block;font-size:1.4rem;color:#0f172a}.contracts-counters span{color:#64748b;font-size:.82rem}.contracts-table{width:100%;border-collapse:collapse;font-size:.9rem}.contracts-table td,.contracts-table th{text-align:left;padding:.7rem .6rem;border-bottom:1px solid #e2e8f0;vertical-align:top}.contracts-status{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:650;padding:.2rem .55rem;border-radius:999px;border:1px solid #e2e8f0;background:#f8fafc;color:#334155}.contracts-status:before{content:"";width:.45rem;height:.45rem;border-radius:999px;background:currentColor}.contracts-status.is-warning{color:#b45309;border-color:#fde68a;background:#fffbeb}.contracts-status.is-success{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.contracts-status.is-danger{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.contracts-status.is-draft:before,.contracts-status.is-in_progress:before,.contracts-status.is-ready:before,.contracts-status.is-sent:before,.contracts-status.is-signed:before,.contracts-status.is-viewed:before{animation:contracts-pulse 2.2s ease-out infinite}@media (prefers-reduced-motion:reduce){.contracts-status.is-draft:before,.contracts-status.is-in_progress:before,.contracts-status.is-ready:before,.contracts-status.is-sent:before,.contracts-status.is-signed:before,.contracts-status.is-viewed:before{animation:none}}@keyframes contracts-pulse{0%{box-shadow:0 0 0 0 currentColor;opacity:1}70%{box-shadow:0 0 0 .45rem transparent;opacity:.7}to{box-shadow:0 0 0 0 transparent;opacity:1}}.contracts-test-badge{display:inline-block;margin-left:.4rem;max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;font-size:.62rem;border:1px solid #fdba74;border-radius:.25rem;padding:.1rem .35rem}.contracts-test-badge,.contracts-test-banner{font-weight:700;color:#9a3412;letter-spacing:.04em;background:#fff7ed}.contracts-test-banner{margin-bottom:.85rem;border:1px solid #fdba74;border-radius:.45rem;padding:.65rem .9rem;font-size:.82rem}.contracts-ghost-btn,.contracts-primary-btn,.contracts-secondary-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:.45rem;padding:.5rem .9rem;font-size:.86rem;font-weight:650;text-decoration:none;cursor:pointer}.contracts-primary-btn{border:1px solid #0f172a;background:#0f172a;color:#fff}.contracts-ghost-btn,.contracts-secondary-btn{border:1px solid #e2e8f0;background:#fff;color:#0f172a}.contracts-danger-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:.45rem;padding:.5rem .9rem;font-size:.86rem;font-weight:650;text-decoration:none;cursor:pointer;border:1px solid #fecaca;background:#fef2f2;color:#b91c1c}.contracts-danger-btn:hover:not(:disabled){background:#fee2e2}.contracts-danger-btn:disabled{opacity:.55;cursor:not-allowed}.contracts-row-actions{display:inline-flex;align-items:center;gap:.65rem}.contracts-link-danger{border:0;background:transparent;padding:0;font:inherit;font-size:.86rem;color:#b91c1c;cursor:pointer;text-decoration:underline;text-underline-offset:.15em}.contracts-link-danger:disabled{opacity:.55;cursor:not-allowed}.contracts-detail,.contracts-panel,.contracts-wizard{display:grid;gap:1rem}.contracts-panel{border:1px solid #e2e8f0;border-radius:.65rem;padding:1rem;background:#fff}.contracts-settings-form{display:grid;gap:1rem}.contracts-settings-mode{margin:0;padding:0;border:0;display:grid;gap:.75rem}.contracts-settings-mode>legend{padding:0;font-size:.92rem;font-weight:700;color:#0f172a}.contracts-settings-hint{margin:0;color:#64748b;font-size:.88rem;line-height:1.5}.contracts-settings-option{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;border:1px solid #e2e8f0;border-radius:.55rem;padding:.85rem .95rem;cursor:pointer}.contracts-settings-option:has(input:checked){border-color:#0f172a;background:#f8fafc}.contracts-settings-option strong{display:block;margin-bottom:.2rem;color:#0f172a}.contracts-settings-option span span{display:block;color:#64748b;font-size:.86rem;line-height:1.45}.contracts-settings-error{margin:0;color:#b91c1c;font-size:.88rem}.contracts-settings-ok{margin:0;color:#166534;font-size:.88rem}.contracts-steps{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1rem}.contracts-steps li{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border-radius:999px;border:1px solid #e2e8f0;color:#64748b;font-size:.8rem}.contracts-steps li span{width:1.2rem;height:1.2rem;border-radius:999px;display:inline-grid;place-items:center;background:#f1f5f9;font-size:.7rem;font-weight:700}.contracts-steps li.is-active{border-color:#0f172a;color:#0f172a}.contracts-steps li.is-done{border-color:#a7f3d0;color:#047857}.contracts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.contracts-assign label,.contracts-grid label{display:grid;gap:.3rem;font-size:.78rem;color:#64748b}.contracts-section-head h2{display:inline-flex;align-items:center;gap:.4rem;margin:0}.contracts-field-label-row{display:inline-flex;align-items:center;gap:.3rem}.contracts-field-info{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;border:0;border-radius:999px;background:transparent;color:#64748b;cursor:pointer;padding:0}.contracts-field-info:hover,.contracts-field-info[aria-expanded=true]{background:#e2e8f0;color:#0f172a}.contracts-field-hint{margin:0;padding:.45rem .55rem;border-radius:.35rem;border:1px solid #e2e8f0;background:#f8fafc;color:#334155;font-size:.74rem;line-height:1.4}.contracts-field-hint.is-section{margin-top:.55rem;margin-bottom:.35rem}.contracts-party-banner{margin:0 0 .75rem;padding:.55rem .7rem;border-radius:.4rem;font-size:.8rem;line-height:1.4}.contracts-party-banner.is-client{border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a}.contracts-party-banner.is-provider{margin-top:.85rem;margin-bottom:0;border:1px solid #d1fae5;background:#ecfdf5;color:#065f46}.contracts-assign select,.contracts-grid input,.contracts-grid select,.contracts-grid textarea{border:1px solid #cbd5e1;border-radius:.4rem;padding:.45rem .55rem;font:inherit;color:#0f172a;background:#fff}.contracts-span-2{grid-column:span 2}.contracts-id-lookup{display:flex;gap:.4rem;align-items:stretch}.contracts-id-lookup input{flex:1;min-width:0}.contracts-id-lookup .contracts-ghost-btn{flex-shrink:0;padding:.45rem .7rem;white-space:nowrap}.contracts-lookup-hint{margin:0;font-size:.72rem;line-height:1.35;color:#047857}.contracts-check{display:flex!important;align-items:center;gap:.45rem;grid-template-columns:none!important}.contracts-check-inline{display:inline-flex;align-items:center;gap:.45rem;color:#0f172a;font-size:.86rem}.contracts-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.contracts-chips button{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:.3rem .65rem;font-size:.78rem;cursor:pointer}.contracts-chips button.is-active{border-color:#0f172a;background:#0f172a;color:#fff}.contracts-actions,.contracts-wizard-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.contracts-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.contracts-summary dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.contracts-summary dd{margin:.15rem 0 0;color:#0f172a}.contracts-error,.contracts-note{margin:0;font-size:.85rem}.contracts-error{color:#b91c1c}.contracts-timeline{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.contracts-timeline li{display:grid;gap:.1rem;padding-bottom:.55rem;border-bottom:1px solid #f1f5f9;font-size:.86rem}.contracts-timeline em,.contracts-timeline span{color:#64748b;font-style:normal;font-size:.78rem}.contracts-detail-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}.contracts-client-list{display:grid;gap:.75rem}.contracts-client-card{display:flex;justify-content:space-between;gap:1rem;border:1px solid #e2e8f0;border-radius:.65rem;padding:1rem;background:#fff}.contracts-client-card h3{margin:0 0 .25rem;font-size:1rem}.contracts-client-card p{margin:0;color:#64748b;font-size:.88rem}.contracts-client-card-actions{display:grid;gap:.45rem;justify-items:end;align-content:start}.contracts-assign{display:grid;gap:.45rem;width:100%;margin-top:.5rem}@media (max-width:860px){.contracts-counters,.contracts-detail-grid,.contracts-grid,.contracts-summary{grid-template-columns:1fr}.contracts-span-2{grid-column:auto}.contracts-client-card{flex-direction:column}.contracts-client-card-actions{justify-items:start}}.portal-markdown-editor-mention-wrap{position:relative}.portal-mention-menu{position:absolute;left:0;right:0;bottom:calc(100% + .4rem);z-index:40;max-height:14rem;overflow:auto;border:1px solid var(--portal-border,#e2e8f0);border-radius:.75rem;background:var(--portal-surface,#fff);box-shadow:0 -10px 28px rgba(15,23,42,.12);padding:.35rem}.portal-mention-menu-empty{margin:0;padding:.65rem .75rem;font-size:.85rem;color:var(--portal-ink-muted,#64748b)}.portal-mention-menu-item{display:grid;gap:.1rem;width:100%;text-align:left;border:0;border-radius:.55rem;background:transparent;padding:.55rem .7rem;cursor:pointer;color:inherit}.portal-mention-menu-item.is-active,.portal-mention-menu-item:hover{background:color-mix(in srgb,var(--portal-accent,#0563c1) 10%,transparent)}.portal-mention-menu-label{font-size:.9rem;font-weight:600}.portal-mention-menu-sub{font-size:.75rem;color:var(--portal-ink-muted,#64748b)}.portal-notifications{position:relative}.portal-notifications-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid var(--portal-border,#e2e8f0);background:var(--portal-surface,#fff);color:var(--portal-ink,#0f172a);cursor:pointer}.portal-notifications-trigger.is-alerting{border-color:#fca5a5;color:#dc2626;animation:portal-notifications-pulse 1.5s ease-out infinite}.portal-notifications-badge{position:absolute;top:-.2rem;right:-.2rem;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:#dc2626;color:#fff;font-size:.65rem;font-weight:700;line-height:1.1rem;text-align:center;box-shadow:0 0 0 0 rgba(220,38,38,.55);animation:portal-notifications-pulse 1.5s ease-out infinite}@keyframes portal-notifications-pulse{0%{box-shadow:0 0 0 0 rgba(220,38,38,.5)}70%{box-shadow:0 0 0 .5rem rgba(220,38,38,0)}to{box-shadow:0 0 0 0 rgba(220,38,38,0)}}@media (prefers-reduced-motion:reduce){.portal-notifications-badge,.portal-notifications-trigger.is-alerting{animation:none}}.portal-mobile-bar .portal-notifications-panel,.portal-notifications.is-top .portal-notifications-panel{bottom:auto;top:calc(100% + .45rem)}.portal-notifications-backdrop{position:fixed;inset:0;z-index:40;border:0;padding:0;background:transparent;cursor:default}.portal-notifications-panel{position:absolute;right:0;bottom:calc(100% + .5rem);z-index:50;width:min(22rem,82vw);max-height:22rem;display:grid;grid-template-rows:auto 1fr;border:1px solid var(--portal-border,#e2e8f0);border-radius:.85rem;background:var(--portal-surface,#fff);box-shadow:0 16px 36px rgba(15,23,42,.16);overflow:hidden}.portal-mobile-bar .portal-notifications-trigger{border-color:rgba(255,255,255,.18);background:transparent;color:#fff}.portal-mobile-bar .portal-notifications-trigger.is-alerting{border-color:rgba(248,113,113,.85);color:#fecaca;background:rgba(220,38,38,.22)}.portal-notifications-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .9rem;border-bottom:1px solid var(--portal-border,#e2e8f0)}.portal-notifications-heading{margin:0;font-size:.85rem;font-weight:700}.portal-notifications-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem .65rem}.portal-notifications-clear-all,.portal-notifications-mark-read{border:0;background:transparent;color:var(--portal-accent,#0563c1);font-size:.75rem;cursor:pointer;padding:0}.portal-notifications-clear-all{color:#b42318}.portal-notifications-clear-all:hover{color:#912018}.portal-notifications-list{overflow:auto;padding:.15rem 0}.portal-notifications-empty{margin:0;padding:1rem .9rem;font-size:.85rem;color:var(--portal-ink-muted,#64748b)}.portal-notifications-item-wrap{overflow:hidden}.portal-notifications-item{position:relative;display:flex;align-items:flex-start;gap:.45rem;width:100%;text-align:left;border:0;border-bottom:1px solid var(--portal-border,#e2e8f0);background:transparent;color:inherit;text-decoration:none;padding:.75rem .65rem .75rem .9rem;cursor:pointer;transition:background-color .18s ease,opacity .18s ease}.portal-notifications-item:hover{background:var(--portal-surface-muted,#f8fafc)}.portal-notifications-item.is-unread{background:color-mix(in srgb,var(--portal-accent,#0563c1) 8%,transparent)}.portal-notifications-item-main{display:grid;gap:.2rem;min-width:0;flex:1}.portal-notifications-item-title{font-size:.85rem;font-weight:650}.portal-notifications-item-body{font-size:.78rem;color:var(--portal-ink-muted,#64748b);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.portal-notifications-item-time{font-size:.7rem;color:var(--portal-ink-muted,#64748b)}.portal-notifications-dismiss{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;margin-top:.05rem;border:0;border-radius:999px;background:transparent;color:var(--portal-ink-faint,#94a3b8);cursor:pointer;opacity:.7;transition:background-color .16s ease,color .16s ease,opacity .16s ease}.portal-notifications-dismiss:focus-visible,.portal-notifications-item:hover .portal-notifications-dismiss{opacity:1}.portal-notifications-dismiss:hover{background:color-mix(in srgb,#b42318 10%,transparent);color:#b42318}.portal-notifications-dismiss:disabled{opacity:.4;cursor:default}@media (prefers-reduced-motion:reduce){.portal-notifications-dismiss,.portal-notifications-item{transition:none}}