:root{color-scheme:light dark;--bg: var(--tg-theme-bg-color, #fff);--text: var(--tg-theme-text-color, #111);--hint: var(--tg-theme-hint-color, #666);--surface: var(--tg-theme-section-bg-color, var(--tg-theme-bg-color, #fff));--surface-2: var(--tg-theme-secondary-bg-color, #f0f0f0);--accent: var(--tg-theme-button-color, #2b7cff);--accent-text: var(--tg-theme-button-text-color, #fff);--link: var(--tg-theme-link-color, #2b7cff);--border: #ddd;--border-strong: #999;--row-hover: #f0f5ff;--shadow: #0003;--backdrop: #0006;--overdue-bg: #ffd6d6;--warn: #b85400;--error: #b00;--drag-bg: #eef4ff;--tag-bg: #e8eefc;--day-no-submit: #ffd6d6;--day-submit: #d4f5d4;--day-closed: #e0e0e0}:root[data-theme=dark]{--bg: var(--tg-theme-bg-color, #17212b);--text: var(--tg-theme-text-color, #f1f1f1);--hint: var(--tg-theme-hint-color, #9aa7b4);--surface: var(--tg-theme-section-bg-color, var(--tg-theme-bg-color, #17212b));--surface-2: var(--tg-theme-secondary-bg-color, #232e3c);--border: #33414f;--border-strong: #55677a;--row-hover: #1f2d3d;--shadow: #000a;--backdrop: #000a;--overdue-bg: #6b2a2a;--warn: #ffa94d;--error: #ff7b7b;--drag-bg: #1d3350;--tag-bg: #2a3b52;--day-no-submit: #6b2a2a;--day-submit: #1f5a2c;--day-closed: #3a444e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: var(--tg-theme-bg-color, #17212b);--text: var(--tg-theme-text-color, #f1f1f1);--hint: var(--tg-theme-hint-color, #9aa7b4);--surface: var(--tg-theme-section-bg-color, var(--tg-theme-bg-color, #17212b));--surface-2: var(--tg-theme-secondary-bg-color, #232e3c);--border: #33414f;--border-strong: #55677a;--row-hover: #1f2d3d;--shadow: #000a;--backdrop: #000a;--overdue-bg: #6b2a2a;--warn: #ffa94d;--error: #ff7b7b;--drag-bg: #1d3350;--tag-bg: #2a3b52;--day-no-submit: #6b2a2a;--day-submit: #1f5a2c;--day-closed: #3a444e}}a{color:var(--link)}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:4px}button{color:var(--text);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:6px;padding:6px 10px;font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:default}*{box-sizing:border-box}body{margin:0;font:14px/1.3 system-ui,sans-serif;background:var(--bg);color:var(--text)}.auth{max-width:420px;margin:20vh auto;padding:0 16px;text-align:center}.login-code{font-size:2.2em;letter-spacing:.15em}.filters{display:flex;gap:6px;padding:8px;flex-wrap:wrap}.filters button,.auth button{padding:6px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-2);color:var(--text);cursor:pointer}.filters button.export{margin-left:auto}.filters button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.table-wrap{overflow:auto;max-height:calc(100vh - 56px)}table{border-collapse:separate;border-spacing:0}th,td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:4px 6px;white-space:nowrap;vertical-align:top;background:var(--surface);color:var(--text)}th{position:sticky;top:0;z-index:3;background:var(--surface-2);color:var(--text);text-align:left}tbody tr{cursor:pointer}tbody tr:hover td{background:var(--row-hover)}.sticky{position:sticky;z-index:2}th.sticky{z-index:4}.s1{left:0;min-width:160px;max-width:160px;overflow:hidden;text-overflow:ellipsis}.s2{left:160px;min-width:120px;max-width:120px;overflow:hidden;text-overflow:ellipsis}.step-cell{position:relative;display:inline-flex;gap:3px;align-items:center;padding:1px 4px;border-radius:4px;margin-right:4px}.step-cell.overdue{background:var(--overdue-bg)}.step-cell .date,.step-cell .period{font-size:12px;color:var(--hint)}.step-cell .needs-doc{color:var(--warn);font-weight:700}.preview{position:absolute;top:100%;left:0;z-index:10;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:6px;padding:6px 8px;box-shadow:0 2px 8px var(--shadow);white-space:normal;width:220px;display:block}.preview .preview-text{display:block}.preview img{display:block;max-width:100%;max-height:160px;margin-top:4px}.error{color:var(--error);padding:0 8px}.empty{padding:12px;color:var(--hint)}.case-card{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:100vw;overflow:auto;background:var(--surface);color:var(--text);border-left:1px solid var(--border-strong);box-shadow:-2px 0 8px var(--shadow);padding:8px 12px;z-index:20}@media(max-width:700px){.case-card{width:100vw;border-left:0}}.case-card .close{float:right}.case-card .steps{list-style:none;padding:0}.case-card .step-head{cursor:pointer;padding:6px 0;border-bottom:1px solid var(--border);display:flex;justify-content:space-between}.case-card .actions{display:flex;flex-wrap:wrap;gap:4px;padding:6px 0}.history-row{border-left:3px solid var(--border-strong);padding-left:6px;margin:6px 0}.evidence{list-style:none;font-size:13px}.thumb{display:block;max-width:160px;max-height:120px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:flex;align-items:center;justify-content:center;z-index:30}.modal{background:var(--surface);color:var(--text);padding:16px;border-radius:8px;width:360px;max-width:92vw;display:flex;flex-direction:column;gap:8px}.modal label{display:flex;flex-direction:column;font-size:13px}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.dropzone{border:2px dashed var(--border-strong);background:var(--surface);color:var(--text);padding:14px;text-align:center;cursor:pointer;border-radius:6px}.dropzone.drag{border-color:var(--accent);background:var(--drag-bg)}.main-tabs{display:flex;gap:6px;padding:8px 8px 0}.main-tabs button,.settings button{padding:6px 12px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface-2);color:var(--text);cursor:pointer}.main-tabs button.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.settings button:disabled{opacity:.5;cursor:default}.settings-section{padding:8px}.table-scroll{overflow-x:auto;max-width:100vw}.settings-table tbody tr{cursor:default}.settings-table td{white-space:normal;min-width:90px}.settings-table input[type=text],.settings-table input:not([type]){width:130px}.settings-table .narrow{width:60px}.tags{display:flex;flex-wrap:wrap;gap:4px;min-width:160px}.tag{background:var(--tag-bg);color:var(--text);border-radius:10px;padding:0 6px}.tag button{border:0!important;background:none!important;padding:0 0 0 4px!important}.dep-count{display:block;font-size:12px}.dep-count input{width:48px}.strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:2px;max-width:640px}.day{text-align:center;padding:4px 0;border-radius:3px;border:2px solid transparent;font-size:12px}.day.no_submit{background:var(--day-no-submit)}.day.submit{background:var(--day-submit)}.day.closed{background:var(--day-closed);color:var(--hint)}.day.lawyer{border-color:var(--accent);font-weight:700}.legend{margin:6px 0;display:flex;gap:6px;flex-wrap:wrap}.legend .day{padding:2px 8px}.cal-fields{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0}.cal-fields label,.status-row{display:flex;flex-direction:column;font-size:13px}.status-row{flex-direction:row;gap:8px;align-items:center;margin:4px 0}.template{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:6px;padding:8px;margin-bottom:8px}.template li{display:flex;gap:4px;align-items:center;margin:2px 0}.template li span{min-width:140px}.template .row{display:flex;gap:6px;margin:6px 0}.case-card .case-docs{border:1px solid var(--border);border-radius:6px;padding:6px 8px;margin:8px 0;background:var(--surface-2)}.case-card .case-docs h3{margin:0 0 4px;font-size:1em}.case-card .case-docs ul{list-style:none;padding:0;margin:0}.case-card .case-docs li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;border-top:1px solid var(--border)}.case-card .case-docs li.missing .doc-tick{color:var(--warn)}.case-card .case-docs .hint{color:var(--hint);font-size:.85em;width:100%;margin:0}.case-card .doc-upload{cursor:pointer}.case-card .doc-upload input{display:none}.case-card .doc-thumb{max-height:48px;max-width:72px;border:1px solid var(--border);border-radius:4px;vertical-align:middle}
