:root{font-family:Segoe UI,sans-serif;color:var(--text-primary);background:var(--page-gradient);color-scheme:light;--panel: var(--surface);--line: var(--border);--accent: var(--accent-link);--accent-soft: var(--accent-background);--danger: var(--danger-text);--primary: var(--text-primary);--muted: var(--text-secondary);--page-background: #edf3f7;--page-gradient: linear-gradient(180deg, #f6f8fb 0%, #edf3f7 100%);--login-page-background: #f8fafc;--surface: #ffffff;--surface-raised: #ffffff;--surface-subtle: #fbfdff;--surface-muted: #fbfcfe;--surface-soft: #f8fbfd;--surface-hover: #f5fbfc;--surface-disabled: #f5f7f9;--control-background: #ffffff;--text-primary: #122033;--text-secondary: #546273;--text-tertiary: #748091;--text-inverse: #ffffff;--border: #d5deea;--border-strong: #a6d4d9;--accent-link: #0b6b74;--accent-link-hover: #0a5a62;--accent-button: #0b6b74;--accent-button-hover: #0a5a62;--accent-background: #d8eff1;--accent-surface: #f3fafb;--accent-border: #a6d4d9;--accent-border-strong: #9fd0d5;--accent-row: #eef7f8;--accent-row-border: #b9dfe4;--accent-progress-end: #2a8f99;--neutral-background: #f4f7fa;--neutral-text: #546273;--neutral-border: #d5deea;--warning-background: #fff4dd;--warning-background-soft: #fff5df;--warning-text: #9a6500;--warning-text-strong: #74520a;--warning-border: #f1d08c;--success-background: #e4f6ea;--success-background-soft: #eef9f1;--success-text: #1e6a38;--success-border: #b8e0c4;--info-background: #e3f1fb;--info-background-soft: #f3f9fd;--info-text: #185a87;--info-border: #b8d5ea;--danger-text: #9c2f2f;--danger-text-strong: #6f1f1f;--danger-hover: #7f2323;--danger-background: #fff6f6;--danger-background-soft: rgba(156, 47, 47, .06);--danger-border: #e6b7b7;--template-current-background: #fff0cf;--template-current-text: #74520a;--template-added-background: #dcecff;--template-added-text: #164f89;--calendar-background: #fdfefe;--calendar-empty-background: #fbfcfe;--calendar-incomplete-background: #fff3d8;--calendar-complete-background: #ddf2e5;--calendar-over-background: #d8eef8;--calendar-chip-background: rgba(18, 32, 51, .07);--calendar-today-background: #edf7fa;--calendar-hover-background: #eef6fb;--topbar-gradient: linear-gradient(135deg, #0a4b57 0%, #0e6977 48%, #118192 100%);--avatar-gradient: linear-gradient(135deg, #0b6b74 0%, #2d8d97 100%);--topbar-border: rgba(255, 255, 255, .1);--topbar-focus: rgba(255, 255, 255, .9);--topbar-muted: rgba(255, 255, 255, .76);--topbar-control: rgba(255, 255, 255, .12);--topbar-control-border: rgba(255, 255, 255, .22);--topbar-control-hover: rgba(255, 255, 255, .18);--topbar-user-control: rgba(255, 255, 255, .14);--topbar-user-hover: rgba(255, 255, 255, .2);--star-inactive: #c8d3df;--star-hover: #88a3bd;--switch-track: #d7e0ea;--progress-track: #e7eef5;--chart-track: #edf2f7;--chart-pmo-start: #0b6b74;--chart-pmo-end: #1593a1;--chart-non-pmo-start: #f2a65a;--chart-non-pmo-end: #e07a2f;--source-clockify-background: #fff1df;--source-clockify-text: #9a5a0a;--source-timetracker-background: #e3f4f6;--overlay-modal: rgba(11, 18, 24, .48);--overlay-menu: rgba(11, 18, 24, .18);--overlay-drawer: rgba(11, 18, 24, .24);--shadow-panel: 0 12px 32px rgba(16, 35, 52, .06);--shadow-login: 0 18px 40px rgba(18, 32, 51, .08);--shadow-modal: 0 24px 80px rgba(8, 20, 33, .22);--shadow-drawer: -12px 0 40px rgba(8, 20, 33, .18);--shadow-floating: 0 14px 36px rgba(9, 28, 42, .18);--shadow-thumb: 0 1px 4px rgba(16, 35, 52, .18);--focus-ring: rgba(11, 107, 116, .35);--spinner-border: rgba(255, 255, 255, .35)}:root[data-theme=dark]{color-scheme:dark;--page-background: #0b1219;--page-gradient: linear-gradient(180deg, #101923 0%, #0b1219 100%);--login-page-background: #0d151e;--surface: #17222e;--surface-raised: #1b2836;--surface-subtle: #1a2633;--surface-muted: #121c27;--surface-soft: #1e2b39;--surface-hover: #223443;--surface-disabled: #18222d;--control-background: #111b25;--text-primary: #edf5f7;--text-secondary: #b9c7d1;--text-tertiary: #93a6b5;--text-inverse: #ffffff;--border: #34495c;--border-strong: #507080;--accent-link: #69cbd2;--accent-link-hover: #91e2e7;--accent-button: #116e78;--accent-button-hover: #0d5e67;--accent-background: #173b41;--accent-surface: #17333a;--accent-border: #2f6871;--accent-border-strong: #43818a;--accent-row: #19363d;--accent-row-border: #2d6570;--accent-progress-end: #2aa5af;--neutral-background: #202c38;--neutral-text: #c0ccd5;--neutral-border: #425466;--warning-background: #3a2c13;--warning-background-soft: #332916;--warning-text: #ffd486;--warning-text-strong: #ffe0a3;--warning-border: #73561e;--success-background: #173725;--success-background-soft: #193a28;--success-text: #9de4b4;--success-border: #376d49;--info-background: #172f45;--info-background-soft: #193448;--info-text: #a8d5f5;--info-border: #3a607c;--danger-text: #ff9c9c;--danger-text-strong: #ffc0c0;--danger-hover: #ffc0c0;--danger-background: #3a1e22;--danger-background-soft: rgba(255, 128, 128, .09);--danger-border: #754049;--template-current-background: #3a2b12;--template-current-text: #f7cf7b;--template-added-background: #172f4a;--template-added-text: #acd4ff;--calendar-background: #182430;--calendar-empty-background: #141e29;--calendar-incomplete-background: #392d16;--calendar-complete-background: #193625;--calendar-over-background: #173448;--calendar-chip-background: rgba(255, 255, 255, .08);--calendar-today-background: #193941;--calendar-hover-background: #203846;--topbar-gradient: linear-gradient(135deg, #073b45 0%, #0a5662 48%, #0e6874 100%);--avatar-gradient: linear-gradient(135deg, #116e78 0%, #2b929c 100%);--star-inactive: #60758a;--star-hover: #9aafc1;--switch-track: #4a5c6c;--progress-track: #263746;--chart-track: #273746;--chart-pmo-start: #2aa7b1;--chart-pmo-end: #62d2da;--chart-non-pmo-start: #f2a65a;--chart-non-pmo-end: #e07a2f;--source-clockify-background: #3b2b18;--source-clockify-text: #ffc879;--source-timetracker-background: #18383c;--overlay-modal: rgba(0, 0, 0, .68);--overlay-menu: rgba(0, 0, 0, .48);--overlay-drawer: rgba(0, 0, 0, .58);--shadow-panel: 0 12px 32px rgba(0, 0, 0, .22);--shadow-login: 0 18px 48px rgba(0, 0, 0, .38);--shadow-modal: 0 24px 80px rgba(0, 0, 0, .55);--shadow-drawer: -12px 0 40px rgba(0, 0, 0, .42);--shadow-floating: 0 14px 36px rgba(0, 0, 0, .38);--shadow-thumb: 0 1px 4px rgba(0, 0, 0, .4);--focus-ring: rgba(105, 203, 210, .5)}html{scrollbar-gutter:stable;scrollbar-color:var(--border-strong) var(--surface-muted);min-height:100%;background:var(--page-background)}body{margin:0;min-height:100vh;color:var(--text-primary);background:var(--page-gradient)}.shell{max-width:1200px;margin:0 auto;padding:24px}.app-shell{display:grid;gap:18px}.app-topbar.panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:var(--topbar-gradient);border-color:var(--topbar-border)}.app-brand{display:inline-flex;align-items:center;gap:16px;min-width:0}.app-brand-button{padding:0;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer}.app-brand-button:hover{opacity:.96}.app-brand-button:focus-visible{outline:2px solid var(--topbar-focus);outline-offset:4px;border-radius:12px}.app-brand-logo{display:block;width:132px;max-width:min(36vw,132px);height:auto}.app-brand-kicker{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.app-brand-copy{display:grid;gap:4px}.app-brand-title-image{display:block;width:190px;max-width:min(48vw,190px);height:auto}.app-brand-copy .muted{color:var(--topbar-muted)}.app-topbar .nav-link{background:var(--topbar-control);border-color:var(--topbar-control-border);color:var(--text-inverse)}.app-topbar .nav-link:hover{background:var(--topbar-control-hover)}.user-trigger{display:inline-flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:var(--topbar-user-control);color:var(--text-inverse);border-color:var(--topbar-control-hover)}.user-trigger:hover{background:var(--topbar-user-hover)}.user-trigger-avatar,.user-menu-avatar{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--avatar-gradient);color:var(--text-inverse);font-weight:700;letter-spacing:.04em}.user-trigger-meta{display:grid;gap:2px;text-align:left}.user-trigger-meta strong,.user-trigger-meta small{display:block}.user-trigger-meta small{color:var(--topbar-muted)}.topbar-actions{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.app-layout{display:grid;grid-template-columns:320px minmax(0,1fr);gap:18px;align-items:start}.sidebar{display:grid;gap:16px;position:sticky;top:16px}.content{min-width:0}.grid{display:grid;gap:16px}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:var(--shadow-panel);min-width:0}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.split-header{justify-content:space-between;align-items:start}.inset-panel{background:var(--surface-subtle);border-style:dashed;box-shadow:none}table{width:100%;border-collapse:collapse}table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.fc table{display:table;overflow:visible;-webkit-overflow-scrolling:auto}th,td{border-bottom:1px solid var(--line);text-align:left;padding:10px 8px;vertical-align:top}tr.selected-row{background:var(--accent-row)}input,select,button,textarea{font:inherit;border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-sizing:border-box}input,select,textarea{color:var(--text-primary);background:var(--control-background)}input::placeholder,textarea::placeholder{color:var(--text-tertiary);opacity:1}input:disabled,select:disabled,textarea:disabled{color:var(--text-tertiary);background:var(--surface-disabled);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--accent-button)}input:focus-visible,select:focus-visible,button:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}option,optgroup{color:var(--text-primary);background:var(--control-background)}button{background:var(--accent-button);color:var(--text-inverse);cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button.secondary{background:var(--surface-raised);color:var(--accent)}button.secondary:hover:not(:disabled){background:var(--accent-surface);color:var(--accent-link-hover)}.nav-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:inherit;border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--accent);background:var(--surface-raised)}.catalog-link{color:var(--accent);text-decoration:none;font-weight:600;align-self:flex-start;margin-top:4px}.page-actions{justify-content:flex-end}.catalog-link:hover{text-decoration:underline}.admin-link{border-color:var(--accent-border);background:var(--accent-surface);font-weight:600}.admin-link.compact{padding:8px 12px}.star-toggle{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1;padding:0;border:0;background:transparent;color:var(--star-inactive);box-shadow:none;margin-left:4px;margin-right:2px}.star-toggle.is-active{color:var(--accent)}.star-toggle:hover{color:var(--star-hover);background:transparent}.star-toggle.is-active:hover{color:var(--accent-link-hover)}.stacked-field{display:grid;gap:6px}.checkbox-field{display:inline-flex;align-items:center;gap:8px}.task-select-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px}.task-select-wrap .star-toggle{margin:0}small.muted,.muted{color:var(--text-secondary)}.summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.summary strong{display:block;font-size:1.2rem}.sidebar-metrics{display:grid;gap:12px}.sidebar-metrics.compact{gap:10px}.sidebar-metrics strong{display:block;font-size:1.05rem}.quick-list{display:grid;gap:10px}.quick-action{display:grid;gap:4px;justify-items:start;text-align:left;width:100%}.quick-action span{color:inherit;opacity:.9}.favorite-task-group{display:grid;gap:6px}.favorite-task-project{display:grid;gap:2px}.favorite-task-project strong{font-size:.82rem;line-height:1.2}.favorite-task-project span{font-size:.9rem;line-height:1.25;color:inherit}.favorite-task-list{display:grid;gap:6px}.favorite-task-action{padding-left:14px}.selected-project-banner{display:grid;gap:4px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}.selected-project-banner strong{line-height:1.3}.day-detail-header{margin-bottom:12px}.day-detail-header h3{margin:0}.day-detail-summary{display:grid;justify-items:end;gap:6px}.day-detail-metrics{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:6px;flex-wrap:wrap}.day-detail-total{color:var(--accent);font-size:.98rem}.day-status-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.82rem;font-weight:700;border:1px solid transparent}.day-status-badge.is-empty{background:var(--neutral-background);color:var(--neutral-text);border-color:var(--neutral-border)}.day-status-badge.is-incomplete{background:var(--warning-background);color:var(--warning-text);border-color:var(--warning-border)}.day-status-badge.is-complete{background:var(--success-background);color:var(--success-text);border-color:var(--success-border)}.day-status-badge.is-over{background:var(--info-background);color:var(--info-text);border-color:var(--info-border)}.quality-metrics{display:grid;gap:10px}.quality-card{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}.quality-card strong{font-size:1.05rem}.entry-toolbar{align-items:flex-start}.weekly-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.weekly-nav{gap:6px}.weekly-toolbar-meta{justify-content:flex-end}.weekly-list-actions{display:flex;justify-content:flex-end;margin-top:12px;gap:10px;flex-wrap:wrap}.weekly-add-row-button{font-size:1.4rem}.weekly-project-cell{min-width:220px}.weekly-draft-meta{display:grid;gap:8px;min-width:220px}.weekly-row-select{width:100%;min-width:0;background:var(--control-background)}.weekly-hour-cell{min-width:84px}.weekly-hour-stack{display:flex;align-items:center;gap:4px}.weekly-hours-input{width:64px;min-width:64px;padding:7px 8px;text-align:center}.weekly-detail-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--accent);box-shadow:none;font-size:.9rem}.weekly-detail-icon:hover{background:transparent;color:var(--accent-link-hover)}.icon-ghost-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--accent);box-shadow:none;font-size:1.5rem}.icon-ghost-button:hover{background:transparent;color:var(--accent-link-hover)}.icon-text-button{display:inline-flex;align-items:center;gap:8px}.danger-outline{color:var(--danger);border-color:var(--danger-border)}.template-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;align-items:start}.template-list-panel{position:sticky;top:16px}.template-list{display:grid;gap:8px}.template-list-item{width:100%;display:grid;gap:4px;text-align:left;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--line);border-radius:10px}.template-list-item span{color:var(--text-tertiary);font-size:.9rem}.template-list-item.is-active{background:var(--accent-soft);border-color:var(--accent-border-strong)}.template-form-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.3fr);gap:14px;margin:18px 0}.template-form-grid label{display:grid;gap:6px}.template-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.template-items-table{min-width:860px}.template-items-table select,.template-items-table input{width:100%}.template-hours-input{width:88px;min-width:88px;text-align:center}.template-comment-row td{padding-top:0;border-top:0}.template-row-detail{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr);gap:10px}.template-apply-list{display:grid;gap:8px;margin:12px 0}.template-apply-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-subtle)}.template-apply-option input{width:18px;height:18px;padding:0}.template-preview-grid{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:8px;margin-top:12px}.template-preview-day{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft)}.template-preview-breakdown{overflow-x:auto;margin-top:12px}.template-preview-breakdown table{min-width:760px}.template-preview-cell{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}.template-preview-hours{min-width:52px;padding:4px 7px;border-radius:6px;font-weight:700;text-align:center}.template-preview-hours.is-current{background:var(--template-current-background);color:var(--template-current-text)}.template-preview-hours.is-template{background:var(--template-added-background);color:var(--template-added-text)}.template-warning-list{display:grid;gap:6px;margin-top:12px;padding-left:18px;color:var(--danger)}.entry-grid{display:grid;grid-template-columns:150px minmax(320px,1.5fr) 36px 36px minmax(180px,1fr) 90px minmax(220px,1fr) auto;gap:12px;align-items:center}.entry-grid.primary-row{grid-template-columns:150px minmax(280px,.92fr) auto}.entry-grid.secondary-row{grid-template-columns:minmax(220px,1fr) 100px minmax(280px,1fr) auto;margin-top:12px}.project-search-wrap{position:relative;min-width:0;max-width:none;margin-right:6px;width:100%;box-sizing:border-box}.project-search-input{width:100%;min-width:0;box-sizing:border-box}.project-inline-actions{display:inline-flex;align-items:center;gap:2px;justify-self:start}.date-field,.task-select,.hours-field,.comment-field{min-width:0}.icon-action{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:var(--surface-raised);color:var(--accent);box-shadow:none}.icon-action:hover{background:var(--accent-surface)}.saving-button{display:inline-flex;align-items:center;gap:8px}.icon-primary-button,.icon-close-button{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:10px}.icon-primary-button{font-size:1rem}.icon-close-button{background:var(--surface-raised);color:var(--text-secondary)}.icon-close-button:hover{background:var(--surface-hover);color:var(--text-primary)}.button-spinner{width:14px;height:14px;border-radius:999px;border:2px solid var(--spinner-border);border-top-color:var(--text-inverse);animation:spin .8s linear infinite}.compact-actions{gap:8px}.inline-icon-action{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--accent);box-shadow:none;font-size:1rem}.inline-icon-action:hover{background:transparent;color:var(--accent-link-hover)}.inline-icon-action:disabled{opacity:.45;cursor:default}.danger-action{color:var(--danger)}.danger-action:hover{color:var(--danger-hover)}.create-action{font-size:1.2rem}.catalog-create-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.operation-import-button{display:inline-flex;align-items:center;gap:10px}.operation-progress{margin-top:16px;width:100%;height:8px;border-radius:999px;background:var(--progress-track);overflow:hidden}.operation-progress-bar{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--accent-button) 0%,var(--accent-progress-end) 100%);transition:width .25s ease}.operation-progress-bar.active{box-shadow:0 0 0 1px var(--focus-ring)}.operation-result{display:grid;gap:4px;margin-top:14px;padding:12px 14px;border:1px solid var(--info-border);border-radius:12px;background:var(--info-background-soft)}.operation-status{display:grid;gap:4px;margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-subtle)}.operation-error{display:grid;gap:8px;padding:14px 16px;border:1px solid var(--danger-border);border-radius:12px;background:var(--danger-background);color:var(--danger)}.operation-error-detail{margin:0;padding:10px 12px;border-radius:10px;background:var(--danger-background-soft);color:var(--danger-text-strong);white-space:pre-wrap;word-break:break-word;overflow-x:auto}.main-entry-panel{min-height:420px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-weekday{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;padding:4px 6px}.calendar-cell{min-height:118px;border:1px solid var(--line);border-radius:14px;padding:10px;background:var(--calendar-background);cursor:pointer}.calendar-cell.is-muted{opacity:.42}.calendar-cell.is-empty{background:var(--calendar-empty-background)}.calendar-cell.is-incomplete{background:var(--calendar-incomplete-background)}.calendar-cell.is-complete{background:var(--calendar-complete-background)}.calendar-cell.is-over{background:var(--calendar-over-background)}.calendar-cell-header{display:flex;justify-content:space-between;align-items:start;gap:8px;margin-bottom:10px}.calendar-hours{font-size:1.2rem;font-weight:700}.calendar-count{font-size:.8rem;color:var(--text-secondary)}.calendar-projects{display:flex;flex-direction:column;gap:6px}.calendar-project-chip{font-size:.8rem;padding:4px 7px;border-radius:999px;background:var(--calendar-chip-background);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-backdrop{position:fixed;inset:0;background:var(--overlay-modal);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.user-menu-backdrop{position:fixed;inset:0;background:var(--overlay-menu);z-index:45}.user-menu-panel{position:fixed;top:86px;right:max(24px,calc((100vw - 1200px)/2 + 24px));width:min(360px,calc(100vw - 32px));padding:18px;display:grid;gap:16px;z-index:46}.user-menu-header{display:flex;align-items:center;gap:12px}.user-menu-header h2{margin:0 0 4px;font-size:1rem}.user-menu-header p{margin:0}.user-menu-details{display:grid;gap:6px}.user-menu-details strong,.user-menu-details span{line-height:1.3;word-break:break-word}.user-menu-appearance{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--line)}.user-menu-appearance>strong{font-size:.86rem;color:var(--text-secondary)}.theme-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface-muted)}.theme-option{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;border-color:transparent;background:transparent;color:var(--text-secondary);box-shadow:none}.theme-option:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.theme-option.is-active,.theme-option.is-active:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-background);color:var(--accent-link)}.user-menu-links{display:grid;gap:8px}.user-menu-links .nav-link{width:100%;box-sizing:border-box}.user-menu-logout{width:100%;display:inline-flex;align-items:center;gap:10px;justify-content:center}.modal-panel{width:min(960px,100%);max-height:90vh;overflow:auto;background:var(--surface-raised);border-radius:18px;border:1px solid var(--line);box-shadow:var(--shadow-modal);padding:20px}.confirm-modal{width:min(460px,calc(100% - 32px));min-height:auto}.tabs{display:flex;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:18px}.entry-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;width:100%;justify-content:space-between}.entry-actions-left,.entry-actions-right{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.entry-actions-left{justify-content:flex-start;flex:1;min-width:0}.entry-actions-right{justify-content:flex-end;flex:0 0 220px}.entry-tabs{margin-bottom:0}.weekend-switch{margin-left:0;margin-right:0;display:inline-flex;align-items:center;gap:10px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-self:center}.weekend-switch-placeholder{width:220px;min-width:220px;height:24px}.weekend-switch-label{font-size:.92rem}.weekend-switch input{position:absolute;opacity:0;pointer-events:none}.weekend-switch-track{width:44px;height:24px;border-radius:999px;background:var(--switch-track);position:relative;transition:background-color .18s ease;flex-shrink:0}.weekend-switch-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:var(--surface-raised);box-shadow:var(--shadow-thumb);transition:transform .18s ease}.weekend-switch input:checked+.weekend-switch-track{background:var(--accent)}.weekend-switch input:checked+.weekend-switch-track .weekend-switch-thumb{transform:translate(20px)}.tab-button{background:transparent;color:var(--text-secondary);border:1px solid transparent;padding:10px 14px}.tab-button.is-active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-border)}.dropdown-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;max-height:280px;overflow:auto;z-index:20}.dropdown-group-label{padding:10px 12px 6px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface-subtle)}.dropdown-separator{height:1px;margin:4px 12px;background:var(--line)}.dropdown-option{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 12px}.dropdown-meta{font-size:.85rem}.fc{--fc-border-color: var(--line);--fc-page-bg-color: transparent;--fc-neutral-bg-color: var(--surface-subtle);--fc-list-event-hover-bg-color: var(--calendar-hover-background);--fc-today-bg-color: var(--calendar-today-background);--fc-neutral-text-color: var(--text-secondary);--fc-event-text-color: var(--text-inverse)}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:var(--text-primary)}.fc .fc-toolbar-title{font-size:1.1rem}.fc .fc-button{background:var(--accent-button);border-color:var(--accent-button);box-shadow:none}.fc .fc-button:hover,.fc .fc-button:focus,.fc .fc-button-primary:not(:disabled).fc-button-active{background:var(--accent-button-hover);border-color:var(--accent-button-hover)}.fc .fc-prevIcon-button,.fc .fc-todayIcon-button,.fc .fc-nextIcon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;color:var(--accent);box-shadow:none;font-size:1.5rem}.fc .fc-prevIcon-button:hover,.fc .fc-prevIcon-button:focus,.fc .fc-todayIcon-button:hover,.fc .fc-todayIcon-button:focus,.fc .fc-nextIcon-button:hover,.fc .fc-nextIcon-button:focus{background:transparent;color:var(--accent-link-hover)}.fc .fc-daygrid-day{border-radius:10px}.fc .fc-day-empty{background:var(--calendar-empty-background)}.fc .fc-day-incomplete{background:var(--warning-background-soft)}.fc .fc-day-complete{background:var(--success-background)}.fc .fc-day-over{background:var(--info-background)}.fc .fc-hours-event{display:flex;flex-direction:column;gap:2px;white-space:normal}.fc .fc-hours-event strong{font-size:.85rem}.fc .fc-hours-event span{font-size:.75rem;opacity:.85}.feedback-launcher{position:fixed;right:20px;bottom:20px;z-index:40;width:52px;height:52px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid var(--accent-border-strong);background:var(--surface-raised);color:var(--accent);box-shadow:var(--shadow-floating)}.feedback-launcher:hover{color:var(--accent-link-hover);border-color:var(--accent-border-strong);background:var(--surface-hover)}.feedback-drawer-backdrop{position:fixed;inset:0;background:var(--overlay-drawer);z-index:40}.feedback-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--surface-raised);border-left:1px solid var(--line);box-shadow:var(--shadow-drawer);z-index:41;display:grid;grid-template-rows:auto 1fr auto}.feedback-drawer-header,.feedback-drawer-footer{padding:18px 20px;border-bottom:1px solid var(--line)}.feedback-drawer-footer{border-bottom:0;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}.feedback-drawer-body{padding:18px 20px;overflow-y:auto;display:grid;gap:16px;align-content:start}.feedback-meta{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);font-size:.94rem}.feedback-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.feedback-category-button{background:var(--surface-raised);color:var(--text-secondary);border:1px solid var(--line);font-weight:600}.feedback-category-button.is-active{background:var(--accent-button);color:var(--text-inverse);border-color:var(--accent-button)}.feedback-textarea{min-height:180px;resize:vertical}.feedback-message{padding:12px 14px;border-radius:12px;font-size:.94rem}.feedback-message.error{background:var(--danger-background);border:1px solid var(--danger-border);color:var(--danger)}.feedback-message.success{background:var(--success-background-soft);border:1px solid var(--success-border);color:var(--success-text)}.report-filter-grid{display:grid;grid-template-columns:minmax(140px,180px) minmax(260px,2fr) minmax(170px,220px) minmax(220px,260px) auto;gap:14px;align-items:end}.report-filter-grid:has(.report-date-range){grid-template-columns:minmax(140px,180px) minmax(260px,1.4fr) minmax(320px,420px) auto}.report-filter-action{align-self:end}.report-user-select{width:100%;min-width:0}.report-switch-field{min-width:0}.report-week-switch{margin:0;justify-content:space-between}.report-slider-wrap{display:grid;gap:8px}.report-slider-wrap input[type=range]{padding:0}.report-range-field{min-width:0}.report-date-range{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-date-field{gap:4px}.report-date-field span{font-size:.82rem;color:var(--text-secondary)}.report-date-field input{width:100%;min-width:0}.report-summary-grid{align-items:stretch}.report-calendar{display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));gap:8px;overflow-x:auto;padding-bottom:4px}.report-calendar-weekday{color:var(--text-secondary);font-size:.78rem;font-weight:700;padding:0 8px 2px;text-transform:uppercase}.report-calendar-day{min-height:132px;border:1px solid var(--line);border-radius:8px;background:var(--calendar-empty-background);padding:10px;display:grid;align-content:start;gap:8px}.report-calendar-day.has-hours{background:var(--accent-row);border-color:var(--accent-row-border)}.report-calendar-day.is-outside-range{background:var(--surface-disabled);color:var(--text-tertiary);opacity:.72}.report-calendar-day.is-today{box-shadow:inset 0 0 0 2px var(--accent)}.report-calendar-day-header{display:flex;align-items:start;justify-content:space-between;gap:8px;min-width:0}.report-calendar-day-header strong{font-size:.92rem}.report-calendar-day-header span{border-radius:999px;background:var(--template-added-background);color:var(--template-added-text);font-size:.72rem;font-weight:700;padding:2px 7px}.report-calendar-total{color:var(--text-primary);font-size:1.2rem;font-weight:800}.report-calendar-breakdown{display:grid;gap:4px;color:var(--text-secondary);font-size:.78rem;line-height:1.25}.report-calendar-empty{color:var(--text-tertiary);font-size:.8rem}.report-charts-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:16px}.report-pie-layout{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;align-items:center}.report-pie-chart{width:150px;height:150px;justify-self:center}.report-pie-base,.report-pie-pmo{fill:none;stroke-width:20}.report-pie-base{stroke:var(--chart-non-pmo-end)}.report-pie-pmo{stroke:var(--chart-pmo-start);transform:rotate(-90deg);transform-origin:50% 50%;stroke-linecap:butt}.report-legend-item{display:flex;align-items:center;gap:10px}.report-legend-swatch{width:14px;height:14px;border-radius:999px;flex-shrink:0}.report-legend-swatch.is-pmo,.report-column-segment.is-pmo{background:linear-gradient(90deg,var(--chart-pmo-start) 0%,var(--chart-pmo-end) 100%)}.report-legend-swatch.is-non-pmo,.report-column-segment.is-non-pmo{background:linear-gradient(90deg,var(--chart-non-pmo-start) 0%,var(--chart-non-pmo-end) 100%)}.report-bars-vertical{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:16px;align-items:end}.report-column-card{display:grid;gap:10px;align-items:end}.report-bar-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.report-bar-meta-column{flex-direction:column;align-items:center;justify-content:center;gap:2px}.report-column-track{display:flex;flex-direction:column-reverse;justify-content:flex-start;width:100%;height:192px;overflow:hidden;border-radius:18px 18px 10px 10px;background:var(--chart-track);border:1px solid var(--line);box-shadow:inset 0 0 0 1px var(--calendar-chip-background)}.report-column-segment{width:100%;min-height:0}.report-column-segment.is-pmo{background:linear-gradient(180deg,var(--chart-pmo-start) 0%,var(--chart-pmo-end) 100%)}.report-column-segment.is-non-pmo{background:linear-gradient(180deg,var(--chart-non-pmo-start) 0%,var(--chart-non-pmo-end) 100%)}.report-bar-detail{display:flex;justify-content:space-between;gap:12px;font-size:.88rem}.report-bar-detail-column{display:grid;gap:4px}.report-column-label{text-align:center;line-height:1.3}.report-table-caption{margin-bottom:12px}.report-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.report-table{min-width:100%}.report-table-projects{min-width:max-content}.report-export-action{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;align-self:center;margin-top:0}.report-header-row{align-items:center}.report-print-only{display:none}.report-print-meta{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(180px,1fr))}.report-print-meta strong{grid-column:1 / -1}.project-report-header{align-items:center}.project-report-status{display:grid;gap:4px;justify-items:end;padding:10px 12px;border:1px solid transparent;border-radius:12px;background:var(--accent-surface);color:var(--accent)}.project-report-status span{color:var(--text-secondary);font-size:.9rem}.project-report-filter-grid{display:grid;grid-template-columns:minmax(300px,1.6fr) minmax(140px,180px) minmax(140px,180px) minmax(230px,auto) auto;gap:14px;align-items:end}.project-report-filter-grid select,.project-report-filter-grid input{width:100%;min-width:0}.project-report-filter-grid input[type=checkbox]{width:auto}.team-responsible-hours-field .checkbox-field{min-height:40px}.project-report-filter-grid button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.project-report-switch{align-self:center;margin-bottom:8px}.project-report-summary{margin-top:16px}.project-report-progress{height:10px;margin-top:16px;border-radius:999px;overflow:hidden;border:1px solid var(--line);background:var(--progress-track)}.project-report-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--chart-pmo-start) 0%,var(--chart-pmo-end) 100%)}.team-form-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1.4fr) auto;gap:14px;align-items:end}.team-create-panel{display:grid;gap:16px}.team-section-header{gap:16px}.team-filter-bar{justify-content:flex-end}.team-filter-bar input{width:min(340px,100%)}.team-member-add-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(240px,1.3fr) auto;gap:14px;align-items:end}.team-list-panel,.team-detail-panel{display:grid;gap:18px}.team-table-scroll{border:1px solid var(--line);border-radius:12px}.team-list-table,.team-collaborator-table{display:table;min-width:820px}.team-list-table th,.team-list-table td,.team-collaborator-table th,.team-collaborator-table td{padding:12px 14px}.team-list-table tbody tr,.team-collaborator-table tbody tr{background:var(--surface-raised)}.team-list-table tbody tr:hover{background:var(--surface-hover)}.team-detail-summary{display:grid;grid-template-columns:repeat(3,minmax(96px,auto));gap:10px}.team-detail-summary div{display:grid;gap:3px;min-width:96px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-hover)}.team-detail-summary strong{color:var(--accent)}.team-detail-summary span{color:var(--text-secondary);font-size:.86rem}.team-status-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;padding:4px 9px;border-radius:999px;font-size:.86rem;font-weight:700}.team-status-pill.is-active{background:var(--success-background);color:var(--success-text)}.team-status-pill.is-inactive{background:var(--neutral-background);color:var(--neutral-text)}.team-search-wrap{position:relative}.team-member-week-table{min-width:max-content}.team-member-week-table th,.team-member-week-table td{white-space:nowrap}.member-detail-trigger{appearance:none;border:0;background:transparent;color:inherit;padding:0;margin:0;text-align:left;cursor:pointer;display:grid;gap:3px}.member-detail-trigger strong{color:var(--primary)}.member-detail-trigger span{color:var(--muted);font-size:.88rem}.member-detail-trigger:hover strong{text-decoration:underline}.team-member-detail-modal{width:min(1080px,100%)}.source-pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.82rem;font-weight:700;background:var(--neutral-background);color:var(--neutral-text)}.source-pill.is-clockify{background:var(--source-clockify-background);color:var(--source-clockify-text)}.source-pill.is-timetracker{background:var(--source-timetracker-background);color:var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:900px){.shell{padding:14px}.app-brand{width:100%;flex-wrap:wrap}.topbar-actions{width:100%;justify-content:flex-start}.app-layout{grid-template-columns:1fr}.sidebar{position:static}.two-columns,.template-layout{grid-template-columns:1fr}.template-list-panel{position:static}.template-form-grid{grid-template-columns:1fr}.template-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-grid{grid-template-columns:1fr}.tabs{width:100%;overflow-x:auto;padding-bottom:10px;margin-bottom:12px}.entry-actions{width:100%}.entry-actions-left,.entry-actions-right{width:100%;flex:none}.entry-actions .nav-link,.entry-tabs{width:100%}.weekend-switch-placeholder{display:none}.catalog-create-grid,.report-filter-grid,.report-charts-grid,.project-report-filter-grid,.report-pie-layout,.team-form-grid,.team-member-add-grid,.report-date-range{grid-template-columns:1fr}.report-calendar{grid-template-columns:repeat(7,minmax(108px,1fr))}.team-filter-bar,.team-filter-bar input{width:100%}.team-detail-summary{width:100%;grid-template-columns:1fr}.project-report-status{justify-items:start;width:100%;box-sizing:border-box}.project-report-switch{margin-bottom:0;justify-content:space-between}.quick-action{padding:10px 12px}.app-topbar{align-items:flex-start}.user-trigger{width:100%;justify-content:space-between}.user-menu-panel{inset:auto 16px 16px;width:auto}.modal-backdrop{padding:0;align-items:stretch;justify-content:stretch}.modal-panel{width:100%;max-height:100vh;min-height:100vh;border-radius:0;border:0;padding:16px}.entry-grid.primary-row,.entry-grid.secondary-row{grid-template-columns:1fr;gap:10px}.entry-grid.primary-row{grid-template-columns:minmax(0,1fr) auto;align-items:end}.entry-grid.primary-row>.date-field{grid-column:1 / -1}.entry-grid.primary-row>.project-search-wrap{grid-column:1 / 2}.entry-grid.primary-row>.project-inline-actions{grid-column:2 / 3;justify-self:end;gap:4px}.project-search-wrap{margin-right:0}.project-inline-actions .star-toggle,.project-inline-actions .icon-action{width:44px;height:44px}.hours-field,.task-select,.comment-field,.project-search-input,.date-field,input,select,button,textarea{min-height:44px}th,td{padding:8px 6px;font-size:.92rem}.feedback-launcher{right:14px;bottom:14px}.feedback-drawer{width:100%}}@media print{:root,:root[data-theme=dark]{color:#122033;background:#fff;color-scheme:light!important;--panel: #ffffff;--line: #d5deea;--accent: #0b6b74;--accent-soft: #d8eff1;--danger: #9c2f2f;--surface: #ffffff;--surface-raised: #ffffff;--surface-subtle: #fbfdff;--surface-muted: #fbfcfe;--surface-soft: #f8fbfd;--surface-hover: #f5fbfc;--surface-disabled: #f5f7f9;--text-primary: #122033;--text-secondary: #546273;--text-tertiary: #748091;--border: #d5deea;--accent-link: #0b6b74;--accent-background: #d8eff1;--accent-row: #eef7f8;--accent-row-border: #b9dfe4;--calendar-empty-background: #fbfcfe;--template-added-background: #dcecff;--template-added-text: #164f89;--chart-track: #edf2f7;--chart-pmo-start: #0b6b74;--chart-pmo-end: #1593a1;--chart-non-pmo-start: #f2a65a;--chart-non-pmo-end: #e07a2f}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body{background:#fff}.shell{max-width:none;padding:0}.app-shell{gap:10px}.app-topbar,.report-filter-grid,.report-filter-action,.report-print-hidden,.user-menu-backdrop{display:none!important}.report-print-only{display:block}.report-print-meta{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.grid{gap:10px}.panel,.inset-panel{background:#fff;border:1px solid #d7dee8;border-radius:0;box-shadow:none;break-inside:avoid;page-break-inside:avoid;padding:12px}.report-charts-grid{grid-template-columns:1fr 1fr}.report-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow:visible}.report-calendar-weekday{font-size:.62rem;padding:0 3px}.report-calendar-day{min-height:82px;padding:5px;gap:4px}.report-calendar-day-header strong,.report-calendar-empty,.report-calendar-breakdown{font-size:.62rem}.report-calendar-total{font-size:.78rem}.report-bars-vertical,.report-column-card,.report-column-track,.report-column-segment,.report-pie-chart,.report-pie-base,.report-pie-pmo,.report-legend-swatch{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-column-track{background:#edf2f7!important;border-color:#d5deea!important}.report-pie-base{stroke:#e07a2f!important}.report-pie-pmo{stroke:#0b6b74!important}.report-column-segment.is-pmo{background:#0b6b74!important}.report-column-segment.is-non-pmo{background:#e07a2f!important}.report-table-scroll{overflow:visible}table,.report-table,.report-table-projects{display:table;width:100%;min-width:0}thead{display:table-header-group}tr,img,svg{break-inside:avoid;page-break-inside:avoid}}
