:root{color-scheme:light;--color-brand-navy: #172b57;--color-brand-primary: #184b9b;--color-brand-highlight: #3865ad;--color-brand-soft: #eff4fb;--color-tenant-primary: #184b9b;--color-tenant-primary-hover: #123f86;--color-tenant-primary-soft: #eaf1fb;--color-tenant-on-primary: #ffffff;--color-tenant-secondary: #3865ad;--color-tenant-secondary-hover: #305694;--color-tenant-secondary-soft: #edf1f8;--color-tenant-on-secondary: #ffffff;--color-surface-page: #f6f8fb;--color-surface-card: #ffffff;--color-surface-raised: #ffffff;--color-text-primary: #172033;--color-text-secondary: #697386;--color-text-tertiary: #8b95a7;--color-border: #dde1e8;--color-border-strong: #c8cfda;--color-success: #16855b;--color-success-soft: #e8f6f0;--color-warning: #b7791f;--color-warning-soft: #fff4d6;--color-danger: #c53a3a;--color-danger-soft: #fdeaea;--color-info: #2874b8;--color-info-soft: #eaf4fc;--font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: Montserrat, Inter, ui-sans-serif, sans-serif;--font-size-minimum: 12px;--font-size-hint: var(--font-size-minimum);--font-size-label: 12px;--font-size-muted: 14px;--font-size-heading: 15px;--font-size-body: 16px;--font-size-field: 14px;--font-size-lead: 18px;--font-size-subtitle: 20px;--font-size-title: 24px;--font-size-kpi: 28px;--font-size-hero: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgb(23 43 87 / 6%), 0 4px 14px rgb(23 43 87 / 4%);--shadow-md: 0 10px 32px rgb(23 43 87 / 12%);--sidebar-width: 264px;--sidebar-width-collapsed: 76px;--topbar-height: 68px;--transition-fast: .18s ease}*{box-sizing:border-box}html{min-width:320px;background:var(--color-surface-page)}body{margin:0;min-width:320px;color:var(--color-text-primary);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--color-tenant-primary) 32%,transparent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:200;top:8px;left:8px;padding:10px 14px;color:#fff;background:var(--color-brand-navy);transform:translateY(-150%);border-radius:8px}.skip-link:focus{transform:translateY(0)}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;display:flex;flex-direction:column;width:var(--sidebar-width);padding:0 12px 14px;overflow:hidden;color:#fffc;background:radial-gradient(circle at 18% 0%,rgb(56 101 173 / 25%),transparent 30%),linear-gradient(180deg,#172b57,#112345);box-shadow:12px 0 40px #1224481a;transition:width var(--transition-fast),transform var(--transition-fast)}.area-switcher{display:flex;align-items:center;width:100%;min-height:54px;margin:14px 0 8px;padding:8px;gap:9px;border:1px solid rgb(255 255 255 / 12%);border-radius:11px;color:#fff;background:#ffffff12}.area-icon{display:grid;width:34px;height:34px;flex:none;place-items:center;border-radius:9px;background:#ffffff1f}.area-icon img{width:30px;height:30px;object-fit:contain}.area-copy{display:flex;min-width:0;flex-direction:column;gap:3px;white-space:nowrap}.area-copy small{color:#ffffff8c;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.area-copy strong{font-size:15px}.sidebar-nav{flex:1;padding:14px 2px 12px;overflow-y:auto}.nav-group{margin-top:15px}.nav-group-label{display:flex;align-items:center;margin:0 10px 9px;gap:9px;color:#8fe034;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.nav-item{position:relative;display:flex;align-items:center;min-height:40px;margin:2px 0;padding:8px 10px;gap:11px;border-radius:9px;color:#ffffffb0}.nav-item.is-active{color:#fff;background:#ffffff1f;font-weight:600}.nav-item.is-active:before{position:absolute;inset:8px auto 8px -2px;width:3px;border-radius:3px;background:#5bb8ff;content:""}.nav-item-label{overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}.nav-item svg,.collapse-button svg{flex:none}.collapse-button{display:flex;align-items:center;min-height:40px;padding:8px 12px;gap:11px;border:1px solid rgb(255 255 255 / 10%);border-radius:9px;color:#ffffff94;background:transparent;font-size:14px;white-space:nowrap}.collapse-button:hover{color:#fff;background:#ffffff0f}.topbar{position:fixed;z-index:30;inset:0 0 auto var(--sidebar-width);display:flex;align-items:center;height:var(--topbar-height);padding:0 26px;gap:24px;border-bottom:1px solid var(--color-border);background:#fffffff0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:left var(--transition-fast)}.app-brand{display:flex;align-items:center;gap:9px;color:var(--color-brand-navy);font-family:var(--font-display);font-weight:700;font-size:14px;white-space:nowrap}.app-brand img{width:32px;height:32px;object-fit:contain}.app-breadcrumb{display:flex;gap:10px;font-size:12px;color:var(--color-text-tertiary)}.app-breadcrumb strong{color:var(--color-text-secondary);white-space:nowrap}.topbar-spacer{flex:1}.user-identity{display:flex;align-items:center;gap:9px;min-width:0}.avatar{display:grid;width:36px;height:36px;flex:none;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,var(--color-tenant-secondary),var(--color-brand-navy));font-size:12px;font-weight:700}.user-copy{display:flex;flex-direction:column;min-width:0;gap:2px}.user-copy strong{font-size:12px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-copy small{font-size:12px;color:var(--color-text-tertiary)}.icon-button{display:grid;width:38px;height:38px;padding:0;place-items:center;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--color-text-secondary)}.mobile-menu{display:none}.main-content{min-height:100vh;display:flex;flex-direction:column;margin-left:var(--sidebar-width);padding:calc(var(--topbar-height) + 28px) 30px 24px;transition:margin-left var(--transition-fast)}.page{width:min(1380px,100%);margin:0 auto;flex:1}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.breadcrumb{display:flex;gap:5px;align-items:center;margin-bottom:9px;color:var(--color-text-tertiary);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.breadcrumb strong{color:var(--color-tenant-primary)}.page-header h1{margin:0;font-family:var(--font-display);color:var(--color-brand-navy);font-size:clamp(24px,2.2vw,31px);line-height:1.15;letter-spacing:-.7px}.page-header p{margin:7px 0 0;color:var(--color-text-secondary);font-size:15px;line-height:1.5}.header-actions{flex:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;padding:8px 14px;border:1px solid var(--color-border);border-radius:9px;background:#fff;font-size:14px;font-weight:650}.button.primary{border-color:var(--color-tenant-primary);color:#fff;background:var(--color-tenant-primary);box-shadow:0 5px 14px color-mix(in srgb,var(--color-tenant-primary) 22%,transparent)}.button.primary:hover:not(:disabled){background:var(--color-tenant-primary-hover)}.button.secondary:hover:not(:disabled){border-color:var(--color-tenant-primary);color:var(--color-tenant-primary);background:var(--color-tenant-primary-soft)}button:disabled{opacity:.45;cursor:not-allowed}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:24px}.metric-card{display:flex;align-items:center;padding:20px;gap:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.metric-card>div>span{display:block;color:var(--color-text-secondary);font-size:13px}.metric-card strong{display:block;margin-top:6px;font-size:var(--font-size-kpi);color:var(--color-brand-navy)}.metric-icon{display:grid;width:48px;height:48px;flex:none;place-items:center;border-radius:12px;background:var(--color-tenant-primary-soft);color:var(--color-tenant-primary)}.metric-icon.warning{background:var(--color-warning-soft);color:var(--color-warning)}.notice{display:flex;align-items:center;gap:10px;padding:12px 14px;margin:0 0 22px;border:1px solid #f0dfb0;border-radius:9px;color:#785313;background:#fffaf0;font-size:13px;line-height:1.5}.notice svg{flex:none}.notice span{flex:1}.notice button{flex:none}.portfolio-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm);overflow:hidden}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid var(--color-border)}.toolbar h2{margin:0;font-size:16px;color:var(--color-brand-navy)}.toolbar p{margin:5px 0 0;color:var(--color-text-secondary);font-size:13px}.search{display:flex;align-items:center;width:min(330px,45%);gap:8px;padding:0 11px;height:39px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-page);color:var(--color-text-tertiary)}.search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--color-text-primary);font-size:14px}.search:focus-within{border-color:var(--color-tenant-primary);box-shadow:0 0 0 3px var(--color-tenant-primary-soft)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:42px 24px;min-height:275px}.empty-icon{display:grid;place-items:center;width:58px;height:58px;background:var(--color-brand-soft);color:var(--color-brand-highlight);border-radius:16px}.empty h3{margin:18px 0 0;font-size:16px;font-weight:600}.empty p{max-width:440px;margin:9px 0 18px;color:var(--color-text-secondary);font-size:14px;line-height:1.6}.panel-footer{padding:13px 20px;border-top:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:12px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px}.card{display:flex;flex-direction:column;min-height:210px;padding:20px;border:1px solid var(--color-border);border-radius:12px;background:#fff;text-align:left}.card:hover{border-color:var(--color-tenant-primary);box-shadow:var(--shadow-sm)}.badge{align-self:flex-start;padding:4px 9px;border-radius:999px;color:var(--color-warning);background:var(--color-warning-soft);font-size:12px}.card h3{overflow-wrap:anywhere;color:var(--color-brand-navy);font-size:16px;margin:15px 0 6px}.card p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;color:var(--color-text-secondary);font-size:14px;line-height:1.5}.card-bottom{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:16px;color:var(--color-text-tertiary);font-size:12px}.app-footer{display:flex;justify-content:space-between;gap:16px;margin:28px auto 0;padding-top:18px;width:min(1380px,100%);border-top:1px solid var(--color-border);font-size:12px;color:var(--color-text-tertiary)}.app-footer p{margin:0;line-height:1.6}.app-footer p:last-child{letter-spacing:.06em;text-transform:uppercase}.overlay{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#09142b94}.dialog{width:min(580px,100%);max-height:92dvh;overflow-y:auto;padding:26px;border-radius:16px;background:#fff;box-shadow:var(--shadow-md)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.eyebrow{font-size:12px;letter-spacing:.05em;color:var(--color-tenant-primary)}.dialog h2{color:var(--color-brand-navy);font-family:var(--font-display);font-size:24px;margin:8px 0 0}.close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--color-text-secondary)}.close:hover{background:var(--color-surface-page)}.muted{color:var(--color-text-secondary);font-size:14px;line-height:1.5}fieldset{margin:0;padding:0;border:0}.dialog label{display:flex;flex-direction:column;gap:8px;margin-top:18px;font-size:13px;font-weight:600}.dialog input,.dialog select,.dialog textarea{width:100%;min-height:40px;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;color:var(--color-text-primary);font-size:var(--font-size-field)}.dialog textarea{resize:vertical}.dialog small{display:block;margin-top:6px;text-align:right;font-size:12px;color:var(--color-text-tertiary)}.dialog .notice{margin:20px 0 0}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border)}.is-collapsed{--sidebar-width: var(--sidebar-width-collapsed)}.is-collapsed .area-copy,.is-collapsed .nav-item-label,.is-collapsed .nav-group-label,.is-collapsed .collapse-button span{display:none}.is-collapsed .area-switcher{padding:8px 0;justify-content:center}.is-collapsed .nav-item,.is-collapsed .collapse-button{justify-content:center;padding:10px 0}.sidebar-scrim{display:none}@media(max-width:1100px){.app-brand span{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{gap:18px}}@media(max-width:760px){.sidebar{width:264px;transform:translate(-100%)}.mobile-open .sidebar{transform:translate(0)}.sidebar-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:35;border:0;background:#09142b7a}.mobile-open .area-copy,.mobile-open .nav-item-label,.mobile-open .nav-group-label{display:flex}.collapse-button{display:none}.topbar{left:0;padding:0 16px;gap:12px}.mobile-menu{display:grid;flex:none}.app-breadcrumb{display:none}.main-content{margin-left:0;padding:calc(var(--topbar-height) + 22px) 16px 22px}.page-header{align-items:flex-start;gap:18px;flex-direction:column}.stats{gap:12px}.metric-card{padding:16px;gap:10px}.metric-icon{width:36px;height:36px}.metric-card>div>span{font-size:12px}.toolbar{flex-direction:column;align-items:stretch;gap:16px}.search{width:100%}.notice{flex-wrap:wrap}.notice span{flex:1 1 calc(100% - 32px)}.notice button{margin-left:28px}.cards{grid-template-columns:1fr}.app-footer{flex-direction:column;gap:5px}.dialog{padding:22px}.overlay{padding:12px}}@media(max-width:390px){.stats{grid-template-columns:1fr}.user-copy{max-width:145px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}}.planning-navigation{display:flex;align-items:center;gap:12px;margin-bottom:22px}.planning-workspace .page-header h1{overflow-wrap:anywhere}.planning-form>fieldset{min-width:0}.planning-section{padding:24px;margin-bottom:20px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-card);box-shadow:var(--shadow-sm)}.section-heading{display:flex;gap:14px;align-items:center;margin-bottom:22px}.section-number{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;color:var(--color-tenant-primary);background:var(--color-tenant-primary-soft);font-size:14px;font-weight:700}.section-heading>div{flex:1}.section-heading h2,.planning-checklist h2{margin:0;color:var(--color-brand-navy);font-size:18px}.section-heading p{margin:5px 0 0;font-size:13px;color:var(--color-text-secondary);line-height:1.6}.planning-form label{display:flex;flex-direction:column;gap:7px;margin-top:16px;font-size:13px;font-weight:600;color:var(--color-text-primary)}.planning-form input,.planning-form select,.planning-form textarea{width:100%;min-width:0;min-height:40px;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;background:#fff;font-size:var(--font-size-field);color:var(--color-text-primary)}.planning-form textarea{resize:vertical}.planning-form input:disabled,.planning-form textarea:disabled,.planning-form select:disabled{background:var(--color-surface-page);color:var(--color-text-secondary);opacity:1}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.span-2{grid-column:span 2}.planning-item{padding:20px;margin-bottom:18px;border:1px solid var(--color-border);border-radius:10px;background:#fbfcfe}.item-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.item-heading h3,.item-heading h4{margin:0;font-size:15px;font-weight:650;overflow-wrap:anywhere}.text-button{padding:6px 0;border:0;background:transparent;color:var(--color-tenant-primary);font-size:13px}.text-button.danger{color:var(--color-danger)}.weight-total{flex:none;padding:6px 10px;border-radius:7px;font-size:12px;font-weight:600;color:var(--color-warning);background:var(--color-warning-soft)}.weight-total.balanced{color:var(--color-success);background:var(--color-success-soft)}.section-empty,.field-hint{font-size:13px;line-height:1.6;color:var(--color-text-secondary)}.field-hint{margin:12px 0 0}.why-chain{margin:18px 0;padding-left:18px;border-left:2px solid var(--color-border)}.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.why-chain .inline-actions{margin-top:14px}.planning-form .checkbox-label{flex-direction:row;align-items:center;gap:9px;font-weight:400;line-height:1.5}.planning-form .checkbox-label input{flex:none;width:17px;height:17px;min-height:0;padding:0;accent-color:var(--color-tenant-primary)}.cause-selection{margin-top:18px;min-width:0}.cause-selection legend{font-size:13px;font-weight:600}.goal-actions+.goal-actions{margin-top:26px;padding-top:22px;border-top:1px solid var(--color-border)}.goal-actions>.item-heading{margin-bottom:16px}.planning-checklist ul{padding-left:22px;color:var(--color-text-secondary);font-size:14px;line-height:1.8}.planning-save-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--color-border);border-radius:12px;background:#fffffff7;box-shadow:var(--shadow-md);z-index:5}.planning-save-bar small{color:var(--color-text-secondary);font-size:12px}.planning-save-bar p{margin:0 0 5px;font-size:13px}.error-text{color:var(--color-danger)}.success-text{color:var(--color-success)}@media(max-width:760px){.planning-section{padding:18px}.planning-item{padding:16px}.section-heading{flex-wrap:wrap}.section-heading .weight-total{margin-left:52px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.planning-save-bar{position:static;flex-direction:column;align-items:stretch}.planning-save-bar .inline-actions{justify-content:flex-end}.item-heading{flex-wrap:wrap}}.review-decision{display:grid;gap:16px;margin-top:20px}.review-decision>button{justify-self:start}.review-history{margin-top:24px;border-top:1px solid var(--color-border);padding-top:16px}.review-history li{padding:8px 0;overflow-wrap:anywhere}.review-history li p{white-space:pre-wrap;margin:6px 0}
