:root{--bg:#fafaf7;--surface:#fff;--surface-soft:#f6f4ef;--surface-muted:#faf8f3;--surface-hover:#f1efe9;--ink:#18181b;--ink-soft:#3f3f46;--muted:#78716c;--muted-soft:#a8a29e;--line:#ebe8e0;--line-strong:#d6d3ce;--primary:#18181b;--primary-dark:#000;--primary-soft:#f4f4f5;--accent:#b89968;--accent-soft:#f6efe1;--accent-deep:#8b7045;--secondary:#a25b3f;--secondary-soft:#fbeee5;--blue:#4f78c4;--blue-soft:#eaf0fa;--green:#5b8a6a;--green-soft:#ecf3ee;--orange:#c8924f;--orange-soft:#faf0df;--red:#b85a5a;--red-soft:#fbecec;--shadow-xs:0 1px 2px #18181b0d;--shadow-sm:0 2px 6px #18181b0f, 0 1px 2px #18181b0a;--shadow-md:0 10px 28px #18181b12, 0 2px 8px #18181b0d;--shadow-lg:0 18px 52px #18181b1c, 0 6px 18px #18181b0f;--shadow-xl:0 28px 76px #18181b2e, 0 10px 28px #18181b1a;--radius-xs:10px;--radius-sm:14px;--radius-md:18px;--radius-lg:22px;--radius-xl:26px;--radius-2xl:32px;--font-rounded:ui-rounded, "SF Pro Rounded", "Nunito Sans", Nunito, "Avenir Next Rounded", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ease:cubic-bezier(.4, 0, .2, 1);--transition-fast:.12s var(--ease);--transition:.18s var(--ease);--transition-slow:.26s var(--ease)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;max-width:100%;overflow-x:hidden}body{background:var(--bg);color:var(--ink);font-family:var(--font-rounded);font-feature-settings:"cv11", "ss01", "case";letter-spacing:0;max-width:100%;margin:0;font-size:14.5px;line-height:1.55;overflow-x:hidden}img,svg,video{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4{letter-spacing:0;color:var(--ink)}::selection{background:var(--accent-soft);color:var(--accent-deep)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background-color:#d6d3ce;background-clip:padding-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#a8a29e}::-webkit-scrollbar-track{background:0 0}.app-shell{min-height:100vh;transition:grid-template-columns .24s var(--ease);grid-template-columns:268px minmax(0,1fr);display:grid}.sidebar{z-index:100;border-right:1px solid var(--line);background:var(--surface);height:100vh;transition:padding .24s var(--ease);flex-direction:column;padding:28px 18px;display:flex;position:sticky;top:0;overflow:auto}.brand{transition:gap .22s var(--ease), padding .22s var(--ease);align-items:center;gap:12px;margin-bottom:28px;padding:0 12px;display:flex}.brand-mark{border-radius:var(--radius-md);width:40px;height:40px;color:var(--ink);box-shadow:none;transition:background var(--transition-fast), box-shadow var(--transition-fast), margin .22s var(--ease), transform var(--transition-fast);background:0 0;border:0;flex:none;place-items:center;font-size:15px;font-weight:600;display:grid;overflow:hidden}.brand-mark-image{border-radius:inherit;object-fit:contain;width:100%;height:100%;display:block}.sidebar-logo-button{cursor:pointer}.sidebar-logo-button:hover{background:color-mix(in srgb, var(--ink) 5%, transparent);box-shadow:none}.sidebar-logo-button:active{transform:translateY(1px)}.sidebar-logo-button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.brand h1{letter-spacing:0;margin:0;font-size:16px;font-weight:600;line-height:1.2}.brand p,.project-meta p,.section-eyebrow,.muted,.table-note{color:var(--muted)}.brand p{margin:3px 0 0;font-size:12.5px;font-weight:400}.project-meta{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-muted);padding:14px 16px}.project-meta strong{color:var(--ink);margin-bottom:4px;font-size:13.5px;font-weight:500;display:block}.project-meta p{margin:0;font-size:12.5px;line-height:1.55}.sidebar-profile{box-shadow:none;transition:padding .18s var(--ease), border-color .18s var(--ease), background .18s var(--ease), box-shadow .18s var(--ease);background:0 0;border:0;border-radius:0;justify-content:flex-start;margin-top:auto;padding:0;display:flex;position:relative}.project-meta+.sidebar-profile{margin-top:auto}.profile-main{align-items:center;gap:10px;min-width:0;display:flex}.profile-avatar{aspect-ratio:1;background:var(--accent-soft);width:36px;height:36px;color:var(--accent-deep);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:grid;overflow:hidden}button.profile-avatar:hover{background:var(--accent);color:#fff}button.profile-avatar:active{transform:scale(.95)}button.profile-avatar:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.profile-details{gap:2px;min-width:0;display:grid}.profile-details strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.profile-details p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.profile-role{background:var(--primary-soft);width:fit-content;color:var(--ink-soft);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600}.profile-actions{flex-direction:column;gap:6px;display:flex}.profile-actions .btn{width:100%}.profile-menu{width:100%;position:relative}.profile-menu-trigger{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:100%;min-height:48px;box-shadow:var(--shadow-xs);color:var(--ink);text-align:left;transition:background var(--transition-fast), border-color var(--transition-fast), border-radius .22s var(--ease), box-shadow var(--transition-fast), gap .22s var(--ease), min-height .22s var(--ease), padding .22s var(--ease), transform var(--transition-fast);align-items:center;gap:10px;padding:6px 8px;display:flex}.profile-menu-trigger:hover{border-color:var(--line-strong);background:var(--surface-muted);box-shadow:var(--shadow-sm)}.profile-menu-trigger:active{transform:translateY(1px)}.profile-menu-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.profile-menu-trigger:hover .profile-avatar{background:var(--accent);color:#fff}.profile-trigger-copy{min-width:0;transition:flex-basis .22s var(--ease), max-width .22s var(--ease), opacity .16s var(--ease);flex:auto;gap:1px;display:grid;overflow:hidden}.profile-trigger-copy strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.profile-trigger-copy span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.profile-trigger-chevron{color:var(--muted-soft);transition:opacity .16s var(--ease), width .22s var(--ease);flex:none}.profile-avatar-image{border-radius:inherit;object-fit:cover;object-position:center;width:100%;height:100%;display:block}.profile-avatar-initials{place-items:center;width:100%;height:100%;font-size:12.5px;font-weight:700;display:grid}.profile-popover{z-index:60;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);width:min(292px,100vw - 28px);box-shadow:var(--shadow-lg);gap:12px;padding:12px;display:grid;position:absolute;bottom:calc(100% + 10px);left:0}.profile-popover-user{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.profile-popover-user strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.profile-popover-user p,.profile-popover-section p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.profile-avatar-preview{pointer-events:none}.profile-popover-section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);gap:8px;padding:10px;display:grid}.profile-popover-section strong{color:var(--ink);font-size:12.5px;font-weight:600}.profile-popover-actions{gap:6px;display:grid}.profile-popover-actions .btn{text-align:left;grid-template-columns:18px minmax(0,1fr);justify-content:flex-start;align-items:center;gap:10px;width:100%;display:grid}.profile-popover-actions .btn svg,.profile-action-icon-spacer{width:18px;height:18px}.profile-action-icon-spacer{display:inline-block}.profile-popover-actions .btn-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.profile-settings-modal{max-width:560px}.profile-photo-preview{justify-content:center;align-items:center;gap:14px;display:flex}.profile-avatar-large{aspect-ratio:1;pointer-events:none;width:72px;height:72px;font-size:20px;overflow:hidden}.profile-photo-actions{justify-items:start;gap:6px;display:grid}.profile-photo-actions .btn{min-height:36px}.profile-photo-input{display:none}.nav-list{flex:auto;align-content:start;gap:2px;min-height:0;display:grid}.nav-button{border-radius:var(--radius-md);width:100%;color:var(--muted);text-align:left;transition:gap .22s var(--ease), justify-content .22s var(--ease), padding .22s var(--ease), background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px;font-weight:500;text-decoration:none;display:flex}.nav-button span{min-width:0;transition:gap .22s var(--ease), justify-content .22s var(--ease), width .22s var(--ease);align-items:center;gap:11px;display:flex}.nav-button svg{opacity:.85;flex:none}.nav-button:hover{background:var(--surface-hover);color:var(--ink);text-decoration:none}.nav-button.active{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}.nav-button.active svg{opacity:1}.nav-count{background:var(--surface-soft);min-width:24px;color:var(--muted);text-align:center;transition:background var(--transition-fast), color var(--transition-fast);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:600}.nav-button.active .nav-count{color:#fff;background:#ffffff29}.main{min-width:0;padding:36px 40px 48px}.topbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.section-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin:0 0 8px;font-size:11.5px;font-weight:600}.page-title{letter-spacing:0;color:var(--ink);margin:0;font-size:30px;font-weight:600;line-height:1.15}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.mobile-shell-header{display:none}.btn{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--ink);letter-spacing:0;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface-soft);border-color:var(--line-strong)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.btn.primary{border-color:var(--ink);background:var(--ink);color:#fff;box-shadow:var(--shadow-sm)}.btn.primary:hover{box-shadow:var(--shadow-md);background:#2c2c30;border-color:#2c2c30}.btn.secondary{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent-deep)}.btn.secondary:hover{border-color:var(--accent);color:var(--accent-deep);background:#f0e3c9}.btn.icon-only{width:38px;color:var(--muted);padding:0}.btn.icon-only:hover{color:var(--ink)}.btn:disabled,.btn.disabled{cursor:not-allowed;opacity:.45;transform:none}.detail-button{width:100%;min-height:32px;color:var(--muted);margin-top:12px;padding:5px 10px;font-size:12.5px}.detail-button:hover{color:var(--ink)}.grid{gap:18px;min-width:0;display:grid}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid.stats-grid-auto{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.budget-stats-stack{gap:12px;display:grid}.budget-stat-row{gap:12px;min-width:0;display:grid}.budget-stat-row-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.budget-stat-row-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-stats-stack .stat-card{border-radius:var(--radius-sm);min-height:128px;box-shadow:none;padding:18px 20px}.budget-stats-stack .stat-top{align-items:flex-start;gap:14px}.budget-stats-stack .stat-top h3{max-width:min(100%,190px)}.budget-stats-stack .stat-top svg{flex:none}.budget-stats-stack .stat-value{white-space:normal;overflow-wrap:anywhere;margin:13px 0 6px;font-size:clamp(26px,2.5vw,34px);line-height:1.03}.budget-stats-stack .stat-trend{max-width:28rem;line-height:1.35}.two-col{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0;box-shadow:none;transition:border-color var(--transition), box-shadow var(--transition)}.panel{min-width:0;padding:20px 22px}.panel-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.panel-header h2,.panel-header h3,.stat-card h3{margin:0;font-weight:600}.panel-header h2{letter-spacing:0;font-size:17px}.panel-header h3,.stat-card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.panel-header p,.muted{color:var(--muted);margin:4px 0 0;font-size:13px}.dashboard-grid{gap:16px;min-width:0;display:grid}.dashboard-overview{border-color:var(--line);background:var(--surface);grid-template-columns:minmax(240px,.78fr) minmax(360px,1.22fr);align-items:center;gap:22px;padding:22px 24px;display:grid}.dashboard-overview-copy{min-width:0}.dashboard-overview-copy .section-eyebrow{letter-spacing:.05em;margin:0 0 7px}.dashboard-overview-copy h2{color:var(--ink);letter-spacing:0;margin:0;font-size:24px;font-weight:600;line-height:1.2}.dashboard-overview-copy span{color:var(--muted);margin-top:10px;font-size:13px;display:inline-flex}.dashboard-countdown-units{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;display:grid;overflow:hidden}.dashboard-countdown-unit{border-left:1px solid var(--line);text-align:center;justify-items:center;gap:5px;min-width:0;padding:16px 10px;display:grid}.dashboard-countdown-unit:first-child{border-left:0}.dashboard-countdown-unit strong{color:var(--ink);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1}.dashboard-countdown-unit span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600;line-height:1.2}.dashboard-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;min-width:0;display:grid}.dashboard-metric-grid .stat-card{box-shadow:none;padding:17px 18px}.dashboard-metric-grid .stat-top{align-items:flex-start}.dashboard-metric-grid .stat-top h3{letter-spacing:.04em;font-size:12px}.dashboard-metric-grid .stat-top svg{width:17px;height:17px}.dashboard-metric-grid .stat-value{letter-spacing:-.01em;margin:12px 0 5px;font-size:clamp(15px,2.05vw,24px)}.dashboard-content-grid{grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:16px;min-width:0;display:grid}.dashboard-health-list,.dashboard-schedule-list{gap:0;display:grid}.dashboard-health-item{border-top:1px solid var(--line);gap:10px;padding:14px 0;display:grid}.dashboard-health-item:first-child{border-top:0;padding-top:0}.dashboard-health-item:last-child{padding-bottom:0}.dashboard-health-item .status-row{border-top:0;padding:0}.dashboard-schedule-panel .panel-header svg,.dashboard-budget-panel .panel-header svg{color:var(--muted-soft)}.dashboard-budget-panel .budget-estimator-list{border:1px solid var(--line);border-radius:var(--radius-md);gap:0;overflow:hidden}.dashboard-budget-panel .budget-estimator-row{border:0;border-top:1px solid var(--line);box-shadow:none;border-radius:0;grid-template-columns:minmax(150px,.75fr) minmax(180px,1fr) minmax(360px,1.4fr);padding:14px 16px}.dashboard-budget-panel .budget-estimator-row:first-child{border-top:0}.dashboard-budget-panel .budget-estimator-row:hover{background:var(--surface-muted)}.stat-card-good{border-color:color-mix(in srgb, var(--green) 32%, var(--line));background:linear-gradient(180deg, #5b8a6a1a, #5b8a6a05), var(--surface)}.stat-card-danger{border-color:color-mix(in srgb, var(--red) 34%, var(--line));background:linear-gradient(180deg, #b85a5a1a, #b85a5a05), var(--surface)}.stat-top{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.stat-top svg{color:var(--muted-soft)}.stat-card-good .stat-top svg,.stat-card-good .stat-trend{color:var(--green)}.stat-card-danger .stat-top svg,.stat-card-danger .stat-trend{color:var(--red)}.stat-value{letter-spacing:0;color:var(--ink);white-space:nowrap;word-break:keep-all;margin:14px 0 6px;font-size:30px;font-weight:600;line-height:1.05}.stat-trend{color:var(--muted);margin:0;font-size:12.5px}.countdown-card{box-shadow:var(--shadow-md);background:linear-gradient(#fff 0%,#fffdf9 100%);border-color:#b8996857;grid-template-columns:minmax(240px,.8fr) minmax(360px,1.2fr);align-items:center;gap:24px;padding:28px;display:grid;position:relative;overflow:hidden}.countdown-card:before{content:"";background:var(--accent);width:5px;position:absolute;inset:0 auto 0 0}.countdown-heading{min-width:0;position:relative}.countdown-heading p{background:var(--accent-soft);min-height:28px;color:var(--accent-deep);text-transform:uppercase;letter-spacing:.08em;border:1px solid #b8996838;border-radius:999px;align-items:center;margin:0;padding:0 11px;font-size:11.5px;font-weight:700;display:inline-flex}.countdown-heading h2{color:var(--ink);letter-spacing:0;align-items:center;gap:10px;margin:14px 0 0;font-size:24px;font-weight:600;line-height:1.25;display:flex}.countdown-heading h2 svg{color:var(--accent-deep);flex:none}.countdown-heading h2 span{min-width:0}.countdown-units{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:100%;min-width:0;display:grid;position:relative}.countdown-unit{border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;box-shadow:var(--shadow-xs);text-align:center;background:#ffffffd1;padding:16px 10px}.countdown-unit strong{color:var(--ink);letter-spacing:0;font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1;display:block}.countdown-unit span{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:8px;font-size:11px;font-weight:600;display:block}.progress-track{background:var(--surface-soft);border-radius:999px;height:6px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--ink);height:100%;transition:width var(--transition-slow)}.progress-fill.orange{background:var(--accent)}.progress-fill.blue{background:var(--blue)}.progress-fill.red{background:var(--red)}.status-row,.quick-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.status-row:first-child,.quick-row:first-child{border-top:0;padding-top:0}.status-row:last-child,.quick-row:last-child{padding-bottom:0}.project-access-panel{flex-direction:column;gap:16px;display:flex}.project-access-panel .panel-header{margin-bottom:0}.project-access-list{gap:10px;display:grid}.project-access-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.project-access-member{min-width:0}.project-access-member strong,.project-access-member p{overflow-wrap:anywhere}.project-access-actions{align-items:center;gap:8px;display:flex}.project-access-actions .select{width:min(170px,34vw)}.project-access-invite{align-self:flex-start;margin-top:2px}@media (max-width:720px){.project-access-row{grid-template-columns:1fr;align-items:stretch}.project-access-actions{justify-content:space-between}.project-access-actions .select{width:100%}}.status-label{align-items:center;gap:10px;font-size:13.5px;display:flex}.dot{background:var(--ink);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #18181b0f}.dot.blue{background:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.dot.orange{background:var(--orange);box-shadow:0 0 0 3px var(--orange-soft)}.dot.red{background:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.dot.green{background:var(--green);box-shadow:0 0 0 3px var(--green-soft)}.badge,.pill{letter-spacing:.005em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:3px 10px;font-size:11.5px;font-weight:500;display:inline-flex}.badge{background:var(--surface-soft);color:var(--ink-soft);border-color:var(--line)}.badge.warn{background:var(--orange-soft);color:#8a5a1f;border-color:#c8924f38}.badge.danger{background:var(--red-soft);color:#8e3a3a;border-color:#b85a5a38}.badge.done{background:var(--green-soft);color:#355c44;border-color:#5b8a6a38}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.control,.input,.select,.textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:38px;color:var(--ink);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);padding:8px 12px;font-size:13.5px}.input:hover,.select:hover,.textarea:hover{border-color:var(--line-strong)}.input:focus,.select:focus,.textarea:focus,.control:focus{border-color:var(--ink);outline:0;box-shadow:0 0 0 3px #18181b14}.input::placeholder,.textarea::placeholder{color:var(--muted-soft)}.inline-search{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:min(280px,100%);min-height:38px;color:var(--muted);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:8px;padding:0 12px;display:inline-flex}.inline-search:focus-within{border-color:var(--ink);color:var(--ink);box-shadow:0 0 0 3px #18181b14}.inline-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:13.5px}.inline-search input::placeholder{color:var(--muted-soft)}.input,.select,.textarea{width:100%}.textarea{resize:vertical;min-height:96px;line-height:1.55}.segmented{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:2px;padding:2px;display:inline-flex;overflow:hidden}.segment{border-radius:var(--radius-xs);color:var(--muted);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.segment.active{background:var(--ink);color:#fff}.budget-panel-actions{align-items:center;gap:10px;display:flex}.budget-sort-control{position:relative}.budget-sort-popover{min-width:240px}.budget-sort-popover .filter-group:first-child{border-top:0;padding-top:0}.budget-panel-actions{flex-wrap:wrap;justify-content:flex-end}.todo-board-header{align-items:center}.todo-header-actions{grid-template-columns:minmax(220px,1fr) auto auto;justify-content:flex-end;align-items:center;gap:10px;width:min(100%,660px);display:grid}.todo-header-actions .inline-search{width:100%;min-width:0}.todo-header-actions .btn{white-space:nowrap}.todo-board-panel{background:var(--surface);grid-template-rows:auto minmax(0,1fr);height:calc(100vh - 156px);min-height:560px;display:grid;overflow:hidden}.filter-menu{position:relative}.filter-trigger .nav-count{background:var(--surface-soft);color:var(--ink-soft)}.admin-users-toolbar{flex-wrap:nowrap;align-items:center}.admin-users-search{width:min(420px,48vw);min-width:280px}.admin-users-toolbar .filter-trigger{white-space:nowrap}.admin-projects-toolbar{flex-wrap:nowrap;align-items:center}.admin-project-add{white-space:nowrap}.filter-popover{z-index:30;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:220px;box-shadow:var(--shadow-lg);gap:8px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.filter-group{border-top:1px solid var(--line);gap:6px;padding:6px 2px 0;display:grid}.filter-label{color:var(--ink-soft);font-size:12px;font-weight:600}.filter-option{border-radius:var(--radius-sm);min-height:32px;color:var(--ink-soft);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:10px;padding:6px 10px;font-size:13px;font-weight:500;display:flex}.filter-option:hover{background:var(--surface-soft);color:var(--ink)}.filter-option input{accent-color:var(--ink)}.vendor-list,.timeline,.gift-list{gap:10px;display:grid}.vendor-item,.timeline-item,.gift-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:14px 16px}.vendor-item:hover,.timeline-item:hover,.gift-item:hover{border-color:var(--line-strong);box-shadow:none}.kanban-board{grid-template-columns:repeat(5,minmax(220px,1fr));align-items:stretch;gap:12px;min-height:0;padding:4px 4px 8px;display:grid;overflow:auto hidden}.kanban-column{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:220px;height:100%;min-height:0;transition:background var(--transition), border-color var(--transition), box-shadow var(--transition);background:#fbfaf7;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:10px;padding:12px;display:grid;overflow:hidden}.kanban-column.drop-target{border-color:var(--ink);background:var(--surface);box-shadow:0 0 0 1px var(--ink) inset, var(--shadow-sm)}.kanban-column-header{color:var(--ink);justify-content:space-between;align-items:center;gap:10px;padding:0 2px;font-size:13px;font-weight:600;display:flex}.kanban-column-actions{align-items:center;gap:6px;display:inline-flex}.kanban-column-toggle{border:1px solid var(--line);background:var(--surface);width:26px;height:26px;color:var(--muted);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border-radius:999px;place-items:center;padding:0;display:grid}.kanban-column-toggle:hover{border-color:var(--line-strong);background:var(--surface-soft);color:var(--ink)}.kanban-column-toggle svg{transition:transform var(--transition-fast)}.kanban-column-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.kanban-collapsed-summary{border:1px dashed var(--line-strong);border-radius:var(--radius-md);min-height:74px;color:var(--muted);text-align:center;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background:#ffffff85;place-items:center;padding:20px;font-size:12.5px;font-weight:600;line-height:1.45;display:grid}.kanban-collapsed-summary:hover{border-color:var(--line-strong);background:var(--surface);color:var(--ink-soft)}.kanban-task-list{overscroll-behavior:contain;grid-auto-rows:max-content;align-content:start;gap:10px;min-height:0;max-height:100%;padding:6px 2px 6px 0;display:grid;overflow-y:auto}.kanban-task-list::-webkit-scrollbar{width:6px}.kanban-task-list::-webkit-scrollbar-thumb{background-color:#d6d3ce;border:0;border-radius:999px}.kanban-task-list::-webkit-scrollbar-track{background:0 0}.task-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:grab;touch-action:none;box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast), opacity .12s ease;-webkit-user-select:none;user-select:none;will-change:transform;align-self:start;gap:10px;padding:13px;display:grid;position:relative}.task-card:hover{border-color:var(--line-strong);box-shadow:none}.task-card.overdue{background:linear-gradient(180deg, #b34c4c0f, #b34c4c00), var(--surface);border-color:#b34c4c47}.task-card.drop-before{box-shadow:0 -3px 0 0 var(--accent), var(--shadow-sm)}.task-card.drop-after{box-shadow:0 3px 0 0 var(--accent), var(--shadow-sm)}.task-card.dragging{left:var(--drag-left,0);top:var(--drag-top,0);z-index:1000;width:var(--drag-width,auto);cursor:grabbing;border-color:var(--ink);box-shadow:var(--shadow-xl);opacity:.96;pointer-events:none;transition:box-shadow .12s,opacity .12s;position:fixed;transform:rotate(.4deg)scale(1.02)}.task-card p{margin:0}.task-card-header,.task-card-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.task-badges{flex-wrap:wrap;gap:6px;display:flex}.task-card-actions .detail-button{flex:1;margin-top:0}.kanban-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-md);min-height:86px;color:var(--muted);text-align:center;background:#fff6;place-items:center;padding:26px 34px;font-size:12.5px;line-height:1.45;display:grid}.kanban-empty span{max-width:24ch;display:block}.kanban-filter-empty{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--muted);background:var(--surface-muted);place-items:center;padding:60px 24px;font-size:13.5px;display:grid}.check-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:30px;height:30px;color:var(--muted);transition:border-color var(--transition-fast), background var(--transition-fast), color var(--transition-fast);place-items:center;display:grid}.check-button:hover{border-color:var(--ink);color:var(--ink)}.check-button.done{border-color:var(--ink);background:var(--ink);color:#fff}.task-title,.vendor-title,.timeline-title{letter-spacing:0;color:var(--ink);margin:0 0 4px;font-size:14.5px;font-weight:600}.task-meta,.vendor-meta,.timeline-meta{color:var(--muted);flex-wrap:wrap;gap:6px 10px;font-size:12.5px;display:flex}.task-meta svg,.vendor-meta svg,.timeline-meta svg{opacity:.7}.vendor-status{margin-top:12px}.task-meta.compact{gap:4px;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.audit-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.audit-filter-grid .audit-daterange{grid-column:span 2}.audit-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.audit-pagination-controls{gap:8px;display:flex}.date-field{flex:1;min-width:0;position:relative}.date-field-input{align-items:center;display:flex;position:relative}.date-field-input .input{width:100%;padding-right:60px}.date-field-clear,.date-field-trigger{color:var(--muted);cursor:pointer;border-radius:var(--radius-xs);transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex;position:absolute}.date-field-clear:hover,.date-field-trigger:hover{color:var(--ink);background:var(--surface-hover)}.date-field-trigger{right:6px}.date-field-clear{right:34px}.date-field-popup{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);width:268px;max-width:90vw;box-shadow:var(--shadow-md);padding:12px;position:absolute;top:calc(100% + 6px);left:0}.date-field-popup-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.date-field-popup-head strong{font-size:13.5px}.date-field-weekdays{grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px;display:grid}.date-field-weekdays span{text-align:center;color:var(--muted);padding:2px 0;font-size:11px;font-weight:600}.date-field-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.date-field-day{aspect-ratio:1;color:var(--ink-soft);border-radius:var(--radius-xs);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.date-field-day:hover:not(.empty){background:var(--surface-hover)}.date-field-day.empty{cursor:default}.date-field-day.today:not(.selected){box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:600}.date-field-day.selected{background:var(--primary);color:#fff;font-weight:600}.form-grid .full{grid-column:1/-1}.field label{color:var(--ink-soft);letter-spacing:.005em;margin-bottom:6px;font-size:12.5px;font-weight:500;display:block}.field-hint{color:var(--muted);margin:6px 0 0;font-size:12px;line-height:1.4}.field-hint.error{color:var(--red);font-weight:500}.profile-email-locked,.profile-email-locked:hover{cursor:not-allowed}.profile-email-locked{background:var(--surface-soft);color:var(--muted)}.field-label-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.field-label-row label{margin-bottom:0}.signin-modern-page{background:var(--bg);grid-template-rows:auto minmax(0,1fr);place-items:center;min-height:100vh;padding:40px;display:grid}.signin-modern-nav{justify-content:space-between;align-items:center;width:min(1160px,100%);display:flex}.signin-modern-nav-brand{min-height:46px;color:var(--ink);align-items:center;gap:12px;display:inline-flex}.signin-modern-nav-brand>span{border-radius:var(--radius-sm);place-items:center;width:38px;height:38px;display:grid;overflow:hidden}.signin-modern-nav-brand img{object-fit:contain;width:100%;height:100%;display:block}.signin-modern-nav-brand strong{font-size:15px;font-weight:600;line-height:1.2}.signin-language-switch{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:3px;padding:3px;display:inline-flex}.signin-language-switch button{min-width:42px;min-height:34px;color:var(--muted);letter-spacing:0;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-size:12px;font-weight:700;display:inline-flex}.signin-language-switch button:hover{background:var(--surface-muted);color:var(--ink)}.signin-language-switch button.active{background:var(--ink);color:#fff;box-shadow:var(--shadow-xs)}.signin-language-switch button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.signin-modern-card{width:min(1160px,100%);min-height:calc(100vh - 142px);box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:minmax(400px,470px) minmax(0,1fr);align-items:center;gap:clamp(36px,5vw,72px);display:grid;overflow:visible}.signin-modern-form{background:0 0;align-content:center;gap:24px;width:min(100%,460px);padding:0;display:grid}.signin-modern-brand{align-items:center;gap:12px;display:flex}.signin-modern-brand>span{border-radius:var(--radius-sm);width:40px;height:40px;color:var(--ink);background:0 0;place-items:center;font-size:14px;font-weight:600;display:grid;overflow:hidden}.signin-modern-brand>span img{object-fit:contain;width:100%;height:100%;display:block}.signin-modern-brand h1{color:var(--ink);margin:0;font-size:15px;font-weight:600;line-height:1.2}.signin-modern-brand p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.35}.signin-modern-heading{gap:12px;display:grid}.signin-modern-heading span{width:fit-content;color:var(--accent-deep);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;font-size:11.5px;font-weight:600;display:inline-flex}.signin-modern-heading h1{color:var(--ink);letter-spacing:0;margin:0;font-size:33px;font-weight:680;line-height:1.06}.signin-modern-heading p{max-width:410px;color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.signin-modern-form .form-grid{gap:14px}.signin-modern-form .field label{color:var(--ink-soft);font-size:12px;font-weight:600}.signin-modern-form .input{background:#ffffffeb;border-color:#ded8ce;min-height:44px}.signin-modern-form .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8996824}.signin-modern-form .signin-google-button,.signin-modern-form .signin-submit-row .btn{border-radius:var(--radius-sm);min-height:44px}.signin-modern-form .signin-google-button{background:#fff;border-color:#ded8ce}.signin-modern-form .signin-divider{margin:8px 0 2px}.signin-loading-overlay{z-index:300;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fafaf7b8;place-items:center;display:grid;position:fixed;inset:0}.app-route-loading-overlay{z-index:320;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fafaf7c2;place-items:center;display:grid;position:fixed;inset:0}.signin-loading-panel{border:1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 92%, var(--surface-soft));min-width:min(320px,100vw - 40px);box-shadow:var(--shadow-md);justify-items:center;gap:8px;padding:22px 24px;display:grid}.app-route-loading-panel{border:1px solid color-mix(in srgb, var(--line-strong) 72%, transparent);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--surface) 92%, var(--surface-soft));min-width:min(340px,100vw - 40px);box-shadow:var(--shadow-md);justify-items:center;gap:8px;padding:24px 26px;display:grid}.signin-loading-panel strong,.app-route-loading-panel strong{color:var(--ink);font-size:14px;font-weight:600;line-height:1.25}.signin-loading-panel span,.app-route-loading-panel span{color:var(--muted);font-size:12px;line-height:1.4}.signin-loading-spinner,.signin-button-spinner{animation:.8s linear infinite signin-spin}@keyframes signin-spin{to{transform:rotate(360deg)}}.signin-modern-art{background:0 0;place-items:end center;min-width:0;padding:30px;display:grid;position:relative}.signin-modern-art:before{display:none}.signin-modern-art-copy{z-index:2;max-width:220px;box-shadow:none;background:0 0;border:0;border-radius:0;gap:5px;padding:0;display:grid;position:absolute;top:30px;right:30px}.signin-modern-art-copy span{color:var(--accent-deep);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:600}.signin-modern-art-copy strong{color:var(--ink);font-size:13px;font-weight:600}.signin-modern-image{z-index:1;opacity:.92;object-fit:contain;object-position:center bottom;filter:saturate(.92)contrast(.98);width:100%;max-height:calc(100vh - 116px);position:relative}.login-dashboard-page{background:linear-gradient(115deg,#fffffff5 0 43%,#ffffff4d 43% 100%),linear-gradient(#fbfaf6 0%,#f1eadf 100%);grid-template-columns:minmax(380px,.86fr) minmax(0,1.14fr);min-height:100vh;display:grid;position:relative;overflow:hidden}.login-dashboard-page:before{border-radius:var(--radius-sm);content:"";pointer-events:none;border:1px solid #b8996833;position:absolute;inset:24px}.login-dashboard-visual{z-index:1;justify-content:center;align-items:stretch;min-height:100vh;padding:34px 38px 34px 0;display:flex;position:relative}.login-auth-mark{border-radius:var(--radius-sm);background:var(--ink);color:#fff;place-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:grid}.login-auth-brand h1{color:var(--ink);margin:0;font-size:14px;font-weight:600;line-height:1.2;display:block}.login-auth-brand p{color:var(--muted);margin:2px 0 0;font-size:12px;line-height:1.35;display:block}.login-dashboard-visual:before{filter:blur(70px);content:"";pointer-events:none;background:#b8996829;width:58%;height:56%;position:absolute;bottom:0;right:0}.login-dashboard-image{z-index:1;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;filter:contrast(1.03);align-self:end;width:min(760px,100%);max-height:calc(100vh - 68px);position:relative}.login-dashboard-copy{z-index:2;border-radius:var(--radius-sm);max-width:330px;box-shadow:var(--shadow-xs);background:#ffffffb8;border:1px solid #b899683d;gap:8px;padding:14px 16px;display:grid;position:absolute;top:44px;right:42px}.login-dashboard-copy span,.login-auth-copy span{width:fit-content;color:var(--accent-deep);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:7px;font-size:11.5px;font-weight:600;display:inline-flex}.login-dashboard-copy p{color:var(--ink-soft);margin:0;font-size:12.5px;line-height:1.5}.login-dashboard-summary{z-index:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:min(380px,100% - 84px);display:grid;position:absolute;bottom:42px;right:42px}.login-dashboard-summary div{border-radius:var(--radius-sm);min-height:50px;color:var(--ink-soft);box-shadow:var(--shadow-xs);background:#ffffffc2;border:1px solid #b8996838;align-items:center;gap:9px;padding:11px 12px;font-size:12.5px;font-weight:500;display:flex}.login-dashboard-summary svg{color:var(--accent-deep);flex:none}.login-auth-area{z-index:2;background:0 0;place-items:center;min-height:100vh;padding:34px 28px 34px 54px;display:grid;position:relative}.login-auth-panel{border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd6;border:1px solid #d6d3ced1;gap:22px;width:min(430px,100%);padding:28px;display:grid;box-shadow:0 22px 70px #18181b1f}.login-auth-brand{align-items:center;gap:12px;display:flex}.login-auth-copy{gap:9px;display:grid}.login-auth-copy h2{color:var(--ink);letter-spacing:0;margin:0;font-size:34px;font-weight:600;line-height:1.04}.login-auth-copy p{color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.login-auth-panel .form-grid{gap:14px}.login-auth-panel .field label{color:var(--ink-soft);font-size:12px;font-weight:600}.login-auth-panel .input{background:#ffffffdb;border-color:#ded8ce;min-height:44px}.login-auth-panel .input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8996824}.login-auth-panel .signin-google-button,.login-auth-panel .signin-submit-row .btn{border-radius:var(--radius-sm);min-height:44px}.login-auth-panel .signin-google-button{background:#fff;border-color:#ded8ce}.login-auth-panel .signin-divider{margin:8px 0 2px}.login-auth-panel .signin-submit-row{margin-top:2px}.signin-shell{background:linear-gradient(135deg, #18181b 0 36%, #fafaf700 36%), linear-gradient(180deg, #f7f4ed 0%, var(--bg) 54%, #f2eee6 100%);place-items:center;min-height:100vh;padding:32px 24px;display:grid}.signin-layout{grid-template-columns:minmax(360px,438px) minmax(0,1fr);align-items:stretch;gap:14px;width:min(1120px,100%);min-height:min(720px,100vh - 64px);display:grid}.signin-panel{flex-direction:column;justify-content:center;padding:38px 34px;display:flex;box-shadow:0 24px 80px #18181b29}.signin-brand{align-items:center;gap:12px;margin-bottom:34px;display:flex}.signin-brand-mark{background:linear-gradient(135deg, var(--ink), #3a3328)}.signin-brand-copy{min-width:0}.signin-brand-copy h1{margin:0;font-size:18px;font-weight:600;line-height:1.2}.signin-brand-copy p,.signin-policy-hint{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.5}.signin-panel-copy{margin-bottom:24px}.signin-panel-copy .section-eyebrow{color:var(--accent-deep);margin-bottom:9px}.signin-panel-copy h2{color:var(--ink);letter-spacing:0;margin:0;font-size:30px;font-weight:600;line-height:1.08}.signin-panel-copy p:last-child{max-width:330px;color:var(--muted);margin:10px 0 0;font-size:13.5px;line-height:1.55}.signin-preview{min-height:100%;color:var(--ink);background:#f5efe5;border-color:#b8996838;position:relative;overflow:hidden;box-shadow:0 24px 80px #18181b33}.signin-illustration{background:linear-gradient(180deg, #ffffffe6, #f6f4eff0), var(--surface-muted);position:absolute;inset:0}.signin-illustration:after{content:"";background:linear-gradient(90deg,#faf8f3fa 0%,#faf8f3c7 34%,#faf8f314 72%),linear-gradient(#18181b00 52%,#18181b80 100%);position:absolute;inset:0}.signin-illustration-image{object-fit:contain;object-position:center bottom}.signin-hero-copy{z-index:2;gap:10px;max-width:352px;display:grid;position:absolute;top:34px;left:34px}.signin-hero-copy span{color:var(--accent-deep);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600}.signin-hero-copy strong{color:var(--ink);letter-spacing:0;font-size:40px;font-weight:600;line-height:1.02}.signin-hero-copy p{max-width:320px;color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.55}.signin-preview-dashboard{z-index:3;border-radius:var(--radius-sm);color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#18181be0;border:1px solid #ffffff29;gap:12px;padding:14px;display:grid;position:absolute;bottom:24px;left:24px;right:24px;box-shadow:0 18px 44px #18181b47}.signin-preview-toolbar{border-radius:var(--radius-sm);background:#ffffff0f;border:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.signin-preview-toolbar strong{color:#fff;font-size:13px;font-weight:600}.signin-preview-window-controls{align-items:center;gap:5px;display:flex}.signin-preview-window-controls span{background:#ffffff47;border-radius:50%;width:8px;height:8px}.signin-preview-window-controls span:first-child{background:#ef8f7a}.signin-preview-window-controls span:nth-child(2){background:#e7c05e}.signin-preview-window-controls span:nth-child(3){background:#74b98a}.signin-preview-status{border-radius:var(--radius-xs);color:#c8f2d3;background:#74b98a24;border:1px solid #74b98a47;align-items:center;min-height:26px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.signin-preview-hero{border-radius:var(--radius-sm);background:linear-gradient(135deg,#b899684d,#ffffff0f),#ffffff12;border:1px solid #ffffff1f;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px;display:flex}.signin-preview-hero-copy{gap:5px;min-width:0;display:grid}.signin-preview-hero-copy span{color:#ffffffad;letter-spacing:.12em;font-size:11px;font-weight:600}.signin-preview-hero-copy strong{color:#fff;letter-spacing:0;font-size:28px;font-weight:600;line-height:1.05}.signin-preview-hero-copy p{color:#ffffffbd;margin:2px 0 0;font-size:13px}.signin-preview-date{border-radius:var(--radius-sm);background:#ffffff1a;border:1px solid #ffffff29;place-items:center;gap:4px;width:68px;min-width:68px;padding:12px;display:grid}.signin-preview-date svg{color:var(--accent)}.signin-preview-date span{color:#ffffffa8;letter-spacing:.12em;font-size:11px;font-weight:600}.signin-preview-date strong{color:#fff;font-size:24px;font-weight:600;line-height:1}.signin-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.signin-preview-metric{border-radius:var(--radius-sm);background:#ffffff13;border:1px solid #ffffff1f;align-content:start;gap:6px;min-height:84px;padding:12px;display:grid}.signin-preview-metric svg{color:var(--accent)}.signin-preview-metric span{color:#ffffffa3;font-size:12px;line-height:1.3}.signin-preview-metric strong{color:#fff;font-size:22px;font-weight:600;line-height:1.1}.signin-preview-lower{grid-template-columns:minmax(176px,.7fr) minmax(0,1fr);gap:8px;display:grid}.signin-preview-progress,.signin-preview-list{border-radius:var(--radius-sm);background:#ffffff13;border:1px solid #ffffff1f;align-content:start;display:grid;overflow:hidden}.signin-preview-progress{gap:14px;padding:13px}.signin-preview-progress-header{gap:5px;display:grid}.signin-preview-progress-header span{color:#ffffffa3;font-size:12px}.signin-preview-progress-header strong{color:#fff;font-size:20px;font-weight:600;line-height:1.05}.signin-preview-progress-bar{background:#ffffff1f;border-radius:999px;height:8px;overflow:hidden}.signin-preview-progress-bar span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), #74b98a);width:74%;height:100%;display:block}.signin-preview-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:11px 12px;display:grid}.signin-preview-row+.signin-preview-row{border-top:1px solid #ffffff1a}.signin-preview-row .dot{margin-top:7px}.signin-preview-row strong{color:#fff;font-size:13px;font-weight:600;display:block}.signin-preview-row p{color:#ffffff9e;margin:2px 0 0;font-size:12.5px;line-height:1.4}.signin-google-button,.signin-submit-row .btn{justify-content:center;width:100%}.signin-google-button{gap:10px;min-height:42px;padding:10px 14px}.signin-divider{color:var(--muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin:18px 0;font-size:12px;display:grid}.signin-divider span:first-child,.signin-divider span:last-child{background:var(--line);height:1px}.signin-submit-row{margin-top:4px}.signin-feedback{border:1px solid color-mix(in srgb, var(--line-strong) 80%, transparent);border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;display:grid}.signin-feedback.danger{border-color:color-mix(in srgb, var(--red) 26%, var(--surface));background:color-mix(in srgb, var(--red-soft) 70%, var(--surface));color:var(--red);box-shadow:0 10px 24px #b85a5a14}.signin-feedback-icon{background:color-mix(in srgb, var(--red) 10%, var(--surface));border-radius:999px;place-items:center;width:30px;height:30px;display:grid}.signin-feedback-copy strong{color:inherit;font-size:12.5px;font-weight:600;display:block}.signin-feedback-copy p{color:var(--ink-soft);margin:3px 0 0;font-size:12.5px;line-height:1.45}.app-notice{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;margin:0 0 16px;padding:13px 14px;display:grid}.app-notice.danger{border-color:color-mix(in srgb, var(--red) 28%, var(--line));background:color-mix(in srgb, var(--red-soft) 72%, var(--surface))}.app-notice-icon{background:color-mix(in srgb, var(--red) 10%, var(--surface));width:32px;height:32px;color:var(--red);border-radius:999px;place-items:center;display:grid}.app-notice-copy strong{color:var(--ink);font-size:14px;font-weight:650;display:block}.app-notice-copy p{color:var(--ink-soft);margin:3px 0 0;font-size:13px;line-height:1.45}.checklist-editor,.checklist-list{gap:10px;display:grid}.checklist-editor-row,.checklist-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.checklist-row{grid-template-columns:auto minmax(0,1fr)}.checklist-editor-row input[type=checkbox],.checklist-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink);margin:0}.checklist-text{color:var(--ink);font-size:13px}.checklist-text.done{color:var(--muted);text-decoration:line-through}.guest-group-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.guest-group-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--transition-fast), background var(--transition-fast);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-size:13.5px;font-weight:500;display:flex}.guest-group-card:hover{border-color:var(--line-strong);background:var(--surface-muted)}.guest-group-card span{color:var(--muted);white-space:nowrap;font-size:12.5px;font-weight:600}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow-x:auto}.table-actions{gap:6px;display:flex}table{border-collapse:collapse;width:100%;min-width:720px}th,td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px;font-size:13.5px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#fbfaf7;font-size:11.5px;font-weight:600}tr:last-child td{border-bottom:0}tbody tr{transition:background var(--transition-fast)}tbody tr:hover{background:var(--surface-muted)}.money{white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:0;font-weight:600}.timeline-item{grid-template-columns:170px minmax(0,1fr) max-content;align-items:center;gap:18px;display:grid}.timeline-time{white-space:nowrap;min-width:150px;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:0;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:inline-flex}.timeline-time svg{color:var(--accent)}.timeline-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.timeline-status{margin-top:12px}.budget-row{border-top:1px solid var(--line);grid-template-columns:minmax(130px,.8fr) minmax(0,1.4fr) auto;align-items:center;gap:14px;padding:14px 0;display:grid}.budget-row:first-child{border-top:0;padding-top:0}.budget-estimator-list{gap:12px;display:grid}.budget-estimator-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--transition-fast);grid-template-columns:minmax(150px,.75fr) minmax(180px,1fr) minmax(360px,1.4fr) auto;align-items:center;gap:18px;padding:14px 16px;display:grid}.budget-estimator-row:hover{border-color:var(--line-strong)}.budget-estimator-main p,.budget-estimator-values span,.budget-estimator-values strong{margin:0}.budget-estimator-main p{color:var(--ink);font-size:14px;font-weight:500}.budget-estimator-progress{min-width:0}.budget-estimator-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.budget-estimator-values>div{border-left:1px solid var(--line);gap:4px;padding-left:14px;display:grid}.budget-estimator-values .table-note{text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;font-weight:500}.budget-estimator-values strong{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}.budget-summary-list{gap:10px;display:grid}.budget-summary-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);transition:border-color var(--transition-fast);grid-template-columns:minmax(150px,.9fr) minmax(180px,1.2fr) minmax(170px,auto);align-items:center;gap:16px;padding:14px 16px;display:grid}.budget-summary-row:hover{border-color:var(--line-strong)}.budget-summary-row p,.budget-summary-amounts span{margin:0}.budget-summary-row p{font-size:14px;font-weight:500}.budget-summary-progress{min-width:0}.budget-summary-amounts{text-align:right;font-variant-numeric:tabular-nums;justify-items:end;gap:4px;display:grid}.budget-summary-amounts .table-note{font-size:11.5px}.over-budget{color:var(--red);font-weight:600}.vendor-item,.gift-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.gift-status{margin-top:12px}.detail-stack{gap:14px;display:grid}.detail-line{border-bottom:1px solid var(--line);justify-content:space-between;gap:14px;padding-bottom:12px;font-size:13.5px;display:flex}.detail-line:last-child{border-bottom:0;padding-bottom:0}.task-detail-modal{gap:18px;display:grid}.task-detail-top{gap:14px;display:grid}.task-detail-badges{flex-wrap:wrap;gap:8px;display:flex}.task-detail-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.task-detail-meta-card,.task-detail-section{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted)}.task-detail-meta-card{gap:4px;padding:14px 16px;display:grid}.task-detail-meta-card span,.task-detail-label,.task-detail-caption{color:var(--muted);font-size:12px}.task-detail-meta-card strong{color:var(--ink);font-size:13.5px;font-weight:600}.task-detail-section{padding:16px}.task-detail-section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.task-detail-label{margin:0;font-weight:600}.task-detail-caption{white-space:nowrap}.task-detail-copy{color:var(--ink);margin:0;font-size:13.5px;line-height:1.6}.task-detail-copy.is-empty{color:var(--muted)}.task-detail-checklist{gap:8px;display:grid}.task-detail-checklist-row{border-radius:var(--radius-sm);background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px 12px;display:grid}.task-detail-checklist-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--ink);margin:2px 0 0}.modal-backdrop{z-index:2000;animation:fadeIn .16s var(--ease);background:#18181b75;place-items:center;padding:28px;display:grid;position:fixed;inset:0;overflow:auto}.modal-card{z-index:2001;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:min(680px,100%);max-height:calc(100vh - 56px);box-shadow:var(--shadow-lg);animation:scaleIn .2s var(--ease);padding:24px;position:relative;overflow:auto}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:16px;display:flex}.modal-header h2{letter-spacing:0;margin:0 0 6px;font-size:20px;font-weight:600}.modal-header p{color:var(--muted);margin:0;font-size:13.5px}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:22px;padding-top:20px;display:flex}.alert-drawer-backdrop{z-index:2000;animation:fadeIn .16s var(--ease);background:#18181b52;justify-content:flex-end;display:flex;position:fixed;inset:0}.alert-drawer{border-left:1px solid var(--line);background:var(--surface);width:min(520px,100%);height:100%;box-shadow:var(--shadow-lg);animation:slideInRight .22s var(--ease);grid-template-rows:auto auto minmax(0,1fr);display:grid}.alert-drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 18px;display:flex}.alert-drawer-header h2{color:var(--ink);letter-spacing:0;margin:0 0 7px;font-size:22px;font-weight:650}.alert-tabs{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px 22px;display:grid}.alert-tabs button{border-radius:var(--radius-sm);min-height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}.alert-tabs button:hover{background:var(--surface-soft);color:var(--ink)}.alert-tabs button:focus{outline:none}.alert-tabs button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.alert-tabs button.active{border-color:var(--line);background:var(--surface-soft);color:var(--ink)}.alert-tabs span{background:var(--surface);min-width:22px;color:var(--ink-soft);border-radius:999px;padding:2px 7px;font-size:11.5px}.alert-drawer-body{align-content:start;gap:16px;min-height:0;padding:18px 22px 24px;display:grid;overflow:auto}.alert-task-group{gap:10px;display:grid}.alert-task-group-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.alert-task-group-header h3{color:var(--ink);margin:0;font-size:13.5px;font-weight:650}.alert-task-list{gap:8px;display:grid}.alert-task-row{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.alert-task-row.danger{border-color:color-mix(in srgb, var(--red) 28%, var(--line));background:color-mix(in srgb, var(--red-soft) 70%, var(--surface))}.alert-task-row.warn{border-color:color-mix(in srgb, var(--orange) 34%, var(--line));background:color-mix(in srgb, var(--orange-soft) 72%, var(--surface))}.alert-task-row.history{background:var(--surface)}.alert-task-heading{align-items:center;gap:8px;min-width:0;margin-bottom:7px;display:flex}.alert-task-title{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:650;line-height:1.3}.alert-task-meta,.alert-task-badges{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.alert-task-meta{color:var(--muted);font-size:12.5px;line-height:1.35}.alert-task-meta span:not(:last-child):after{content:"";background:var(--line-strong);vertical-align:middle;border-radius:999px;width:3px;height:3px;margin-left:7px;display:inline-block}.alert-task-badges{justify-content:flex-end}.alert-action-button{min-height:30px;color:var(--muted);padding:5px 10px;font-size:12.5px}.alert-action-button:hover{color:var(--ink)}.topbar-alert-button{position:relative}.alert-count-badge{background:var(--red);min-width:24px;height:24px;box-shadow:0 0 0 3px var(--red-soft);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.alert-empty{box-shadow:none;padding:22px}@media (max-width:640px){.alert-drawer-backdrop{padding-top:0}.alert-drawer{border-left:0;width:100%}.alert-drawer-header,.alert-tabs,.alert-drawer-body{padding-left:16px;padding-right:16px}.alert-task-row{grid-template-columns:1fr}.alert-task-badges{justify-content:flex-start}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.mobile-switcher{margin-bottom:18px;display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.print-page{min-height:100vh;color:var(--ink);background:#f6f3ee;padding:32px 20px 48px}.print-shell{gap:20px;max-width:980px;margin:0 auto;display:grid}.print-toolbar{justify-content:space-between;gap:12px;display:flex}.print-header{border:1px solid var(--line);box-shadow:var(--shadow-xs);background:#fff;border-radius:18px;padding:28px}.print-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:600}.print-header h1{margin:0;font-size:32px;line-height:1.1}.print-subtitle{color:var(--muted);margin:10px 0 0}.print-schedule{gap:14px;display:grid}.print-schedule-item,.print-empty{border:1px solid var(--line);box-shadow:var(--shadow-xs);background:#fff;border-radius:18px;grid-template-columns:132px minmax(0,1fr);align-items:start;gap:18px;padding:20px 22px;display:grid}.print-time{color:var(--ink);font-size:24px;font-weight:600}.print-content{gap:10px;display:grid}.print-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.print-title-row h2{margin:0;font-size:20px}.print-meta{color:var(--muted);gap:6px;display:grid}.brand h1,.page-title,.dashboard-overview-copy h2,.countdown-heading h2,.signin-modern-heading h1,.login-hero-copy h1,.login-auth-header h2,.modal-header h2,.print-header h1,.section-eyebrow,.panel-header h3,.stat-card h3,.dashboard-countdown-unit span,.countdown-unit span,.badge,.pill,.print-eyebrow{letter-spacing:0;font-weight:600}.brand-mark,.project-meta,.profile-menu-trigger,.profile-popover,.profile-popover-section,.nav-button,.card,.panel,.dashboard-overview,.dashboard-countdown-units,.dashboard-budget-panel .budget-estimator-list,.countdown-card,.countdown-unit,.control,.input,.select,.textarea,.inline-search,.segmented,.filter-popover,.filter-option,.vendor-item,.timeline-item,.gift-item,.kanban-column,.task-card,.kanban-empty,.kanban-filter-empty,.check-button,.task-detail-checklist-row,.modal-card,.print-header,.print-schedule-item,.print-empty,.signin-modern-card,.signin-feedback,.login-shell,.login-auth-panel,.login-feature-card,.admin-shell,.admin-main,.admin-nav-link,.table-wrapper,.empty-state,.no-project-card{border-radius:var(--radius-lg)}.card,.panel,.dashboard-overview,.countdown-card,.kanban-column,.task-card,.vendor-item,.timeline-item,.gift-item,.modal-card,.profile-popover,.filter-popover,.signin-modern-card,.login-auth-panel,.login-feature-card,.table-wrapper,.empty-state,.no-project-card{box-shadow:var(--shadow-sm);border-width:1.5px}.card:hover,.task-card:hover,.vendor-item:hover,.timeline-item:hover,.gift-item:hover,.profile-menu-trigger:hover,.admin-nav-link:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn,.detail-button,.segment,.filter-trigger,.profile-actions .btn,.profile-popover-actions .btn,.signin-submit-row .btn,.signin-google-button,.login-auth-panel .signin-submit-row .btn,.modal-actions .btn,.mobile-shell-header .btn,.topbar-actions>.btn,.toolbar>.btn,.panel-header .topbar-actions>.btn{letter-spacing:0;border-width:1.5px;border-radius:999px;min-height:42px;padding-inline:16px;font-weight:600}.btn.icon-only,.check-button{width:42px;min-width:42px;height:42px;padding:0}.input,.select,.textarea,.control,.inline-search{border-radius:var(--radius-md);letter-spacing:0;border-width:1.5px;min-height:44px;font-weight:400}.textarea{border-radius:var(--radius-lg)}.badge,.pill,.nav-count,.profile-role,.countdown-heading p{letter-spacing:0;border-radius:999px;font-weight:600}.sidebar{padding:30px 20px}.nav-button{letter-spacing:0;min-height:44px;padding:10px 14px;font-weight:600}.nav-button.active{box-shadow:var(--shadow-md)}.panel{padding:24px}.panel-header h2{letter-spacing:0;font-size:18px;font-weight:600}.stat-card{padding:22px 24px}.stat-value,.dashboard-metric-grid .stat-value,.dashboard-countdown-unit strong,.countdown-unit strong{letter-spacing:0;font-weight:700}.dashboard-overview,.countdown-card{border-radius:var(--radius-xl)}.dashboard-countdown-units,.dashboard-budget-panel .budget-estimator-list{border-radius:var(--radius-lg)}.kanban-board{gap:14px}.kanban-column{padding:14px}.kanban-column-header,.task-title,.vendor-title,.timeline-title{letter-spacing:0;font-weight:600}.modal-card{border-radius:var(--radius-xl);padding:28px}.profile-avatar,.profile-avatar-large,.brand-mark{border-radius:var(--radius-md)}.signin-modern-card,.login-shell{border-radius:var(--radius-2xl)}.signin-modern-card{border-radius:0}.signin-modern-heading h1,.login-hero-copy h1{letter-spacing:0}.signin-modern-form .input,.login-auth-panel .input{border-radius:var(--radius-md)}body{font-size:15px;font-weight:400}h1,h2,h3,h4,.page-title,.brand h1,.panel-header h2,.panel-header h3,.stat-card h3,.task-title,.vendor-title,.timeline-title{font-weight:600}.main{padding:34px 42px 52px}.sidebar{border-right-color:color-mix(in srgb, var(--line) 82%, transparent);background:color-mix(in srgb, var(--surface) 92%, var(--surface-soft))}.brand{margin-bottom:30px}.brand h1{font-size:15.5px}.brand p,.project-meta p,.profile-trigger-copy span,.muted{font-weight:400}.brand-mark,.profile-avatar,.profile-avatar-large{border-radius:var(--radius-sm)}.nav-list{gap:7px}.nav-button{border:1px solid #0000;border-radius:999px;min-height:46px;padding:10px 14px;font-size:13.5px;font-weight:600}.nav-button:hover{border-color:var(--line);background:var(--surface)}.nav-button.active{border-color:var(--ink)}.nav-button.active:hover{border-color:var(--ink);background:var(--ink);color:#fff}.nav-count{min-width:28px;padding:3px 9px;font-weight:600}.topbar{align-items:center;gap:18px;margin-bottom:24px}.section-eyebrow{letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:600}.page-title{font-size:clamp(28px,3vw,38px);line-height:1.02}.btn,.detail-button,.filter-trigger,.signin-modern-form .signin-google-button,.signin-modern-form .signin-submit-row .btn,.login-auth-panel .signin-submit-row .btn,.profile-actions .btn,.profile-popover-actions .btn,.modal-actions .btn{border-radius:999px;min-height:44px;padding-inline:18px;font-size:13.5px;font-weight:600}.btn.icon-only,.check-button{border-radius:999px}.btn.primary{box-shadow:0 10px 22px #18181b21}.btn.primary:hover{box-shadow:0 14px 30px #18181b29}.card,.panel,.dashboard-overview,.countdown-card,.kanban-column,.task-card,.vendor-item,.timeline-item,.gift-item,.modal-card,.profile-popover,.filter-popover,.signin-modern-card,.login-auth-panel,.login-feature-card,.table-wrapper,.empty-state,.no-project-card{border-color:color-mix(in srgb, var(--line-strong) 72%, var(--surface));background:color-mix(in srgb, var(--surface) 94%, var(--surface-soft));box-shadow:0 1px 0 #ffffffd1 inset, var(--shadow-xs)}.signin-modern-card{box-shadow:none;background:0 0;border-color:#0000}.card:hover,.task-card:hover,.vendor-item:hover,.timeline-item:hover,.gift-item:hover,.profile-menu-trigger:hover,.admin-nav-link:hover{border-color:var(--line-strong);box-shadow:0 1px 0 #ffffffdb inset, var(--shadow-sm)}.panel,.stat-card,.dashboard-overview,.countdown-card{padding:24px}.panel-header{margin-bottom:18px}.panel-header h2{font-size:19px;line-height:1.12}.panel-header h3,.stat-card h3{letter-spacing:.08em;font-size:11.5px}.stat-value,.dashboard-metric-grid .stat-value{font-size:clamp(28px,3.2vw,38px);font-weight:700;line-height:.98}.stat-top svg,.panel-header svg{box-sizing:content-box;border-radius:var(--radius-sm);background:var(--surface-soft);width:17px;height:17px;color:var(--muted);padding:9px}.input,.select,.textarea,.control,.inline-search{border-color:color-mix(in srgb, var(--line-strong) 78%, var(--surface));background:var(--surface);min-height:46px;font-size:14px;font-weight:400}.field label,.field-label-row label{font-size:12px;font-weight:600}.badge,.pill,.profile-role,.countdown-heading p{align-items:center;min-height:24px;padding-inline:10px;font-size:11.5px;font-weight:600}.dashboard-grid,.grid{gap:16px}.dashboard-overview{grid-template-columns:minmax(260px,.74fr) minmax(360px,1.26fr)}.dashboard-overview-copy h2,.countdown-heading h2{font-size:clamp(25px,2.8vw,34px);font-weight:600;line-height:1.04}.dashboard-countdown-units,.dashboard-budget-panel .budget-estimator-list{background:var(--surface)}.dashboard-countdown-unit strong,.countdown-unit strong{font-size:clamp(30px,3.3vw,42px);font-weight:700}.dashboard-countdown-unit span,.countdown-unit span{letter-spacing:.08em;font-weight:600}.countdown-card{background:linear-gradient(180deg, var(--surface) 0%, var(--surface-muted) 100%);box-shadow:var(--shadow-sm)}.countdown-card:before{width:0}.kanban-column,.task-card{border-radius:var(--radius-xl)}.task-card{padding:16px}.task-meta,.stat-trend,.dashboard-overview-copy span,.signin-modern-heading p,.signin-modern-brand p{font-weight:500}.signin-modern-page{background:var(--bg)}.signin-modern-card{width:min(1160px,100%);min-height:calc(100vh - 142px);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(390px,470px) minmax(0,1fr)}.signin-modern-form{gap:22px;width:min(100%,450px);padding:0}.signin-modern-brand h1{font-size:15.5px;font-weight:600}.signin-modern-heading span{letter-spacing:.08em}.signin-modern-heading h1{text-wrap:balance;max-width:460px;font-size:clamp(36px,3.5vw,46px);font-weight:600;line-height:1.02}.signin-modern-form .input{border-radius:999px;min-height:48px;padding-inline:16px}.signin-modern-form .signin-submit-row .btn{min-height:48px}.signin-modern-art{padding:clamp(24px,4vw,42px)}.signin-modern-art-copy{top:clamp(24px,4vw,42px);right:clamp(24px,4vw,42px)}.signin-modern-image{max-width:620px;max-height:min(500px,100vh - 132px)}@media print{@page{size:A4;margin:14mm}.sidebar,.topbar,.toolbar,.btn,.mobile-switcher,.print-toolbar{display:none!important}.app-shell{display:block}.main{padding:0}.card{box-shadow:none;border-color:#e5e5e5}body{background:#fff}.print-page{background:#fff;padding:0}.print-shell{gap:14px;max-width:none}.print-header,.print-schedule-item,.print-empty{box-shadow:none;break-inside:avoid;page-break-inside:avoid;border-radius:0}.print-header{border:0;border-bottom:1px solid #d8d4cd;padding:0 0 18px}.print-schedule-item,.print-empty{border:0;border-bottom:1px solid #ece7df;padding:14px 0}}@media (max-width:1240px){.main{padding:28px 28px 40px}}@media (max-width:1120px){.signin-modern-card{grid-template-columns:1fr}.signin-modern-art{order:-1;min-height:390px;padding:26px}.signin-modern-image{max-height:350px}.signin-modern-form{padding:30px 28px}.login-dashboard-page{grid-template-columns:1fr}.login-dashboard-visual{order:-1;min-height:460px;padding:76px 24px 24px}.login-auth-area{min-height:auto;padding:28px 24px 34px}.login-auth-panel{width:min(520px,100%)}.dashboard-metric-grid,.stats-grid,.three-col,.budget-stat-row-primary,.budget-stat-row-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-content-grid,.two-col{grid-template-columns:1fr}}@media (max-width:820px){.signin-modern-page{padding:12px}.signin-modern-card{min-height:auto}.signin-modern-art{min-height:300px;padding:18px 14px}.signin-modern-art:before{display:none}.signin-modern-art-copy{top:18px;left:18px;right:18px}.signin-modern-image{max-height:270px;padding-top:42px}.signin-modern-form{gap:20px;padding:24px 18px}.signin-modern-heading h1{font-size:27px}.login-dashboard-page:before{inset:10px}.login-dashboard-visual{min-height:390px;padding:70px 12px 12px}.login-dashboard-image{width:100%;max-height:360px;padding:0}.login-dashboard-copy{max-width:none;padding:11px 12px;top:22px;left:22px;right:22px}.login-dashboard-summary{width:auto;bottom:18px;left:22px;right:22px}.login-auth-area{padding:0 14px 24px}.login-auth-panel{padding:22px 18px}.login-auth-copy h2{font-size:27px}.signin-shell{background:linear-gradient(180deg, #18181b 0 156px, var(--bg) 156px);align-items:start;padding:22px 14px}.signin-layout{grid-template-columns:1fr;width:min(440px,100%)}.signin-preview{order:-1;min-height:330px}.signin-panel{min-height:0}.signin-hero-copy{max-width:260px;top:22px;left:22px}.signin-hero-copy strong{font-size:27px;line-height:1.08}.signin-hero-copy p{font-size:12.5px}.signin-preview-dashboard{bottom:14px;left:14px;right:14px}.signin-preview-lower{display:none}.dashboard-overview{grid-template-columns:1fr;gap:16px;padding:20px 18px}.dashboard-overview-copy h2{font-size:20px}.dashboard-countdown-unit strong{font-size:24px}.countdown-card{text-align:center;grid-template-columns:1fr;gap:18px;padding:22px 18px}.countdown-card:before{width:auto;height:5px;inset:0 0 auto}.countdown-heading h2{justify-content:center}.countdown-units{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.countdown-unit strong{font-size:24px}.countdown-heading h2{font-size:18px}.print-schedule-item,.print-empty{grid-template-columns:1fr}.print-title-row{flex-direction:column;align-items:flex-start}.app-shell,.app-shell.sidebar-collapsed,.app-shell.sidebar-expanded{grid-template-columns:1fr}.sidebar{top:auto;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));z-index:80;width:min(520px,100vw - 24px);height:auto;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border:1px solid #d6d3ced1;border-radius:999px;flex-direction:row;justify-content:space-between;align-items:center;gap:8px;margin:0 auto;padding:8px;position:fixed;overflow:hidden}.brand{display:none}.nav-list{gap:6px;align-content:unset;overscroll-behavior-x:contain;scrollbar-width:none;flex:auto;width:auto;min-width:0;display:flex;overflow-x:auto}.nav-list::-webkit-scrollbar{display:none}.nav-button{text-align:center;border-radius:999px;flex:0 0 44px;justify-content:center;gap:0;width:44px;min-width:44px;height:44px;padding:0;position:relative}.nav-button>span{justify-content:center;gap:0}.nav-button svg{width:19px;height:19px}.nav-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.nav-count{border:2px solid #fffffff0;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:12px;position:absolute;top:2px;right:1px}.project-meta,.mobile-switcher,.sidebar-profile{display:none}.mobile-shell-header{z-index:120;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex;position:relative}.mobile-shell-brand{align-items:center;gap:10px;min-width:0;display:flex}.mobile-shell-copy{min-width:0}.mobile-shell-copy strong{color:var(--ink);font-size:14px;font-weight:600;line-height:1.2;display:block}.mobile-shell-copy span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;line-height:1.25;display:block;overflow:hidden}.mobile-shell-actions{flex:none;align-items:center;gap:6px;display:flex}.topbar-alert-button{display:none}.mobile-alert-button{box-shadow:none;color:var(--ink);background:0 0;border:0;display:inline-flex;position:relative}.mobile-alert-button:hover{background:color-mix(in srgb, var(--ink) 5%, transparent);box-shadow:none}.mobile-alert-button .nav-count{border:2px solid color-mix(in srgb, var(--surface) 92%, transparent);min-width:17px;height:17px;padding:0 4px;font-size:10px;line-height:13px;position:absolute;top:-2px;right:-2px}.mobile-alert-button .alert-count-badge{border:2px solid color-mix(in srgb, var(--surface) 92%, transparent);min-width:17px;height:17px;padding:0 4px;font-size:10px;line-height:13px;position:absolute;top:-3px;right:-3px}.mobile-shell-actions .profile-popover{inset:calc(100% + 8px) 0 auto auto}.mobile-shell-actions .profile-menu-trigger{width:42px;min-height:42px;box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;padding:0}.mobile-shell-actions .profile-trigger-copy,.mobile-shell-actions .profile-trigger-chevron{display:none}.mobile-shell-header .brand-mark,.mobile-shell-header .sidebar-logo-button,.mobile-shell-header .profile-avatar,.mobile-shell-header .btn{width:42px;height:42px;min-height:42px}.mobile-shell-header .btn{padding:0}.mobile-shell-header .profile-popover-actions .btn{grid-template-columns:18px minmax(0,1fr);justify-content:flex-start;width:100%;height:auto;min-height:42px;padding:9px 14px}.main{padding:18px 14px 104px}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.topbar-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.topbar-actions>.inline-search,.panel-header .inline-search{flex:220px;min-width:min(100%,220px)}.topbar-actions>.btn,.panel-header .topbar-actions>.btn,.toolbar>.btn{flex:none}.todo-header-actions{grid-template-columns:minmax(0,1fr) auto;width:100%}.inline-search{width:100%}.todo-board-panel{height:auto;min-height:calc(100vh - 130px);overflow:visible}.filter-popover{max-width:calc(100vw - 28px);left:0;right:auto}.stats-grid,.budget-stat-row-primary,.budget-stat-row-secondary,.three-col,.kanban-board,.form-grid,.vendor-item,.timeline-item,.budget-row,.budget-estimator-row,.budget-summary-row,.budget-estimator-values{grid-template-columns:1fr}.budget-estimator-values>div{border-left:0;border-top:1px solid var(--line);padding-top:10px;padding-left:0}.budget-summary-amounts{text-align:left;justify-items:start}.modal-backdrop{align-items:end;padding:12px}.modal-card{width:min(100%,680px);max-height:calc(100vh - 24px);padding:22px}.task-detail-meta-grid{grid-template-columns:1fr}.page-title{font-size:22px}.table-wrap{background:0 0;border:0;border-radius:0;max-width:100%;overflow:visible}.table-wrap table{min-width:0;display:block}.table-wrap thead{display:none}.table-wrap tbody{gap:12px;display:grid}.table-wrap tr{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-xs);display:grid;overflow:hidden}.table-wrap tbody tr:hover{background:var(--surface)}.table-wrap td{border-bottom:1px solid var(--line);overflow-wrap:anywhere;grid-template-columns:minmax(120px,.48fr) minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:12px 14px;font-size:13px;display:grid}.table-wrap td:last-child{border-bottom:0}.table-wrap td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:0;white-space:nowrap;overflow-wrap:normal;word-break:normal;font-size:11.5px;font-weight:650}.table-wrap td[colspan]{text-align:center;display:block}.table-wrap td[colspan]:before{display:none}.table-wrap .money{white-space:normal}.table-wrap .table-actions{justify-content:flex-end}.panel{padding:16px}.panel-header{flex-direction:column;align-items:stretch;gap:12px}.panel-header .topbar-actions{width:100%}}@media (max-width:560px){body{font-size:14px}.dashboard-metric-grid{grid-template-columns:1fr}.dashboard-countdown-units{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-countdown-unit:nth-child(3){border-left:0}.dashboard-countdown-unit:nth-child(n+3){border-top:1px solid var(--line)}.dashboard-budget-panel .budget-estimator-row{grid-template-columns:1fr;gap:10px}.dashboard-budget-panel .budget-estimator-values{grid-template-columns:1fr}.sidebar{gap:8px;padding:9px 10px}.brand-mark,.sidebar-logo-button,.profile-avatar,.profile-actions .btn{width:36px;height:36px;min-height:36px}.profile-actions .btn{flex-basis:36px}.mobile-switcher{min-height:36px;padding-inline:10px;font-size:13px}.main{padding:16px 12px 104px}.signin-shell{align-items:start;padding:18px 12px}.signin-panel{min-height:0;padding:24px 18px}.signin-preview{min-height:300px}.signin-preview-dashboard{display:none}.mobile-shell-copy strong{font-size:13.5px}.mobile-shell-copy span{font-size:11.5px}.grid{gap:14px}.topbar{margin-bottom:20px}.page-title{font-size:21px}.section-eyebrow{margin-bottom:6px}.countdown-units{grid-template-columns:repeat(2,minmax(0,1fr))}.countdown-unit{padding:14px 10px}.countdown-unit strong{font-size:26px}.topbar-actions,.toolbar,.panel-header .topbar-actions{grid-template-columns:1fr 1fr;align-items:stretch;gap:8px;display:grid}.topbar-actions>.inline-search,.toolbar>.inline-search,.panel-header .inline-search{grid-column:1/-1;min-width:0}.topbar-actions>.btn,.toolbar>.btn,.panel-header .topbar-actions>.btn,.filter-menu,.filter-trigger{width:100%}.admin-users-toolbar{grid-template-columns:1fr}.admin-users-search{width:100%;min-width:0}.admin-projects-toolbar{grid-template-columns:1fr 1fr}.admin-project-add{width:100%}.btn{min-width:0;padding-inline:10px}.todo-header-actions{grid-template-columns:1fr 1fr}.todo-header-actions .inline-search{grid-column:1/-1}.todo-header-actions .btn,.todo-header-actions .filter-menu{width:100%}.kanban-board{gap:12px;padding-inline:0;overflow-y:visible}.kanban-column{min-width:0;padding:12px}.task-card{padding:12px}.task-card-header,.task-card-actions,.timeline-actions,.table-actions{flex-wrap:wrap}.timeline-actions .btn,.table-actions .btn{flex:36px}.stat-card{padding:17px 18px}.stat-value{font-size:26px}.timeline-time{min-width:0}.modal-backdrop{padding:10px}.modal-card{border-radius:var(--radius-lg);padding:18px}.modal-header{gap:12px;margin-bottom:18px;padding-bottom:14px}.modal-header h2{font-size:19px}.modal-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modal-actions .btn{width:100%}.guest-group-list{grid-template-columns:1fr}.guest-group-card{flex-direction:column;align-items:flex-start;gap:8px}}@media (max-width:390px){.sidebar{gap:6px;padding-inline:8px}.brand-mark,.sidebar-logo-button,.profile-avatar,.profile-actions .btn{width:34px;height:34px;min-height:34px}.profile-actions .btn{flex-basis:34px}.mobile-switcher{min-height:34px;padding-inline:8px;font-size:12.5px}.main{padding-inline:10px}.mobile-shell-header{gap:10px}.mobile-shell-header .brand-mark,.mobile-shell-header .sidebar-logo-button,.mobile-shell-header .profile-avatar,.mobile-shell-header .btn{width:38px;height:38px;min-height:38px}.mobile-shell-copy strong{font-size:13px}.topbar-actions,.toolbar,.panel-header .topbar-actions,.todo-header-actions{grid-template-columns:1fr}.todo-header-actions .inline-search,.topbar-actions>.inline-search,.toolbar>.inline-search,.panel-header .inline-search{grid-column:auto}.modal-actions{grid-template-columns:1fr}}@media (max-width:820px){.signin-modern-card{border-radius:0}.signin-modern-heading h1{max-width:11ch;font-size:clamp(32px,10vw,40px);line-height:.98}.signin-modern-form .input,.signin-modern-form .signin-submit-row .btn{min-height:46px}}@media (max-width:390px){.signin-modern-heading h1{font-size:31px}}@media (min-width:821px){.main{grid-column:2}.sidebar{width:268px;height:100dvh;position:fixed;inset:0 auto 0 0}.app-shell.sidebar-collapsed{grid-template-columns:72px minmax(0,1fr)}.app-shell.sidebar-expanded{grid-template-columns:268px minmax(0,1fr)}.app-shell.sidebar-collapsed .sidebar{width:72px;padding:28px 14px;overflow:visible}.app-shell.sidebar-expanded .sidebar{width:268px;padding:28px 18px;overflow:visible}.brand-text,.project-meta,.nav-label,.nav-count,.profile-details{transition:max-width .22s var(--ease), opacity .16s var(--ease);white-space:nowrap;overflow:hidden}.app-shell.sidebar-collapsed .nav-label,.app-shell.sidebar-collapsed .nav-count{opacity:0;pointer-events:none;max-width:0}.app-shell.sidebar-expanded .nav-label{opacity:1;max-width:150px}.app-shell.sidebar-expanded .nav-count{opacity:1;max-width:70px}.app-shell.sidebar-collapsed .brand{justify-content:center;gap:0;width:100%;padding:0}.app-shell.sidebar-collapsed .brand-text,.app-shell.sidebar-collapsed .project-meta,.app-shell.sidebar-collapsed .profile-details,.app-shell.sidebar-collapsed .profile-actions{opacity:0;pointer-events:none}.app-shell.sidebar-collapsed .brand-text{width:0;min-width:0;max-width:0;overflow:hidden}.app-shell.sidebar-collapsed .profile-actions{height:0;margin:0;overflow:hidden}.app-shell.sidebar-expanded .brand-text,.app-shell.sidebar-expanded .project-meta,.app-shell.sidebar-expanded .profile-details,.app-shell.sidebar-expanded .profile-actions{opacity:1;max-width:180px;transition:opacity .2s .12s var(--ease)}.app-shell.sidebar-collapsed .nav-button{justify-content:center;gap:0;padding:9px 0}.app-shell.sidebar-collapsed .nav-button>span{justify-content:center;gap:0;width:100%}.app-shell.sidebar-collapsed .nav-count{width:0;min-width:0;padding-inline:0;overflow:hidden}.app-shell.sidebar-collapsed .sidebar-profile{box-shadow:none;background:0 0;border:0;justify-items:center;width:100%;padding:0;overflow:visible}.app-shell.sidebar-collapsed .profile-menu-trigger{width:100%;min-height:36px;box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;gap:0;padding:0}.app-shell.sidebar-collapsed .profile-trigger-copy,.app-shell.sidebar-collapsed .profile-trigger-chevron{opacity:0;pointer-events:none;flex-basis:0;width:0;max-width:0;overflow:hidden}.app-shell.sidebar-expanded .profile-trigger-copy{opacity:1;max-width:150px}.app-shell.sidebar-expanded .profile-trigger-chevron{opacity:1;width:16px}.app-shell.sidebar-collapsed .profile-popover{bottom:0;left:calc(100% + 16px)}.app-shell.sidebar-collapsed .profile-main{justify-content:center;gap:0;width:100%}.app-shell.sidebar-collapsed .brand-mark,.app-shell.sidebar-collapsed .profile-avatar,.app-shell.sidebar-collapsed .brand-mark{margin-inline:auto}}@media (max-width:820px){html{scroll-padding-top:calc(70px + env(safe-area-inset-top))}.signin-modern-page{min-height:100dvh;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));align-items:start}.signin-modern-nav{gap:12px;min-height:42px}.signin-modern-nav-brand{gap:10px;min-width:0}.signin-modern-nav-brand strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.signin-language-switch{flex:none}.signin-language-switch button{min-width:38px;min-height:32px;padding-inline:10px}.signin-modern-card{justify-self:center;gap:10px;width:min(460px,100%)}.signin-modern-art{min-height:214px;padding:8px 0 0}.signin-modern-art-copy{gap:3px;top:8px;left:0;right:0}.signin-modern-art-copy span{font-size:10.5px;line-height:1.2}.signin-modern-art-copy strong{font-size:13px;line-height:1.25}.signin-modern-image{width:min(270px,80vw);max-height:206px;padding-top:38px}.signin-modern-form{gap:16px;width:100%;padding:8px 16px 0}.signin-modern-heading{gap:9px}.signin-modern-heading h1{max-width:14ch;font-size:clamp(29px,8.4vw,36px);line-height:1.01}.signin-modern-heading p{max-width:32ch;font-size:13px;line-height:1.45}.input,.select,.textarea,.control,.inline-search{font-size:16px}.app-shell,.main,.card,.panel,.modal-card{min-width:0}.main{padding:max(14px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) calc(112px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.mobile-shell-header{border:1px solid color-mix(in srgb, var(--line) 78%, transparent);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:var(--shadow-xs);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;margin:-2px -4px 16px;padding:6px;position:sticky;top:0}.mobile-shell-copy{overflow:hidden}.sidebar{right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));left:max(10px, env(safe-area-inset-left));width:min(540px, calc(100vw - 20px - env(safe-area-inset-left) - env(safe-area-inset-right)));max-width:none;padding:7px}.nav-list{padding-inline:10px;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 16px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 16px),#0000 100%)}.nav-button{min-width:44px;transition:flex-basis .18s var(--ease), min-width .18s var(--ease), padding .18s var(--ease), background var(--transition-fast), color var(--transition-fast)}.nav-button.active{flex-basis:min(132px,38vw);justify-content:flex-start;width:auto;min-width:min(132px,38vw);padding-inline:14px}.nav-button.active>span{justify-content:flex-start;gap:8px}.nav-button.active .nav-label{clip:auto;text-overflow:ellipsis;white-space:nowrap;border:0;width:auto;height:auto;margin:0;font-size:12.5px;line-height:1;position:static;overflow:hidden}.nav-button.active .nav-count{top:-2px;right:-3px}.dashboard-overview,.countdown-card,.panel,.stat-card{border-radius:var(--radius-lg)}.dashboard-overview,.countdown-card,.panel{padding:16px}.dashboard-overview-copy h2,.countdown-heading h2{font-size:clamp(20px,6vw,24px);line-height:1.08}.dashboard-countdown-unit{padding:13px 8px}.dashboard-countdown-unit strong,.countdown-unit strong{font-size:clamp(22px,7vw,28px)}.stat-value,.dashboard-metric-grid .stat-value{white-space:normal;overflow-wrap:anywhere;font-size:clamp(24px,7.2vw,30px);line-height:1.04}.status-row,.quick-row,.detail-line{flex-wrap:wrap;align-items:flex-start}.modal-backdrop{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));align-items:end}.modal-card{border-bottom-right-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-lg);width:100%;max-height:min(86dvh,100dvh - 20px);padding:18px}.modal-header{z-index:1;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:-18px -18px 16px;padding:18px 18px 14px;position:sticky;top:-18px}.todo-header-actions,.topbar-actions,.toolbar,.panel-header .topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;align-items:stretch;gap:8px;width:100%;display:grid}.todo-header-actions .inline-search,.topbar-actions>.inline-search,.toolbar>.inline-search,.panel-header .inline-search{grid-column:1/-1;min-width:0}.todo-header-actions>.btn,.todo-header-actions>.filter-menu,.topbar-actions>.btn,.topbar-actions>.filter-menu,.toolbar>.btn,.toolbar>.filter-menu,.panel-header .topbar-actions>.btn,.panel-header .topbar-actions>.filter-menu{width:100%;min-width:0}.todo-header-actions .btn,.topbar-actions .btn,.toolbar .btn,.panel-header .topbar-actions .btn,.filter-trigger{justify-content:center;min-height:40px;padding-inline:10px;font-size:13px}.todo-header-actions .btn svg,.topbar-actions .btn svg,.toolbar .btn svg,.panel-header .topbar-actions .btn svg,.filter-trigger svg{box-sizing:border-box;background:0 0;border-radius:0;width:16px;height:16px;padding:0}.todo-header-actions .filter-trigger .nav-count,.topbar-actions .filter-trigger .nav-count,.toolbar .filter-trigger .nav-count,.panel-header .filter-trigger .nav-count{text-overflow:ellipsis;white-space:nowrap;max-width:72px;overflow:hidden}.topbar-actions>:only-child,.toolbar>:only-child,.panel-header .topbar-actions>:only-child{grid-column:1/-1}.todo-header-actions:has(>.inline-search:first-child:nth-last-child(2))>:not(.inline-search){grid-column:1/-1}.guest-actions .guest-add-button{grid-column:1/-1}}@media (max-width:560px){.signin-modern-page{padding-inline:12px}.signin-modern-art{min-height:190px}.signin-modern-image{width:min(240px,76vw);max-height:184px}.signin-modern-form{padding-inline:10px}.signin-modern-heading h1{max-width:13ch;font-size:clamp(28px,8.8vw,33px)}.mobile-shell-header{gap:8px}.topbar{margin-bottom:16px}.topbar-actions,.toolbar,.panel-header .topbar-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-actions>.btn,.toolbar>.btn,.panel-header .topbar-actions>.btn,.filter-trigger{justify-content:center;min-width:0;padding-inline:10px}.btn{min-width:0}.btn svg{flex:none}.table-wrap tbody{gap:10px}.table-wrap tr{border-radius:var(--radius-md)}.table-wrap td{grid-template-columns:minmax(94px,.38fr) minmax(0,1fr);gap:9px;padding:11px 12px;font-size:13px}.table-wrap td:before{white-space:normal;min-width:0;font-size:10.5px}.table-wrap .table-actions{justify-content:stretch}.table-wrap .table-actions .btn{flex:38px}.vendor-item,.timeline-item,.gift-item,.budget-row,.budget-estimator-row,.budget-summary-row,.project-access-row{gap:12px;padding:13px 14px}.timeline-actions,.table-actions,.project-access-actions{width:100%}.timeline-actions .btn,.table-actions .btn,.project-access-actions .btn{flex:40px}.modal-actions{background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin:18px -18px -18px;padding:12px 18px 18px;position:sticky;bottom:-18px}}@media (max-width:390px){.signin-modern-nav-brand strong{font-size:14px}.signin-modern-art{min-height:174px}.signin-modern-image{width:min(218px,74vw);max-height:168px;padding-top:34px}.signin-modern-heading h1{max-width:12ch;font-size:29px}.signin-modern-heading p{font-size:12.5px}.sidebar{padding:6px}.nav-list{gap:5px;padding-inline:8px}.nav-button{flex-basis:40px;width:40px;min-width:40px;height:40px}.nav-button.active{flex-basis:min(118px,40vw);min-width:min(118px,40vw);padding-inline:12px}.nav-button.active .nav-label{font-size:12px}.table-wrap td{grid-template-columns:minmax(82px,.34fr) minmax(0,1fr);gap:8px;padding:10px}.modal-card{padding:16px}.modal-header{margin:-16px -16px 14px;padding:16px 16px 12px;top:-16px}.modal-actions{margin:16px -16px -16px;padding:12px 16px 16px;bottom:-16px}}.tool-page{background:var(--bg);min-height:100dvh;color:var(--ink)}.tool-shell{flex-direction:column;gap:22px;width:100%;max-width:880px;margin:0 auto;padding:20px 18px 64px;display:flex}.tool-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:6px;display:flex}.tool-header-lead{align-items:flex-start;gap:12px;min-width:0;display:flex}.tool-header-copy{min-width:0}.tool-header-copy h1{letter-spacing:-.01em;word-break:break-word;margin:2px 0 0;font-size:24px;font-weight:600}.tool-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent-deep);align-items:center;gap:6px;margin:0;font-size:12px;font-weight:600;display:inline-flex}.tool-subtitle{color:var(--muted);margin:6px 0 0;font-size:13.5px}.tool-back{flex:none;margin-top:2px}.tool-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.tool-card{align-items:flex-start;gap:16px;padding:22px;display:flex}.tool-card-icon{border-radius:var(--radius-sm);background:var(--accent-soft);width:46px;height:46px;color:var(--accent-deep);flex:none;justify-content:center;align-items:center;display:inline-flex}.tool-card-body{flex-direction:column;gap:8px;min-width:0;display:flex}.tool-card-body h2{margin:0;font-size:17px;font-weight:600}.tool-card-body .btn{align-self:flex-start;margin-top:4px}.tool-card-empty{color:var(--muted);margin:0;font-size:13px}.tool-empty{text-align:center;padding:28px 22px}.tool-empty h2{margin:0 0 8px;font-size:18px}.tool-event-list{flex-direction:column;gap:12px;display:flex}.tool-event-card{color:inherit;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;text-decoration:none;display:flex}.tool-event-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tool-event-main{flex-direction:column;gap:8px;min-width:0;display:flex}.tool-event-main h2{margin:0;font-size:17px;font-weight:600}.tool-event-meta{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.tool-event-meta span{align-items:center;gap:6px;display:inline-flex}.tool-event-tags{gap:8px;display:flex}.tool-event-chevron{color:var(--muted-soft);flex:none}.tool-stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.guest-book{flex-direction:column;gap:18px;display:flex}.guest-book-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.guest-book-search{flex:260px;align-items:center;display:flex;position:relative}.guest-book-search>svg:first-child{color:var(--muted-soft);pointer-events:none;position:absolute;left:13px}.guest-book-search .input{width:100%;height:46px;padding-left:40px;padding-right:38px}.guest-book-station{flex-direction:column;flex:0 180px;gap:4px;display:flex}.guest-book-station label{color:var(--muted);font-size:12px;font-weight:600}.guest-book-station .input{height:46px}.guest-book-spinner{color:var(--muted);animation:.8s linear infinite signin-spin}.guest-book-search .guest-book-spinner{position:absolute;right:12px}.guest-book-error{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--red) 12%, var(--surface));border:1px solid color-mix(in srgb, var(--red) 30%, var(--line));color:var(--red);margin:0;padding:10px 14px;font-size:13px}.guest-book-list{flex-direction:column;gap:10px;display:flex}.guest-book-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.guest-book-row.is-checked-in{border-color:color-mix(in srgb, var(--green) 36%, var(--line));background:linear-gradient(180deg, #5b8a6a14, #5b8a6a05), var(--surface)}.guest-book-row-main{flex-direction:column;gap:6px;min-width:0;display:flex}.guest-book-row-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.guest-book-row-head h3{word-break:break-word;margin:0;font-size:16px;font-weight:600}.guest-book-row-meta{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.guest-book-badge-in{border-color:color-mix(in srgb, var(--green) 40%, var(--line));background:color-mix(in srgb, var(--green) 16%, var(--surface));color:var(--green);align-items:center;gap:4px;display:inline-flex}.guest-book-row-actions{flex:none}.guest-book-row-actions .btn{min-width:116px;min-height:44px}.tool-stat-groups h2{margin:0 0 16px;font-size:17px;font-weight:600}.tool-stat-group-list{flex-direction:column;gap:16px;display:flex}.tool-stat-group{flex-direction:column;gap:8px;display:flex}.tool-stat-group-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px;display:flex}.tool-stat-bar{background:var(--surface-soft);border-radius:999px;height:8px;position:relative;overflow:hidden}.tool-stat-bar>span{background:var(--green);height:100%;transition:width var(--transition-fast);border-radius:999px;display:block}@media (max-width:540px){.tool-header-actions{width:100%}.guest-book-row{flex-direction:column;align-items:stretch}.guest-book-row-actions .btn{width:100%}}
