:root{--color-ink:#173b32;--color-muted:#536d62;--color-primary:#17654f;--color-primary-strong:#104d3d;--color-focus:#096a51;--color-surface:#fff;--color-canvas:#f2f7f3;--color-soft:#e5f1e9;--color-subtle:#f7faf8;--color-border:#759487;--color-border-soft:#ccdcd2;--color-intensity-1:#eef7f0;--color-intensity-2:#d8eadf;--color-intensity-3:#b1d3c0;--color-intensity-4:#87b89c;--color-heatmap-none:#f8f2f0;--color-heatmap-low:#f7d6cf;--color-heatmap-medium:#e6a096;--color-heatmap-high:#983f3f;--color-project-finished-surface:#eff9f4;--color-project-paused-surface:#fff8e8;--color-project-abandoned-surface:#fff2f0;--shadow-rgb:23 59 50;--workspace-width:100rem;--page-gutter:clamp(1rem, 2.5vw, 3rem);color:var(--color-ink);background:var(--color-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.sr-only{clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}body{background:linear-gradient(180deg, var(--color-subtle), var(--color-canvas));min-width:320px;min-height:100vh;margin:0}button,a{font:inherit}a{color:var(--color-primary-strong);text-underline-offset:.2em;font-weight:700}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}input,select{font:inherit}.shell,.route-shell{width:min(72rem,100% - 2rem);margin:0 auto;padding:clamp(2rem,6vw,5rem) 0}.route-shell--centered{place-content:center;min-height:100vh;display:grid}.brand{width:fit-content;color:var(--color-ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.brand img{box-shadow:0 .5rem 1.5rem rgb(var(--shadow-rgb) / 16%);border-radius:.65rem}.route-panel{border:1px solid var(--color-border-soft);background:var(--color-surface);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / 8%);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);border-radius:1.5rem;padding:clamp(1.5rem,5vw,3.5rem)}.route-shell--centered .route-panel{margin-top:2rem}.language-switcher{gap:.35rem;min-width:7rem;display:grid}.language-switcher label{font-size:.78rem;font-weight:800}.language-switcher select{border:1px solid var(--color-border);min-height:2.75rem;color:var(--color-ink);background:var(--color-surface);border-radius:.7rem;padding:.55rem 2rem .55rem .7rem}.language-switcher--public{justify-self:end;margin-top:1rem}.route-panel--narrow{width:min(38rem,100vw - 2rem)}.admin-shell{gap:1.5rem;display:grid}.admin-shell__header,.admin-shell__context{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-shell__context .eyebrow{margin:0}.admin-shell__navigation{flex-wrap:wrap;gap:1rem;display:flex}.admin-licenses__issuer{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:1rem;margin-top:2rem;display:grid}.admin-licenses__issuer input,.admin-licenses__issuer select{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.7rem;width:100%;min-height:2.75rem;padding:.65rem .8rem}.admin-licenses__code{overflow-wrap:anywhere;background:var(--color-soft);border-radius:.7rem;padding:.8rem;font-family:ui-monospace,monospace;font-weight:800;display:block}.admin-licenses__history{margin-top:2rem}.admin-licenses__list{gap:.75rem;padding:0;list-style:none;display:grid}.admin-licenses__list li{border:1px solid var(--color-border-soft);border-radius:.9rem;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:.75rem;padding:1rem;display:grid}@media (width<=48rem){.admin-licenses__issuer,.admin-licenses__list li{grid-template-columns:1fr}}.admin-migrations{min-width:0}.admin-migrations__lookup{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem 1rem;margin-top:2rem;display:grid}.admin-migrations__lookup label,.admin-migrations__lookup .field-hint{grid-column:1}.admin-migrations__lookup input{border:1px solid var(--color-border);border-radius:.7rem;grid-column:1;min-height:2.75rem;padding:.65rem .8rem}.admin-migrations__lookup button{grid-area:2/2}.admin-migrations__results{margin-top:2rem}.admin-migrations__results:focus-visible{outline:.2rem solid var(--color-primary);outline-offset:.3rem}.admin-receipts{gap:1rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.admin-receipt{border:1px solid var(--color-border-soft);background:var(--color-subtle);border-radius:1rem;min-width:0;padding:clamp(1rem,3vw,1.5rem)}.admin-receipt h3,.admin-integrity h4{margin-top:0}.admin-receipt__summary,.admin-integrity__comparisons{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;display:grid}.admin-receipt__summary>div,.admin-integrity__comparisons>div{background:var(--color-surface);border-radius:.7rem;min-width:0;padding:.75rem}.admin-receipt__summary dd,.admin-integrity__comparisons dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:750}.admin-integrity{border:1px solid var(--color-border);background:var(--color-surface);border-radius:.85rem;margin-top:1rem;padding:1rem}.admin-integrity--ok{border-color:var(--color-success,#28795b)}.admin-integrity--review{border-color:var(--color-danger,#a13d32)}.admin-integrity__checks{margin-bottom:0;padding-left:1.25rem}.migration-page{min-width:0;max-width:68rem}.migration-file-step,.migration-report{min-width:0;margin-top:1.75rem}.migration-file-step__fields,.migration-file-step__selection dl,.migration-report__summary{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1rem;display:grid}.migration-file-step__selection{border:1px solid var(--color-border-soft);background:var(--color-subtle);overflow-wrap:anywhere;border-radius:1rem;margin-top:1.25rem;padding:1rem}.migration-file-step__selection dl{margin-bottom:0}.migration-file-step__selection dd,.migration-report__summary dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:750}.migration-file-step__actions{margin-top:1.25rem}.migration-report{border:1px solid var(--color-border-soft);background:#ffffffb8;border-radius:1rem;padding:clamp(1rem,4vw,1.5rem)}.migration-report:focus-visible{outline:.2rem solid var(--color-primary);outline-offset:.2rem}.migration-report__summary{margin-block:1.25rem}.migration-report__summary>div{background:var(--color-subtle);border-radius:.75rem;min-width:0;padding:.85rem}.migration-report__issues h3{margin-top:0}.migration-report__issues ul{margin-bottom:0}.migration-ready-actions{justify-items:start;gap:1rem;margin-top:1.25rem;display:grid}.migration-warning-acknowledgement{border:1px solid var(--color-border-soft);background:var(--color-subtle);border-radius:.85rem;max-width:46rem;padding:1rem}.migration-warning-acknowledgement label{align-items:flex-start;gap:.75rem;font-weight:750;display:flex}.migration-warning-acknowledgement input{flex:none;margin-top:.2rem}.migration-warning-acknowledgement .field-hint{margin:.65rem 0 0 1.75rem}.migration-confirm-backdrop{z-index:70}.migration-confirm-dialog{background:var(--color-surface);width:min(42rem,100%);max-height:calc(100dvh - 2rem);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / 25%);border-radius:1rem;padding:clamp(1.25rem,4vw,2rem);overflow:auto}.migration-confirm-dialog h2,.migration-confirm-dialog p{margin-top:0}.migration-confirm-dialog__summary,.migration-commit-result__comparison{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;margin-block:1.25rem;display:grid}.migration-confirm-dialog__summary>div,.migration-commit-result__comparison>div{background:var(--color-subtle);border-radius:.75rem;min-width:0;padding:.8rem}.migration-confirm-dialog__summary dd,.migration-commit-result__comparison dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:750}.migration-committing-status,.migration-commit-result{margin-top:1.75rem}.migration-commit-result{border:1px solid var(--color-border-soft);border-radius:1rem;padding:clamp(1rem,4vw,1.5rem)}.migration-commit-result--success{background:#f1fbf7}.migration-commit-result--attention{background:#fff8f6}.migration-commit-result:focus-visible{outline:.2rem solid var(--color-primary);outline-offset:.2rem}.migration-commit-result__checks{margin-bottom:0}.route-panel h1{font-size:clamp(2.2rem,7vw,4.5rem)}.provisional-note{border-top:1px solid var(--color-border-soft);color:var(--color-muted);margin:2rem 0 0;padding-top:1rem;font-size:.9rem}.app-header{z-index:5;padding:.85rem var(--page-gutter);border-bottom:1px solid var(--color-border-soft);background:var(--color-surface);position:sticky;top:0}.app-header__inner{align-items:center;gap:1.5rem;width:100%;margin:0 auto;display:flex;position:relative}.app-header .brand{flex:none;font-size:.95rem}.app-header .brand span{max-width:11rem;line-height:1.2}.app-header__inner>*{min-width:0}.app-navigation-dock{padding:.45rem var(--page-gutter);border-bottom:1px solid var(--color-border-soft);background:var(--color-surface)}.app-navigation-dock>.app-navigation{width:100%;max-width:var(--workspace-width);margin:0 auto}.app-navigation{flex-wrap:wrap;flex:1;align-items:center;gap:.3rem;display:flex}.app-navigation a{white-space:nowrap;border-radius:.6rem;align-items:center;min-height:2.75rem;padding:.65rem .7rem;font-size:.9rem;text-decoration:none;display:inline-flex}.app-navigation__icon{display:none}.app-navigation a:hover{background:var(--color-soft)}.app-navigation a[aria-current=page]{color:var(--color-surface);background:var(--color-primary);box-shadow:inset 0 -3px var(--color-primary-strong)}.app-utilities{flex:none;align-items:center;gap:.6rem;margin-left:auto;display:flex}.language-switcher--app{gap:.1rem;min-width:7.25rem}.language-switcher--app label{font-size:.7rem}.language-switcher--app select{min-height:2.75rem;padding-block:.35rem}.utility-button{border:1px solid var(--color-border);width:2.75rem;height:2.75rem;color:var(--color-primary-strong);background:var(--color-surface);cursor:pointer;border-radius:50%;flex:none;place-items:center;padding:0;font-size:1.2rem;font-weight:800;display:inline-grid}.utility-button:hover{background:var(--color-soft)}.utility-button[aria-expanded=true]{outline:2px solid var(--color-primary);outline-offset:2px}.profile-avatar{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-surface);font-size:.85rem}.profile-avatar:hover{background:var(--color-primary-strong)}.edition-badge{border:1px solid var(--color-primary);min-height:2.25rem;color:var(--color-primary-strong);background:var(--color-soft);letter-spacing:.04em;border-radius:999px;align-items:center;margin:0;padding:.4rem .8rem;font-weight:900;display:inline-flex}.app-main{width:min(var(--workspace-width), calc(100% - 2 * var(--page-gutter)));flex:1;padding-block:clamp(1.5rem,3vw,3rem)}.shell-panel{overscroll-behavior:contain;border:1px solid var(--color-border);background:var(--color-surface);width:min(30rem,100%);min-width:0;max-height:calc(100dvh - 2rem);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / 18%);overflow-wrap:anywhere;border-radius:1rem;padding:1.5rem;line-height:1.5;overflow:auto}.shell-panel__heading{justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:1.25rem;display:flex}.shell-panel__heading h2{margin:0;font-size:1.4rem}.shell-panel__links{flex-wrap:wrap;gap:1rem;margin-block:1rem;display:flex}.shell-panel__links a{align-items:center;min-height:2.75rem;display:inline-flex}.profile-identity{gap:.85rem;margin:0 0 1.5rem;display:grid}.profile-identity dt{color:var(--color-muted);font-size:.8rem}.profile-identity dd{margin:.15rem 0 0;font-weight:700}.profile-features{padding-left:1.3rem}.help-topics{padding:0;list-style:none}.help-topics li{margin-block:1rem}.help-topics p{color:var(--color-muted);margin-top:.3rem;font-size:.9rem}.release-notes{border-top:1px solid var(--color-border-soft);margin-top:1.5rem;padding-top:1.25rem}.release-notes li+li{margin-top:.65rem}.home-page{min-width:0}.home-intro{padding-block:.5rem 1.5rem}.home-intro .eyebrow{margin-top:0}.home-page h2{margin-bottom:1rem;font-size:1.15rem}.home-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:64rem;display:grid}.home-action{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary-strong);border-radius:1.2rem;grid-template-columns:3rem 1fr;gap:.35rem 1rem;padding:clamp(1.25rem,3vw,2rem);text-decoration:none;display:grid}.home-action strong{font-size:1.3rem}.home-action>span:last-child{grid-column:2;font-weight:400;line-height:1.5}.home-action__symbol{grid-row:span 2;font-size:2rem}.home-action--primary{color:var(--color-surface);background:var(--color-primary);border-color:var(--color-primary)}.home-action:hover{box-shadow:0 .5rem 1.5rem rgb(var(--shadow-rgb) / 12%)}.home-explore{margin-top:2.75rem}.home-explore__list{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.home-explore__list li{border-top:2px solid var(--color-border-soft);padding:1.25rem}.home-explore__list a{padding-block:.65rem;display:inline-block}.home-explore__list p{color:var(--color-muted);max-width:30rem;margin-bottom:0;line-height:1.5}.app-layout{flex-direction:column;min-height:100vh;display:flex}.skip-link{z-index:20;color:var(--color-surface);background:var(--color-ink);border-radius:.65rem;padding:.7rem .9rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.button-quiet{min-height:2.75rem;color:var(--color-primary-strong);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;padding:.55rem 0;font-weight:700;text-decoration:underline}.button-quiet:disabled{cursor:wait;opacity:.65}.app-alert{color:#762d2d;background:#fff2f0;border:1px solid #b85a5a;border-radius:.75rem;width:min(72rem,100% - 2rem);margin:1rem auto 0;padding:.8rem 1rem}.auth-form{gap:1.25rem;margin-top:1.75rem;display:grid}.field{gap:.45rem;display:grid}.field label{font-weight:800}.field input,.field select{border:1px solid var(--color-border);width:100%;color:var(--color-ink);background:var(--color-surface);border-radius:.75rem;padding:.8rem .9rem}.field input:hover,.field select:hover{border-color:var(--color-primary-strong)}.field-hint{color:var(--color-muted);margin:0;font-size:.88rem;line-height:1.45}.button-primary,.button-link,.button-secondary{width:fit-content;min-height:2.85rem;color:var(--color-surface);background:var(--color-primary);cursor:pointer;border:0;border-radius:.8rem;justify-content:center;align-items:center;padding:.75rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.button-secondary{border:1px solid var(--color-border);color:var(--color-ink);background:var(--color-surface)}.button-danger-secondary{color:#762d2d;background:var(--color-surface);cursor:pointer;border:1px solid #a74444;border-radius:.8rem;justify-content:center;align-items:center;width:fit-content;min-height:2.85rem;padding:.75rem 1rem;font-weight:800;display:inline-flex}.button-primary:disabled{cursor:wait;opacity:.65}.form-message{border-radius:.85rem;margin:1.25rem 0;padding:1rem;line-height:1.5}.form-message p,.form-message strong{margin:0}.form-message--error{color:#762d2d;background:#fff2f0;border:1px solid #b85a5a}.form-message--success,.form-message--status{color:#28594b;background:#eff9f4;border:1px solid #5e8e7d}.form-message--warning{color:#5c421b;background:#fff8e8;border:1px solid #a77936}.projects-page,.project-create-page,.project-detail-page,.project-edit-page,.register-session-page,.session-history-page,.edit-session-page,.trash-page,.calendar-page,.annual-page{min-width:0;max-width:68rem}.projects-page>h1,.project-create-page>h1,.register-session-page>h1,.edit-session-page>h1,.page-heading h1{font-size:clamp(2.2rem,7vw,4.5rem)}.page-heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.page-heading>*,.page-heading>div,.page-heading h1,.lede{overflow-wrap:anywhere;min-width:0}.project-filters{border:1px solid var(--color-border-soft);background:#ffffffb8;border-radius:1rem;grid-template-columns:minmax(0,2fr) minmax(13rem,1fr);gap:1rem;margin:2rem 0;padding:1rem;display:grid}.project-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.project-card{border:1px solid var(--color-border-soft);background:var(--color-surface);min-width:0;box-shadow:0 .6rem 1.5rem rgb(var(--shadow-rgb) / 6%);border-radius:1rem;padding:1.25rem}.project-card[data-project-status=finished]{background:var(--color-project-finished-surface)}.project-card[data-project-status=paused]{background:var(--color-project-paused-surface)}.project-card[data-project-status=abandoned]{background:var(--color-project-abandoned-surface)}.project-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.project-card h2{overflow-wrap:anywhere;margin:1rem 0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.project-card__progress{gap:.5rem;margin-top:1rem;display:grid}.project-card__link{margin-top:1.1rem;font-weight:800;display:inline-flex}.project-code,.project-status{border-radius:999px;align-items:center;min-height:1.9rem;padding:.3rem .55rem;font-size:.82rem;font-weight:800;display:inline-flex}.project-code{color:var(--color-ink);background:var(--color-soft)}.project-status{color:#4c3c29;background:#fff8e8;border:1px solid #8b7860}.project-status--in_progress,.project-status--finished{color:#28594b;background:#eff9f4;border-color:#4e806f}.project-status--abandoned{color:#762d2d;background:#fff2f0;border-color:#9a6060}.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;display:grid}.project-metrics div{border-top:1px solid var(--color-border-soft);min-width:0;padding-top:.75rem}.project-metrics dt{color:var(--color-muted);font-size:.8rem}.project-metrics dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:800}.projects-state{border:1px dashed var(--color-border);background:#ffffff94;border-radius:1rem;margin:2rem 0;padding:1.5rem}.projects-state h2,.projects-state p{margin-bottom:.5rem}.projects-state--error{color:#762d2d;background:#fff2f0;border-style:solid;border-color:#b85a5a}.calendar-page__month{color:var(--color-primary-strong);margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,2rem);font-weight:700}.calendar-navigator{border:1px solid var(--color-border-soft);background:#ffffffb8;border-radius:1rem;flex-wrap:wrap;align-items:end;gap:.75rem;margin:2rem 0 1rem;padding:1rem;display:flex}.calendar-navigator__month{flex:13rem;min-width:min(100%,13rem)}.calendar-scope-control{align-items:center;gap:.65rem;width:fit-content;min-height:2.75rem;font-weight:800;display:flex}.calendar-scope-control input{width:1.2rem;height:1.2rem;margin:0}.calendar-project-context{border-left:.3rem solid var(--color-primary);background:var(--color-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.calendar-project-context p{overflow-wrap:anywhere;margin:0;font-weight:800}.calendar-state,.calendar-summary{border:1px dashed var(--color-border);background:#ffffffb8;border-radius:1rem;margin-top:1.5rem;padding:clamp(1rem,4vw,1.5rem)}.calendar-state--error{color:#762d2d;background:#fff2f0;border-style:solid;border-color:#b85a5a}.calendar-summary{border-style:solid}.calendar-summary h2{margin-top:0}.calendar-summary dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.75rem;margin:0;display:grid}.calendar-summary dl div{background:var(--color-subtle);border-radius:.75rem;min-width:0;padding:.8rem}.calendar-summary dt{color:var(--color-muted);font-size:.82rem}.calendar-summary dd{overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:800}.annual-summary,.annual-table{margin-top:1.5rem}.annual-page__navigation{flex-wrap:wrap;gap:.75rem;display:flex}.annual-page__navigation .button-secondary,.annual-page__scope{min-height:2.75rem}.annual-page__scope{align-items:center;gap:.55rem;margin-top:.75rem;display:inline-flex}.annual-summary{border:1px solid var(--color-border-soft);background:#ffffffb8;border-radius:1rem;padding:clamp(1rem,4vw,1.5rem)}.annual-summary h2,.annual-table h2{margin-top:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,3vw,2rem);font-weight:500}.annual-summary dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;margin:0;display:grid}.annual-summary dl div{background:var(--color-subtle);border-radius:.75rem;min-width:0;padding:.9rem}.annual-summary dt{color:var(--color-muted);font-size:.82rem}.annual-summary dd{overflow-wrap:anywhere;margin:.25rem 0 0;font-size:1.05rem;font-weight:900}.annual-table__scroll{overscroll-behavior-inline:contain;border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:.85rem;max-width:100%;overflow-x:auto}.annual-table__scroll:focus-visible{outline:.2rem solid var(--color-primary);outline-offset:.2rem}.annual-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:max-content;min-width:78rem}.annual-table caption{text-align:left;padding:.9rem 1rem;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:700}.annual-table th,.annual-table td{border:1px solid var(--color-border-soft);text-align:center;vertical-align:top;min-width:4.4rem;padding:.55rem}.annual-table thead th,.annual-table tfoot th,.annual-table tfoot td{background:var(--color-soft);font-weight:900}.annual-table th:first-child{z-index:1;text-align:left;min-width:15rem;max-width:20rem;position:sticky;left:0}.annual-table thead th:first-child,.annual-table tfoot th:first-child{z-index:2}.annual-table tbody th{background:var(--color-subtle)}.annual-table__project-link,.annual-table__month-link{overflow-wrap:anywhere;gap:.25rem;display:grid}.annual-table__project-code,.annual-table__current-status,.annual-table__finish-date,.annual-table__mobile-label,.annual-table__cell-state{display:block}.annual-table__mobile-label{display:none}.annual-table__project-code{color:var(--color-muted);font-size:.78rem}.annual-table__current-status,.annual-table__finish-date{color:#28594b;margin-top:.4rem;font-size:.75rem;font-weight:800}.annual-table__month-link{min-height:4.6rem;color:var(--color-ink);align-content:start;text-decoration-thickness:.08rem}.annual-table__amount{font-weight:900}.annual-table__cell-state{color:var(--color-muted);font-size:.72rem;font-weight:700}.annual-table td[data-state=zero-only]{background:#fff8e8}.annual-table td[data-state=net-zero]{background:#eff9f4}.annual-table td[data-state=negative]{background:#fff7f5}.annual-table td[data-finished-post=true]{background:var(--color-project-finished-surface)}.annual-table__project-total,.annual-table__grand-total{font-weight:900}.annual-table__empty-row td{text-align:left;padding:1.5rem}.calendar-matrix{min-width:0;margin-top:1.5rem}.calendar-matrix__legend{flex-wrap:wrap;align-items:center;gap:.65rem 1.25rem;margin-bottom:.5rem;font-size:.9rem;display:flex}.calendar-matrix__legend span span{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:.35rem;place-items:center;min-width:1.5rem;min-height:1.5rem;font-weight:900;display:inline-grid}.calendar-matrix__hint{color:var(--color-muted);margin:0 0 .6rem;font-size:.86rem}.calendar-matrix__scroll{overscroll-behavior-inline:contain;border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:.85rem;max-width:100%;overflow-x:auto}.calendar-matrix__scroll:focus-visible{outline:.2rem solid var(--color-primary);outline-offset:.2rem}.calendar-matrix table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:max-content;min-width:100%}.calendar-matrix caption{text-align:left;padding:.9rem 1rem;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:700}.calendar-matrix th,.calendar-matrix td{border:1px solid var(--color-border-soft);text-align:center;vertical-align:middle;min-width:3.6rem;padding:.5rem}.calendar-matrix thead th,.calendar-matrix tfoot th,.calendar-matrix tfoot td{background:var(--color-soft);font-weight:900}.calendar-matrix th:first-child{z-index:1;background:var(--color-subtle);min-width:13rem;max-width:18rem;box-shadow:.2rem 0 .35rem rgb(var(--shadow-rgb) / 10%);text-align:left;position:sticky;left:0}.calendar-matrix thead th:first-child,.calendar-matrix tfoot th:first-child{z-index:2;background:var(--color-soft)}.calendar-matrix tbody th{background:var(--color-subtle)}.calendar-matrix tbody th span{overflow-wrap:anywhere;display:block}.calendar-matrix__project-code{color:var(--color-muted);margin-bottom:.2rem;font-size:.78rem}.calendar-matrix__empty{color:var(--color-muted)}.calendar-matrix td[data-intensity="1"]{background:var(--color-intensity-1)}.calendar-matrix td[data-intensity="2"]{background:var(--color-intensity-2)}.calendar-matrix td[data-intensity="3"]{background:var(--color-intensity-3)}.calendar-matrix td[data-intensity="4"]{background:var(--color-intensity-4)}.calendar-matrix__cell-button{border:1px solid rgb(var(--shadow-rgb) / 35%);width:100%;min-width:2.55rem;min-height:2.55rem;color:var(--color-ink);background:var(--color-surface);font:inherit;cursor:pointer;border-radius:.45rem;padding:.35rem;font-weight:900}.calendar-matrix__cell-button:hover{background:var(--color-surface)}.calendar-matrix__project-total,.calendar-matrix__grand-total{font-weight:900}.calendar-matrix__mobile-label{display:none}.calendar-selection-dialog{overscroll-behavior:contain;background:var(--color-surface);width:min(34rem,100%);min-width:0;max-height:calc(100dvh - 2rem);box-shadow:0 1.5rem 4rem rgb(var(--shadow-rgb) / 35%);border-radius:1rem;padding:clamp(1.1rem,4vw,1.75rem);overflow:auto}.calendar-selection-dialog h2{margin-top:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:500}.calendar-selection-dialog__details{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1.25rem 0;display:grid}.calendar-selection-dialog__details div{background:var(--color-subtle);border-radius:.7rem;min-width:0;padding:.75rem}.calendar-selection-dialog__details dt{color:var(--color-muted);font-size:.82rem}.calendar-selection-dialog__details dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:800}.calendar-selection-dialog__actions{justify-content:flex-end;display:flex}.calendar-detail-dialog{width:min(46rem,100%)}.calendar-detail-dialog__heading,.project-calendar-section__heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.calendar-detail-dialog__heading h2,.calendar-detail-dialog__heading p,.project-calendar-section__heading h2,.project-calendar-section__heading p{margin-top:0}.calendar-detail-dialog__sessions:focus-visible{outline:.2rem solid var(--color-primary);outline-offset:.2rem}.calendar-detail-dialog__error{color:#762d2d;background:#fff2f0;border-left:.3rem solid #b85a5a;padding:.8rem}.calendar-detail-group+.calendar-detail-group,.calendar-detail-dialog__sessions section+section{margin-top:1.25rem}.calendar-detail-dialog__sessions h3{overflow-wrap:anywhere;margin-bottom:.65rem;font-family:Georgia,Times New Roman,serif;font-size:1.15rem}.calendar-detail-dialog__sessions ul{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.calendar-detail-session{border:1px solid var(--color-border-soft);border-left:.3rem solid var(--color-primary);background:var(--color-subtle);border-radius:.75rem;padding:.85rem}.calendar-detail-session[data-movement=zero]{border-left-color:#8b7860}.calendar-detail-session[data-movement=negative]{border-left-color:#a77936}.calendar-detail-session dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:0;display:grid}.calendar-detail-session dt{color:var(--color-muted);font-size:.78rem}.calendar-detail-session dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-weight:800}.calendar-detail-session__actions{flex-wrap:wrap;gap:.6rem;margin-top:.75rem;display:flex}.calendar-detail-dialog__load-more{margin-top:1rem}.project-calendar-section{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1rem;margin-top:1.5rem;padding:clamp(1rem,4vw,1.6rem)}.project-calendar-section__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0;display:grid}.project-calendar-section__metrics div{background:var(--color-subtle);border-radius:.7rem;min-width:0;padding:.75rem}.project-calendar-section__metrics dt{color:var(--color-muted);font-size:.8rem}.project-calendar-section__metrics dd{overflow-wrap:anywhere;margin:.2rem 0 0;font-weight:800}.project-calendar-section__finish-date{background:#eff9f4;border-left:.3rem solid #5e8e7d;padding:.7rem}.project-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem;min-width:0;display:grid}.project-calendar-grid__weekday{text-align:center;padding:.35rem;font-size:.78rem;font-weight:900}.project-calendar-grid__offset,.project-calendar-grid__day{min-width:0;min-height:4.75rem}.project-calendar-grid__day{border:1px solid var(--color-border-soft);color:var(--color-ink);background:var(--color-surface);font:inherit;text-align:left;border-radius:.55rem;flex-direction:column;align-items:stretch;gap:.25rem;padding:.45rem;display:flex}button.project-calendar-grid__day{cursor:pointer}button.project-calendar-grid__day:hover{border-color:var(--color-primary)}.project-calendar-grid__day[data-intensity="1"]{background:var(--color-intensity-1)}.project-calendar-grid__day[data-intensity="2"]{background:var(--color-intensity-2)}.project-calendar-grid__day[data-intensity="3"]{background:var(--color-intensity-3)}.project-calendar-grid__day[data-intensity="4"]{background:var(--color-intensity-4)}.project-calendar-grid__day-number{font-weight:900}.project-calendar-grid__amount{white-space:nowrap;font-size:.82rem;font-weight:800}.project-calendar-grid__empty{color:var(--color-muted)}.project-calendar-grid__finish{color:#28594b;border-top:1px solid #5e8e7d;margin-top:auto;padding-top:.2rem;font-size:.68rem;font-weight:900}.load-more{margin-top:1.5rem}.trash-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.trash-card{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1rem;flex-direction:column;min-width:0;height:100%;padding:1.25rem;display:flex}.trash-card h2{overflow-wrap:anywhere;margin:.5rem 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:1.5rem}.trash-card__details{gap:.7rem;margin:0;display:grid}.trash-card__details div{gap:.2rem;display:grid}.trash-card__details dt{color:var(--color-muted);font-size:.85rem;font-weight:700}.trash-card__details dd{overflow-wrap:anywhere;margin:0}.trash-card__actions{flex-wrap:wrap;margin-top:auto;padding-top:1.25rem}.permanent-confirmation{gap:.75rem;margin-top:1rem;display:grid}.permanent-confirmation input[type=text],.permanent-confirmation input:not([type]){width:100%;min-width:0}.checkbox-field{align-items:flex-start;gap:.7rem;min-height:2.75rem;padding-block:.45rem;display:flex}.checkbox-field input{flex:none;margin-top:.25rem}.project-form{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem;padding:clamp(1.25rem,4vw,2rem);display:grid}.project-form__wide{grid-column:1/-1}.project-form__actions{flex-wrap:wrap;gap:.8rem;padding-top:.75rem;display:flex}.project-detail-page>.page-heading h1,.project-edit-page>h1{overflow-wrap:anywhere;margin-top:.8rem;font-size:clamp(2.2rem,7vw,4.5rem)}.project-summary,.project-progress,.project-state-panel,.project-conflict{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1rem;margin-top:1.5rem;padding:clamp(1rem,4vw,1.6rem)}.project-detail-metrics,.project-conflict dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.8rem;margin:0;display:grid}.project-detail-metrics div,.project-conflict dl div{background:var(--color-subtle);border-radius:.75rem;min-width:0;padding:.8rem}.project-detail-metrics dt,.project-conflict dt{color:var(--color-muted);font-size:.82rem}.project-detail-metrics dd,.project-conflict dd{overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:800}.design-total-warning{color:#5c421b;background:#fff8e8;border-left:.3rem solid #a77936;margin:1rem 0 0;padding:.8rem}.project-progress__heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.project-progress__track{background:var(--color-soft);border-radius:999px;height:.85rem;overflow:hidden}.project-progress__track span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.project-state-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:1rem;margin-top:1rem;display:grid}.project-conflict{background:#fff7f5;border-color:#b85a5a}.project-conflict .button-row,.finished-actions .button-row{flex-wrap:wrap;margin-top:1rem}.finished-actions{border-top:1px solid var(--color-border-soft);margin-top:1.5rem;padding-top:1.25rem}.field-error{color:#8f3838;margin:0;font-size:.9rem;font-weight:700}.account-page{max-width:54rem}.account-page>h1{font-size:clamp(2.2rem,7vw,4.5rem)}.account-section{border-top:1px solid var(--color-border-soft);margin-top:2rem;padding-top:1.5rem}.account-section h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.45rem,4vw,2rem);font-weight:500}.account-list,.entitlement-list{margin:1rem 0;padding:0;list-style:none}.account-list{gap:.8rem;display:grid}.account-list>li{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:.85rem;gap:.35rem;padding:1rem;display:grid}.account-list small{color:var(--color-muted)}.entitlement-list{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.65rem;display:grid}.entitlement-list li{padding-left:1.6rem;position:relative}.entitlement-list li:before{content:"✓";color:var(--color-focus);font-weight:900;position:absolute;left:0}.confirmation-panel{background:#fff9eb;border:1px solid #b89353;border-radius:.85rem;margin-top:1rem;padding:1rem}.confirmation-panel p{margin-bottom:1rem}.device-list>li>div:first-child{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.current-device{color:#28594b;background:#dff2e9;border-radius:999px;padding:.2rem .5rem;font-size:.8rem;font-weight:800;display:inline-flex}.inline-action{margin-bottom:1rem;display:inline-block}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:1.5rem;display:flex}.auth-alternative{color:var(--color-muted);margin:1.5rem 0 0}.navigation-prompt{width:min(26rem,100%);max-height:calc(100dvh - 2rem);color:var(--color-surface);background:var(--color-ink);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / 25%);border-radius:1rem;padding:1.25rem;overflow:auto}.navigation-prompt-backdrop{z-index:60}.register-session-form{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1.25rem;gap:1.4rem;width:100%;min-width:0;max-width:46rem;margin-top:2rem;padding:clamp(1.25rem,4vw,2rem);display:grid}.project-detail-actions{flex-wrap:wrap;align-items:center}.session-filters{border:1px solid var(--color-border-soft);background:#ffffffb8;border-radius:1rem;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:1rem;margin:2rem 0;padding:1rem;display:grid}.session-filters__actions{flex-wrap:wrap;gap:.65rem;display:flex}.session-filters__error{grid-column:1/-1}.edit-session-page__back-link{margin-top:1.5rem}.session-list{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.session-row{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:1rem 1.15rem;display:flex}.session-row>div:first-child{grid-template-columns:minmax(7rem,auto) minmax(7rem,auto) minmax(10rem,1fr);align-items:center;gap:1rem;min-width:0;display:grid}.session-row>*,.session-row__actions{min-width:0}.session-row__actions{flex-wrap:wrap;gap:.65rem;display:flex}.project-danger-zone{background:#fff8f6;border:1px solid #c97979;border-radius:1rem;margin-top:2rem;padding:1.25rem}.project-danger-zone h2,.project-danger-zone p{margin-top:0}.dialog-backdrop{z-index:50;overscroll-behavior:contain;background:rgb(var(--shadow-rgb) / 55%);place-items:center;width:100%;height:100dvh;padding:1rem;display:grid;position:fixed;inset:0;overflow:auto}.destructive-dialog{overscroll-behavior:contain;background:var(--color-surface);width:min(34rem,100%);min-width:0;max-height:calc(100dvh - 2rem);box-shadow:0 1.5rem 4rem rgb(var(--shadow-rgb) / 35%);border-radius:1rem;padding:clamp(1.1rem,4vw,1.75rem);overflow:auto}.destructive-dialog h2{margin-top:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,5vw,2.2rem);font-weight:500}.destructive-identity{background:var(--color-subtle);border-radius:.85rem;gap:.65rem;margin:1.25rem 0;padding:1rem;display:grid}.destructive-identity div{grid-template-columns:minmax(5rem,auto) minmax(0,1fr);gap:.75rem;display:grid}.destructive-identity dt{color:var(--color-muted)}.destructive-identity dd{overflow-wrap:anywhere;margin:0;font-weight:800}.dialog-pending{font-weight:800}.destructive-dialog__actions{flex-wrap:wrap;justify-content:flex-end}.session-row time,.session-row strong,.session-row span{overflow-wrap:anywhere}.session-row span{color:var(--color-muted)}.edit-session-form{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1.25rem;gap:1.4rem;width:100%;min-width:0;max-width:54rem;margin-top:2rem;padding:clamp(1.25rem,4vw,2rem);display:grid}.session-move-context,.session-conflict__comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.session-move-context>div,.session-conflict__comparison>section{background:var(--color-subtle);border-radius:.85rem;min-width:0;padding:1rem}.session-move-context p{overflow-wrap:anywhere;margin:.45rem 0 0}.session-conflict{overscroll-behavior:contain;background:#fff7f5;border:1px solid #b85a5a;border-radius:1rem;width:min(56rem,100%);max-height:calc(100dvh - 2rem);margin:0;padding:clamp(1rem,4vw,1.5rem);overflow:auto}.session-conflict h2,.session-conflict h3{font-family:Georgia,Times New Roman,serif;font-weight:500}.session-conflict dl{gap:.55rem;margin:0;display:grid}.session-conflict dl div{grid-template-columns:minmax(5rem,auto) minmax(0,1fr);gap:.75rem;display:grid}.session-conflict dd{overflow-wrap:anywhere;margin:0;font-weight:800}.session-conflict .button-row{flex-wrap:wrap;margin-top:1rem}.project-picker{gap:.8rem;display:grid;position:relative}.project-picker__popup{z-index:2;overscroll-behavior:contain;border:1px solid var(--color-border);background:var(--color-surface);max-height:min(20rem,45dvh);box-shadow:0 .8rem 2rem rgb(var(--shadow-rgb) / 14%);border-radius:.85rem;position:relative;overflow:auto}.project-picker__state{color:var(--color-muted);margin:0;padding:.9rem 1rem}.project-picker__state--error{color:#762d2d;background:#fff2f0}.project-picker__options{margin:0;padding:.35rem;list-style:none}.project-picker__options li{cursor:pointer;border-radius:.65rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-width:0;min-height:3rem;padding:.7rem;display:grid}.project-picker__options li[data-active=true],.project-picker__options li:hover{background:var(--color-soft)}.project-picker__options span{overflow-wrap:anywhere}.project-picker__options small{color:var(--color-muted)}.project-picker__selected{border-left:.3rem solid var(--color-primary);background:var(--color-subtle);border-radius:.4rem;padding:.9rem}.project-picker__selected p{overflow-wrap:anywhere;margin:.55rem 0 0;line-height:2}.register-special-actions{flex-wrap:wrap;margin-top:1rem}.uncertain-change-prompt{width:min(34rem,100%);max-height:calc(100dvh - 2rem);color:var(--color-surface);background:var(--color-ink);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / 30%);border-radius:1rem;padding:1.25rem;overflow:auto}.uncertain-change-backdrop{z-index:60}.uncertain-change-prompt p{margin:.65rem 0 1rem;line-height:1.5}.uncertain-change-prompt .button-row{flex-wrap:wrap}.navigation-prompt p{margin:.5rem 0 1rem}.button-row{flex-wrap:wrap;gap:.75rem;display:flex}.button-row button{cursor:pointer;border:0;border-radius:.65rem;min-height:2.75rem;padding:.6rem .85rem;font-weight:700}.button-row .button-danger{color:var(--color-surface);background:#8f3838}.hero{max-width:48rem}.mark{box-shadow:0 .75rem 2rem rgb(var(--shadow-rgb) / 18%);border-radius:1rem;display:block}.eyebrow{color:var(--color-primary-strong);letter-spacing:.11em;text-transform:uppercase;margin:2rem 0 .5rem;font-size:.8rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,8vw,5.4rem);font-weight:500;line-height:.98}.lede{max-width:40rem;color:var(--color-muted);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:3rem;display:grid}.status-card,.scope{border:1px solid var(--color-border-soft);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / 8%);-webkit-backdrop-filter:blur(.75rem);backdrop-filter:blur(.75rem);background:#ffffffb8;border-radius:1.25rem}.status-card{padding:1.4rem}.status-card h2{margin:1rem 0 .5rem;font-size:1rem}.status-card p{margin-bottom:.4rem;font-weight:700}.status-card small{color:var(--color-muted);line-height:1.45}.signal{background:#b89353;border-radius:50%;width:.75rem;height:.75rem;display:block;box-shadow:0 0 0 .35rem #b8935324}.signal--ready{background:var(--color-focus);box-shadow:0 0 0 .35rem #2f6f6a24}.signal--unavailable{background:#a14343;box-shadow:0 0 0 .35rem #a1434324}.scope{margin-top:1rem;padding:clamp(1.5rem,4vw,2.5rem)}.scope h2{font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:500}.scope p{max-width:55rem;color:var(--color-muted);margin-bottom:0;line-height:1.65}.update{max-width:calc(100% - 2rem);color:var(--color-surface);background:var(--color-ink);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / 25%);border-radius:1rem;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex;position:fixed;bottom:1rem;right:1rem}.update button{color:var(--color-ink);background:var(--color-canvas);cursor:pointer;border:0;border-radius:.65rem;padding:.6rem .85rem;font-weight:700}.update .button-secondary{color:var(--color-surface);background:0 0}#root:has(>.network-status){flex-direction:column;display:flex}.network-status{z-index:20;width:max-content;max-width:calc(100% - 2rem);margin:max(1rem, env(safe-area-inset-top)) 1rem 0;border:1px solid var(--color-border);color:var(--color-ink);background:var(--color-surface);box-shadow:0 .75rem 2rem rgb(var(--shadow-rgb) / 20%);pointer-events:none;text-align:center;border-radius:.8rem;flex:none;order:-1;align-self:center;padding:.75rem 1rem;line-height:1.45;position:relative}.network-status--offline{border-color:var(--color-primary);background:var(--color-soft)}.network-status--reconnected{border-color:var(--color-primary);background:var(--color-project-finished-surface)}@media (width<=80rem){.app-header{position:relative}.app-header__inner{flex-wrap:wrap;gap:.8rem 1rem}}@media (width<=36rem){.app-header .brand span{max-width:8rem}.app-utilities{flex-basis:100%;justify-content:flex-end}.app-navigation{gap:.15rem}.app-navigation a{padding-inline:.55rem}.home-actions{grid-template-columns:minmax(0,1fr)}}@media (width<=48rem){.calendar-navigator{flex-direction:column;align-items:stretch}.calendar-navigator .button-secondary,.calendar-project-context .button-secondary{width:100%}.calendar-selection-dialog__details{grid-template-columns:1fr}.calendar-detail-dialog__heading,.project-calendar-section__heading{flex-direction:column;align-items:stretch}.calendar-detail-session dl,.project-calendar-section__metrics{grid-template-columns:1fr}.calendar-detail-session__actions,.calendar-detail-session__actions a,.calendar-detail-session__actions button,.project-calendar-section__heading a{width:100%}.project-calendar-grid{gap:.2rem}.project-calendar-grid__offset,.project-calendar-grid__day{min-height:4rem;padding:.3rem}.trash-list{grid-template-columns:1fr}.trash-card__actions{flex-direction:column}.trash-card__actions button{width:100%}.status-grid{grid-template-columns:1fr}.update{flex-wrap:wrap;left:1rem}.page-heading{flex-direction:column;align-items:flex-start}.project-filters,.project-form,.project-state-form,.session-filters,.session-move-context,.session-conflict__comparison{grid-template-columns:1fr}.session-filters__error{grid-column:auto}.session-row{flex-direction:column;align-items:stretch}.session-row>div:first-child{grid-template-columns:1fr;gap:.35rem}.session-row__actions,.session-row .button-secondary,.session-row .button-danger-secondary{width:100%}.destructive-dialog__actions{flex-direction:column-reverse}.destructive-dialog__actions button{width:100%}.project-form__wide{grid-column:auto}.project-metrics{grid-template-columns:1fr}.project-picker__options li{grid-template-columns:1fr;gap:.2rem}}@media (width<=48rem),(orientation:landscape) and (width<=56rem) and (height<=30rem){.annual-page__navigation{grid-template-columns:1fr;display:grid}.annual-page__navigation .button-secondary,.annual-page__scope{width:100%}.annual-table__scroll{background:0 0;border:0;border-radius:0;overflow:visible}.annual-table table,.annual-table caption,.annual-table tbody,.annual-table tfoot{width:100%;min-width:0;display:block}.annual-table caption{padding-inline:0}.annual-table thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.annual-table tbody{gap:1rem;display:grid}.annual-table tbody tr,.annual-table tfoot tr{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:.85rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;padding:.75rem;display:grid}.annual-table tfoot{margin-top:1rem}.annual-table th,.annual-table td,.annual-table th:first-child{border:0;min-width:0;max-width:none;position:static}.annual-table tbody th,.annual-table tfoot th{border-bottom:1px solid var(--color-border-soft);text-align:left;grid-column:1/-1;padding:.65rem}.annual-table tbody td,.annual-table tfoot td{border:1px solid var(--color-border-soft);text-align:left;border-radius:.55rem;padding:.6rem}.annual-table__mobile-label{color:var(--color-muted);margin-bottom:.3rem;font-size:.72rem;font-weight:900;display:block}.annual-table__month-link{min-height:2.75rem}.annual-table__project-total,.annual-table__grand-total{grid-column:1/-1}.annual-table__empty-row{display:block}.annual-table__empty-row td{width:100%;display:block}.calendar-matrix__hint{display:none}.calendar-matrix__scroll{background:0 0;border:0;border-radius:0;overflow:visible}.calendar-matrix table,.calendar-matrix caption,.calendar-matrix tbody,.calendar-matrix tfoot{width:100%;min-width:0;display:block}.calendar-matrix thead{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.calendar-matrix tbody{gap:1rem;display:grid}.calendar-matrix tbody tr,.calendar-matrix tfoot tr{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:.85rem;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;padding:.75rem;display:grid}.calendar-matrix tfoot{margin-top:1rem}.calendar-matrix th,.calendar-matrix td,.calendar-matrix th:first-child{border:0;min-width:0;max-width:none}.calendar-matrix tbody th,.calendar-matrix tfoot th{border-bottom:1px solid var(--color-border-soft);text-align:left;grid-column:1/-1;padding:.5rem}.calendar-matrix__day{border-radius:.45rem;flex-direction:column;align-items:stretch;gap:.2rem;min-height:4rem;padding:.25rem;display:flex;border:1px solid var(--color-border-soft)!important}.calendar-matrix__mobile-label{font-size:.68rem;font-weight:900;display:block}.calendar-matrix__cell-button{overflow-wrap:anywhere;min-width:0;min-height:2.75rem;padding:.2rem;font-size:.76rem}.calendar-matrix__project-total,.calendar-matrix__grand-total{text-align:left;border-radius:.45rem;grid-column:span 3;padding:.55rem;border:1px solid var(--color-border-soft)!important}.calendar-matrix__project-total:last-child,.calendar-matrix__grand-total:last-child{grid-column:span 4}}@media (orientation:landscape) and (width<=56rem) and (height<=30rem){.annual-page__navigation{grid-template-columns:repeat(3,minmax(0,1fr))}.annual-table tbody tr,.annual-table tfoot tr{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.progress-navigation{flex-wrap:wrap;align-items:end;gap:.75rem;margin-block:1.5rem;display:flex}.progress-navigation__month{min-width:0;max-width:100%}.progress-navigation input{max-width:100%}.progress-dashboard,.progress-section,.progress-summary,.progress-wip{min-width:0}.progress-section,.progress-context{margin-block:1.75rem}.progress-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:1rem;display:grid}.progress-summary,.progress-wip{border:1px solid var(--color-border-soft);background:var(--color-surface);overflow-wrap:anywhere;border-radius:1rem;padding:1.25rem}.progress-summary dl,.progress-wip dl{gap:.75rem;display:grid}.progress-summary dd,.progress-wip dd{font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-weight:650}.progress-wips{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.75rem;padding:0;list-style:none;display:grid}.progress-table-scroll{max-width:100%;overflow-x:auto}.progress-table-scroll table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:54rem}.progress-table-scroll th,.progress-table-scroll td{overflow-wrap:normal;word-break:normal;text-align:start;border-bottom:1px solid var(--color-border-soft);padding:.75rem}.progress-table-scroll th[scope=row]{overflow-wrap:normal;min-width:10rem}.progress-table-scroll:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.progress-mobile-label{display:none}.project-progress-analytics,.progress-heatmap,.progress-top-days li{overflow-wrap:anywhere;min-width:0}.progress-heatmap-months{grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5rem),1fr));gap:1rem;display:grid}.progress-heatmap-month{border:1px solid var(--color-border-soft);border-radius:.75rem;min-width:0;padding:.75rem}.progress-heatmap-month h3{margin-top:0;font-size:1rem}.progress-heatmap-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.2rem;display:grid}.progress-heatmap-weekday{text-align:center;font-size:.8rem}.progress-heatmap-day{color:var(--color-ink);border-radius:.2rem;justify-items:center;padding-block:.2rem;font-size:.8rem;display:grid}.progress-heatmap-day--none{background:var(--color-heatmap-none)}.progress-heatmap-day--low{background:var(--color-heatmap-low)}.progress-heatmap-day--medium{background:var(--color-heatmap-medium)}.progress-heatmap-day--high{background:var(--color-heatmap-high);color:var(--color-surface)}.progress-heatmap-legend{flex-wrap:wrap;gap:1rem;padding:0;list-style:none;display:flex}.progress-heatmap-text{margin-block:1rem}.progress-heatmap-text summary{cursor:pointer;border:1px solid var(--color-border-soft);border-radius:.5rem;min-height:2.75rem;padding:.75rem}.progress-heatmap-text li{overflow-wrap:anywhere;margin-block:.5rem}.progress-top-days,.progress-undo-projects{gap:1rem;padding:0;list-style:none;display:grid}.progress-top-days li,.progress-undo-projects li{border:1px solid var(--color-border-soft);border-radius:.75rem;padding:1rem}.progress-undo-totals{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;display:grid}.progress-undo-totals dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:650}.progress-dashboard a,.project-progress-analytics a{overflow-wrap:anywhere;align-items:center;max-width:100%;min-height:2.75rem;display:inline-flex}.progress-dashboard :focus-visible,.project-progress-analytics :focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media (width<=48rem),(orientation:landscape) and (width<=56rem) and (height<=30rem){.progress-table-scroll{overflow:visible}.progress-table-scroll table,.progress-table-scroll tbody{display:block}.progress-table-scroll table{min-width:0}.progress-table-scroll thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.progress-table-scroll tbody{gap:1rem;display:grid}.progress-table-scroll tbody tr{border:1px solid var(--color-border-soft);border-radius:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.75rem;display:grid}.progress-table-scroll td,.progress-table-scroll th[scope=row]{overflow-wrap:anywhere;min-width:0;padding:.5rem;display:block}.progress-table-scroll th[scope=row]{grid-column:1/-1}.progress-mobile-label{margin-bottom:.3rem;font-size:.8rem;font-weight:650;display:block}.progress-navigation>button{flex:8rem}.progress-navigation__month{flex:100%}.progress-navigation input{width:100%;min-width:0}}.progress-page__header{border-bottom:1px solid var(--color-border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;padding-bottom:1.25rem;display:flex}.youtube-statistics-page{gap:1.5rem;display:grid}.youtube-statistics-page__header>:last-child,.youtube-statistics-ready>:last-child,.youtube-statistics-skeleton p{margin-bottom:0}.youtube-statistics-range fieldset{border:1px solid var(--color-border-soft);border-radius:1rem;margin:0;padding:1rem}.youtube-statistics-range legend{padding-inline:.35rem;font-weight:800}.youtube-statistics-range__fields,.youtube-statistics-shortcuts{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.youtube-statistics-range__fields .field{flex:1 0 17rem;min-inline-size:min(100%,17rem)}.youtube-statistics-range__fields .date-input__entry input{min-width:7.5rem;min-inline-size:7.5rem}.youtube-statistics-skeleton{background:var(--color-soft);border-radius:1rem;padding:1rem}.youtube-statistics-skeleton>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem;display:grid}.youtube-statistics-skeleton span{background:var(--color-surface);border-radius:.75rem;min-height:4rem;display:block}.youtube-statistics-ready{border:1px solid var(--color-border-soft);background:var(--color-subtle);border-radius:1rem;padding:1rem}.youtube-statistics-dashboard,.youtube-statistics-section{min-width:0}.youtube-statistics-dashboard{gap:1.5rem;display:grid}.youtube-statistics-section{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1rem;padding:1.25rem}.youtube-statistics-section>h2{margin-top:0}.youtube-statistics-summary{background:var(--color-soft)}.youtube-statistics-kpis,.youtube-statistics-project-metrics{grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1rem;margin:0;display:grid}.youtube-statistics-kpis>div,.youtube-statistics-project-metrics>div{background:var(--color-subtle);overflow-wrap:anywhere;border-radius:.75rem;min-width:0;padding:.85rem}.youtube-statistics-kpis dd,.youtube-statistics-project-metrics dd{font-variant-numeric:tabular-nums;margin:.35rem 0 0;font-weight:750}.youtube-statistics-most-worked__identity{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:.5rem 1.5rem;margin-bottom:1rem;display:flex}.youtube-statistics-most-worked__identity h3,.youtube-statistics-most-worked__identity p{margin:0}.youtube-statistics-table-scroll{max-width:100%;overflow-x:auto}.youtube-statistics-table-scroll table{border-collapse:separate;border-spacing:0;table-layout:auto;font-variant-numeric:tabular-nums;width:100%}.youtube-statistics-table--ranking{min-width:68rem}.youtube-statistics-table--evolution{min-width:58rem}.youtube-statistics-table__col-identity{width:32%}.youtube-statistics-table__col-period{width:14%}.youtube-statistics-table__col-stitches,.youtube-statistics-table__col-activity{width:9%}.youtube-statistics-table__col-distribution{width:12%}.youtube-statistics-table-scroll th,.youtube-statistics-table-scroll td{text-align:start;vertical-align:top;border-bottom:1px solid var(--color-border-soft);padding:.75rem}.youtube-statistics-table-scroll thead th{background:var(--color-subtle);white-space:normal;line-height:1.3}.youtube-statistics-table-scroll tbody td{white-space:nowrap}.youtube-statistics-table-scroll tbody tr:nth-child(2n)>*{background:var(--color-subtle)}.youtube-statistics-table__numeric{font-variant-numeric:tabular-nums;text-align:end!important}.youtube-statistics-table__group-start{border-inline-start:1px solid var(--color-border-soft)}.youtube-statistics-table__group-heading{letter-spacing:.04em;text-transform:uppercase;padding-block:.6rem;font-size:.8rem;text-align:center!important}.youtube-statistics-table__group-row th{border-bottom-color:rgb(var(--shadow-rgb) / 24%)}.youtube-statistics-table__sticky{z-index:1;background:var(--color-surface);position:sticky;left:0}.youtube-statistics-table-scroll thead .youtube-statistics-table__sticky{z-index:2;background:var(--color-subtle)}.youtube-statistics-table-scroll tbody tr:nth-child(2n)>.youtube-statistics-table__sticky{background:var(--color-subtle)}.youtube-statistics-table--ranking tbody tr[data-project-status=finished]>*{background:var(--color-project-finished-surface)}.youtube-statistics-table--ranking tbody tr[data-project-status=paused]>*{background:var(--color-project-paused-surface)}.youtube-statistics-table--ranking tbody tr[data-project-status=abandoned]>*{background:var(--color-project-abandoned-surface)}.youtube-statistics-table__project{white-space:normal;overflow-wrap:anywhere;min-width:0;line-height:1.4}.youtube-statistics-table__project-heading{align-items:baseline;gap:.45rem;min-width:0;display:flex}.youtube-statistics-table__project-heading strong{font-variant-numeric:tabular-nums;flex:none}.youtube-statistics-table__project a{white-space:normal;overflow-wrap:anywhere;min-width:0;display:inline}.youtube-statistics-table__status{color:var(--color-muted);margin-top:.3rem;font-size:.82rem;font-weight:600;display:block}.youtube-statistics-table__period{white-space:normal}.youtube-statistics-table-scroll:focus-visible,.youtube-statistics-dashboard :focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.youtube-statistics-distribution{gap:.35rem;min-width:7rem;display:grid}.youtube-statistics-distribution__track{background:var(--color-border-soft);border-radius:999px;height:.5rem;display:block;overflow:hidden}.youtube-statistics-distribution__fill{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.youtube-statistics-evolution-chart-wrap,.youtube-statistics-visuals,.youtube-statistics-video-summary,.youtube-statistics-video-summary__preview{min-width:0}.youtube-statistics-evolution-chart-wrap{margin-bottom:1.25rem}.youtube-statistics-evolution-chart{border:1px solid var(--color-border-soft);background:var(--color-subtle);border-radius:.75rem;width:100%;max-width:100%;min-height:12rem;display:block}.youtube-statistics-evolution-chart__axis,.youtube-statistics-evolution-chart__tick{stroke:var(--color-border);stroke-width:2px}.youtube-statistics-evolution-chart__zero{stroke:var(--color-ink-muted);stroke-width:2px;stroke-dasharray:10 7}.youtube-statistics-evolution-chart__series{fill:none;stroke:var(--color-primary);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round}.youtube-statistics-evolution-chart__point{fill:var(--color-primary);stroke:var(--color-surface);stroke-width:3px}.youtube-statistics-evolution-chart__label{fill:var(--color-ink);font-size:1.15rem}.youtube-statistics-chart-note,.youtube-statistics-visuals figure>p{color:var(--color-ink-muted)}.youtube-statistics-visuals{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.youtube-statistics-visuals figure{border:1px solid var(--color-border-soft);background:var(--color-subtle);border-radius:.75rem;min-width:0;margin:0;padding:1rem}.youtube-statistics-visuals h3{margin-top:0}.youtube-statistics-visual-bars{gap:.9rem;padding:0;list-style:none;display:grid}.youtube-statistics-visual-bars li{overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;min-width:0;display:grid}.youtube-statistics-visual-bars__track{border:1px solid var(--color-border);background:var(--color-surface);border-radius:999px;grid-column:1/-1;height:.75rem;display:block;overflow:hidden}.youtube-statistics-visual-bars__track>span{border-radius:inherit;background:var(--color-primary);height:100%;display:block}.youtube-statistics-visual-bars--ranking{counter-reset:none}.youtube-statistics-visual-bars--ranking li{grid-template-columns:auto minmax(0,1fr) auto}.youtube-statistics-video-summary dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));gap:.75rem;margin:0 0 1rem;display:grid}.youtube-statistics-video-summary dl>div{background:var(--color-subtle);overflow-wrap:anywhere;border-radius:.75rem;min-width:0;padding:.85rem}.youtube-statistics-video-summary dd{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:.35rem 0 0;font-weight:750}.youtube-statistics-video-summary__preview{border-inline-start:4px solid var(--color-primary);background:var(--color-subtle);border-radius:.5rem;margin-block:1rem;padding:1rem}.youtube-statistics-video-summary__preview h3{margin-top:0}.youtube-statistics-video-summary__preview pre{white-space:pre-wrap;font:inherit;overflow-wrap:anywhere;margin-bottom:0}.youtube-statistics-range__fields>button,.youtube-statistics-shortcuts>button,.youtube-statistics-video-summary__copy{min-height:2.75rem}.youtube-statistics-dashboard a{align-items:center;max-width:100%;min-height:2.75rem;display:inline-flex}@media (width<=32rem){.youtube-statistics-page,.youtube-statistics-dashboard,.youtube-statistics-section,.youtube-statistics-table-scroll{min-width:0;max-width:100%}.youtube-statistics-table-scroll{overscroll-behavior-inline:contain}.youtube-statistics-table--ranking{min-width:52rem}.youtube-statistics-table--evolution{min-width:46rem}.youtube-statistics-table__col-identity{width:15rem}.youtube-statistics-table__col-period{width:7rem}.youtube-statistics-table__sticky{z-index:auto;position:static;left:auto}.youtube-statistics-table-scroll th,.youtube-statistics-table-scroll td{padding:.55rem}.youtube-statistics-distribution{min-width:6rem}.youtube-statistics-range__fields>.field{flex-basis:100%}.youtube-statistics-range__fields>button,.youtube-statistics-video-summary__copy{width:100%}.youtube-statistics-shortcuts>button{flex:9rem}.youtube-statistics-kpis,.youtube-statistics-project-metrics,.youtube-statistics-video-summary dl{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr))}.youtube-statistics-section{padding:1rem}.youtube-statistics-visual-bars--ranking li{grid-template-columns:auto minmax(0,1fr)}.youtube-statistics-visual-bars--ranking li>:nth-child(3){grid-column:1/-1}}.progress-page__header h1:not(.progress-page__period){margin:0;font-size:1.2rem}.progress-page__period{letter-spacing:-.035em;margin:.4rem 0 0;font-size:clamp(1.8rem,3vw,2.75rem);font-weight:750}.progress-page__header .progress-navigation{gap:.5rem;margin:0}.progress-period-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-block:1rem;font-size:.875rem;display:flex}.progress-period-state{color:var(--color-muted);margin:0}.progress-kpis{background:var(--color-soft);border:0}.progress-kpis+.progress-kpis{background:var(--color-subtle);border:1px solid var(--color-border-soft)}.progress-kpis h2,.progress-kpis h3{margin:0 0 1.25rem;font-size:1rem}.progress-kpis .progress-kpis__values{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:1rem;margin:0}.progress-kpis__values>div:first-child{grid-column:span 2}.progress-kpis dt{color:var(--color-muted);font-size:.8rem}.progress-kpis dd{font-size:1.35rem;line-height:1.25}.progress-kpis__values>div:first-child dd{letter-spacing:-.03em;font-size:clamp(1.75rem,2.5vw,2.5rem);font-weight:800}.progress-wip{border-radius:.75rem;padding:1rem}.progress-wip h3{margin:0;font-size:1rem;line-height:1.35}.progress-wip__status{color:var(--color-muted);margin:.1rem 0 .75rem;font-size:.8rem}.progress-wip dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0}.progress-wip dt{color:var(--color-muted);font-size:.75rem}.progress-wip dd{font-size:.9rem}.progress-wip .progress-wip__progress{border:0;margin:1rem 0 0;padding:0}.progress-wip__progress p{justify-content:space-between;gap:.5rem;margin:0 0 .5rem;font-size:.8rem;display:flex}.progress-wip__progress .project-progress__track{height:.4rem}.progress-most-worked{border-inline-start:5px solid var(--color-primary);background:var(--color-soft);overflow-wrap:anywhere;border-radius:1rem;margin-block:2rem;padding:clamp(1.25rem,3vw,2rem)}.progress-most-worked h2{color:var(--color-muted);margin:0;font-size:1rem}.progress-most-worked__identity{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2rem;display:flex}.progress-most-worked h3{margin-block:.75rem 0;font-size:clamp(1.5rem,2.5vw,2rem)}.progress-most-worked__identity p{margin:0}.progress-most-worked__share{flex:0 12rem;font-size:.85rem}.progress-most-worked__share strong{font-size:2rem}.progress-most-worked__metrics{border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:1rem;margin:1.5rem 0 0;padding-top:1rem;display:grid}.progress-most-worked__metrics dt{color:var(--color-muted);font-size:.8rem}.progress-most-worked__metrics dd{margin:.3rem 0 0;font-size:1.25rem;font-weight:750}.progress-share{font-variant-numeric:tabular-nums;gap:.5rem;min-width:5rem;display:grid}.progress-share__track{background:var(--color-border-soft);border-radius:1rem;height:.35rem;overflow:hidden}.progress-share__track>span{border-radius:inherit;background:var(--color-primary);max-width:100%;height:100%;display:block}.progress-rank{background:var(--color-soft);border-radius:50%;place-items:center;min-width:2rem;min-height:2rem;display:inline-grid}.progress-ranking-table thead{color:var(--color-muted);font-size:.8rem}.progress-ranking-table tbody tr:nth-child(2n){background:var(--color-subtle)}.progress-heatmap-legend li{align-items:center;gap:.4rem;font-size:.85rem;display:flex}.progress-heatmap-swatch{border-radius:.2rem;place-items:center;width:1.5rem;height:1.5rem;display:inline-grid}.progress-heatmap-month{background:var(--color-surface)}.progress-heatmap-text summary{width:fit-content;max-width:100%;color:var(--color-primary-strong);text-underline-offset:.2em;border:0;text-decoration:underline}.progress-heatmap-text ol{max-height:24rem;padding-inline:2rem .75rem;overflow-y:auto}.progress-top-days{grid-template-columns:repeat(auto-fit,minmax(min(100%,11.5rem),1fr))}.progress-top-days>li{background:var(--color-subtle)}.progress-top-days h3{margin:0 0 1rem;font-size:1rem}.progress-top-days__position{background:var(--color-primary);width:2rem;height:2rem;color:var(--color-surface);border-radius:50%;place-items:center;margin-inline-end:.35rem;font-size:1.1rem;display:inline-grid}.progress-top-days .progress-undo-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-top-days .progress-undo-totals>div:last-child{grid-area:1/1/auto/-1}.progress-top-days .progress-undo-totals>div:last-child dd{font-size:1.75rem}.progress-top-days p,.progress-top-days a{font-size:.8rem}.progress-top-days .button-secondary{padding:.5rem}.progress-undo-totals{margin-block:1rem}.progress-undo-totals>div{background:var(--color-subtle);border-radius:.5rem;min-width:0;padding:.8rem}.progress-undo-totals dt{color:var(--color-muted);font-size:.8rem}.progress-undo-totals dd{font-size:1.4rem}.progress-top-days .progress-undo-totals>div,.progress-undo-projects .progress-undo-totals>div{background:0 0;padding:0}.progress-top-days .progress-undo-totals dd,.progress-undo-projects .progress-undo-totals dd{font-size:1rem}.progress-undo-projects{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr))}.progress-undo-projects h4{margin:0}.progress-undo-projects p{color:var(--color-muted);margin:0;font-size:.8rem}.progress-undo-projects .progress-undo-totals{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.progress-evolution-chart{border:1px solid var(--color-border-soft);background:var(--color-surface);border-radius:1rem;margin-block:1rem;padding:1.25rem}.progress-chart-legend{flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:1rem;font-size:.85rem;display:flex}.progress-chart-legend span:before{content:"";background:var(--color-primary);width:.75rem;height:.75rem;margin-inline-end:.4rem;display:inline-block}.progress-chart-legend .progress-chart-legend__gross:before{background:var(--color-intensity-3);border:1px solid var(--color-border)}.progress-evolution-chart__months{grid-template-columns:repeat(12,minmax(0,1fr));gap:.5rem;display:grid}.progress-evolution-chart__month{text-align:center;overflow-wrap:anywhere;border-radius:.5rem;min-width:0;padding:.35rem}.progress-evolution-chart__month[data-selected=true]{background:var(--color-soft);outline:1px solid var(--color-border)}.progress-evolution-chart__month[data-period=future]{border:1px dashed var(--color-border)}.progress-evolution-chart__plot{height:12rem;position:relative}.progress-evolution-chart__positive,.progress-evolution-chart__negative{justify-content:center;gap:.2rem;width:100%;height:50%;display:flex;position:absolute}.progress-evolution-chart__positive{border-bottom:1px solid var(--color-border);align-items:end;top:0}.progress-evolution-chart__negative{align-items:start;top:50%}.progress-evolution-chart__bar{width:35%;max-width:1.25rem}.progress-evolution-chart__bar--net{background:var(--color-primary)}.progress-evolution-chart__bar--gross{background:var(--color-intensity-3);border-inline:1px solid var(--color-border)}.progress-evolution-chart__zero{top:50%;color:var(--color-muted);font-size:.6rem;position:absolute;inset-inline-start:0}.progress-evolution-chart__month>strong{font-size:.8rem}.progress-evolution-chart__value{font-variant-numeric:tabular-nums;margin-top:.5rem;font-size:.8rem;font-weight:700;display:block}.progress-evolution-chart__state{color:var(--color-muted);margin-top:.3rem;font-size:.65rem;display:block}.progress-comparison>h2,.progress-comparison>h3{margin-top:0;font-size:1.1rem}.progress-comparison dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.progress-comparison dt{color:var(--color-muted);font-size:.85rem}.progress-comparison dd{font-size:1.5rem}.progress-comparison__delta,.progress-comparison dl>div:nth-child(4){border-top:1px solid var(--color-border-soft);padding-top:.75rem}.progress-comparison>p{color:var(--color-muted);font-size:.85rem}@media (width<=64rem){.progress-evolution-chart__months{grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem .5rem}}@media (width<=36rem){.progress-page__header .progress-navigation{width:100%}.progress-kpis .progress-kpis__values{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-evolution-chart{padding:.75rem}.progress-evolution-chart__months{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-evolution-chart__plot{height:8rem}.progress-heatmap-months,.progress-top-days{grid-template-columns:minmax(0,1fr)}.progress-undo-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}.month-input,.date-input__entry,.project-picker__control{align-items:center;gap:.5rem;min-width:0;display:flex}.month-input select,.date-input__entry input,.project-picker__control input{flex:1;min-width:0}.month-input input{flex:0 0 5.5rem;width:5.5rem}.date-input__selector{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.date-input__selector>select{width:auto}.app-main>:is(.projects-page,.project-detail-page,.session-history-page,.trash-page,.calendar-page,.annual-page,.progress-page,.youtube-statistics-page,.migration-page){max-width:none}.app-main>:is(.project-create-page,.project-edit-page,.register-session-page,.edit-session-page){width:100%;max-width:52rem;margin-inline:auto}.button-primary:disabled{opacity:1;color:var(--color-surface);background:#527567}.project-management{border-top:1px solid var(--color-border-soft);margin-block:1.5rem;padding-top:1.5rem}.project-management>h2{margin-top:0}.project-progress-analytics>h2{margin-block:0 1.25rem}.project-progress-analytics,.project-progress-analytics>.progress-summary-grid{margin-block-start:1.75rem}.project-statistics-trend{border-inline-start:4px solid var(--color-primary);background:var(--color-surface);border-radius:.5rem;padding:1rem;font-weight:700}.project-progress-analytics .progress-table-scroll td:nth-child(3){font-weight:800}.annual-page__year{margin-block:.75rem;font-size:clamp(2rem,4vw,3rem);font-weight:800}.session-edit-backdrop{z-index:50;padding:1rem}.session-edit-modal{overscroll-behavior:contain;border:1px solid var(--color-border-soft);background:var(--color-surface);width:min(100%,42rem);max-height:calc(100dvh - 2rem);box-shadow:0 1rem 3rem rgb(var(--shadow-rgb) / 20%);border-radius:1rem;padding:clamp(1rem,3vw,2rem);position:relative;overflow-y:auto}.session-edit-modal__close{margin-inline-start:auto;margin-bottom:.75rem;display:flex}.session-edit-modal .edit-session-page{width:100%;min-width:0}.session-edit-modal .edit-session-page h1{margin-top:0;font-size:1.7rem}.session-edit-modal .navigation-prompt-backdrop{z-index:60}.session-edit-modal .edit-session-form{border:0;gap:1rem;margin-top:1rem;padding:0}.session-edit-modal .lede{margin-bottom:1rem;font-size:1rem}.session-edit-modal .project-picker__selected{padding:.65rem}@media (width<=56rem){.session-history-page h1{font-size:clamp(2rem,5vw,3rem)}.session-history-page .session-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.session-history-page .session-filters__actions,.session-history-page .session-filters__error{grid-column:1/-1}}@media (orientation:portrait) and (width<=36rem){html,body,#root,.app-layout{max-width:100%;overflow-x:clip}#root,.app-layout{min-width:0}.app-header{padding-block:.55rem;position:sticky}.app-header__inner{flex-wrap:nowrap}.app-header .brand span{display:none}.app-utilities{flex-basis:auto;margin-left:auto}.app-navigation-dock{z-index:20;max-width:100%;padding:.35rem max(.35rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 -.5rem 1.5rem rgb(var(--shadow-rgb) / 12%);border-bottom:0;display:block;position:fixed;inset:auto 0 0}.app-navigation{overscroll-behavior-inline:contain;scrollbar-width:thin;border-top:0;flex-wrap:nowrap;align-items:stretch;gap:.2rem;width:100%;max-width:100%;padding-top:0;display:flex;overflow:auto hidden}.app-navigation a{text-align:center;flex:0 0 4.6rem;place-items:center;gap:.15rem;min-height:3.5rem;padding:.3rem .25rem;font-size:.68rem;line-height:1.1;display:grid}.app-navigation__icon{font-size:1rem;line-height:1;display:block}.app-main{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.calendar-navigator,.progress-navigation{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.calendar-navigator__month,.progress-navigation__month{grid-column:1/-1;width:100%;min-width:0}.calendar-navigator .button-secondary,.progress-navigation>button{width:100%;min-width:0;padding-inline:.35rem;font-size:.78rem}.month-input{gap:.25rem;width:100%}.month-input select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23173b32' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;background-size:.75rem .5rem;padding-inline:.5rem 1.75rem}.month-input input{text-align:center;flex-basis:4.25rem;width:4.25rem;padding-inline:.35rem}.date-input__entry{grid-template-columns:minmax(8.5rem,1fr) auto;width:100%;display:grid}.date-input__entry input{width:100%;min-width:0;font-size:.9rem}.date-input__entry .button-secondary{white-space:nowrap;min-width:0;padding-inline:.5rem;font-size:.78rem}.project-calendar-section{overscroll-behavior-inline:contain;overflow-x:auto}.project-calendar-grid{width:42rem;min-width:42rem}.calendar-matrix__scroll{overflow:auto hidden}.calendar-matrix tbody tr,.calendar-matrix tfoot tr{grid-template-columns:repeat(7,minmax(4.5rem,1fr));width:max-content;min-width:36rem}.calendar-matrix__cell-button{white-space:nowrap;overflow-wrap:normal;word-break:normal}}.backup-page{gap:1rem;width:100%;min-width:0;display:grid}.backup-page>*,.backup-section,.backup-section>*,.backup-summary,.backup-summary>*{min-width:0}.backup-section{gap:.85rem;display:grid}.backup-section>*{margin-block:0}.backup-section .button-primary,.backup-section .button-secondary,.backup-section .button-danger{justify-self:start}.backup-file-drop{border:1px dashed var(--color-border);background:var(--color-subtle);border-radius:.85rem;gap:.5rem;padding:1rem;display:grid}.backup-file-drop label{font-weight:700}.backup-file-drop input{width:100%;min-width:0;max-width:100%}.backup-file-drop p{color:var(--color-muted);overflow-wrap:anywhere;margin:0}.backup-summary{border-top:1px solid var(--color-border);gap:.75rem;padding-top:.5rem;display:grid}.backup-summary>*{margin-block:0}.backup-summary__table-wrap{min-width:0;max-width:100%;overflow-x:auto}.backup-summary table{border-collapse:collapse;width:100%;min-width:28rem}.backup-summary th,.backup-summary td{border-bottom:1px solid var(--color-border);text-align:left;padding:.65rem}.backup-summary td{font-variant-numeric:tabular-nums}@media (width<=56rem){.backup-page .page-heading{flex-direction:column;align-items:flex-start}.backup-page .page-heading>*{width:100%}}@media (orientation:portrait) and (width<=24rem){.route-panel{padding-inline:1rem}.admin-migrations__lookup{grid-template-columns:minmax(0,1fr)}.admin-migrations__lookup button{grid-area:auto/1}.session-history-page .session-filters{grid-template-columns:minmax(0,1fr)}.session-history-page .session-filters__actions,.session-history-page .session-filters__error{grid-column:auto}}
