@font-face{font-family:Poppins;src:url(/assets/Poppins-Regular-B2YTLo9r.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-SemiBold-DVCj-rhG.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-Bold-CdT-0Mts.ttf)format("truetype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Poppins;src:url(/assets/Poppins-ExtraBold-CQJI8RUG.ttf)format("truetype");font-style:normal;font-weight:800;font-display:swap}:root{color:#172033;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-background:#f3f6fb;--color-surface:#fff;--color-text:#172033;--color-muted:#586174;--color-border:#cbd5e1;--color-primary:#2254b8;--color-secondary:#172033;--color-primary-hover:#183f90;--color-danger:#b42318;--color-danger-background:#fef3f2;--focus-ring:#f59e0b;background:#f3f6fb;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:var(--color-background);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.7}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.application-loading,.authentication-layout,.protected-app-layout,.not-found-layout{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.application-loading{color:var(--color-muted)}.authentication-card,.protected-app-card,.not-found-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:1rem;width:min(100%,28rem);padding:clamp(1.5rem,5vw,2.5rem);box-shadow:0 1rem 3rem #17203314}.product-name{color:var(--color-primary);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,8vw,2.75rem)}.authentication-card>p,.protected-app-card>p,.not-found-card>p{color:var(--color-muted);line-height:1.5}.login-form{gap:1rem;margin-top:2rem;display:grid}.form-field{gap:.45rem;display:grid}.form-field label{font-weight:650}.form-field input{width:100%;min-height:2.85rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.55rem;padding:.65rem .75rem}.form-field input[aria-invalid=true]{border-color:var(--color-danger)}.field-error,.form-error{color:var(--color-danger);margin:0;font-size:.9rem;line-height:1.35}.form-error{background:var(--color-danger-background);border-radius:.55rem;padding:.75rem}.primary-button,.secondary-button{border:0;border-radius:.55rem;min-height:2.85rem;padding:.65rem 1rem;font-weight:700}.primary-button{color:#fff;background:var(--color-primary)}.primary-button:hover:not(:disabled){background:var(--color-primary-hover)}.secondary-button{color:var(--color-primary);background:#e8efff}.account-details{gap:.75rem;margin:1.5rem 0;display:grid}.account-details div{gap:.2rem;display:grid}.account-details dt{color:var(--color-muted)}.account-details dd{margin:0;font-weight:650}@media (width>=48rem){.authentication-card,.protected-app-card,.not-found-card{width:min(100%,32rem)}}.app-shell{min-height:100vh}.app-header{color:#fff;background:var(--color-secondary);justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.75rem max(1rem,50vw - 36rem);display:flex}.app-brand{color:#fff;letter-spacing:-.04em;font-size:1.35rem;font-weight:800;text-decoration:none}.app-navigation,.detail-actions,.form-actions,.dialog-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.app-navigation a,.text-button{color:#fff;background:0 0;border:0;border-radius:.45rem;min-height:2.5rem;padding:.45rem .65rem;font-weight:650;text-decoration:none}.app-navigation a.router-link-active{background:#ffffff29}.transfer-sql-picker,.transfer-file-picker{align-items:center;display:inline-flex;position:relative}.transfer-sql-picker input,.transfer-file-picker input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-error,.app-content{width:min(100% - 2rem,72rem);margin-inline:auto}.app-error{margin-top:1rem}.app-content{min-width:0;padding-block:1.5rem 3rem}.mobile-navigation{display:none}@media (width>=768px){.app-shell{min-height:100vh;padding-left:15rem}.app-header{z-index:6;flex-direction:column;justify-content:flex-start;align-items:stretch;width:15rem;min-height:100vh;padding:1.5rem;position:fixed;inset:0 auto 0 0}.app-navigation{flex-direction:column;align-items:stretch;width:100%;margin-top:1.5rem}.app-navigation a{width:100%}}.page-section{gap:1.5rem;min-width:0;display:grid}.settings-page,.settings-panel,.settings-form{gap:1rem;display:grid}.settings-panel{overflow-wrap:anywhere;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;min-width:0;padding:1.25rem}.settings-category-list{gap:.75rem;display:grid}.settings-category-link{color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;grid-template-columns:1fr auto;align-items:center;gap:.2rem 1rem;padding:1rem 1.1rem;text-decoration:none;display:grid}.settings-category-link:hover,.settings-category-link:focus-visible{border-color:var(--color-primary);outline:none}.settings-category-link strong{font-size:1.05rem}.settings-category-link span{color:var(--color-muted)}.settings-category-link span:last-child{color:var(--color-primary);grid-area:1/2/span 2;font-size:1.5rem}.settings-panel>*,.settings-form>*,.settings-color-grid>*{min-width:0;max-width:100%}.settings-panel h2,.settings-panel p{margin:0}.settings-panel p{color:var(--color-muted)}.settings-panel :is(h2,h3,p,li,dt,dd,legend,label,code){overflow-wrap:anywhere}.settings-panel :is(.primary-button,.secondary-button,.danger-button){white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}.settings-panel .form-field,.settings-panel fieldset,.settings-panel .form-field :is(input,select,textarea){min-width:0;max-width:100%}.sync-failure-details{color:var(--color-text)}.sync-failure-details summary{cursor:pointer;color:var(--color-danger);font-weight:700}.sync-failure-details ol{gap:.75rem;margin:.75rem 0 0;padding-left:1.25rem;display:grid}.sync-failure-details li{gap:.5rem;display:grid}.sync-failure-information{gap:.35rem;margin:0;display:grid}.sync-failure-information div{gap:.1rem;display:grid}.sync-failure-information dt{color:var(--color-muted);font-size:.875rem}.sync-failure-information dd{margin:0}.sync-failure-field-errors{gap:.2rem;margin:0;padding-left:1.25rem;display:grid}.sync-failure-snapshots{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.sync-failure-snapshots section{min-width:0}.sync-failure-snapshots h3{margin:0 0 .35rem;font-size:.9375rem}.sync-failure-snapshots pre{border:1px solid var(--color-border);background:var(--color-background);white-space:pre-wrap;border-radius:.5rem;max-height:20rem;margin:0;padding:.75rem;font:.8125rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.legacy-import-panel :is(ul,ol){min-width:0;max-width:100%;padding-inline-start:1.25rem}.legacy-import-panel fieldset{gap:.65rem;display:grid}.legacy-import-panel fieldset label,.legacy-import-panel>label:not(.secondary-button){align-items:flex-start;gap:.5rem;line-height:1.4;display:flex}.legacy-import-panel fieldset input,.legacy-import-panel>label:not(.secondary-button) input{flex:none;margin-top:.2em}.legacy-import-file-name{word-break:break-word}.legacy-import-panel{gap:1rem;display:grid}.legacy-import-file-actions{gap:.75rem;margin-bottom:.75rem;display:grid}.legacy-import-file-actions .secondary-button{justify-self:start}.settings-color-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.settings-color-grid input[type=color]{min-width:0;max-width:100%;min-height:2.85rem;padding:.25rem}.narrow-page{max-width:52rem}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-heading h1,.page-heading h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.75rem,5vw,2.5rem)}.page-heading p,.project-card p,.empty-state p,.future-feature-note,.confirm-dialog p{color:var(--color-muted);line-height:1.5}.primary-button,.secondary-button,.danger-button,.text-link{justify-content:center;align-items:center;min-height:2.85rem;text-decoration:none;display:inline-flex}.danger-button{color:#fff;background:var(--color-danger);border:0;border-radius:.55rem;min-height:2.85rem;padding:.65rem 1rem;font-weight:700}.text-link{color:var(--color-primary);font-weight:700}.back-link{width:fit-content;color:var(--color-primary);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.work-session-filters,.project-form,.work-session-form,.project-list,.work-session-list,.project-detail-list{gap:1rem;display:grid}.project-list{min-width:0}.project-list-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.filter-toggle{justify-content:flex-end;display:flex}.project-filter-toggle{position:relative}.project-filter-options{z-index:1;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.65rem;gap:.65rem;min-width:15rem;padding:.8rem 1rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 .5rem 1.5rem #1422361f}.project-filter-options .checkbox-label{align-items:center;gap:.45rem;display:flex}.work-session-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)) auto;align-items:end;padding:1rem;display:grid}.filter-toggle-button{width:2.5rem;min-height:2.5rem;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;place-items:center;padding:.5rem;display:inline-grid}.filter-toggle-button:hover{background:#e8efff}.filter-toggle-button svg{fill:currentColor;width:1.25rem;height:1.25rem}.work-session-filters .form-field{min-width:0}.work-session-filters input[type=date]{max-width:100%}.filter-actions{align-items:center;gap:.65rem;min-height:2.85rem;display:flex}.checkbox-label,.radio-label{align-items:center;gap:.55rem;min-height:2.85rem;display:flex}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:2.85rem;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.55rem;padding:.65rem .75rem}.form-field textarea{resize:vertical;min-height:7rem}.form-field-wide{max-width:100%}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.form-grid>.form-field{min-width:0}.project-form input[type=date]{box-sizing:border-box;text-align:left;width:100%;min-width:0;max-width:100%}.project-planning-fields{gap:1rem;display:grid}.project-planning-fields>.form-field>.planning-money-input,.project-planning-fields>.form-field>.time-inputs,.project-planning-fields>.form-field>.project-hourly-rate-row{width:calc(50% - .5rem)}.planning-money-input{min-width:0;display:flex}.planning-money-input>input{border-top-right-radius:0;border-bottom-right-radius:0;min-width:0}.planning-money-input>span{color:var(--color-muted);border:1px solid var(--color-border);white-space:nowrap;background:#edf2f7;border-left:0;border-radius:0 .55rem .55rem 0;flex:none;align-items:center;padding:0 .65rem;font-size:.85rem;font-weight:650;display:flex}.project-hourly-rate-row{align-items:center;gap:.5rem;display:flex}.project-hourly-rate-row>.planning-money-input{flex:auto;min-width:0}.project-hourly-rate-row>.planning-money-input.is-disabled>input,.project-hourly-rate-row>.planning-money-input.is-disabled>span{color:#7a8797;cursor:not-allowed;background:#e6ebf1;border-color:#d6dde5}.project-hourly-rate-toggle{max-width:9.75rem;min-height:0;color:var(--color-muted);flex:none;align-items:center;gap:.35rem;font-size:.78rem;line-height:1.2;display:flex}.project-hourly-rate-toggle input[type=checkbox]{background:initial;border:0;border-radius:0;flex:none;width:.85rem;height:.85rem;min-height:0;margin:0;padding:0}.planning-fieldset,.form-fieldset{border:1px solid var(--color-border);background:#f8faff;border-radius:.75rem;gap:.65rem;margin:0;padding:1rem;display:grid}.planning-fieldset legend,.fieldset-heading{margin:0;padding:0 .25rem;font-weight:750}.optional-label{color:var(--color-muted);font-weight:400}.time-inputs{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.clock-input{align-items:center;gap:.5rem;display:flex}.clock-input input{min-width:0}.clock-input span{color:var(--color-muted);white-space:nowrap}.picker-input{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid;position:relative}.picker-trigger{width:2.75rem;min-height:2.75rem;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.45rem;place-items:center;padding:.5rem;display:inline-grid}.picker-trigger:hover{background:#e8efff}.picker-trigger svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}.time-picker-popover{z-index:2;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.55rem;flex-wrap:wrap;align-items:end;gap:.5rem;width:min(20rem,85vw);padding:.75rem;display:flex;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 .5rem 1.25rem #1720332e}.time-picker-popover label{gap:.25rem;font-size:.82rem;font-weight:700;display:grid}.time-picker-popover select{min-width:4.25rem}.time-picker-popover>span{padding-bottom:.45rem;font-weight:700}.budget-preview,.future-feature-note,.empty-state{background:#edf4ff;border:1px solid #cfe0ff;border-radius:.75rem;padding:1.25rem}.budget-preview h2,.empty-state h2,.confirm-dialog h2{margin-top:0}.budget-preview p{margin-bottom:0;font-weight:650}.page-status{color:var(--color-muted);margin:0}.local-data-status{color:var(--color-muted);background:#edf4ff;border-radius:.55rem;margin:0;padding:.6rem .75rem;font-size:.9rem}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:1rem;min-width:0;padding:1.25rem;display:grid}.work-session-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:1rem;padding:1.25rem;display:grid}.work-session-card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.work-session-card h2{margin:0;font-size:1.2rem}.work-session-card h2 a{color:var(--color-text)}.work-session-card p,.duration-preview,.calculated-value{color:var(--color-muted);margin:0;line-height:1.5}.calculated-value{border:1px solid var(--color-border);background:#f8faff;border-radius:.55rem;padding:.75rem}.project-card-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.project-card-heading>div{min-width:0}.project-card-controls{flex:none;align-items:center;gap:.25rem;display:flex}.project-order-menu{width:fit-content;position:relative;top:.25rem}.project-order-menu summary{width:2.25rem;min-height:2.25rem;color:var(--color-primary);text-align:center;cursor:pointer;padding:0;font-size:1.45rem;line-height:1;list-style:none}.project-order-menu summary::-webkit-details-marker{display:none}.project-order-options{z-index:2;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.55rem;min-width:11rem;padding:.45rem;display:grid;position:absolute;right:0;box-shadow:0 .5rem 1.5rem #1422361f}.project-order-options .text-link{text-align:left;background:0 0;border:0;padding:.55rem}.project-card h2{margin:0;font-size:1.2rem}.project-card h2 a{color:var(--color-text);overflow-wrap:anywhere}.project-card p{margin:.3rem 0 0}.project-worked-time{color:var(--color-muted)}.project-card-actions{flex-wrap:wrap;gap:.65rem;display:flex}.project-card-actions>*{overflow-wrap:anywhere;max-width:100%}.status-badge{color:#174f2f;background:#e7f8ed;border-radius:999px;flex:none;padding:.35rem .55rem;font-size:.85rem;font-weight:750}.status-badge[data-status=paused]{color:#704d00;background:#fff2c7}.status-badge[data-status=completed]{color:#2254b8;background:#e8efff}.project-summary,.project-detail-list{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0}.project-summary div,.project-detail-list div{gap:.25rem;display:grid}.project-summary dt,.project-detail-list dt{color:var(--color-muted);font-size:.86rem}.project-summary dd,.project-detail-list dd{overflow-wrap:anywhere;margin:0;font-weight:650}.project-detail-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:1.25rem}.detail-heading{align-items:center}.project-task-empty{color:var(--color-muted);margin:0}.project-task-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.project-task-list li{border:1px solid var(--color-border);background:#f8faff;border-radius:.55rem;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding:.75rem;display:flex}.project-task-list a{overflow-wrap:anywhere;font-weight:700}.project-task-list span{color:var(--color-muted);font-size:.9rem}.detail-heading>div:first-child{min-width:0}.project-detail-title{overflow-wrap:anywhere;word-break:break-word}.eyebrow{letter-spacing:.06em;text-transform:uppercase;margin:0 0 .3rem;font-size:.85rem;font-weight:750;color:var(--color-primary)!important}.success-message{color:#174f2f;background:#e7f8ed;border-radius:.55rem;margin:0;padding:.75rem}.dialog-backdrop{z-index:10;background:#1720338a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--color-surface);border-radius:.75rem;width:min(100%,30rem);padding:1.5rem;box-shadow:0 1rem 3rem #17203333}.confirm-dialog .form-field+.dialog-actions{margin-top:.75rem}.active-timer-bar{color:#174f2f;background:#e7f8ed;border:1px solid #a9dfba;border-radius:.6rem;width:min(100% - 2rem,72rem);margin:.75rem auto 0;padding:.75rem 1rem;font-weight:700;text-decoration:none;display:block}.project-notes-project-name{color:var(--color-muted);margin:.35rem 0 0}.project-notes-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.5rem;margin-top:1.5rem;display:grid}.project-note-list-column{gap:1rem;min-width:0;display:grid}.project-note-list-actions{justify-content:flex-end;display:flex}.project-note-list-actions .icon-button{width:2.5rem;min-height:2.5rem;color:var(--color-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;place-items:center;padding:.5rem;display:inline-grid}.project-note-list-actions .icon-button:hover{background:#e8efff}.project-note-list-actions .icon-button svg{fill:currentColor;width:1.25rem;height:1.25rem}.project-notes-transfer-actions-bottom{margin-top:1.5rem;padding-top:.5rem}.project-note-transfer-actions{color:var(--color-muted);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;font-size:.9rem;display:flex}.project-note-transfer-actions .detail-actions{gap:.4rem}.project-note-import-dialog{max-height:min(90vh,48rem);overflow-y:auto}.project-note-import-preview{border:1px solid var(--color-border);background:#f8faff;border-radius:.55rem;gap:.75rem;margin-top:1rem;padding:.85rem;display:grid}.project-note-import-preview h3{margin:0}.project-note-import-preview dl{grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:.35rem .75rem;margin:0;display:grid}.project-note-import-preview dt{color:var(--color-muted)}.project-note-import-preview dd{overflow-wrap:anywhere;margin:0}.project-note-search-controls{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:.75rem;padding:1rem;display:grid}.project-note-search-input{align-items:center;gap:.5rem;display:flex}.project-note-search-input input{flex:1;min-width:0}.project-note-search-input .text-link{background:0 0;border:0;flex:none;min-height:2.2rem;padding:.35rem .5rem}.project-note-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.project-note-list,.project-note-editor{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:1rem;padding:1rem;display:grid}.project-note-list-heading,.project-note-editor-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.project-note-list-heading h2,.project-note-editor-heading h2{margin:0;font-size:1.3rem}.project-note-items{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.project-note-list-item{width:100%;color:var(--color-text);text-align:left;border:1px solid var(--color-border);background:#f8faff;border-radius:.55rem;gap:.35rem;padding:.8rem;display:grid}.project-note-list-item:hover,.project-note-list-item.is-selected{border-color:var(--color-primary);background:#e8efff}.project-note-title{overflow-wrap:anywhere;font-weight:750}.project-note-excerpt,.project-note-timestamp,.project-note-result-count,.character-count{color:var(--color-muted);font-size:.87rem;line-height:1.35}.project-note-excerpt{overflow-wrap:anywhere}.project-note-rich-excerpt{max-height:5.5em;display:block;overflow:hidden}.project-note-rich-excerpt>:first-child{margin-top:0}.project-note-rich-excerpt>:last-child{margin-bottom:0}.project-note-rich-excerpt ul,.project-note-rich-excerpt ol{padding-left:1.25rem}.project-note-result-count{margin:0}.character-count{text-align:right;margin:-.15rem 0 0}.project-note-editor-panel{order:-1;gap:1rem;min-width:0;display:grid}.project-note-form{gap:1rem;display:grid}.project-note-editor textarea{min-height:22rem}.project-note-rich-toolbar{flex-wrap:wrap;gap:.5rem;display:flex}.project-note-rich-editor{white-space:pre-wrap;border:1px solid var(--color-border);border-radius:.45rem;outline:none;min-height:22rem;padding:.75rem;overflow-y:auto}.project-note-rich-editor:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3766d626}.project-note-rich-editor ul{margin:.25rem 0;padding-left:1.25rem}.project-note-print-document{display:none}.project-note-print-dialog{width:min(100%,42rem);max-height:min(90vh,48rem);overflow-y:auto}.project-note-print-dialog h2,.project-note-print-preview-list h3{margin-top:0}.project-note-print-browser-hint{background:#edf4ff;border-radius:.55rem;padding:.75rem;line-height:1.45}.project-note-print-options{margin-top:1rem}.project-note-print-preview-list{border:1px solid var(--color-border);background:#f8faff;border-radius:.55rem;gap:.5rem;margin-top:1rem;padding:.9rem;display:grid}.project-note-print-preview-list h3{margin-bottom:0}.project-note-print-preview-list ol{gap:.35rem;margin:0;padding-left:1.4rem;display:grid}.project-note-print-preview-list li{overflow-wrap:anywhere}.pwa-status{color:#173c68;background:#edf5ff;border:1px solid #9cc5ef;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.75rem;width:min(100% - 2rem,72rem);margin:.5rem auto 0;padding:.6rem .75rem;font-size:.9rem;display:flex}.pwa-update-button{color:#fff;background:var(--color-primary);border:1px solid var(--color-primary);border-radius:.45rem;min-height:2.5rem;margin-left:auto;padding:.45rem .85rem;font-weight:750}.pwa-update-button:hover{background:var(--color-primary-hover)}.timer-panel,.recovery-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:1.25rem;padding:clamp(1rem,4vw,2rem);display:grid}.activity-filters,.activity-list,.activity-more{gap:.75rem;display:grid}.activity-filters{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;margin:0;padding:1rem}.activity-filters label{gap:.35rem;max-width:18rem;display:grid}.activity-list{margin:0;padding:0;list-style:none}.activity-item{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:.65rem;padding:1rem}.activity-item p{overflow-wrap:anywhere;margin:0}.activity-category,.activity-meta{color:var(--color-muted);font-size:.9rem}.activity-summary{font-weight:700;margin:.35rem 0!important}.activity-more{justify-items:start}.project-note-images{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:1rem;padding:1rem;display:grid}.project-note-images-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.project-note-images h2,.project-note-images p{margin:0}.project-note-images-heading p,.project-note-image-empty{color:var(--color-muted);font-size:.9rem}.project-note-images input{opacity:0;width:1px;height:1px;position:absolute}.project-note-image-grid{grid-template-columns:repeat(auto-fill,minmax(8rem,1fr));gap:.75rem;display:grid}.project-note-image-thumb{text-align:left;border:1px solid var(--color-border);background:#f8faff;border-radius:.55rem;gap:.35rem;padding:.35rem;display:grid}.project-note-image-thumb img{object-fit:cover;border-radius:.35rem;width:100%;height:7rem}.project-note-image-thumb span{color:var(--color-muted);font-size:.78rem}.project-note-image-dialog{background:var(--color-surface);border-radius:.75rem;width:min(95vw,50rem);max-height:90vh;padding:1rem;overflow:auto}.project-note-image-dialog:fullscreen{border-radius:0;width:100vw;max-height:none}.project-note-image-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.project-note-image-toolbar span{text-align:center;min-width:4rem}.project-note-image-canvas{background:#111;border-radius:.5rem;justify-content:center;align-items:center;min-height:12rem;max-height:70vh;display:flex;overflow:auto}.project-note-image-canvas img{object-fit:contain;transform-origin:50%;max-width:100%;max-height:68vh;margin:auto;transition:transform .15s;display:block}.project-note-image-dialog:fullscreen .project-note-image-canvas{flex:1;max-height:calc(100vh - 12rem)}.project-note-image-dialog:fullscreen .project-note-image-canvas img{max-height:calc(100vh - 14rem)}.timer-panel-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.timer-panel-heading h2{overflow-wrap:anywhere;word-break:break-word;min-width:0;margin:0}.timer-status-badge{white-space:nowrap;flex:none;justify-content:center;align-items:center;min-height:2rem;padding:.25rem .6rem;line-height:1;display:inline-flex}.timer-clock{font-variant-numeric:tabular-nums;letter-spacing:-.06em;margin:0;font-size:clamp(3rem,15vw,6rem);font-weight:800}.timer-duration{color:var(--color-muted);margin:-1rem 0 0}.timer-form,.timer-details{gap:1rem;display:grid}.timer-details{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin:0}.timer-details div{gap:.3rem;display:grid}.timer-details dt{color:var(--color-muted);font-size:.86rem}.timer-details dd{margin:0;font-weight:650}.timer-details input{border:1px solid var(--color-border);border-radius:.45rem;width:100%;min-height:2.5rem;padding:.5rem}.timer-actions{flex-wrap:wrap;gap:.75rem;display:flex}.timer-action{min-width:9rem}.recovery-panel{background:#fff8e5;border-color:#edcf7d}.warning-message{color:#704d00;background:#fff2c7;border-radius:.55rem;margin:0;padding:.75rem}.statistics-filters,.statistics-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:1rem;padding:1rem;display:grid}.preset-fieldset{border:0;margin:0;padding:0}.preset-fieldset legend{margin-bottom:.5rem;font-weight:700}.preset-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.preset-buttons .secondary-button[aria-pressed=true]{color:#fff;background:var(--color-primary)}.custom-period{grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:1rem;display:grid}.statistics-cards{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;display:grid}.statistics-cards article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:.45rem;padding:1rem;display:grid}.statistics-cards span{color:var(--color-muted);font-size:.9rem}.statistics-cards strong{font-variant-numeric:tabular-nums;font-size:1.25rem}.statistics-panel h2{margin:0}.statistics-summary{color:var(--color-muted);margin:0}.bar-list{gap:.65rem;display:grid}.bar-row{grid-template-columns:minmax(6rem,.75fr) minmax(5rem,2fr) minmax(5.5rem,.6fr);align-items:center;gap:.75rem;display:grid}.bar-track,.plan-track{background:#e6ebf2;border-radius:999px;height:1rem;overflow:hidden}.bar-fill,.plan-track span{background:var(--color-primary);border-radius:inherit;height:100%;display:block}.statistics-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.statistics-table caption{text-align:left;color:var(--color-muted);padding:.5rem 0}.statistics-table th,.statistics-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.65rem}.statistics-table th{color:var(--color-muted);font-size:.9rem}.project-share-list{gap:.7rem;margin:0;padding-left:1.4rem;display:grid}.project-share-list li{flex-wrap:wrap;justify-content:space-between;gap:.5rem;display:flex}.project-share-list span{color:var(--color-muted)}.plan-number{margin:0}.plan-number strong{font-size:1.5rem}@media (width<=42rem){.settings-color-grid,.sync-failure-snapshots{grid-template-columns:1fr}.settings-panel .detail-actions>*{flex:100%;width:100%}.work-session-filters,.form-grid,.project-notes-layout,.project-note-filter-grid{grid-template-columns:1fr}.project-planning-fields>.form-field>.planning-money-input,.project-planning-fields>.form-field>.time-inputs,.project-planning-fields>.form-field>.project-hourly-rate-row{width:100%}.project-note-transfer-actions{justify-content:stretch}.project-note-transfer-actions .detail-actions{width:100%}.project-note-transfer-actions .detail-actions>*{flex:12rem}.project-note-editor textarea{min-height:16rem}.project-note-print-dialog{width:100%}.custom-period{grid-template-columns:1fr}.bar-row{grid-template-columns:1fr;gap:.25rem}.statistics-table{white-space:nowrap;display:block;overflow-x:auto}.detail-actions{width:100%}.detail-actions>*{flex:10rem}}@media (width<=767.98px){.app-header,.app-content,.page-section,.page-section>*,.page-heading>*{min-width:0;max-width:100%}.page-section :is(h1,h2,h3,p,a,button,label,legend,dt,dd){overflow-wrap:anywhere}.page-section :is(input,select,textarea){min-width:0;max-width:100%}.app-header{min-height:3.75rem}.app-navigation{display:none}.app-content{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.mobile-navigation{z-index:5;min-height:4.75rem;padding:.35rem max(.75rem, env(safe-area-inset-right)) max(.75rem, calc(.35rem + env(safe-area-inset-bottom))) max(.75rem, env(safe-area-inset-left));background:var(--color-secondary);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -.25rem .8rem #17203333}.mobile-navigation a{color:#fff;text-align:center;border-radius:.45rem;place-items:center;gap:.15rem;min-width:0;padding:.25rem;font-size:.68rem;font-weight:650;line-height:1.15;text-decoration:none;display:grid}.mobile-navigation a>span:first-child{width:1.35rem;height:1.35rem;font-size:0;line-height:1;position:relative}.mobile-navigation a:nth-child(2)>span:first-child,.mobile-navigation a:nth-child(3)>span:first-child{font-size:1.35rem}.mobile-settings-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:100%;height:100%;display:block;overflow:visible}.mobile-navigation a:first-child>span:first-child:before{content:"";background:currentColor;border-radius:.08rem;width:.42rem;height:.42rem;position:absolute;top:.15rem;left:.15rem;box-shadow:.64rem 0,0 .64rem,.64rem .64rem}.mobile-navigation a:nth-child(4)>span:first-child:before{content:"";background:linear-gradient(currentColor 0 0) .23rem .48rem/.25rem .5rem no-repeat,linear-gradient(currentColor 0 0) .68rem .18rem/.25rem .8rem no-repeat;border-bottom:1.8px solid;border-left:1.8px solid;position:absolute;inset:.12rem}.mobile-navigation a.router-link-active{background:#ffffff29}}.kanban-view{gap:1rem;display:grid}.kanban-view>.view-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.kanban-view>.view-header h1{margin:0}.kanban-create-column{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;flex-wrap:wrap;align-items:end;gap:.75rem;padding:1rem;display:flex}.kanban-create-column label{gap:.35rem;display:grid}.kanban-delete-dialog{gap:1rem;display:grid}.kanban-delete-dialog h2,.kanban-delete-dialog p{margin:0}.kanban-columns{grid-auto-columns:minmax(17rem,23rem);grid-auto-flow:column;align-items:start;gap:1rem;padding:.25rem .25rem 1rem;display:grid;overflow-x:auto}.kanban-column{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;gap:.8rem;min-height:16rem;padding:1rem;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:grid}.kanban-column.is-drop-target{border-color:var(--color-primary);background:#edf4ff;transform:translateY(-.2rem);box-shadow:0 .5rem 1.1rem #2868c429}.kanban-column-header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.kanban-column-header h2,.kanban-column-header span{margin:0}.kanban-column-header span,.kanban-column-empty{color:var(--color-muted);font-size:.9rem}.kanban-column-menu-wrap,.kanban-board-menu-wrap{position:relative}.kanban-column-menu-button{min-width:2.25rem;color:inherit;background:0 0;border:0;padding:.2rem .45rem;font-size:1.35rem;line-height:1}.kanban-column-menu-button:hover{background:0 0}.kanban-column-menu-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.kanban-column-actions{z-index:2;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.55rem;min-width:9rem;padding:.15rem .6rem;display:grid;position:absolute;top:calc(100% + .3rem);right:0;box-shadow:0 .5rem 1.2rem #1720332e}.kanban-column-actions button{width:100%;color:inherit;text-align:left;border:0;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;padding:.55rem 0}.kanban-column-actions button:last-child{border-bottom:0}.kanban-column-actions button:hover:not(:disabled){color:var(--color-primary);background:0 0}.kanban-column-actions button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.kanban-board-menu-wrap>.kanban-column-menu-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;min-width:2.5rem;min-height:2.5rem;padding:.25rem .55rem}.kanban-board-menu-wrap>.kanban-column-menu-button:hover{border-color:var(--color-primary);background:#edf4ff}.kanban-card-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.kanban-card{border:1px solid var(--color-border);cursor:grab;background:#f8faff;border-radius:.55rem;align-items:center;min-height:2.1rem;padding:.2rem .65rem;line-height:1.2;transition:opacity .15s,box-shadow .18s,transform .18s;display:flex}.kanban-card:active{cursor:grabbing}.kanban-card.is-dragging{opacity:.72;transform:rotate(1.5deg)scale(.97);box-shadow:0 .65rem 1.25rem #17203333}.kanban-drag-preview{pointer-events:none;position:fixed;top:-1000rem;left:-1000rem;transform:rotate(1.5deg);box-shadow:0 .65rem 1.25rem #17203333}.kanban-card-create{cursor:default;height:auto;padding:.75rem;display:block}.kanban-inline-card-form{gap:.55rem;display:grid}.kanban-inline-card-form input{width:100%}.kanban-inline-card-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.kanban-inline-card-actions .secondary-button{margin-left:auto}.kanban-empty{border:1px dashed var(--color-border);color:var(--color-muted);border-radius:.75rem;margin:0;padding:1rem}@media (prefers-reduced-motion:reduce){.kanban-column,.kanban-card{transition:none}}.kanban-detail{gap:1rem;width:min(100%,48rem);margin:0 auto;display:grid}.kanban-back-link{color:var(--color-primary);justify-self:start;font-weight:650}.kanban-detail-header,.kanban-detail-summary,.kanban-card-edit-form,.kanban-card-move-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:clamp(1rem,3vw,1.5rem)}.kanban-detail-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.kanban-detail-eyebrow,.kanban-panel-heading p{color:var(--color-muted);margin:0;font-size:.9rem}.kanban-detail-header h1,.kanban-panel-heading h2{margin:.2rem 0 0}.kanban-card-badges,.kanban-detail-actions{flex-wrap:wrap;gap:.5rem;display:flex}.kanban-card-badge{color:#173c68;background:#edf4ff;border-radius:999px;padding:.25rem .55rem;font-size:.82rem;font-weight:700}.kanban-detail-summary{gap:1rem;display:grid}.kanban-card-description{margin:0;line-height:1.5}.kanban-card-metadata{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;margin:0;display:grid}.kanban-card-metadata div{min-width:0}.kanban-card-metadata dt{color:var(--color-muted);font-size:.82rem}.kanban-card-metadata dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-weight:650}.kanban-detail-actions{justify-content:flex-end}.kanban-card-edit-form,.kanban-card-move-panel{gap:1rem;display:grid}.kanban-panel-heading{gap:.25rem;display:grid}.kanban-card-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.kanban-card-edit-grid .form-field-wide{grid-column:1/-1}.kanban-card-move-panel{grid-template-columns:minmax(0,1fr) auto;align-items:end}.kanban-card-move-panel .kanban-panel-heading{grid-column:1/-1}.kanban-card-loading{width:min(100% - 2rem,48rem);color:var(--color-muted);margin:2rem auto}@media (width<=42rem){.kanban-detail-header,.kanban-card-move-panel{grid-template-columns:1fr;display:grid}.kanban-card-edit-grid,.kanban-card-metadata{grid-template-columns:1fr}.kanban-detail-actions>*{flex:9rem}}@media print{@page{margin:15mm}body{color:#000;background:#fff;min-width:0}.project-note-screen-content{display:none!important}.project-note-print-document{color:#000;width:100%;font-family:Poppins,ui-sans-serif,sans-serif;display:block!important}.project-note-print-header{break-inside:avoid;page-break-inside:avoid;border-bottom:1px solid #000;margin-bottom:8mm;padding-bottom:5mm}.project-note-print-header h1{margin:0 0 3mm;font-size:21pt}.project-note-print-header p{margin:1.5mm 0;line-height:1.4}.project-note-print-brand{font-size:11pt;font-weight:700;margin:0 0 2mm!important}.project-note-print-note{break-inside:avoid-page;page-break-inside:avoid;border-bottom:1px solid #777;margin:0 0 8mm;padding:0 0 7mm}.project-note-print-note:last-child{border-bottom:0}.project-note-print-note-new-page:not(:first-of-type){break-before:page;page-break-before:always}.project-note-print-note h2{overflow-wrap:anywhere;break-after:avoid;page-break-after:avoid;margin:0 0 4mm;font-size:16pt}.project-note-print-metadata{grid-template-columns:max-content minmax(0,1fr);gap:1.5mm 4mm;margin:0 0 4mm;font-size:9.5pt;display:grid}.project-note-print-metadata dt{font-weight:700}.project-note-print-metadata dd{overflow-wrap:anywhere;margin:0}.project-note-print-content{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;margin:0;line-height:1.45}.project-note-print-conflict{border:1px solid #000;margin:0 0 4mm;padding:3mm;font-weight:700;line-height:1.4}}.project-note-image-canvas img{cursor:grab;touch-action:none}.project-note-image-canvas img.dragging{cursor:grabbing;transition:none}.project-note-image-canvas img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.project-note-image-dialog{overflow:hidden}
