*{box-sizing:border-box;margin:0;padding:0}body,button,input,select,textarea{font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern";background:#fdfcff;font-kerning:normal;font-size:16px;line-height:1.55}.material-symbols-outlined{font-size:24px;line-height:1}#root{min-height:100vh}:root{--md-sys-color-primary:#003087;--md-sys-color-secondary:#0047bb;--md-sys-color-on-primary:#fff;--md-sys-color-surface:#fff;--md-sys-color-on-surface:#1f2937;--md-sys-color-on-surface-variant:#6b6e77;--md-sys-color-outline:#c4c6d0;--md-sys-color-outline-variant:#e1e2ec;--md-sys-color-surface-container-high:color-mix(in srgb,var(--md-sys-color-primary) 8%,#fdfcff);--md-sys-shape-corner-small:4px;--md-sys-shape-corner-medium:8px;--md-sys-shape-corner-large:12px;--md-sys-shape-corner-pill:50px;--md-sys-elevation-level0:0 0 0 0 #0000;--md-sys-elevation-level1:0 1px 3px 0 #0000001a;--md-sys-elevation-level2:0 2px 8px #00308714;--md-sys-elevation-level3:0 4px 12px 0 #00000026;--md-sys-elevation-panel:-4px 0 32px #0030871f;--md-sys-elevation-auth:0 4px 24px color-mix(in srgb,var(--md-sys-color-primary) 18%,#0000);--md-sys-elevation-modal:0 8px 32px #0003;--secondary-page-bg:#f8f9fa;--table-row-border:#f1f3f4;--table-hover-bg:#fafafa;--md-sys-color-error:#ba1a1a;--md-sys-color-success:#007e71;--md-sys-color-attention:#e65100;--md-sys-color-gold:#fba300;--text-xs:0.6875rem;--text-2xs:0.75rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:1.75rem;--lh-tight:1.2;--lh-snug:1.35;--lh-relaxed:1.4;--lh-normal:1.55;--ls-tight:-0.01em;--ls-label:0.05em;--ls-default:0;--fw-normal:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700}.status-badge{align-items:center;border-radius:50px;border-radius:var(--md-sys-shape-corner-pill);display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:4px 10px}.status-active{background:color-mix(in srgb,#007e71 8%,#fff);background:color-mix(in srgb,var(--md-sys-color-success) 8%,#fff);color:#007e71;color:var(--md-sys-color-success)}.status-draft{background:color-mix(in srgb,#e65100 8%,#fff);background:color-mix(in srgb,var(--md-sys-color-attention) 8%,#fff);color:#e65100;color:var(--md-sys-color-attention)}.status-complete{background:color-mix(in srgb,#0047bb 8%,#fff);color:#0047bb}.status-finalized{background:color-mix(in srgb,#007e71 12%,#fff);background:color-mix(in srgb,var(--md-sys-color-success) 12%,#fff);color:color-mix(in srgb,#007e71 80%,#000);color:color-mix(in srgb,var(--md-sys-color-success) 80%,#000)}.status-archived{background:#e1e2ec;background:var(--md-sys-color-outline-variant);color:#6b6e77;color:var(--md-sys-color-on-surface-variant)}.status-pending{background:color-mix(in srgb,#fba300 10%,#fff);background:color-mix(in srgb,var(--md-sys-color-gold) 10%,#fff);color:color-mix(in srgb,#fba300 50%,#000);color:color-mix(in srgb,var(--md-sys-color-gold) 50%,#000)}.app,.app-loading{min-height:100vh}.app-loading{align-items:center;background:#fdfcff;display:flex;flex-direction:column;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e1e2ec;border-top-color:#003087;border:4px solid var(--md-sys-color-outline-variant);border-radius:50%;border-top-color:var(--md-sys-color-primary);height:48px;margin-bottom:16px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.app-loading p{color:#6b6e77;color:var(--md-sys-color-on-surface-variant);font-size:.875rem;font-size:var(--text-base)}.trial-banner{align-items:center;background:color-mix(in srgb,#fba300 12%,#fff);border-bottom:1px solid color-mix(in srgb,#fba300 30%,#0000);color:#1f2937;color:var(--md-sys-color-on-surface);display:flex;font-size:.8125rem;font-size:var(--text-sm);font-weight:500;font-weight:var(--fw-medium);gap:8px;padding:10px 24px}.trial-banner .material-symbols-outlined{color:#fba300;flex-shrink:0;font-size:18px}.trial-banner-cta{background:none;border:1px solid #fba300;border-radius:4px;border-radius:var(--md-sys-shape-corner-small);color:#1f2937;color:var(--md-sys-color-on-surface);cursor:pointer;font-size:.8125rem;font-size:var(--text-sm);font-weight:600;font-weight:var(--fw-semibold);margin-left:12px;padding:3px 10px;transition:background .15s}.trial-banner-cta:hover{background:color-mix(in srgb,#fba300 15%,#0000)}.trial-banner-link{color:#1f2937;color:var(--md-sys-color-on-surface);font-weight:600;font-weight:var(--fw-semibold);text-decoration:underline;text-underline-offset:2px}.trial-banner-link:hover{color:#003087;color:var(--md-sys-color-primary)}.subscription-expired-screen{align-items:center;background:#fdfcff;display:flex;justify-content:center;min-height:calc(100vh - 64px);min-height:calc(100vh - var(--header-height, 64px));padding:40px 24px}.col,.container{margin:0 auto;width:80%}.container{padding:20px 0}.header{background:#fff;background:var(--md-sys-color-surface);border-bottom:1px solid #e1e2ec;border-bottom:1px solid var(--md-sys-color-outline-variant);box-shadow:0 1px 3px 0 #0000001a;box-shadow:var(--md-sys-elevation-level1)}.header-content{gap:24px;justify-content:space-between;margin:0 auto;min-height:64px;padding:16px 0;width:80%}.header-content,.logo-section{align-items:center;display:flex}.logo{height:32px;width:auto}.header-actions{align-items:center;display:flex;gap:12px}.plan-selector{position:relative}.plan-selector-trigger{align-items:center;background:color-mix(in srgb,#fff 97%,#003087 3%);background:color-mix(in srgb,var(--md-sys-color-surface) 97%,var(--md-sys-color-primary) 3%);border:1px solid #e1e2ec;border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;display:flex;font-family:inherit;gap:12px;min-height:40px;min-width:250px;padding:10px 16px;transition:background .2s cubic-bezier(.2,0,0,1),border-color .2s cubic-bezier(.2,0,0,1)}.plan-selector-trigger:hover{background:#fff;background:var(--md-sys-color-surface);border-color:#c4c6d0;border-color:var(--md-sys-color-outline);box-shadow:0 1px 3px 0 #0000001a;box-shadow:var(--md-sys-elevation-level1)}.current-plan-info{align-items:center;display:flex;flex:1 1}.plan-name{color:#1f2937;color:var(--md-sys-color-on-surface);font-size:14px;font-weight:500}.dropdown-arrow{align-items:center;color:#6b6e77;color:var(--md-sys-color-on-surface-variant);display:flex;font-size:12px}.plan-dropdown{background:#fff;background:var(--md-sys-color-surface);border:1px solid #e1e2ec;border:1px solid var(--md-sys-color-outline-variant);border-radius:8px;border-radius:var(--md-sys-shape-corner-medium);box-shadow:0 4px 12px 0 #00000026;box-shadow:var(--md-sys-elevation-level3);left:0;max-height:400px;min-width:300px;overflow:auto;position:absolute;top:calc(100% + 8px);z-index:1000}.plan-dropdown-header{color:#6b6e77;font-size:.6875rem;font-weight:600;letter-spacing:.05em;padding:16px 16px 8px}.plan-dropdown-list{padding:8px}.plan-dropdown-item{background:#fff;background:var(--md-sys-color-surface);border-radius:4px;border-radius:var(--md-sys-shape-corner-small);margin-bottom:4px;padding:12px;transition:background .2s cubic-bezier(.2,0,0,1)}.plan-dropdown-item:hover{background:color-mix(in srgb,#003087 5%,#fff);background:color-mix(in srgb,var(--md-sys-color-primary) 5%,var(--md-sys-color-surface))}.plan-dropdown-item.active{background:color-mix(in srgb,#003087 8%,#fff);background:color-mix(in srgb,var(--md-sys-color-primary) 8%,var(--md-sys-color-surface))}.plan-dropdown-name{color:#1f2937;font-size:14px;font-weight:500}.plan-dropdown-period{color:#6b6e77;color:var(--md-sys-color-on-surface-variant);font-size:12px}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:500;justify-content:center;min-height:42px;padding:10px 24px;transition:background .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1),transform .1s cubic-bezier(.2,0,0,1);white-space:nowrap}.btn-primary{background:var(--md-sys-color-primary);background:#003087;box-shadow:0 0 0 0 #0000;box-shadow:var(--md-sys-elevation-level0);color:var(--md-sys-color-on-primary);color:#fff}.btn-primary:hover{background:#0047bb;background:var(--md-sys-color-secondary)}.btn-primary:active{box-shadow:0 0 0 0 #0000;box-shadow:var(--md-sys-elevation-level0)}.plan-info{background:#fff;border-radius:8px;border-radius:var(--md-sys-shape-corner-medium);box-shadow:0 1px 3px 0 #0000001a;box-shadow:var(--md-sys-elevation-level1);margin-bottom:20px;padding:20px 24px}.plan-header{margin-bottom:16px}.plan-title{color:#003087;font-size:1.5rem;font-weight:600;letter-spacing:-.01em;line-height:1.2}.subtitle{color:#6b6e77;color:var(--md-sys-color-on-surface-variant);font-size:.875rem;font-size:var(--text-base);margin:0}.mode-toggle{display:flex;gap:8px}.mode-btn{background:#fff;background:var(--md-sys-color-surface);border:2px solid #e1e2ec;border:2px solid var(--md-sys-color-outline-variant);border-radius:4px;border-radius:var(--md-sys-shape-corner-small);color:#6b6e77;color:var(--md-sys-color-on-surface-variant);cursor:pointer;font-family:inherit;font-size:.875rem;font-size:var(--text-base);font-weight:500;font-weight:var(--fw-medium);padding:10px 20px;transition:background .2s,border-color .2s,color .2s}.mode-btn.active{background:#003087;background:var(--md-sys-color-primary);color:#fff;color:var(--md-sys-color-on-primary)}.mode-btn.active,.mode-btn:hover:not(.active){border-color:#003087;border-color:var(--md-sys-color-primary)}.mode-btn:hover:not(.active){color:#003087;color:var(--md-sys-color-primary)}.secondary-header{background:#fff;background:var(--md-sys-color-surface);border-bottom:1px solid #e1e2ec;border-bottom:1px solid var(--md-sys-color-outline-variant)}.secondary-header--dark{background:#003087;background:var(--md-sys-color-primary);border-bottom:none}.secondary-header--dark .secondary-header-title h1{color:#fff;color:var(--md-sys-color-on-primary)}.secondary-header--dark .secondary-header-title p{color:color-mix(in srgb,#fff 70%,#0000);color:color-mix(in srgb,var(--md-sys-color-on-primary) 70%,#0000)}.secondary-header--dark .back-button{color:#fff;color:var(--md-sys-color-on-primary)}.secondary-header--dark .back-button:hover{background:color-mix(in srgb,#fff 12%,#0000);background:color-mix(in srgb,var(--md-sys-color-on-primary) 12%,#0000)}.secondary-header--dark .super-admin-refresh{background:#0000;border:2px solid #fff6;color:#fff;color:var(--md-sys-color-on-primary)}.secondary-header--dark .super-admin-refresh:hover{background:#ffffff14;border-color:#fffc}.secondary-header--dark .invite-button{background:#0000;border:2px solid #fff6;color:#fff;color:var(--md-sys-color-on-primary)}.secondary-header--dark .invite-button:hover{background:#ffffff14;border-color:#fffc}.secondary-header-inner{align-items:center;display:flex;gap:24px;margin:0 auto;padding:16px 0;width:80%}.secondary-header-title{flex:1 1}.secondary-header-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.secondary-header-title h1{color:#003087;color:var(--md-sys-color-primary);font-size:1.5rem;font-size:var(--text-xl);font-weight:700;font-weight:var(--fw-bold);letter-spacing:-.01em;letter-spacing:var(--ls-tight);line-height:1.2;line-height:var(--lh-tight);margin:0 0 4px}.secondary-header-title p{color:#6b6e77;color:var(--md-sys-color-on-surface-variant);font-size:14px;margin:0}.back-button{align-items:center;background:none;border:none;border-radius:8px;border-radius:var(--md-sys-shape-corner-medium);color:#003087;color:var(--md-sys-color-primary);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:8px 12px;transition:background .2s}.back-button:hover{background:color-mix(in srgb,#003087 8%,#fdfcff);background:var(--md-sys-color-surface-container-high)}.back-button .material-symbols-outlined{font-size:20px}.btn-secondary{background:#fff;background:var(--md-sys-color-surface);border:1px solid #e1e2ec;border:1px solid var(--md-sys-color-outline-variant);color:#003087;color:var(--md-sys-color-primary)}.btn-secondary:hover{background:color-mix(in srgb,#003087 8%,#fdfcff);background:var(--md-sys-color-surface-container-high);border-color:#c4c6d0;border-color:var(--md-sys-color-outline)}.toast-stack{bottom:24px;flex-direction:column;gap:8px;left:50%;pointer-events:none;position:fixed;transform:translateX(-50%);z-index:9999}.toast,.toast-stack{align-items:center;display:flex}.toast{animation:toastIn .2s ease-out;border-radius:50px;border-radius:var(--md-sys-shape-corner-pill);box-shadow:0 4px 12px 0 #00000026;box-shadow:var(--md-sys-elevation-level3);cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;gap:10px;max-width:420px;padding:12px 20px;pointer-events:all;white-space:nowrap}@keyframes toastIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.toast--success{background:#007e71;background:var(--md-sys-color-success)}.toast--error,.toast--success{color:#fff;color:var(--md-sys-color-on-primary)}.toast--error{background:#ba1a1a;background:var(--md-sys-color-error)}.toast--info{background:#003087;background:var(--md-sys-color-primary);color:#fff;color:var(--md-sys-color-on-primary)}.toast-icon{font-size:18px}.toast-undo{background:#fff3;border:1px solid #fff6;border-radius:4px;border-radius:var(--md-sys-shape-corner-small);color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-size:13px;font-weight:600;padding:4px 10px;transition:background .15s}.toast-undo:hover{background:#ffffff4d}.toast-close{align-items:center;background:none;border:none;color:#ffffffb3;cursor:pointer;display:flex;flex-shrink:0;padding:0;transition:color .15s}.toast-close:hover{color:#fff}.toast-close .material-symbols-outlined{font-size:16px}@media (max-width:768px){.secondary-header-inner{padding:16px;width:100%}.col{padding:0 16px;width:100%}.container{padding:12px 16px;width:100%}.logo{height:28px}.plan-title{font-size:18px}.subtitle{font-size:12px}.mode-toggle{flex-direction:column}.mode-btn{width:100%}.form-input,.form-select,.form-textarea,input,select,textarea{font-size:16px!important}.header-content{align-items:center;flex-direction:row;gap:0;justify-content:space-between;min-height:56px;padding:0 16px;width:100%}.logo-section{flex:0 0 auto}.header-actions{flex-direction:row;gap:4px;margin-left:auto}.btn-primary{justify-content:center}.desktop-required-modal{margin:20px;width:calc(100% - 40px)}.desktop-required-content{padding:8px 0;text-align:center}.desktop-required-icon{color:#003087;color:var(--md-sys-color-primary);display:block;font-size:48px!important;margin-bottom:16px}.desktop-required-content p{color:#6b6e77;color:var(--md-sys-color-on-surface-variant);font-size:15px;line-height:1.6;margin-bottom:12px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.dashboard{background:#fdfcff;min-height:calc(100vh - 64px)}.dashboard .container{padding:32px 0}.empty-state{background:#fff;border:2px dashed var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);margin:60px auto;max-width:600px;padding:80px 24px;text-align:center}.empty-state-icon{margin-bottom:16px}.empty-state-icon,.empty-state-icon .material-symbols-outlined{color:var(--md-sys-color-on-surface-variant);font-size:64px}.empty-state-title{color:var(--md-sys-color-on-surface);font-size:var(--text-xl);font-weight:var(--fw-semibold);margin-bottom:8px}.empty-state-text{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-md);line-height:var(--lh-normal);margin-bottom:24px}.dashboard-section{margin-bottom:48px}.dashboard-two-column{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1fr 1fr;margin-bottom:48px}.dashboard-two-column .dashboard-section{margin-bottom:0}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.section-title{font-size:var(--text-xl);letter-spacing:var(--ls-tight);line-height:var(--lh-tight)}.plans-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.plan-card{background:#fff;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;padding:20px;transition:border-color .2s cubic-bezier(.2,0,0,1),box-shadow .2s cubic-bezier(.2,0,0,1)}.plan-card:hover{border-color:var(--md-sys-color-primary);box-shadow:var(--md-sys-elevation-level1)}.plan-card-name{color:var(--md-sys-color-on-surface);font-size:var(--text-lg);font-weight:var(--fw-semibold);margin-bottom:8px}.plan-card-meta{color:var(--md-sys-color-on-surface-variant);display:flex;font-size:var(--text-base);gap:8px;margin-bottom:12px}.plan-card-footer{align-items:center;border-top:1px solid var(--md-sys-color-outline-variant);display:flex;justify-content:space-between;padding-top:12px}.plan-card-budget{font-feature-settings:"tnum";color:var(--md-sys-color-on-surface);font-size:var(--text-md);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.plan-card-new{align-items:center;background:#fff;border:2px dashed var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;display:flex;justify-content:center;min-height:140px;padding:20px;transition:border-color .2s cubic-bezier(.2,0,0,1),background .2s cubic-bezier(.2,0,0,1)}.plan-card-new:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 3%,#fff);border-color:var(--md-sys-color-primary)}.new-plan-prompt{align-items:center;color:var(--md-sys-color-on-surface-variant);display:flex;flex-direction:column;gap:8px}.new-plan-icon{font-size:48px;font-weight:300;line-height:1}.new-plan-text{font-size:var(--text-md);font-weight:var(--fw-medium)}.plan-card-new:hover .new-plan-prompt{color:var(--md-sys-color-primary)}.initiative-summary-card{background:#fff;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:12px;padding:16px}.initiative-summary-card.clickable{cursor:pointer;transition:border-color .2s}.initiative-summary-card.clickable:hover{border-color:var(--md-sys-color-primary)}.initiative-summary-header{margin-bottom:8px}.initiative-summary-title{color:var(--md-sys-color-on-surface);font-size:var(--text-md);font-weight:var(--fw-semibold);margin-bottom:4px}.initiative-summary-plan{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-sm)}.initiative-summary-stats{display:flex;font-size:var(--text-sm);gap:16px}.stat-pending{color:var(--md-sys-color-attention);font-weight:var(--fw-medium)}.stat-approved{color:var(--md-sys-color-success);font-weight:var(--fw-medium)}.approval-card{background:#fff;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);margin-bottom:12px;padding:16px;transition:border-color .2s}.approval-card:hover{border-color:var(--md-sys-color-primary)}.approval-header{align-items:start;display:flex;justify-content:space-between;margin-bottom:12px}.approval-type-label{color:var(--md-sys-color-primary);font-size:var(--text-xs);letter-spacing:var(--ls-label);text-transform:uppercase}.approval-title,.approval-type-label{font-weight:var(--fw-semibold);margin-bottom:4px}.approval-title{color:var(--md-sys-color-on-surface);font-size:var(--text-md)}.approval-meta{font-size:var(--text-base);margin-bottom:4px}.approval-meta,.approval-plan{color:var(--md-sys-color-on-surface-variant)}.approval-plan{font-size:var(--text-2xs);font-style:italic}.approval-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-sm{font-size:var(--text-sm);padding:6px 16px}@media (max-width:768px){.btn-sm{min-height:44px;padding:10px 16px}}.needs-attention-title{color:var(--md-sys-color-attention)}.needs-attention-list{display:flex;flex-direction:column;gap:12px}.attention-card{background:color-mix(in srgb,var(--md-sys-color-attention) 5%,#fff);border:1px solid color-mix(in srgb,var(--md-sys-color-attention) 30%,#fff);border-left:4px solid var(--md-sys-color-attention);border-radius:var(--md-sys-shape-corner-medium);cursor:pointer;padding:16px;transition:box-shadow .2s}.attention-card:hover{box-shadow:var(--md-sys-elevation-level1)}.attention-type-label{color:var(--md-sys-color-attention);font-size:var(--text-xs);letter-spacing:var(--ls-label);text-transform:uppercase}.attention-title,.attention-type-label{font-weight:var(--fw-semibold);margin-bottom:4px}.attention-title{color:var(--md-sys-color-on-surface);font-size:var(--text-md)}.attention-meta{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-sm);margin-bottom:8px}.attention-feedback{background:color-mix(in srgb,var(--md-sys-color-attention) 6%,#fff);border-left:3px solid var(--md-sys-color-attention);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-surface);font-size:var(--text-sm);padding:8px 10px}.mobile-desktop-message{color:var(--md-sys-color-on-surface-variant);padding:48px 32px;text-align:center}.mobile-desktop-icon{color:var(--md-sys-color-primary);display:block;font-size:48px;margin-bottom:16px;opacity:.4}.mobile-desktop-message h2{color:var(--md-sys-color-on-surface);font-size:var(--text-lg);font-weight:var(--fw-semibold);margin:0 0 12px}.mobile-desktop-message p{font-size:var(--text-base);line-height:var(--lh-relaxed);margin:0}@media (max-width:768px){.dashboard{padding-bottom:32px}.dashboard-my-initiatives,.dashboard-plans-section,.plan-card-new{display:none}.dashboard-two-column{display:flex;flex-direction:column;gap:20px;grid-template-columns:1fr}.dashboard-two-column>section:first-child{order:2}.dashboard-two-column>section:last-child{order:1}.approval-actions{flex-direction:column}.approval-actions .btn{justify-content:center;width:100%}.section-title{font-size:var(--text-lg)}.approval-card,.attention-card{padding:14px}.plan-card{min-height:80px;padding:16px}}.plans-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.plans-search-wrapper{flex:1 1;min-width:200px;position:relative}.plans-search-icon{color:var(--md-sys-color-on-surface-variant);font-size:18px;left:10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.plans-search-input{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);box-sizing:border-box;color:var(--md-sys-color-on-surface);font-family:inherit;font-size:14px;outline:none;padding:8px 32px 8px 36px;transition:border-color .2s;width:100%}.plans-search-input:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 12%,#0000)}.plans-search-clear{align-items:center;background:none;border:none;color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.plans-search-clear .material-symbols-outlined{font-size:16px}.dashboard-filter-select,.plans-search-clear:hover{color:var(--md-sys-color-on-surface)}.dashboard-filter-select{appearance:none;-webkit-appearance:none;background:var(--md-sys-color-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2374777f' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);cursor:pointer;font-family:inherit;font-size:14px;outline:none;padding:8px 36px 8px 12px;transition:border-color .2s}.dashboard-filter-select:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 12%,#0000)}.plans-filter-clear{background:none;border:none;color:var(--md-sys-color-primary);cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 4px;white-space:nowrap}.plans-filter-clear:hover{text-decoration:underline}.plans-no-results{background:var(--md-sys-color-surface);border:1px dashed var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);color:var(--md-sys-color-on-surface-variant);font-size:14px;grid-column:1/-1;padding:32px;text-align:center}.search-results{background:#fff;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level1);overflow:hidden}.search-results-count{border-bottom:1px solid var(--md-sys-color-outline-variant);font-size:var(--text-sm);padding:12px 16px}.search-no-results,.search-results-count{color:var(--md-sys-color-on-surface-variant)}.search-no-results{font-size:var(--text-base);padding:32px;text-align:center}.search-group{border-bottom:1px solid var(--md-sys-color-outline-variant)}.search-group:last-child{border-bottom:none}.search-group-label{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);padding:8px 16px 4px;text-transform:uppercase}.search-result-item{align-items:center;cursor:pointer;display:flex;gap:12px;padding:10px 16px;transition:background .15s}.search-result-item:hover{background:var(--secondary-page-bg)}.search-result-icon{color:var(--md-sys-color-primary);flex-shrink:0;font-size:18px}.search-result-content{flex:1 1;min-width:0}.search-result-title{color:var(--md-sys-color-on-surface);font-size:var(--text-base);font-weight:var(--fw-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-result-meta{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-2xs);margin-top:1px}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.modal,.modal-content{background:var(--md-sys-color-surface);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-modal);display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;justify-content:space-between;padding:24px 24px 16px}.modal-header h2{color:var(--md-sys-color-on-surface);font-size:var(--text-lg);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;font-size:20px;height:44px;justify-content:center;padding:0;transition:background .2s;width:44px}.modal-close:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,#0000)}.modal-body{overflow-y:auto;padding:24px}.form-section{margin-bottom:24px}.form-helper{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-base);margin:0 0 4px}.progress-bar{background:var(--md-sys-color-outline-variant);border-radius:2px;height:4px;margin:8px 0 16px;overflow:hidden}.progress-fill{background:var(--md-sys-color-primary);height:100%;transform:scaleX(0);transform:scaleX(var(--fill-pct,0));transform-origin:left;transition:transform .3s cubic-bezier(.2,0,0,1);width:100%}.form-group{margin-bottom:20px}.form-label{display:block;font-weight:var(--fw-medium);margin-bottom:8px}.form-input,.form-label,.form-select,.form-textarea{color:var(--md-sys-color-on-surface);font-size:var(--text-base)}.form-input,.form-select,.form-textarea{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);font-family:inherit;padding:12px 16px;transition:border-color .2s;width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 12%,#0000);outline:none}.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2374777f' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.form-textarea{min-height:80px;resize:vertical}.form-tip{align-items:center;color:var(--md-sys-color-on-surface-variant);display:flex;font-size:var(--text-2xs);gap:5px;margin:6px 0 0}.form-tip .material-symbols-outlined{color:inherit;flex-shrink:0;font-size:15px}.checkbox-group{display:flex;flex-direction:column;gap:4px;margin-top:8px}.checkbox-label{align-items:center;border-radius:var(--md-sys-shape-corner-small);cursor:pointer;display:flex;gap:12px;padding:8px;transition:background .2s}.checkbox-label:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 5%,#0000)}.checkbox-label input[type=checkbox]{cursor:pointer;height:20px;width:20px}.checkbox-label span{color:var(--md-sys-color-on-surface);font-size:var(--text-base)}.form-section-divider{border-top:2px solid var(--md-sys-color-outline-variant);margin:32px 0 24px;padding-top:20px}.section-title{color:var(--md-sys-color-on-surface);font-size:var(--text-md);font-weight:var(--fw-semibold);margin:0 0 16px}.modal-actions{border-top:1px solid var(--md-sys-color-outline-variant);display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px}.modal-actions .btn-secondary{flex:0 0 auto;padding:10px 20px}.modal-actions .btn-primary{flex:0 0 auto;padding:10px 24px}.modal-actions .btn{justify-content:center}.modal-footer{border-top:1px solid var(--md-sys-color-outline-variant);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 24px}.owner-mode-toggle{display:flex;gap:8px;margin-bottom:10px}.owner-mode-btn{align-items:center;background:#0000;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-base);gap:6px;padding:8px 14px;transition:background .15s,border-color .15s,color .15s}.owner-mode-btn .material-symbols-outlined{font-size:18px}.owner-mode-btn:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 5%,#0000)}.owner-mode-btn.active{background:color-mix(in srgb,var(--md-sys-color-primary) 10%,#0000);border-color:var(--md-sys-color-primary);color:var(--md-sys-color-primary)}.manual-owner-fields{display:flex;flex-direction:column;gap:8px}.limit-warning{align-items:center;background:color-mix(in srgb,var(--md-sys-color-gold) 12%,#fff);border-radius:var(--md-sys-shape-corner-small);color:color-mix(in srgb,var(--md-sys-color-gold) 50%,#000);display:flex;font-size:var(--text-base);gap:12px;padding:16px}@media (max-width:768px){.modal,.modal-content{max-height:95vh}.modal-header{padding:20px 20px 16px}.modal-body{padding:20px}.modal-actions,.modal-footer{flex-direction:column}.btn-primary,.btn-secondary,.modal-actions .btn-primary,.modal-actions .btn-secondary,.modal-footer .btn-primary,.modal-footer .btn-secondary{justify-content:center;text-align:center;width:100%}}.danger-zone{border-top:2px solid color-mix(in srgb,var(--md-sys-color-error) 12%,#fff);margin-top:32px;padding-top:24px}.danger-zone-title{color:var(--md-sys-color-error);font-size:var(--text-base);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);margin:0 0 16px;text-transform:uppercase}.danger-action{align-items:center;background:color-mix(in srgb,var(--md-sys-color-error) 4%,#fff);border:1px solid color-mix(in srgb,var(--md-sys-color-error) 12%,#fff);border-radius:var(--md-sys-shape-corner-small);display:flex;gap:16px;justify-content:space-between;margin-bottom:12px;padding:16px}.danger-action-info{flex:1 1}.danger-action-info strong{color:var(--md-sys-color-on-surface);display:block;font-size:var(--text-base);font-weight:var(--fw-semibold);margin-bottom:4px}.danger-action-info p{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-sm);margin:0}.btn-danger{background:var(--md-sys-color-error);border:none;border-radius:var(--md-sys-shape-corner-medium);color:var(--md-sys-color-on-primary);cursor:pointer;font-weight:var(--fw-medium);padding:10px 24px;transition:background .2s;white-space:nowrap}.btn-danger:hover{background:color-mix(in srgb,var(--md-sys-color-error) 85%,#000)}.detail-value{background:var(--secondary-page-bg);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-surface);font-size:var(--text-base);line-height:var(--lh-normal);padding:12px}.modal .status-badge{align-items:center;display:inline-flex;font-size:var(--text-sm);gap:4px;padding:6px 12px}.status-badge.status-pending{background:color-mix(in srgb,var(--md-sys-color-gold) 12%,#fff);color:color-mix(in srgb,var(--md-sys-color-gold) 50%,#000)}.plan-settings-modal{max-width:780px}.plan-settings-modal .modal-body{padding:0}.plan-settings-columns{display:grid;grid-template-columns:1fr 1fr}.plan-settings-left{border-right:1px solid var(--md-sys-color-outline-variant);padding:24px}.plan-settings-right{padding:24px}.plan-settings-col-label{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);margin:0 0 16px;text-transform:uppercase}.plan-settings-footer{border-top:1px solid var(--md-sys-color-outline-variant);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.plan-settings-autosave{font-weight:var(--fw-normal);letter-spacing:var(--ls-default);opacity:.7;text-transform:none}.plan-invite-message{border-radius:var(--md-sys-shape-corner-small);font-size:var(--text-sm);font-weight:var(--fw-medium);line-height:var(--lh-relaxed);margin:8px 0 0;padding:10px 12px}.plan-invite-message--success{background:color-mix(in srgb,var(--md-sys-color-success) 10%,#fff);color:var(--md-sys-color-success)}.plan-invite-message--error{background:color-mix(in srgb,var(--md-sys-color-error) 4%,#fff);border:1px solid color-mix(in srgb,var(--md-sys-color-error) 12%,#fff);color:var(--md-sys-color-error)}.plan-settings-danger{padding:0 24px 24px}.plan-settings-danger .danger-zone{margin-top:0;padding-top:20px}@media (max-width:768px){.plan-settings-modal{max-width:100%}.plan-settings-columns{grid-template-columns:1fr}.plan-settings-left{border-bottom:1px solid var(--md-sys-color-outline-variant);border-right:none}.plan-settings-danger{padding:0 20px 20px}}.form-section-divider{border-top:1px solid var(--md-sys-color-outline-variant);margin-top:24px;padding-top:24px}.plan-members-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.plan-member-row{align-items:center;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);display:flex;justify-content:space-between;padding:8px 12px}.plan-member-name{color:var(--md-sys-color-on-surface);font-size:14px}.plan-member-you{color:var(--md-sys-color-on-surface-variant);font-size:12px;font-style:italic}.plan-member-add{align-items:center;display:flex;gap:8px}.plan-member-add .form-input{flex:1 1}.invite-link{align-items:center;background:none;border:none;color:var(--md-sys-color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:4px;margin-top:8px;padding:0;text-decoration:none}.invite-link:hover{text-decoration:underline}.warning-box{background:color-mix(in srgb,var(--md-sys-color-attention) 8%,#fff);border:1px solid color-mix(in srgb,var(--md-sys-color-attention) 40%,#fff);border-radius:var(--md-sys-shape-corner-small);margin-bottom:20px;padding:16px}.warning-box p{color:var(--md-sys-color-attention);font-size:var(--text-base);font-weight:var(--fw-medium);margin:0}.strategy-mode{margin:0 auto;padding:32px 0;width:80%}.plan-title-row{align-items:flex-start;background:#fff;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level1);display:flex;justify-content:space-between;margin-bottom:20px;padding:20px 24px}.plan-title-section{flex:1 1;position:relative}.plan-title-dropdown-trigger{background:none;border:none;cursor:pointer;display:block;font-family:inherit;padding:0;text-align:left;width:fit-content}.plan-title{align-items:center;color:var(--md-sys-color-primary);display:flex;font-size:var(--text-xl);font-weight:var(--fw-semibold);gap:8px;letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin:0 0 4px;transition:opacity .2s}.plan-title-dropdown-trigger:hover .plan-title{opacity:.8}.plan-dropdown-arrow{border-radius:50%;color:var(--md-sys-color-on-surface-variant);font-size:24px;padding:2px;transition:background .2s,color .2s}.plan-title-dropdown-trigger:hover .plan-dropdown-arrow{background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,#0000);color:var(--md-sys-color-primary)}.plan-switcher-dropdown{background:#fff;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level3);left:0;max-width:500px;min-width:min(400px,90vw);position:absolute;top:calc(100% + 8px);z-index:1000}.plan-dropdown-header{border-bottom:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);padding:12px 16px;text-transform:uppercase}.plan-dropdown-list{max-height:400px;overflow-y:auto}.plan-dropdown-item{align-items:center;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:12px 16px;transition:background .2s}.plan-dropdown-item:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 5%,#fff)}.plan-dropdown-item.active{background:color-mix(in srgb,var(--md-sys-color-primary) 10%,#fff)}.plan-dropdown-content{flex:1 1;min-width:0}.plan-dropdown-name{color:var(--md-sys-color-on-surface);font-size:var(--text-base);font-weight:var(--fw-medium);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-dropdown-meta{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-2xs)}.plan-check{color:var(--md-sys-color-primary);font-size:20px}.plan-check,.settings-btn{flex-shrink:0}.export-bar{background:#fff;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level1);justify-content:space-between;margin-bottom:16px;padding:16px 24px}.export-bar,.export-info{align-items:center;display:flex}.export-info{font-size:14px;gap:4px}.export-bar .status-badge{margin-left:8px}.export-btn{align-items:center;background:var(--md-sys-color-success);border:none;border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-primary);cursor:pointer;display:flex;font-family:inherit;font-size:var(--text-base);font-weight:var(--fw-medium);gap:8px;padding:10px 20px}.export-btn:hover{background:color-mix(in srgb,var(--md-sys-color-success) 85%,#000)}.export-btn .material-symbols-outlined{color:var(--md-sys-color-on-primary)}.goals-bar{background:#fff;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level1);margin-bottom:16px;padding:16px 24px}.goals-header{align-items:baseline;border-bottom:2px solid var(--md-sys-color-outline-variant);display:flex;font-size:var(--text-xs);font-weight:var(--fw-bold);gap:12px;letter-spacing:var(--ls-label);margin-bottom:12px;padding-bottom:12px;text-transform:uppercase}.goals-header,.goals-header-hint{color:var(--md-sys-color-on-surface-variant)}.goals-header-hint{font-size:var(--text-2xs);font-weight:var(--fw-normal);letter-spacing:var(--ls-default);text-transform:none}.goals-list{display:flex;flex-direction:column;gap:6px}.goal-item{align-items:center;color:var(--md-sys-color-on-surface);display:flex;font-size:var(--text-base);gap:8px;min-height:28px}.goal-bullet{color:var(--md-sys-color-primary);flex-shrink:0;font-size:var(--text-md);font-weight:var(--fw-bold)}.goal-item-text{cursor:pointer;flex:1 1;line-height:1.4}.goal-item-text:hover{color:var(--md-sys-color-primary)}.goal-item-remove{align-items:center;background:none;border:none;border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-outline);cursor:pointer;display:inline-flex;flex-shrink:0;justify-content:center;min-height:44px;min-width:44px;opacity:.35;padding:4px;transition:opacity .15s,color .15s,background .15s}.goal-item-remove:focus-visible,.goal-item:focus-within .goal-item-remove,.goal-item:hover .goal-item-remove{opacity:1}.goal-item-remove:hover{background:color-mix(in srgb,var(--md-sys-color-error) 8%,#0000);color:var(--md-sys-color-error)}.goal-item-remove:focus-visible{background:color-mix(in srgb,var(--md-sys-color-error) 8%,#0000);box-shadow:0 0 0 2px var(--md-sys-color-primary);color:var(--md-sys-color-error);outline:none}.goal-item-remove .material-symbols-outlined{font-size:16px}.goal-item-input{background:#0000;border:none;border-bottom:1px solid var(--md-sys-color-primary);color:var(--md-sys-color-on-surface);flex:1 1;font-family:inherit;font-size:var(--text-base);outline:none;padding:2px 0}.goal-item-input:focus-visible{border-bottom:2px solid var(--md-sys-color-primary);box-shadow:0 2px 0 0 var(--md-sys-color-primary);padding-bottom:1px}.goal-add-btn{align-items:center;background:none;border:none;color:var(--md-sys-color-primary);cursor:pointer;display:inline-flex;font-family:inherit;font-size:var(--text-sm);font-weight:var(--fw-medium);gap:4px;margin-top:2px;padding:4px 0}.goal-add-btn:hover{opacity:.8}.goal-add-btn .material-symbols-outlined{font-size:16px}.goals-empty{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-sm);font-style:italic}.three-column{grid-gap:0 8px;background:#fff;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level1);display:grid;gap:0 8px;grid-template-columns:1fr 28px 1fr 28px 1fr;padding:24px}.col-connector{color:var(--md-sys-color-outline-variant);display:flex;justify-content:center;padding-top:3px}.column{min-height:400px;min-width:0;overflow:hidden}.column-header{align-items:center;border-bottom:2px solid var(--md-sys-color-outline-variant);display:flex;font-size:var(--text-xs);font-weight:var(--fw-bold);justify-content:space-between;letter-spacing:var(--ls-label);margin-bottom:16px;padding-bottom:12px;text-transform:uppercase}.column-header,.limit-indicator{color:var(--md-sys-color-on-surface-variant)}.limit-indicator{font-size:var(--text-2xs);font-weight:var(--fw-medium)}.limit-indicator.warning{color:var(--md-sys-color-error)}.col-header-label{align-items:center;display:flex;gap:6px}.col-tooltip-trigger{align-items:center;display:inline-flex;position:relative}.col-header-label .col-info-icon{color:var(--md-sys-color-on-surface-variant);cursor:default;font-size:14px;letter-spacing:0;opacity:.6;text-transform:none;transition:opacity .15s}.col-tooltip-trigger:hover .col-info-icon{opacity:1}.col-tooltip{background:var(--md-sys-color-on-surface);border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level3);color:var(--md-sys-color-surface);font-size:var(--text-2xs);font-weight:var(--fw-normal);left:50%;letter-spacing:0;line-height:var(--lh-normal);opacity:0;padding:10px 14px;pointer-events:none;position:absolute;text-transform:none;top:calc(100% + 8px);transform:translateX(-50%);transition:opacity .15s ease-in;white-space:normal;width:220px;z-index:100}.col-tooltip-trigger:hover .col-tooltip{opacity:1}.add-btn{background:var(--secondary-page-bg);border:2px dashed var(--md-sys-color-outline);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-primary);cursor:pointer;font-family:inherit;font-size:var(--text-base);font-weight:var(--fw-medium);margin-bottom:12px;padding:12px;transition:background .2s,border-color .2s,color .2s;width:100%}.add-btn:hover:not(:disabled){background:color-mix(in srgb,var(--md-sys-color-primary) 8%,#fff);border-color:var(--md-sys-color-primary)}.add-btn:disabled{color:var(--md-sys-color-on-surface-variant);cursor:not-allowed;opacity:.5}.empty-state-small,.items-list{display:flex;flex-direction:column}.empty-state-small{align-items:center;color:var(--md-sys-color-on-surface-variant);justify-content:center;padding:48px 24px;text-align:center}.empty-state-small p{font-size:var(--text-base);margin:0}.s-tactic-group{margin-top:20px}.s-tactic-group-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2px;padding:5px 8px 7px}.s-tactic-group-name{color:var(--md-sys-color-primary);font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-label);min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.s-tactic-group-count{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,#fff);border-radius:var(--md-sys-shape-corner-pill);color:var(--md-sys-color-primary);flex-shrink:0;font-size:11px;font-weight:600;margin-left:8px;padding:1px 8px}.s-tactic-group-empty{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-2xs);opacity:.6;padding:10px 8px 4px}.s-card{background:#fff;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);margin-bottom:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.s-card:hover{border-color:var(--md-sys-color-primary);box-shadow:var(--md-sys-elevation-level2)}.s-initiative-card,.s-objective-card,.s-tactic-card{cursor:pointer;position:relative}.s-initiative-card:before,.s-objective-card:before,.s-tactic-card:before{background:#0000;bottom:0;content:"";left:0;position:absolute;top:0;transition:background .15s;width:3px}.s-initiative-card.s-card-needs-action:before,.s-objective-card.s-card-needs-action:before,.s-tactic-card.s-card-needs-action:before{background:var(--md-sys-color-gold)}.s-initiative-card.s-card-approved:before,.s-objective-card.s-card-approved:before,.s-tactic-card.s-card-approved:before{background:var(--md-sys-color-success)}.s-initiative-card.s-card-pending:before,.s-objective-card.s-card-pending:before,.s-tactic-card.s-card-pending:before{background:var(--md-sys-color-primary)}.s-initiative-card.s-card-changes:before,.s-objective-card.s-card-changes:before,.s-tactic-card.s-card-changes:before{background:var(--md-sys-color-attention)}.s-needs-action-row{align-items:center;background:color-mix(in srgb,var(--md-sys-color-gold) 10%,#fff);border-radius:var(--md-sys-shape-corner-small);color:color-mix(in srgb,var(--md-sys-color-gold) 50%,#000);display:flex;font-size:var(--text-xs);font-weight:var(--fw-medium);gap:5px;margin-top:8px;padding:5px 8px}.s-needs-action-row .material-symbols-outlined{color:color-mix(in srgb,var(--md-sys-color-gold) 50%,#000);font-size:14px}.s-card-body{padding:12px}.s-card-header{align-items:flex-start;display:flex;gap:8px;margin-bottom:6px}.s-card-title{color:var(--md-sys-color-on-surface);flex:1 1;font-size:var(--text-base);font-weight:var(--fw-semibold);line-height:var(--lh-snug);min-width:0}.s-card-actions{display:flex;flex-shrink:0;gap:2px;opacity:.2;transition:opacity .15s}.s-card:focus-within .s-card-actions,.s-card:hover .s-card-actions{opacity:1}.s-card-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--md-sys-color-on-surface-variant);display:-webkit-box;font-size:var(--text-2xs);line-height:var(--lh-relaxed);margin-bottom:6px;overflow:hidden}.s-card-meta{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.s-card-meta-row{align-items:center;color:var(--md-sys-color-on-surface-variant);display:flex;flex-wrap:wrap;font-size:var(--text-2xs);gap:5px}.s-card-meta-row .material-symbols-outlined{flex-shrink:0;font-size:13px}.s-parent-link{align-items:center;color:var(--md-sys-color-primary);display:inline-flex;font-size:var(--text-2xs);font-weight:var(--fw-medium);gap:3px}.s-parent-link .material-symbols-outlined{font-size:13px}.s-card-status{justify-content:space-between}.s-card-counts,.s-card-status{align-items:center;display:flex;margin-top:6px}.s-card-counts{font-feature-settings:"tnum";color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);font-variant-numeric:tabular-nums;gap:4px}.s-count-approved{color:var(--md-sys-color-success);font-weight:600}.s-budget{font-feature-settings:"tnum";color:var(--md-sys-color-on-surface);flex-shrink:0;font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.s-lock{color:var(--md-sys-color-on-surface-variant);flex-shrink:0;font-size:18px;margin-top:2px;opacity:.6}.item-approval-badge{align-items:center;border-radius:var(--md-sys-shape-corner-pill);display:inline-flex;flex-shrink:0;font-size:var(--text-sm);font-weight:var(--fw-medium);gap:4px;padding:3px 8px}.item-approval-badge .material-symbols-outlined{font-size:15px}.item-approval-badge.badge-approved{background:color-mix(in srgb,var(--md-sys-color-success) 6%,#fff);color:var(--md-sys-color-success)}.item-approval-badge.badge-pending{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,#fff);color:var(--md-sys-color-primary)}.item-approval-badge.badge-changes-requested{background:color-mix(in srgb,var(--md-sys-color-attention) 8%,#fff);color:color-mix(in srgb,var(--md-sys-color-attention) 80%,#000)}.s-card-feedback{background:color-mix(in srgb,var(--md-sys-color-attention) 6%,#fff);border-left:3px solid var(--md-sys-color-attention);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-surface);font-size:var(--text-2xs);line-height:var(--lh-relaxed);margin-top:8px;padding:8px 10px}.s-card-feedback-label{color:var(--md-sys-color-attention);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);margin-bottom:3px;text-transform:uppercase}.s-card-approval{background:var(--table-hover-bg);border-top:1px solid var(--md-sys-color-outline-variant);display:flex;gap:8px;justify-content:flex-end;padding:10px 12px}.btn-sm{font-size:13px;min-height:32px;padding:6px 14px}.icon-btn{align-items:center;background:none;border:none;border-radius:var(--md-sys-shape-corner-small);cursor:pointer;display:flex;height:44px;justify-content:center;padding:6px;transition:background .2s;width:44px}.icon-btn .material-symbols-outlined{font-size:20px}.edit-btn .material-symbols-outlined{color:var(--md-sys-color-primary)}.delete-btn .material-symbols-outlined{color:var(--md-sys-color-error)}.icon-btn:hover{background:color-mix(in srgb,var(--md-sys-color-on-surface) 8%,#0000)}.s-panel-overlay{animation:s-fade-in .2s ease;background:#0003;inset:0;position:fixed;z-index:400}@keyframes s-fade-in{0%{opacity:0}to{opacity:1}}.s-panel{animation:s-slide-in .25s cubic-bezier(.2,0,0,1);background:var(--md-sys-color-surface);box-shadow:var(--md-sys-elevation-panel);display:flex;flex-direction:column;height:100vh;position:fixed;right:0;top:0;width:420px;z-index:401}@keyframes s-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.s-panel-header{border-bottom:1px solid var(--md-sys-color-outline-variant);gap:10px;padding:14px 16px}.s-panel-close,.s-panel-header{align-items:center;display:flex;flex-shrink:0}.s-panel-close{background:none;border:none;border-radius:var(--md-sys-shape-corner-medium);color:var(--md-sys-color-on-surface-variant);cursor:pointer;font-family:inherit;height:44px;justify-content:center;margin-right:auto;transition:background .15s;width:44px}.s-panel-close:hover{background:var(--md-sys-color-surface-container-high);color:var(--md-sys-color-on-surface)}.s-panel-close .material-symbols-outlined{font-size:20px}.s-panel-body{flex:1 1;overflow-y:auto;padding:20px}.s-panel-body,.s-panel-title-block{display:flex;flex-direction:column;gap:20px}.s-panel-title-block{align-items:flex-start}.s-panel-title{color:var(--md-sys-color-on-surface);font-size:var(--text-lg);font-weight:var(--fw-bold);letter-spacing:var(--ls-tight);line-height:var(--lh-snug);margin:0}.s-panel-created{border-top:1px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);font-size:var(--text-2xs);gap:4px;margin-top:auto;padding-top:8px}.s-panel-created,.s-panel-section{display:flex;flex-direction:column}.s-panel-section{gap:6px}.s-panel-label{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);font-weight:var(--fw-semibold);letter-spacing:var(--ls-label);text-transform:uppercase}.s-panel-description{color:var(--md-sys-color-on-surface);font-size:var(--text-base);line-height:var(--lh-normal);margin:0}.s-panel-budget{font-feature-settings:"tnum";color:var(--md-sys-color-primary);font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:var(--fw-bold);letter-spacing:var(--ls-tight)}.s-panel-links{display:flex;flex-direction:column;gap:4px}.s-panel-people{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.s-panel-person{display:flex;flex-direction:column;gap:5px}.s-panel-person-name{align-items:center;color:var(--md-sys-color-on-surface);display:flex;font-size:var(--text-base);gap:6px}.s-panel-person-name .material-symbols-outlined{color:var(--md-sys-color-on-surface-variant);font-size:16px}.s-panel-tactic-progress{display:flex;flex-direction:column;gap:6px}.s-panel-tactic-bar{background:var(--md-sys-color-outline-variant);height:4px;overflow:hidden}.s-panel-tactic-bar,.s-panel-tactic-fill{border-radius:var(--md-sys-shape-corner-small)}.s-panel-tactic-fill{background:var(--md-sys-color-success);height:100%;transform:scaleX(0);transform:scaleX(var(--fill-pct,0));transform-origin:left;transition:transform .4s cubic-bezier(.2,0,0,1);width:100%}.s-panel-tactic-label{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-sm)}.s-panel-footer{border-top:1px solid var(--md-sys-color-outline-variant);display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:14px 16px}@media (max-width:1024px){.three-column{grid-template-columns:1fr}.export-bar{align-items:stretch;flex-direction:column;gap:12px}.export-btn{justify-content:center;width:100%}}@media (max-width:768px){.strategy-mode{padding:16px 0;width:100%}}.budget-input-wrapper{align-items:center;display:flex;position:relative}.budget-symbol{color:var(--md-sys-color-on-surface-variant);font-size:14px;left:16px;pointer-events:none;position:absolute}.form-input.budget-input{padding-left:32px}.radio-group{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;margin-top:8px}.radio-label{align-items:center;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);cursor:pointer;display:flex;gap:12px;padding:12px;transition:background .2s,border-color .2s}.radio-label:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 5%,#0000);border-color:var(--md-sys-color-outline)}.radio-label input[type=radio]{cursor:pointer;height:20px;width:20px}.radio-label input[type=radio]:checked+span{color:var(--md-sys-color-primary);font-weight:500}.radio-label span{color:var(--md-sys-color-on-surface);font-size:14px}.other-owner-fields{background:color-mix(in srgb,var(--md-sys-color-primary) 3%,var(--md-sys-color-surface));margin-top:12px}.info-box,.other-owner-fields{border-radius:var(--md-sys-shape-corner-small);padding:16px}.info-box{background:var(--md-sys-color-surface-container-high);margin-top:20px}.team-management{background:var(--secondary-page-bg);min-height:100vh}.team-loading{color:var(--md-sys-color-on-surface-variant);justify-content:center;min-height:100vh}.invite-button,.team-loading{align-items:center;display:flex}.invite-button{background:var(--md-sys-color-primary);border:none;border-radius:var(--md-sys-shape-corner-medium);color:var(--md-sys-color-on-primary);cursor:pointer;font-family:inherit;font-size:var(--text-base);font-weight:var(--fw-semibold);gap:8px;padding:12px 24px;transition:background .2s}.invite-button:hover{background:var(--md-sys-color-secondary)}.invite-button .material-symbols-outlined{color:var(--md-sys-color-on-primary);font-size:20px}.team-container{margin:0 auto;padding:32px 0;width:80%}.team-count{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-base);font-weight:var(--fw-medium);margin-bottom:16px}.users-list{display:flex;flex-direction:column;gap:12px}.user-card{align-items:center;background:#fff;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);display:flex;gap:24px;justify-content:space-between;padding:20px}.user-info{flex:1 1}.user-name{color:var(--md-sys-color-on-surface);font-size:var(--text-md);font-weight:var(--fw-semibold);margin-bottom:4px}.user-email{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-base)}.user-actions{align-items:center;display:flex;gap:12px}.role-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--md-sys-color-surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%2374777f' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-on-surface);cursor:pointer;font-family:inherit;font-size:var(--text-base);min-width:150px;padding:12px 40px 12px 16px;transition:border-color .2s;width:auto}.role-select:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 12%,#0000);outline:none}.role-select:disabled{cursor:not-allowed;opacity:.5}.remove-button{align-items:center;background:none;border:none;border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-error);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .2s}.remove-button:hover{background:color-mix(in srgb,var(--md-sys-color-error) 6%,#fff)}.remove-button .material-symbols-outlined{font-size:20px}.team-section-label{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-base);font-weight:var(--fw-medium);margin-bottom:16px}.pending-label{margin-top:32px}.invite-card{background:var(--secondary-page-bg);border-style:dashed}.invite-badge{background:color-mix(in srgb,var(--md-sys-color-attention) 8%,#fff);border-radius:var(--md-sys-shape-corner-large);color:color-mix(in srgb,var(--md-sys-color-attention) 70%,#000);display:inline-block;font-size:var(--text-2xs);font-weight:var(--fw-medium);margin-left:10px;padding:2px 8px;vertical-align:middle}.invite-role-label{background:var(--md-sys-color-surface-container-high);border-radius:var(--md-sys-shape-corner-medium);color:var(--md-sys-color-on-surface-variant);font-size:var(--text-base);padding:8px 12px}.guest-badge{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,#fff);border-radius:var(--md-sys-shape-corner-large);color:var(--md-sys-color-primary);display:inline-block;font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-left:8px;padding:2px 8px;vertical-align:middle}.confirm-inline{align-items:center;display:flex;gap:8px}.confirm-text{white-space:nowrap}.confirm-btn,.confirm-text{color:var(--md-sys-color-on-surface);font-size:var(--text-sm)}.confirm-btn{background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-small);cursor:pointer;font-family:inherit;font-weight:var(--fw-medium);padding:6px 12px;transition:background .15s}.confirm-btn:hover{background:var(--md-sys-color-surface-container-high)}.confirm-btn--danger{background:var(--md-sys-color-error);border-color:var(--md-sys-color-error);color:#fff}.confirm-btn--danger:hover{background:color-mix(in srgb,var(--md-sys-color-error) 80%,#000)}.audit-log-button{align-items:center;background:#fff;border:1px solid var(--md-sys-color-primary);border-radius:var(--md-sys-shape-corner-small);color:var(--md-sys-color-primary);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:background .15s}.audit-log-button:hover{background:color-mix(in srgb,var(--md-sys-color-primary) 5%,#fff)}@media (max-width:768px){.team-container{padding:16px 0;width:100%}}.audit-log-modal{display:flex;flex-direction:column;max-height:80vh;max-width:95vw;width:780px}.audit-log-body{overflow-y:auto;padding:0}.audit-log-empty,.audit-log-loading{color:var(--md-sys-color-on-surface-variant);font-size:14px;padding:32px;text-align:center}.audit-log-table{border-collapse:collapse;font-size:13px;width:100%}.audit-log-table th{background:var(--secondary-page-bg);border-bottom:2px solid var(--md-sys-color-outline-variant);color:var(--md-sys-color-on-surface-variant);font-size:11px;font-weight:600;letter-spacing:var(--ls-label);padding:10px 16px;position:sticky;text-align:left;text-transform:uppercase;top:0}.audit-log-table td{border-bottom:1px solid var(--table-row-border);color:var(--md-sys-color-on-surface);padding:10px 16px;vertical-align:top}.audit-log-table tr:last-child td{border-bottom:none}.audit-log-table tr:hover td{background:var(--secondary-page-bg)}.audit-log-table td.audit-log-date{color:var(--md-sys-color-on-surface-variant);font-size:var(--text-xs);white-space:nowrap}.audit-log-user{font-weight:var(--fw-medium);white-space:nowrap}.audit-log-table td.audit-log-action{color:var(--md-sys-color-primary);font-weight:var(--fw-medium)}.audit-log-extra{color:var(--md-sys-color-on-surface-variant);font-size:12px}.auth-container{align-items:center;background:color-mix(in srgb,var(--md-sys-color-primary) 7%,#fdfcff);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:var(--md-sys-shape-corner-large);box-shadow:var(--md-sys-elevation-auth);max-width:440px;padding:40px;width:100%}.auth-header{margin-bottom:20px;text-align:center}.auth-logo{height:26px;margin-bottom:18px;width:auto}.auth-header h1{color:var(--md-sys-color-on-surface);font-size:28px;font-weight:700;margin:0}.auth-header p{color:var(--md-sys-color-on-surface-variant);font-size:15px;margin:8px 0 0}.auth-error{background:color-mix(in srgb,var(--md-sys-color-error) 6%,#fff);border:1px solid color-mix(in srgb,var(--md-sys-color-error) 30%,#fff);border-radius:var(--md-sys-shape-corner-medium);color:color-mix(in srgb,var(--md-sys-color-error) 85%,#000);font-size:var(--text-base);padding:12px 16px}.auth-container .form-group,.auth-error{margin-bottom:20px}.auth-container .form-group label{color:var(--md-sys-color-on-surface);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.auth-container .form-group input{border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);font-family:inherit;font-size:15px;padding:12px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.auth-container .form-group input:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--md-sys-color-primary) 10%,#0000);outline:none}.auth-container .form-group input:disabled{background:var(--secondary-page-bg);cursor:not-allowed}.auth-container .form-group small{color:var(--md-sys-color-on-surface-variant);display:block;font-size:13px;margin-top:4px}.auth-btn{background:var(--md-sys-color-primary);border:none;border-radius:var(--md-sys-shape-corner-medium);color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:background .2s;width:100%}.auth-btn:hover:not(:disabled){background:var(--md-sys-color-secondary)}.auth-btn:active:not(:disabled){transform:translateY(0)}.auth-btn:disabled{cursor:not-allowed;opacity:.6}.auth-legal{font-size:12px;margin-top:16px;text-align:center}.auth-legal,.auth-legal a{color:var(--md-sys-color-on-surface-variant)}.auth-legal a{text-decoration:underline}.auth-footer{margin-top:24px;text-align:center}.auth-footer p{color:var(--md-sys-color-on-surface-variant);font-size:14px;margin:0}.auth-link{background:none;border:none;color:var(--md-sys-color-primary);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:none}.auth-link:hover{text-decoration:underline}.user-menu-container{position:relative}.user-menu-btn{align-items:center;background:none;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--md-sys-shape-corner-medium);color:var(--md-sys-color-on-surface-variant);cursor:pointer;display:flex;font-family:inherit;gap:6px;padding:6px 10px 6px 8px;transition:background .15s,border-color .15s,color .15s}.user-menu-btn:hover{background:var(--md-sys-color-surface-container-high);border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface)}.user-menu-btn .material-symbols-outlined{flex-shrink:0;font-size:20px}.user-menu-trigger-name{color:var(--md-sys-color-on-surface);font-size:14px;font-weight:500;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-btn .user-menu-trigger-caret{color:var(--md-sys-color-on-surface-variant);font-size:18px}.user-menu-dropdown{background:#fff;border-radius:var(--md-sys-shape-corner-medium);box-shadow:var(--md-sys-elevation-level3);min-width:240px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.user-menu-header{background:var(--secondary-page-bg);padding:16px}.user-menu-name{color:var(--md-sys-color-on-surface);font-size:15px;font-weight:600;margin-bottom:4px}.user-menu-email{color:var(--md-sys-color-on-surface-variant);font-size:13px;word-break:break-all}.user-menu-divider{background:var(--md-sys-color-outline-variant);height:1px}.user-menu-item{align-items:center;background:#fff;border:none;color:var(--md-sys-color-on-surface);cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:background .2s;width:100%}.user-menu-item:hover{background:var(--md-sys-color-surface-container-high)}.user-menu-item.active{background:color-mix(in srgb,var(--md-sys-color-primary) 8%,#fff)}.user-menu-item.active,.user-menu-item.active .material-symbols-outlined{color:var(--md-sys-color-primary)}.user-menu-item .material-symbols-outlined{color:var(--md-sys-color-on-surface-variant);font-size:20px}@media (max-width:768px){.user-menu-dropdown{left:auto;max-width:calc(100vw - 24px);min-width:220px;position:fixed;right:12px;top:56px}}
/*# sourceMappingURL=main.566413d4.css.map*/