:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#0f172a;--pastel-blue:#93c5fd;--background:#f8fafc;--white:#fff;--border:#e2e8f0;--secondary-text:#64748b;--surface:#ffffffeb;--surface-soft:#ffffffd1;--surface-strong:#fffffffa;--surface-muted:linear-gradient(180deg, #fffffff2, #f8fafce6);--field-surface:#f8fafceb;--field-border:#e2e8f0f2;--panel-border:#e2e8f0e6;--metric-border:#e2e8f0eb;--track-surface:#e2e8f0f2;--success:#16a34a;--warning:#f59e0b;--error:#dc2626;--info:#3b82f6;--shadow:0 28px 80px #0f172a1a;--shell-gradient:radial-gradient(circle at top left, #93c5fd61, transparent 34%), radial-gradient(circle at right center, #0f172a14, transparent 22%), linear-gradient(180deg, #fff 0%, #f4f8fc 100%);--font-sans:"Avenir Next", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--navy:#e5eefc;--background:#07111f;--white:#fff;--border:#223149;--secondary-text:#93a8c7;--surface:#0c1727e6;--surface-soft:#0a1423d1;--surface-strong:#0f1a2bfa;--surface-muted:linear-gradient(180deg, #0f1a2bf5, #07111feb);--field-surface:#08121feb;--field-border:#223149f2;--panel-border:#223149e0;--metric-border:#223149e6;--track-surface:#223149f2;--shadow:0 28px 80px #00000059;--shell-gradient:radial-gradient(circle at top left, #3b82f629, transparent 32%), radial-gradient(circle at right center, #93c5fd17, transparent 18%), linear-gradient(180deg, #07111f 0%, #0b1628 100%)}*{box-sizing:border-box}html,body{background:var(--background);min-height:100%;color:var(--navy);font-family:var(--font-sans);margin:0}body{flex-direction:column;display:flex;position:relative}a{color:inherit}button,input{font:inherit}.shell-background{z-index:-1;background:var(--shell-gradient);position:fixed;inset:0}.topbar{justify-content:space-between;align-items:flex-start;gap:1.5rem;padding:1.5rem clamp(1.2rem,4vw,3.25rem);display:flex}.topbar-brand{align-items:center;gap:1rem;display:flex}.topbar-brand-link{text-decoration:none}.topbar-logo{width:clamp(180px,18vw,240px);height:auto}.topbar-logo-mark{border:1px solid var(--panel-border);background:linear-gradient(#fffffffa,#f1f5f9f0);border-radius:22px;width:72px;height:auto;padding:.4rem;display:block;box-shadow:inset 0 1px #ffffffeb,0 12px 30px #0f172a14}.topbar-brand-copy{flex-direction:column;gap:.1rem;display:flex}.topbar-brand-copy strong{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.05}.topbar-brand-copy span{color:var(--secondary-text);font-size:.92rem;font-weight:600}.topbar-copy{text-align:right;z-index:20;flex-direction:column;align-items:flex-end;gap:.65rem;display:flex;position:relative}.topbar-copy strong{font-size:.96rem}.topbar-eyebrow,.eyebrow{color:var(--secondary-text);letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.8rem}.topbar-timestamp{color:var(--secondary-text);font-size:.96rem;font-weight:600}.app-footer{width:min(1320px,100vw - 2rem);margin:auto auto 1.1rem;padding:0 clamp(.25rem,2vw,1rem)}.app-footer-inner{border:1px solid var(--panel-border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:24px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding:1rem 1.2rem;display:grid}.footer-brand{align-items:center;gap:.7rem;min-width:0;font-size:.94rem;font-weight:600;display:flex}.footer-logo-mark{border:1px solid var(--panel-border);background:linear-gradient(#fffffffa,#f1f5f9f0);border-radius:14px;flex:none;width:34px;height:auto;padding:.22rem;display:block;box-shadow:inset 0 1px #ffffffeb,0 8px 18px #0f172a14}.footer-legal{color:var(--secondary-text);text-align:center;margin:0;font-size:.92rem}.footer-controls{justify-content:flex-end;gap:.9rem;display:flex}.footer-control-group{align-items:center;gap:.55rem;display:flex}.footer-control-label{color:var(--secondary-text);font-size:.84rem;font-weight:600}.footer-segmented-control{border:1px solid var(--field-border);background:var(--field-surface);border-radius:999px;align-items:center;padding:.2rem;display:inline-flex}.footer-toggle-button{min-height:2.2rem;color:var(--secondary-text);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.45rem .85rem;transition:background-color .14s,color .14s,transform .14s}.footer-toggle-button:hover{color:var(--navy);transform:translateY(-1px)}.footer-toggle-button.is-active{color:var(--white);background:linear-gradient(135deg,#0f172a 0%,#20334e 100%)}.page,.login-page{flex:1 0 auto;width:min(1200px,100vw - 2rem);margin:0 auto;padding-bottom:3rem}.hero-card,.panel,.login-card{border:1px solid var(--panel-border);background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:28px}.hero-card{padding:clamp(1.5rem,3vw,2.2rem)}.hero-card-compact{display:block}.hero-card h1,.panel h2,.login-card h1{margin:.3rem 0 0;font-size:clamp(1.8rem,4vw,3rem);line-height:.96}.panel h2{margin:0}.hero-copy{max-width:50rem;color:var(--secondary-text);margin:1rem 0 0;font-size:1rem;line-height:1.6}.user-menu{z-index:30;width:min(100%,250px);position:relative}.user-menu summary{list-style:none}.user-menu summary::-webkit-details-marker{display:none}.user-menu-trigger{color:var(--white);cursor:pointer;background:linear-gradient(140deg,#0f172afa,#1e293bf2);border-radius:22px;flex-direction:column;gap:.2rem;padding:.8rem 1rem;display:flex;box-shadow:0 16px 40px #0f172a2e}.user-menu-label{color:#ffffffb3;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem}.user-menu-trigger strong{font-size:1rem}.user-menu-email{font-size:.88rem}.user-menu-role{color:#93c5fdf2;font-size:.8rem;font-weight:600}.user-menu-popover{border:1px solid var(--field-border);background:var(--surface-strong);min-width:220px;box-shadow:var(--shadow);z-index:999;border-radius:20px;padding:.55rem;position:absolute;top:calc(100% + .55rem);right:0}.user-menu-link,.user-menu-button{width:100%;color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:14px;padding:.8rem .9rem;text-decoration:none;display:flex}.user-menu-link:hover,.user-menu-button:hover{background:#93c5fd24}.primary-button,.secondary-button{cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;min-height:3rem;padding:.8rem 1.25rem;transition:transform .14s,box-shadow .14s,background-color .14s;display:inline-flex}.primary-button{color:var(--white);background:linear-gradient(135deg,#0f172a 0%,#20334e 100%);box-shadow:0 16px 40px #0f172a42}.secondary-button{color:var(--navy);background:#93c5fd29;border:1px solid #93c5fd73}.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0;display:grid}.metric-card{border:1px solid var(--metric-border);background:var(--surface-soft);border-radius:24px;flex-direction:column;gap:.45rem;padding:1.2rem 1.25rem;display:flex}.metric-card-link{text-decoration:none;transition:transform .14s,box-shadow .14s,border-color .14s}.metric-card-link:hover{border-color:#3b82f63d;transform:translateY(-2px);box-shadow:0 18px 44px #0f172a1a}.metric-card-add{background:linear-gradient(145deg,#0f172afa,#1e293bf2);border-color:#0f172a14;justify-content:center}.metric-card-add span{color:var(--white);font-weight:600}.metric-card-add strong{color:var(--white)}.metric-card-plus{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1}.metric-card span{color:var(--secondary-text);font-size:.92rem}.metric-card strong{font-size:clamp(1.9rem,4vw,2.7rem);line-height:1}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr);gap:1rem;display:grid}.panel{padding:1.35rem}.panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;display:flex}.panel-heading h2{font-size:1.45rem}.panel-count{min-width:2.4rem;color:var(--navy);text-align:center;background:#93c5fd2e;border-radius:999px;padding:.5rem .75rem;font-weight:700}.project-list,.updates-list{flex-direction:column;gap:.95rem;display:flex}.project-row,.update-card{border:1px solid var(--metric-border);background:var(--surface-muted);border-radius:24px}.project-row{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:1rem;padding:1rem 1.1rem;display:grid}.project-row-link,.update-card-link{text-decoration:none;transition:transform .14s,box-shadow .14s,border-color .14s}.project-row-link:hover,.update-card-link:hover{border-color:#3b82f638;transform:translateY(-2px);box-shadow:0 18px 44px #0f172a1a}.project-headline{flex-wrap:wrap;align-items:baseline;gap:.65rem;display:flex}.project-headline strong{font-size:1.05rem}.project-headline span,.project-main p,.project-deadline,.update-card p{color:var(--secondary-text)}.project-main p{margin:.45rem 0 0}.project-meta{flex-direction:column;align-items:flex-start;gap:.65rem;display:flex}.project-progress{width:100%}.project-progress div:first-child{justify-content:space-between;gap:1rem;margin-bottom:.35rem;display:flex}.progress-track{background:var(--track-surface);border-radius:999px;width:100%;height:.55rem;overflow:hidden}.progress-bar{border-radius:inherit;background:linear-gradient(90deg,#93c5fd 0%,#3b82f6 100%);height:100%}.status-badge,.stage-badge{border-radius:999px;align-items:center;min-height:2rem;padding:.2rem .8rem;font-size:.82rem;font-weight:700;display:inline-flex}.status-badge{border:1px solid #0000}.status-planned{color:#1d4ed8;background:#3b82f61f}.status-active{color:#0f172a;background:#93c5fd2e}.status-blocked{color:var(--error);background:#dc26261f}.status-completed{color:var(--success);background:#16a34a1f}.status-archived{color:var(--secondary-text);background:#64748b1f}.stage-badge{color:var(--navy);background:#0f172a12}.update-card{padding:1rem 1.05rem}.detail-page{flex-direction:column;gap:1rem;display:flex}.detail-hero-card{flex-direction:column;gap:.9rem;display:flex}.detail-hero-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.detail-hero-link{color:var(--secondary-text);font-weight:600;text-decoration:none}.detail-hero-link:hover{color:var(--navy)}.form-page{flex-direction:column;gap:1rem;display:flex}.detail-info-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:1rem;display:grid}.detail-subtitle{color:var(--secondary-text);margin:.85rem 0 0;font-size:1rem}.detail-summary-panel{flex-direction:column;gap:1.2rem;display:flex}.detail-chip-row{flex-wrap:wrap;gap:.65rem;display:flex}.detail-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.detail-meta-list{gap:1rem;margin:0;display:grid}.detail-meta-list div{border-bottom:1px solid #e2e8f0e6;padding-bottom:1rem}.detail-meta-list div:last-child{border-bottom:none;padding-bottom:0}.detail-meta-list dt{color:var(--secondary-text);margin-bottom:.3rem;font-size:.9rem}.detail-meta-list dd{margin:0;font-size:1rem;font-weight:600}.detail-meta-disclosure{flex-direction:column;gap:1rem;display:flex}.detail-meta-disclosure summary{list-style:none}.detail-meta-disclosure summary::-webkit-details-marker{display:none}.detail-meta-summary{width:fit-content;color:var(--secondary-text);cursor:pointer;align-items:center;gap:.55rem;font-weight:700;transition:color .14s,transform .14s;display:inline-flex}.detail-meta-summary:hover{color:var(--navy);transform:translateY(-1px)}.detail-meta-summary svg{width:1rem;height:1rem;transition:transform .14s}.detail-meta-disclosure[open] .detail-meta-summary svg{transform:rotate(180deg)}.detail-meta-summary-label-expanded,.detail-meta-disclosure[open] .detail-meta-summary-label-collapsed{display:none}.detail-meta-disclosure[open] .detail-meta-summary-label-expanded{display:inline}.detail-meta-list-extra{padding-top:.15rem}.detail-sections-stack{flex-direction:column;gap:.85rem;display:flex}.detail-section-disclosure{border:1px solid var(--metric-border);background:var(--surface-muted);border-radius:22px}.detail-section-disclosure summary{list-style:none}.detail-section-disclosure summary::-webkit-details-marker{display:none}.detail-section-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.05rem;font-weight:700;display:flex}.detail-section-summary-main{align-items:center;gap:1rem;min-width:0;display:flex}.detail-section-summary-value{color:var(--secondary-text);white-space:nowrap;font-size:.95rem;font-weight:700}.detail-section-summary svg{width:1rem;height:1rem;color:var(--secondary-text);transition:transform .14s}.detail-section-disclosure[open] .detail-section-summary svg{transform:rotate(180deg)}.detail-section-body{flex-direction:column;gap:.85rem;padding:0 1.05rem 1rem;display:flex}.detail-section-item-list{flex-direction:column;gap:.7rem;display:flex}.detail-section-item-list-static{gap:.85rem}.detail-section-item{background:#ffffffd1;border:1px solid #e2e8f0eb;border-radius:20px;justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;padding:.85rem .95rem;display:flex}.detail-section-item strong{font-size:1rem}.detail-section-item-static{justify-content:flex-start}.detail-cost-category-button{width:100%;color:var(--navy);text-align:left;cursor:pointer;background:#ffffffd1;border:1px solid #e2e8f0eb;border-radius:20px;flex-direction:column;align-items:stretch;gap:.75rem;padding:.95rem 1rem;transition:transform .14s,border-color .14s,background-color .14s;display:flex}.detail-cost-category-button:hover{background:#fffffff0;border-color:#3b82f647;transform:translateY(-1px)}html[data-theme=dark] .detail-cost-category-button{background:linear-gradient(#121f32f5,#0b1422f0);border-color:#223149f5;box-shadow:inset 0 1px #94a3b814,0 14px 34px #0000002e}html[data-theme=dark] .detail-cost-category-button:hover{background:linear-gradient(#16253cfa,#0d1828f5);border-color:#60a5fa57}.detail-cost-category-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.detail-cost-category-content{border-top:1px solid #e2e8f0eb;flex-direction:column;gap:.85rem;padding-top:.85rem;display:flex}html[data-theme=dark] .detail-cost-category-content{border-top-color:#223149f5}.detail-cost-category-title{font-size:1rem;font-weight:800}.detail-cost-category-total{color:var(--secondary-text);white-space:nowrap;font-size:.95rem;font-weight:700}.detail-cost-month-group-list,.detail-cost-month-group,.detail-cost-entry-list{flex-direction:column;display:flex}.detail-cost-month-group-list{gap:.85rem}.detail-cost-month-group{gap:.45rem}.detail-cost-month-heading{color:var(--secondary-text);letter-spacing:.02em;font-size:.82rem;font-weight:700}.detail-cost-entry-list{gap:.4rem}.detail-cost-entry{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.detail-cost-entry-name{color:var(--navy);font-size:.95rem}.detail-cost-entry-amount{white-space:nowrap;font-size:.92rem;font-weight:700}.detail-section-empty{color:var(--secondary-text);margin:0}.detail-section-add-button{width:fit-content;color:var(--navy);cursor:pointer;background:0 0;border:none;align-items:center;gap:.7rem;padding:.35rem 0;font-weight:700;display:inline-flex}.detail-section-add-button:hover{color:var(--info)}.detail-inline-input{width:100%;min-height:3rem;color:var(--navy);background:#f8fafceb;border:1px solid #e2e8f0f2;border-radius:18px;padding:0 .95rem;font-weight:600}.detail-inline-input:focus{border-color:#3b82f67a;outline:2px solid #3b82f63d}.detail-inline-form{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.detail-inline-select-shell{background:linear-gradient(#fffffffa,#f1f5f9f2);border:1px solid #e2e8f0f2;border-radius:18px;align-items:center;min-width:9rem;min-height:3rem;display:flex;position:relative;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #0f172a0d}.detail-inline-select-shell:after{content:"";pointer-events:none;border-bottom:2px solid #3b82f6b8;border-right:2px solid #3b82f6b8;width:.6rem;height:.6rem;position:absolute;right:1rem;transform:translateY(-20%)rotate(45deg)}.detail-inline-select{width:100%;min-height:3rem;color:var(--navy);appearance:none;cursor:pointer;background:0 0;border:none;border-radius:18px;padding:0 2.75rem 0 .95rem;font-size:1rem;font-weight:600}.detail-inline-select:focus{outline:none}.detail-inline-select-shell:focus-within{border-color:#3b82f67a;outline:2px solid #3b82f63d}.detail-inline-button{min-height:3rem}.detail-panel-heading{align-items:center}.panel-heading-stack{flex-direction:column;gap:.7rem;display:flex}.panel-heading-inline{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.panel-toggle-chip{min-height:2.2rem;color:var(--navy);cursor:pointer;background:#93c5fd24;border:1px solid #93c5fd61;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .8rem;transition:transform .14s,border-color .14s,background-color .14s;display:inline-flex}.panel-toggle-chip:hover:enabled{background:#93c5fd2e;border-color:#3b82f659;transform:translateY(-1px)}.panel-toggle-chip:disabled{cursor:default;opacity:.72}.panel-toggle-icon{width:1rem;height:1rem;transition:transform .14s}.panel-toggle-chip.is-open .panel-toggle-icon{transform:rotate(180deg)}.update-card.is-collapsed{padding-bottom:.9rem}.update-card.is-collapsed p{display:none}.detail-section-divider{background:#e2e8f0eb;height:1px;margin:1.4rem 0 1.2rem}.detail-subsection-heading{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.detail-subsection-heading h3{margin:0;font-size:1.08rem}.detail-subsection-heading p,.recurring-task-copy span,.modal-static-field span{color:var(--secondary-text);margin:0}.recurring-task-list{flex-direction:column;gap:.85rem;display:flex}.recurring-task-item,.recurring-task-add-button{border:1px solid var(--metric-border);background:var(--surface-muted);border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.95rem 1rem;display:flex}.recurring-task-copy{flex-direction:column;gap:.3rem;display:flex}.recurring-task-copy strong{font-size:1rem}.icon-button{width:2.75rem;height:2.75rem;color:var(--navy);cursor:pointer;background:#93c5fd1f;border:1px solid #93c5fd61;border-radius:16px;justify-content:center;align-items:center;transition:transform .14s,border-color .14s,background-color .14s;display:inline-flex}.icon-button:hover{background:#93c5fd2e;border-color:#3b82f659;transform:translateY(-1px)}.icon-button svg{width:1.15rem;height:1.15rem;display:block}.task-settings-icon{width:1.3rem;height:1.3rem}.icon-button-ghost{background:0 0}.recurring-task-add-button{color:var(--navy);cursor:pointer;justify-content:space-between}.recurring-task-add-button:hover{background:#93c5fd1f;border-color:#3b82f659}.recurring-task-add-icon{width:1.9rem;height:1.9rem;color:var(--info);background:#3b82f61f;border-radius:999px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:inline-flex}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:80;background:#0f172a57;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{border:1px solid var(--panel-border);background:var(--surface-strong);width:min(560px,100%);max-height:min(92vh,820px);box-shadow:var(--shadow);border-radius:28px;padding:1.35rem;overflow-y:auto}.modal-card-compact{width:min(460px,100%)}.modal-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.modal-heading h3{margin:.35rem 0 0;font-size:1.45rem}.modal-form{flex-direction:column;gap:1.25rem;display:flex}.modal-fieldset{border:none;margin:0;padding:0}.modal-form-field,.modal-static-field,.modal-fieldset{flex-direction:column;gap:.7rem;display:flex}.modal-form-field-select{transition:margin-bottom .14s}.modal-form-field-select:has(.modal-select:focus){margin-bottom:7.5rem}.modal-form-field>span,.modal-static-field span,.modal-fieldset legend{color:var(--secondary-text);letter-spacing:.01em;font-size:.95rem;font-weight:700}.modal-fieldset legend{margin-bottom:0}.modal-radio-group{flex-wrap:wrap;gap:.8rem;display:flex}.modal-radio-option span{min-width:8rem}.modal-static-field{background:linear-gradient(#fffffffa,#f1f5f9f2);border:1px solid #e2e8f0eb;border-radius:20px;padding:1.15rem 1.2rem;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #0f172a0d}.modal-static-field strong{font-size:1.05rem}.modal-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.modal-select-shell{background:linear-gradient(#fffffffa,#f1f5f9f2);border:1px solid #e2e8f0f2;border-radius:18px;align-items:center;width:100%;min-height:3.25rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #0f172a0d}.modal-select-shell:after{content:"";pointer-events:none;border-bottom:2px solid #3b82f6b8;border-right:2px solid #3b82f6b8;width:.65rem;height:.65rem;position:absolute;right:1.15rem;transform:translateY(-20%)rotate(45deg)}.modal-select{width:100%;min-height:3.25rem;color:var(--navy);appearance:none;cursor:pointer;background:0 0;border:none;padding:0 3.4rem 0 1rem;font-size:1rem;font-weight:700}.modal-select:focus,.modal-date-input:focus{outline:none}.modal-select-shell:focus-within{border-color:#3b82f67a;outline:2px solid #3b82f63d}.modal-date-input{background:linear-gradient(#fffffffa,#f1f5f9f2);width:100%;min-height:3.25rem;padding:0 1rem;font-size:1rem;font-weight:700;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #0f172a0d}.modal-budget-shell{width:100%}.modal-budget-shell input{width:100%;min-height:3.1rem;color:var(--navy);background:0 0;border:none;padding:0 1rem;font-size:1rem;font-weight:700}.modal-budget-shell input:focus{outline:none}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.project-form{flex-direction:column;gap:1.5rem;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-field{flex-direction:column;gap:.45rem;display:flex}.form-field-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.form-field-full{grid-column:1/-1}.form-field span{font-weight:600}.form-field input,.form-input-shell{min-height:3.1rem;color:var(--navy);background:#f8fafceb;border:1px solid #e2e8f0f2;border-radius:18px}.form-field input{width:100%;padding:0 1rem}.budget-input-shell{background:#f8fafceb;border:1px solid #e2e8f0f2;border-radius:18px;align-items:center;min-height:3.1rem;display:flex;overflow:hidden}.budget-input-shell input{background:0 0;border:none}.budget-input-shell:focus-within{border-color:#3b82f67a;outline:2px solid #3b82f63d}.budget-currency-symbol{min-width:4.6rem;color:var(--secondary-text);letter-spacing:.04em;background:#93c5fd1f;border-left:1px solid #e2e8f0f2;justify-content:center;align-self:stretch;align-items:center;padding:0 1rem;font-size:.88rem;font-weight:700;display:inline-flex}.date-picker{position:relative}.date-picker-trigger{width:100%;min-height:3.1rem;color:var(--navy);cursor:pointer;background:linear-gradient(#fffffffa,#f1f5f9f2);border:1px solid #e2e8f0f2;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;transition:border-color .14s,box-shadow .14s,transform .14s;display:flex;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #0f172a12}.date-picker-trigger:hover{transform:translateY(-1px)}.date-picker-trigger.is-open{border-color:#3b82f67a;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #0f172a12,0 0 0 2px #3b82f629}.date-picker-value,.date-picker-placeholder{letter-spacing:.02em;font-size:1rem;font-weight:700}.date-picker-placeholder{color:var(--secondary-text)}.date-picker-trigger-icon{color:#3b82f6cc;background:#93c5fd24;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:2.3rem;height:2.3rem;display:inline-flex}.date-picker-trigger-icon svg{width:1.1rem;height:1.1rem}.date-picker-popover{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffffa;border:1px solid #e2e8f0f2;border-radius:24px;width:min(320px,100vw - 3rem);padding:1rem;position:absolute;bottom:calc(100% + .6rem);left:0;box-shadow:0 24px 60px #0f172a29}.date-picker-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.date-picker-header strong{text-transform:capitalize;font-size:1rem}.date-picker-nav{width:2.2rem;height:2.2rem;color:var(--navy);cursor:pointer;background:#93c5fd1f;border:1px solid #93c5fd57;border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.date-picker-weekdays,.date-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.date-picker-weekdays{gap:.35rem;margin-bottom:.45rem}.date-picker-weekdays span{color:var(--secondary-text);text-align:center;font-size:.8rem;font-weight:700}.date-picker-grid{gap:.35rem}.date-picker-day{min-height:2.45rem;color:var(--navy);cursor:pointer;background:0 0;border:none;border-radius:12px;font-weight:600;transition:background-color .14s,color .14s,transform .14s}.date-picker-day:hover{background:#93c5fd29;transform:translateY(-1px)}.date-picker-day.is-selected{color:var(--white);background:#0f172af5;box-shadow:0 10px 24px #0f172a2e}.date-picker-day.is-outside{color:#64748b7a}.form-input-shell{background:linear-gradient(#fffffffa,#f1f5f9f2);align-items:center;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 12px 30px #0f172a12}.form-input-shell:after{content:"";pointer-events:none;border:2px solid #3b82f68c;border-radius:.25rem;width:.9rem;height:.9rem;position:absolute;right:1rem;box-shadow:inset 0 .22rem #3b82f68c,0 0 0 .18rem #3b82f614}.form-field-date input[type=date]{box-shadow:none;letter-spacing:.02em;background:0 0;border:none;padding-right:3rem;font-weight:700}.form-field-date input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:auto;height:auto;position:absolute;inset:0}.form-field input:focus{border-color:#3b82f67a;outline:2px solid #3b82f63d}.form-field.has-error input,.form-field.has-error .date-picker-trigger{border-color:#dc26266b;box-shadow:inset 0 1px #ffffffe6,0 0 0 2px #dc26261f}.form-field.has-error input:focus,.form-field.has-error .date-picker-trigger:focus{border-color:#dc26266b;outline:2px solid #dc262629}.form-input-shell:focus-within{border-color:#3b82f67a;outline:2px solid #3b82f63d}.form-field input:disabled{color:var(--secondary-text);cursor:not-allowed;background:#e2e8f080}.form-grid-address{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}.currency-switch{background:#93c5fd24;border:1px solid #93c5fd59;border-radius:999px;gap:.35rem;margin:0;padding:.25rem;display:inline-flex}.currency-switch-option{position:relative}.currency-switch-option input{opacity:0;position:absolute;inset:0}.currency-switch-option span{min-width:3.8rem;min-height:2.2rem;color:var(--secondary-text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:.4rem .9rem;font-size:.88rem;font-weight:700;transition:background-color .14s,color .14s,box-shadow .14s;display:inline-flex}.currency-switch-option input:checked+span{color:var(--white);background:#0f172af5;box-shadow:0 8px 20px #0f172a2e}.currency-switch-option input:focus-visible+span{outline-offset:2px;outline:2px solid #3b82f647}.form-section{border-top:1px solid #e2e8f0eb;flex-direction:column;gap:1rem;padding-top:1.35rem;display:flex}.form-section-heading h2{margin:0;font-size:1.2rem}.milestone-builder{border-top:1px solid #e2e8f0e6;flex-direction:column;gap:1rem;margin-top:1.1rem;padding-top:1rem;display:flex}.milestone-list{flex-direction:column;gap:.8rem;display:flex}.milestone-item,.milestone-add-button{background:linear-gradient(#fffffff5,#f8fafce6);border:1px solid #e2e8f0eb;border-radius:22px;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.95rem 1rem;display:flex}.milestone-item-copy{flex-direction:column;gap:.28rem;display:flex}.milestone-item-copy span,.modal-copy{color:var(--secondary-text);margin:0}.milestone-item-heading{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.milestone-item-heading strong{font-size:1rem}.milestone-kind-label{min-height:1.7rem;color:var(--navy);background:#93c5fd29;border-radius:999px;align-items:center;padding:.12rem .65rem;font-size:.74rem;font-weight:700;display:inline-flex}.milestone-item-custom .milestone-kind-label{background:#0f172a14}.milestone-remove-button{border-radius:14px;width:2.4rem;height:2.4rem}.milestone-add-button{color:var(--navy);cursor:pointer;justify-content:flex-start}.milestone-add-button:hover{background:#93c5fd1f;border-color:#3b82f659}.milestone-add-icon{width:1.9rem;height:1.9rem;color:var(--info);background:#3b82f61f;border-radius:999px;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:inline-flex}.question-list{flex-direction:column;gap:1rem;display:flex}.question-card{background:linear-gradient(#fffffff2,#f8fafce6);border:1px solid #e2e8f0eb;border-radius:22px;margin:0;padding:1rem}.question-card legend{margin-bottom:.9rem;padding:0;font-weight:700}.question-options{gap:.8rem;display:flex}.question-option{position:relative}.question-option input{opacity:0;position:absolute;inset:0}.question-option span{cursor:pointer;background:#93c5fd1f;border:1px solid #93c5fd73;border-radius:999px;justify-content:center;align-items:center;min-width:4.5rem;min-height:2.9rem;padding:.7rem 1rem;font-weight:700;transition:background-color .14s,border-color .14s,color .14s;display:inline-flex}.question-option input:checked+span{color:var(--white);background:#0f172af5;border-color:#0f172af5}.question-option input:focus-visible+span{outline-offset:2px;outline:2px solid #3b82f647}.form-actions{justify-content:flex-end;display:flex}.back-link{width:fit-content;color:var(--secondary-text);text-decoration:none}.back-link:hover{color:var(--navy)}.update-card-heading{justify-content:space-between;gap:1rem;display:flex}.update-stage{color:var(--info);margin:.45rem 0 .65rem;font-weight:700;display:inline-block}.login-page{justify-content:center;align-items:center;min-height:calc(100vh - 120px);display:flex}.login-card{width:min(540px,100%);padding:clamp(1.35rem,5vw,2rem)}.login-brand{align-items:flex-start;gap:1rem;margin-bottom:1.4rem;display:flex}.login-brand p:last-child{color:var(--secondary-text);margin:.75rem 0 0;line-height:1.6}.login-form{flex-direction:column;gap:1rem;display:flex}.login-actions{flex-direction:column;gap:.65rem;display:flex}.login-form label{flex-direction:column;gap:.45rem;display:flex}.login-form span{font-weight:600}.login-form input{border:1px solid var(--field-border);background:var(--field-surface);min-height:3.1rem;color:var(--navy);border-radius:18px;padding:0 1rem}.login-form input:focus{border-color:#3b82f67a;outline:2px solid #3b82f63d}.form-error{color:var(--error);background:linear-gradient(#fef2f2fa,#fee2e2f0);border:1px solid #dc262638;border-radius:18px;margin:0;padding:.9rem 1rem;font-weight:700;box-shadow:inset 0 1px #ffffffe6,0 12px 26px #dc262614}.form-field-error{color:var(--error);background:linear-gradient(#fef2f2fa,#fee2e2f0);border:1px solid #dc26263d;border-radius:16px;margin:0;padding:.75rem .9rem;font-size:.9rem;font-weight:700;line-height:1.45;box-shadow:inset 0 1px #ffffffe6,0 10px 22px #dc262614}html[data-theme=dark] .form-error,html[data-theme=dark] .form-field-error{color:#fecaca;background:linear-gradient(#450a0aeb,#7f1d1dd1);border-color:#f871713d;box-shadow:inset 0 1px #fecaca14,0 14px 28px #7f1d1d38}html[data-theme=dark] .form-field.has-error input,html[data-theme=dark] .form-field.has-error .date-picker-trigger{border-color:#f8717157;box-shadow:inset 0 1px #fecaca0d,0 0 0 2px #f871711f}.text-button{color:var(--secondary-text);cursor:pointer;background:0 0;border:none;align-self:flex-end;padding:0}.text-button:hover{color:var(--navy)}@media (max-width:980px){.hero-card,.content-grid,.detail-info-grid,.project-row,.metrics-grid,.form-grid{grid-template-columns:1fr}.form-field-head{flex-direction:column;align-items:flex-start}.form-grid-address{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start}.topbar-brand{width:100%}.topbar-copy{text-align:left;align-items:flex-start;width:100%}.detail-hero-heading,.detail-panel-heading,.recurring-task-item,.recurring-task-add-button,.modal-actions,.modal-heading{flex-direction:column;align-items:flex-start}.icon-button,.icon-button-ghost{align-self:flex-end}.modal-inline-grid{grid-template-columns:1fr}.app-footer-inner{grid-template-columns:1fr;justify-items:flex-start}.footer-legal{text-align:left}.footer-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}.user-menu{width:min(100%,320px)}.user-menu-popover{left:0;right:auto}}@media (max-width:640px){.page,.login-page{width:min(100vw - 1rem,100%)}.panel,.hero-card,.login-card{border-radius:22px}.app-footer{width:min(100vw - 1rem,100%)}.app-footer-inner{border-radius:22px;padding:.95rem 1rem}.footer-brand,.footer-controls,.footer-control-group{width:100%}.footer-control-group{justify-content:space-between}.project-row,.update-card{border-radius:20px}.recurring-task-item,.recurring-task-add-button,.modal-card{border-radius:22px}.panel-toggle-chip,.modal-radio-option span{justify-content:center;width:100%}.modal-actions .secondary-button,.modal-actions .primary-button{width:100%}}
