:root{color-scheme:light;--bg: #efe7d8;--ink: #241c14;--muted: #6d6256;--paper: #fffaf2;--line: #d9cbb6;--office: #1f4f8a;--office-soft: #d7e4f5;--home: #0f6d62;--home-soft: #d5efe9;--vacation: #b56a12;--holiday: #4a548c;--sick: #8b3d4d;--unattested: #b05a62;--danger: #9b2c2c;--shadow: 0 18px 40px rgba(55, 38, 16, .08);font-family:Segoe UI,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(31,79,138,.08),transparent 28%),radial-gradient(circle at top right,rgba(15,109,98,.1),transparent 24%),var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}#root{min-height:100vh}.app{width:min(960px,calc(100% - 32px));margin:0 auto;padding:32px 0 48px}.app-footer{margin-top:28px;padding:0 4px;font-size:.8rem;color:var(--muted);text-align:center}.app-header,.panel,.summary-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.app-header{padding:28px;border-radius:28px}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.backup-panel{display:grid;gap:6px;justify-items:end}.backup-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.backup-panel .form-error{margin:0;text-align:right;max-width:280px}.login-panel{max-width:420px}.login-form{display:grid;gap:16px;margin-top:16px;align-items:start}.eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--muted)}h1,h2,h3,p{margin:0}h1{font-size:2.2rem;letter-spacing:-.03em}h2{font-size:1.1rem}h3{margin:28px 0 12px;font-size:.95rem}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:28px 0 12px}.section-heading h3{margin:0}.weekend-toggle{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted);cursor:pointer}.weekend-toggle input{margin:0}.day-kind-static{color:var(--muted);font-style:italic}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.text-button:disabled{color:var(--muted);cursor:default}.today-label{margin-top:8px;color:var(--muted)}.summary-stack{display:grid;gap:16px;margin-top:24px}.summary-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.summary-bar-period .summary-hint{margin-top:4px}.summary-card{padding:16px;border-radius:20px}.summary-card-selectable{padding:0}.summary-card-select{width:100%;text-align:left;cursor:pointer;padding:16px}.summary-card-selectable:has(.timer-controls) .summary-card-select{padding-bottom:0}.summary-card-selectable:hover:not(.summary-card-primary){border-color:#c4b49a}.summary-card-select:focus-visible{outline:2px solid var(--office);outline-offset:2px}.summary-card-primary{background:#241c14;color:#fffaf2;border-color:#241c14}.summary-card-primary .share small,.summary-card-primary .summary-hint,.summary-card-primary .summary-rest{color:#d7c7b0}.summary-total{margin:10px 0 6px;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.summary-total strong{font-size:1.7rem}.summary-rest,.summary-hint,.session-meta,.empty-state,.timer-status p{color:var(--muted)}.share-line,.session-item,.timer-buttons,.manual-entry,.session-edit,.session-actions,.timer-status{display:flex;gap:12px}.share-line{margin-top:12px;justify-content:space-between}.share{display:flex;flex-direction:column;font-weight:600}.share small{font-weight:400;color:var(--muted)}.share.office{color:var(--office)}.share.homeoffice{color:var(--home)}.summary-card-primary .share.office{color:#9ec0ef}.summary-card-primary .share.homeoffice{color:#8fe0d3}.split-bar{position:relative;margin:14px 0 8px}.split-bar-track{display:flex;overflow:hidden;height:10px;border-radius:999px;background:#eadfcd}.summary-card-primary .split-bar-track{background:#3b3127}.split-office{background:var(--office)}.split-home{background:var(--home)}.split-empty{width:100%}.split-marker{position:absolute;top:-3px;width:2px;height:16px;background:var(--ink)}.summary-card-primary .split-marker{background:#fffaf2}.summary-hint{margin-top:10px;font-size:.85rem}.layout{margin-top:20px}.panel{padding:24px;border-radius:28px}.summary-card .timer-controls{margin:14px 16px 16px;padding-top:14px;border-top:1px solid var(--line)}.summary-card .timer-buttons{flex-wrap:wrap}.summary-card-primary .timer-controls{border-top-color:#3b3127}.timer-buttons{margin:0}.timer-button,.primary-button,.session-edit input,.session-edit select,.manual-entry input,.manual-entry select,.day-mark-select{border:1px solid var(--line);border-radius:14px;background:#fff}.timer-button{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;cursor:pointer}.summary-card-primary .timer-button{background:#fffaf2;border-color:#4a3f33;color:var(--ink)}.summary-card-primary .timer-button.location-office.is-running{background:var(--office-soft);border-color:#b9cce6}.summary-card-primary .timer-button.location-homeoffice.is-running{background:var(--home-soft);border-color:#b5ddd5}.summary-card .timer-status{margin-top:10px;flex-wrap:wrap}.summary-card .timer-status .text-button.danger{margin-left:auto}.summary-card-primary .timer-status p{color:#d7c7b0}.summary-card-primary .timer-status.is-live p{color:#fffaf2}.summary-card-primary .timer-status .text-button{color:#9ec0ef}.summary-card-primary .timer-status .text-button.danger{color:#f2b4b4}.summary-card-primary .timer-status .text-button:disabled{color:#8a7b6e}.timer-button.location-office.is-running,.session-item.location-office{background:var(--office-soft);border-color:#b9cce6}.timer-button.location-homeoffice.is-running,.session-item.location-homeoffice{background:var(--home-soft);border-color:#b5ddd5}.timer-label{font-weight:700}.timer-action,.session-meta{font-size:.9rem}.timer-status{align-items:center;min-height:28px}.timer-status.is-live{color:var(--ink)}.timer-pulse{width:10px;height:10px;border-radius:50%;background:#c2410c;box-shadow:0 0 #c2410c80;animation:pulse 1.4s infinite}@keyframes pulse{70%{box-shadow:0 0 0 8px transparent}}.manual-entry{flex-wrap:wrap;align-items:end}.field{display:flex;flex-direction:column;gap:6px}.field-time{width:96px}.field input,.field select{padding:10px 12px}.period-nav{display:flex;gap:8px}.day-mark-field{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--muted)}.day-mark-select{min-width:12.5rem;padding:6px 10px;border-radius:12px}.day-mark-select.is-vacation{background:color-mix(in srgb,var(--vacation) 16%,#fff);border-color:color-mix(in srgb,var(--vacation) 38%,var(--line))}.day-mark-select.is-holiday{background:color-mix(in srgb,var(--holiday) 16%,#fff);border-color:color-mix(in srgb,var(--holiday) 38%,var(--line))}.day-mark-select.is-sick{background:color-mix(in srgb,var(--sick) 16%,#fff);border-color:color-mix(in srgb,var(--sick) 38%,var(--line))}.day-mark-select.is-unattested{background:color-mix(in srgb,var(--unattested) 16%,#fff);border-color:color-mix(in srgb,var(--unattested) 38%,var(--line))}.ghost-button{padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.week-table-wrap{overflow-x:auto}.week-table{width:100%;border-collapse:collapse;margin-top:8px}.week-table th,.week-table td{padding:10px 8px;text-align:left;border-bottom:1px solid var(--line)}.week-table td.is-met{color:var(--home);font-weight:600}.week-table tr>:first-child{border-left:3px solid transparent}.week-table tbody tr{--row-base: var(--paper);--row-wash: transparent}.week-table tbody tr.is-alt-week{--row-base: color-mix(in srgb, var(--bg) 72%, var(--paper))}.week-table tbody tr.is-vacation{--row-wash: color-mix(in srgb, var(--vacation) 14%, transparent)}.week-table tbody tr.is-holiday{--row-wash: color-mix(in srgb, var(--holiday) 14%, transparent)}.week-table tbody tr.is-sick{--row-wash: color-mix(in srgb, var(--sick) 14%, transparent)}.week-table tbody tr.is-unattested{--row-wash: color-mix(in srgb, var(--unattested) 14%, transparent)}.week-table tbody tr th,.week-table tbody tr td{background:linear-gradient(var(--row-wash),var(--row-wash)),var(--row-base)}.week-table tbody tr.is-vacation>:first-child{border-left-color:var(--vacation)}.week-table tbody tr.is-holiday>:first-child{border-left-color:var(--holiday)}.week-table tbody tr.is-sick>:first-child{border-left-color:var(--sick)}.week-table tbody tr.is-unattested>:first-child{border-left-color:var(--unattested)}.week-table tr.is-off-day th,.week-table tr.is-off-day td{color:var(--muted);font-style:italic}.week-table .day-mark-select{font-style:normal;color:var(--ink)}.week-table .text-button{display:inline-flex;align-items:center;font-style:normal}.day-note-dot{display:inline-block;width:6px;height:6px;margin-left:6px;border-radius:50%;background:var(--office)}.note-dialog-backdrop{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:24px;background:#241c1473}.note-dialog{width:min(520px,100%);max-height:min(90vh,640px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.note-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.note-dialog-header h3{margin:0}.note-dialog .day-note-field{margin-top:16px}.day-note-field{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:16px 0 0}.day-note-field label{display:flex;flex-direction:column;gap:6px;width:100%}.day-note-field span{font-size:.9rem;color:var(--muted)}.day-note-field textarea{width:100%;min-height:6.5rem;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;resize:vertical}.week-reset-col{text-align:right;width:1%;white-space:nowrap}.primary-button,.text-button,.ghost-button{cursor:pointer}.primary-button{padding:11px 16px;background:var(--ink);color:#fffaf2;border-color:var(--ink)}.text-button{border:0;background:transparent;padding:0;color:var(--office)}.text-button.danger{color:var(--danger)}.form-error,.empty-state{width:100%;margin:0}.form-error{margin-top:16px;color:var(--danger)}.session-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.session-item{justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:16px}.session-item.is-live{outline:1px dashed var(--ink)}.session-edit{width:100%;align-items:center;flex-wrap:wrap}.session-edit input,.session-edit select{padding:8px 10px}.session-edit input[type=number]{width:72px}@media(max-width:720px){.summary-bar{grid-template-columns:1fr}}
