.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-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-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-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{width:min(100%,42rem);max-height:calc(100dvh - 2rem);overflow-y:auto;border:1px solid var(--portal-border);border-radius:var(--portal-radius);background:var(--portal-surface);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:min(100%,28rem)}.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-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-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-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-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);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:#071018;--portal-login-card-border:rgba(232,237,242,0.1);--portal-login-input-border:rgba(232,237,242,0.16);--portal-login-input-focus:#4d7cff;--portal-login-focus:rgba(77,124,255,0.14)}@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-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-brand-compact .portal-login-brand-subtitle{margin-top:1rem;font-size:.875rem;line-height:1.7}.portal-login-brand-footer{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-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-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-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-navy)}.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 rgba(180,35,24,.16);background:rgba(180,35,24,.04);font-size:.875rem;line-height:1.5;color:#8f1d13}.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-navy);border-radius:0;background:var(--portal-fill);color:#fff;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:#031018;border-color:#031018}.portal-login-submit:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(5,28,44,.35)}.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{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}.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-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-tasks-page-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.portal-task-digest-modal{max-width:min(100%,42rem);max-height:min(92vh,52rem);overflow-y:auto}.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}.portal-comment-node--nested{grid-template-columns:10px minmax(0,1fr)}}@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{width:7%}.portal-task-board .portal-task-col-category{width:10%}.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-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-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)}.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-left:2px solid var(--portal-navy)}.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-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:.85rem}.portal-comment-branch{display:flex;flex-direction:column;gap:.65rem}.portal-comment-node{display:grid;grid-template-columns:minmax(0,1fr);gap:.45rem}.portal-comment-node--nested{grid-template-columns:14px minmax(0,1fr);align-items:stretch}.portal-comment-rail{margin-top:.35rem;margin-bottom:.35rem;border-left:2px solid color-mix(in srgb,var(--portal-navy) 18%,var(--portal-border));border-radius:999px}.portal-comment-children{display:flex;flex-direction:column;gap:.65rem;margin-left:.35rem;padding-left:.65rem;border-left:1px solid var(--portal-border)}.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;gap:.15rem;padding:.35rem .45rem;border-bottom:1px solid var(--portal-border);background:var(--portal-surface-muted,#f8f9fb)}.portal-html-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-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-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:flex;flex-direction:column;gap:0;border:1px solid var(--portal-border);border-radius:var(--portal-radius);overflow:hidden;background:var(--portal-surface)}.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-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;font-weight:600;white-space:nowrap}.portal-traffic-brief-metric svg{display:inline-block;width:.95em;height:.95em;margin-right:.12em;vertical-align:-.12em;flex-shrink:0}.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-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}