:root{--bg: var(--tg-theme-bg-color, #ffffff);--fg: var(--tg-theme-text-color, #1a1a1a);--muted: var(--tg-theme-hint-color, #8a8a8e);--card: var(--tg-theme-secondary-bg-color, #f2f2f7);--accent: var(--tg-theme-button-color, #2f7cf6);--accent-fg: var(--tg-theme-button-text-color, #ffffff);--border: color-mix(in srgb, var(--muted) 35%, transparent);--removed: #d9534f;--ok: #12a150;--k-office: #2f7cf6;--k-agreement: #8b5cf6;--k-online: #0ea5a4;--stripe-office: color-mix(in srgb, var(--k-office) 22%, transparent);--stripe-agreement: color-mix(in srgb, var(--k-agreement) 22%, transparent);--stripe-online: color-mix(in srgb, var(--k-online) 22%, transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg: var(--tg-theme-bg-color, #17212b);--fg: var(--tg-theme-text-color, #f1f1f1);--muted: var(--tg-theme-hint-color, #7d8b99);--card: var(--tg-theme-secondary-bg-color, #232e3c);--accent: var(--tg-theme-button-color, #5288c1);--accent-fg: var(--tg-theme-button-text-color, #ffffff);--stripe-office: color-mix(in srgb, var(--k-office) 42%, transparent);--stripe-agreement: color-mix(in srgb, var(--k-agreement) 42%, transparent);--stripe-online: color-mix(in srgb, var(--k-online) 42%, transparent);--ok: #35d07f}}:root[data-theme=light]{--bg: #ffffff;--fg: #1a1a1a;--muted: #8a8a8e;--card: #f2f2f7;--accent: #2f7cf6;--accent-fg: #ffffff;--stripe-office: color-mix(in srgb, var(--k-office) 22%, transparent);--stripe-agreement: color-mix(in srgb, var(--k-agreement) 22%, transparent);--stripe-online: color-mix(in srgb, var(--k-online) 22%, transparent);--ok: #12a150}:root[data-theme=dark]{--bg: #17212b;--fg: #f1f1f1;--muted: #7d8b99;--card: #232e3c;--accent: #5288c1;--accent-fg: #ffffff;--stripe-office: color-mix(in srgb, var(--k-office) 42%, transparent);--stripe-agreement: color-mix(in srgb, var(--k-agreement) 42%, transparent);--stripe-online: color-mix(in srgb, var(--k-online) 42%, transparent);--ok: #35d07f}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.screen{padding:10px 14px 40px;max-width:640px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}h2{font-size:17px;margin:22px 0 10px}.hint{color:var(--muted);font-size:13px;margin:6px 0 14px}.error{color:var(--removed)}.day{margin-bottom:16px}.day-title{font-size:13px;color:var(--muted);margin-bottom:6px}.day-title:first-letter,.card-title:first-letter{text-transform:uppercase}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:10px;padding:8px 11px;font-size:14px;cursor:pointer;transition:background .12s,border-color .12s}.chip:disabled{opacity:.5;cursor:default}.chip-on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.chip-removed{border-color:var(--removed);color:var(--removed);text-decoration:line-through}.card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border-radius:12px;padding:12px 14px;margin-bottom:8px}.card-main{min-width:0}.card-actions{display:flex;gap:6px;flex-shrink:0}.card-pending{flex-direction:column;align-items:stretch;border-left:3px solid var(--k-agreement)}.card-expiring{border-left:3px solid var(--removed)}.card-pending .card-actions{justify-content:stretch}.card-pending .card-actions button{flex:1}.card-title{font-weight:600}.card-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;color:var(--muted);font-size:13px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.row label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:14px}.row input{width:64px;padding:7px 8px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font-size:14px}button.primary{flex:1;min-width:180px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:12px;padding:13px 16px;font-size:15px;font-weight:600;cursor:pointer}button.primary:disabled{opacity:.45;cursor:default}button.ghost{background:transparent;color:var(--accent);border:1px solid var(--border);border-radius:12px;padding:12px 14px;font-size:14px;cursor:pointer}.sticky{position:sticky;bottom:0;background:var(--bg);border-top:1px solid var(--border);padding:12px 0 16px;margin-top:8px}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.week-label{font-weight:600}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;padding:20px;z-index:100}.modal{background:var(--card);border-radius:16px;padding:20px;width:100%;max-width:340px;box-shadow:0 12px 40px #00000040}.modal-text{margin:0 0 18px;font-size:15px;white-space:pre-line}.modal-row{display:flex;gap:8px}.modal-row button{flex:1;min-width:0}.tabs{display:flex;gap:4px;background:var(--card);border-radius:12px;padding:3px;margin-bottom:14px}.tab{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);border-radius:9px;padding:9px 12px;font-size:14px;font-weight:600;cursor:pointer}.tab-on{background:var(--bg);color:var(--fg);box-shadow:0 1px 3px #0000001f}.segmented{display:flex;gap:6px;margin:14px 0 4px}.segment{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--border);border-radius:10px;padding:9px 6px;font-size:13px;color:var(--fg);cursor:pointer}.segment-on{color:#fff;border-color:transparent}.segment-office.segment-on{background:var(--k-office)}.segment-by_agreement.segment-on{background:var(--k-agreement)}.segment-online.segment-on{background:var(--k-online)}.is-office{--k: var(--k-office);--stripe: var(--stripe-office)}.is-by_agreement{--k: var(--k-agreement);--stripe: var(--stripe-agreement)}.is-online{--k: var(--k-online);--stripe: var(--stripe-online)}.chip-free{border-color:var(--k);border-width:1.5px}.chip-taken{background:var(--k);border-color:var(--k);border-width:1.5px;color:#fff}.chip-request{border-color:var(--k);border-width:1.5px;border-style:dashed;font-weight:600;background:repeating-linear-gradient(-45deg,var(--stripe) 0 6px,transparent 6px 13px)}.chip-draft{border-style:dashed;background:color-mix(in srgb,var(--k) 16%,transparent)}.badge{display:inline-block;padding:2px 7px;border-radius:6px;font-size:12px;color:#fff;white-space:nowrap}.badge-office{background:var(--k-office)}.badge-by_agreement{background:var(--k-agreement)}.badge-online{background:var(--k-online)}.link{color:var(--accent);text-decoration:none;font-size:13px}.link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;color:var(--accent);font-size:14px;padding:6px 0;cursor:pointer}button.compact{padding:8px 12px;font-size:13px;min-width:0;white-space:nowrap}button.primary.compact{flex:0 0 auto}.chip-outline{border-width:1.5px;border-color:var(--k)}.legend{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 14px}.legend-center{justify-content:center}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot-office{background:var(--k-office)}.dot-by_agreement{background:var(--k-agreement)}.dot-online{background:var(--k-online)}.status-note{color:var(--muted);font-size:12px;white-space:nowrap}.status-ok{color:var(--ok)}.modal-list{display:flex;flex-direction:column;gap:8px}.modal-choice{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:center;border:1.5px solid var(--border);background:transparent;color:var(--fg);border-radius:10px;padding:12px 14px;font-size:15px;cursor:pointer}.modal-choice-danger{border-color:var(--removed);color:var(--removed)}.modal-cancel{width:100%;margin-top:10px}.modal-select{margin-bottom:14px}.modal-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:block;width:100%;border:1.5px solid var(--k, var(--border));background:color-mix(in srgb,var(--k, transparent) 14%,transparent);color:var(--fg);border-radius:10px;padding:12px 34px;font-size:15px;font-family:inherit;text-align:center;cursor:pointer}.modal-select-caret{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.modal-select-list{display:flex;flex-direction:column;gap:8px}.modal-option[hidden],.modal-select-list[hidden]{display:none}.modal-option-current{background:var(--k, var(--accent));border-color:var(--k, var(--accent));color:#fff;font-weight:600}.modal-search{width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:10px;background:transparent;color:var(--fg);padding:10px 12px;font-size:15px;margin-bottom:10px}.modal-scroll{max-height:42vh;overflow-y:auto;padding:2px}.modal-scroll .modal-choice{text-align:left}.modal-choice-extra{width:100%;color:var(--accent);border-style:dashed;margin-bottom:10px}.merge-link{width:100%;margin:4px 0 6px}.modal-choice-sub{display:block;margin-top:3px;font-size:12px;color:var(--muted)}.modal-times{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:46vh;overflow-y:auto;padding:2px}.modal-time{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:transparent;color:var(--fg);border-radius:8px;padding:9px 4px;font-size:14px;font-variant-numeric:tabular-nums;cursor:pointer}.modal-time:disabled{opacity:.3;cursor:default}.chip-add{border-style:dashed;color:var(--accent);border-color:var(--border)}.day-empty{color:var(--muted);font-size:13px;padding:4px 0}.topbar{display:flex;justify-content:flex-end;padding-top:6px;margin-bottom:10px}.theme-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}.theme-toggle:hover{color:var(--fg)}.theme-toggle:focus{outline:none}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-field{display:flex;flex-direction:column;gap:5px}.modal-label{font-size:13px;color:var(--muted)}.modal-field input,.modal-field textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font:inherit;resize:vertical}.modal-field input.invalid,.modal-field textarea.invalid{border-color:var(--removed)}.modal-error{font-size:12px;color:var(--removed);min-height:0}.modal-form button.primary{margin-top:2px}.card-comment{margin-top:6px;font-size:13px;color:var(--fg);opacity:.85;white-space:pre-wrap;word-break:break-word}.intro{margin-bottom:6px}.intro-name{font-size:19px;margin:0 0 2px}.intro-title{margin:0 0 6px;font-size:14px;color:var(--muted)}.intro-line{margin:0;font-size:14px}.card-note{margin-top:6px;font-size:12px;color:var(--muted)}.skeleton{display:flex;flex-wrap:wrap;gap:8px}.skeleton-line{display:block;border-radius:10px;background:var(--card);animation:skeleton-pulse 1.4s ease-in-out infinite}.skeleton-strip{width:100%;height:48px}.skeleton-chip{width:84px;height:38px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.skeleton-line{animation:none}}.modal-check{flex-direction:row;align-items:flex-start;gap:10px;flex-wrap:wrap}.modal-check input[type=checkbox]{width:20px;height:20px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--accent)}.modal-check-label{flex:1;font-size:13px;color:var(--fg);line-height:1.35}.modal-check .modal-error{flex-basis:100%}.segment-plain-on{background:var(--card);border-color:var(--border);font-weight:600}.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:14px 0 6px}.tile{background:var(--card);border-radius:12px;padding:12px 14px}.tile-value{font-size:22px;font-weight:700;line-height:1.15}.tile-caption{font-size:13px;color:var(--muted);margin-top:2px}.tile-hint{font-size:12px;color:var(--muted);opacity:.8;margin-top:4px}.bars{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.bar-row{display:flex;align-items:center;gap:8px;font-size:13px}.bar-label{width:54px;flex:0 0 auto;color:var(--muted)}.bars-wide .bar-label{width:124px}.bar-track{flex:1;height:14px;border-radius:7px;background:var(--card);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:7px;background:var(--accent);min-width:2px}.bar-fill.is-office{background:var(--k-office)}.bar-fill.is-by_agreement{background:var(--k-agreement)}.bar-fill.is-online{background:var(--k-online)}.bar-value{width:22px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.tab{padding:9px 6px}.pane-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.card-button{width:100%;text-align:left;border:none;font:inherit;cursor:pointer;color:var(--fg)}.card-chevron{color:var(--muted);font-size:20px;flex:0 0 auto}.tile-value-small{font-size:17px}.search{width:100%;padding:10px 12px;margin-bottom:12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--fg);font:inherit}.linklike{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:0;font:inherit;color:var(--accent);cursor:pointer}.weekchart{display:flex;align-items:flex-end;gap:6px;margin:14px 0 4px}.weekchart-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;padding:4px 2px;border-radius:10px;cursor:pointer;color:var(--muted)}.weekchart-col:disabled{cursor:default;opacity:.55}.weekchart-col-on{background:var(--card)}.weekchart-value{font-size:12px;font-variant-numeric:tabular-nums;min-height:15px}.weekchart-bar-track{width:100%;height:84px;display:flex;align-items:flex-end;background:color-mix(in srgb,var(--muted) 12%,transparent);border-radius:6px;overflow:hidden}.weekchart-bar{width:100%;background:var(--accent);border-radius:6px 6px 0 0;min-height:2px}.weekchart-col-on .weekchart-bar{background:var(--k-agreement)}.weekchart-day{font-size:12px}.weekchart-col-on .weekchart-day,.weekchart-col-on .weekchart-value{color:var(--fg);font-weight:600}.version{margin:auto 0 0;padding-top:28px;text-align:center;font-size:11px;color:var(--muted);opacity:.7}
