:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--ui_292e2a, #292e2a);background:var(--ui_f5f4f0, #f5f4f0);font-synthesis:none;--green:var(--ui_405d4d, #405d4d);--muted:var(--ui_858880, #858880);--line:var(--ui_e4e5de, #e4e5de)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--ui_ffffff, white);color:inherit;border-radius:8px;padding:9px 13px;font-size:13px;font-weight:550;min-height:38px}button:hover{background:var(--ui_eef2ea, #eef2ea)}button:focus-visible,a:focus-visible{outline:3px solid var(--ui_9cbda6, #9cbda6);outline-offset:2px}.primary{background:var(--green);color:var(--ui_ffffff, white);border-color:var(--green)}.primary:hover{background:var(--ui_304c3d, #304c3d)}.quiet{border-color:transparent;background:transparent}.icon{font-size:20px;padding:4px 10px}.layout{display:grid;grid-template-columns:222px 1fr;min-height:100vh}.side{background:var(--ui_eeeee8, #eeeee8);border-right:1px solid var(--line);padding:30px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.logo{font-size:25px;font-weight:750;letter-spacing:-1.1px;padding:0 12px;margin-bottom:38px}.logo b{color:var(--ui_66816a, #66816a)}.navlabel{font-size:10px;letter-spacing:1.6px;color:var(--muted);padding:0 12px;margin:0 0 12px}.side nav{display:flex;flex-direction:column;gap:4px}.side nav button{text-align:left;display:flex;align-items:center;gap:12px;background:transparent;border:0;padding:11px 13px;font-weight:450;color:var(--ui_666d63, #666d63)}.side nav button.active{background:var(--ui_dfe7dc, #dfe7dc);color:var(--ui_304c3d, #304c3d);font-weight:650}.side nav svg{width:18px;height:18px}.profile{margin-top:auto;display:flex;align-items:center;gap:9px;padding:16px 8px 0;border-top:1px solid var(--ui_daddd3, #daddd3)}.avatar{width:30px;height:30px;background:var(--ui_e6dfd2, #e6dfd2);color:var(--ui_766954, #766954);border-radius:50%;display:inline-grid;place-items:center;font-size:11px;font-weight:650;flex-shrink:0}.avatar.a1{background:var(--ui_dde7ec, #dde7ec);color:var(--ui_536d7c, #536d7c)}.avatar.a2{background:var(--ui_ebdfeb, #ebdfeb);color:var(--ui_8b6389, #8b6389)}.profile small{display:block;color:var(--muted);font-size:11px}.content{min-width:0}.topbar{padding:20px 38px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ui_81867c, #81867c);gap:12px}.demo{font-size:10px;border:1px solid var(--ui_d9decd, #d9decd);padding:4px 8px;border-radius:5px;background:var(--ui_edf0e5, #edf0e5);color:var(--ui_6d7758, #6d7758)}.main{max-width:1300px;margin:auto;padding:32px 38px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}h1{font-size:30px;letter-spacing:-1px;font-weight:650;margin:0 0 7px}h2{font-size:16px;letter-spacing:-.2px;margin:0}h3{font-size:14px;margin:0}p{line-height:1.5}.sub{color:var(--muted);font-size:13px;margin:0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px}.stat{padding:18px 20px;background:var(--ui_ffffff, white);border:1px solid var(--line);border-radius:10px}.stat small{font-size:11px;color:var(--ui_7b8276, #7b8276)}.stat strong{display:block;font-size:29px;font-weight:550;letter-spacing:-1px;margin:10px 0 4px}.stat span{font-size:11px;color:var(--ui_7f8779, #7f8779)}.grid{display:grid;grid-template-columns:1.65fr 1fr;gap:22px}.panel{background:var(--ui_ffffff, white);border:1px solid var(--line);border-radius:11px;overflow:hidden;margin-bottom:20px}.panelhead{padding:18px 20px;border-bottom:1px solid var(--ui_eeeee8, #eeeee8);display:flex;justify-content:space-between;align-items:center;gap:8px}.panelhead button{font-size:11px;min-height:28px;padding:3px 7px}.row{display:flex;gap:12px;align-items:center;padding:15px 20px;border-bottom:1px solid var(--ui_efefe9, #efefe9)}.row:last-child{border:0}.row .grow{flex:1;min-width:0}.row small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.row strong{font-size:13px;font-weight:550}.badge{font-size:10px;padding:4px 8px;border-radius:5px;white-space:nowrap;background:var(--ui_eeeeee, #eeeeee);color:var(--ui_6a7065, #6a7065)}.badge.doing{background:var(--ui_e6edf3, #e6edf3);color:var(--ui_5a748d, #5a748d)}.badge.review{background:var(--ui_f4ebda, #f4ebda);color:var(--ui_a17d3c, #a17d3c)}.badge.done{background:var(--ui_e5eee4, #e5eee4);color:var(--ui_65805b, #65805b)}.dot{height:9px;width:9px;border-radius:3px;background:var(--ui_adbca1, #adbca1);flex-shrink:0}.dot.blue{background:var(--ui_a2b6c5, #a2b6c5)}.dot.pink{background:var(--ui_c4a9be, #c4a9be)}.progress{height:4px;background:var(--ui_ecefe8, #ecefe8);border-radius:4px;margin-top:10px;width:100%;overflow:hidden}.progress i{height:100%;display:block;background:var(--ui_8da283, #8da283)}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.projectcard{padding:22px;background:var(--ui_ffffff, white);border:1px solid var(--line);border-radius:11px;text-align:left;min-height:190px;display:flex;flex-direction:column;gap:15px}.projectcard h2{font-size:18px;line-height:1.4}.projectcard .foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.projectcard small{font-size:11px;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.tabs{display:flex;gap:7px}.tabs button.active{background:var(--ui_e0e9dd, #e0e9dd);border-color:var(--ui_cad8c5, #cad8c5);color:var(--ui_385b3f, #385b3f)}.tree .row{padding-left:calc(16px + var(--depth)*22px)}.tree .tasktitle{font-size:13px}.check{width:20px;height:20px;min-height:20px;padding:0;border-radius:5px;flex-shrink:0;font-size:12px}.check.done{background:var(--ui_e4eee0, #e4eee0);color:var(--ui_60805a, #60805a)}.taskbuttons{display:flex;align-items:center;gap:6px}.taskbuttons select{max-width:125px;font-size:11px;padding:6px;border:1px solid var(--line);border-radius:6px;background:var(--ui_f9faf6, #f9faf6);color:var(--ui_64745d, #64745d)}.note{padding:20px;white-space:pre-wrap;font-size:13px;color:var(--ui_646d60, #646d60)}.timer{background:var(--ui_e9eee3, #e9eee3);border:1px solid var(--ui_d6dfcc, #d6dfcc);border-radius:10px;padding:20px;margin-bottom:20px}.timer .digits{font-size:33px;font-variant-numeric:tabular-nums;letter-spacing:1px;margin:12px 0}.timerhead{display:flex;align-items:center;justify-content:space-between}.empty{padding:30px;color:var(--muted);text-align:center;font-size:13px}.notegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.notecard{background:var(--ui_ffffff, #ffffff);border:1px solid var(--line);padding:20px;border-radius:10px}.notecard p{font-size:13px;white-space:pre-wrap;color:var(--ui_737a6e, #737a6e)}.notecard small{color:var(--muted);font-size:11px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);background:var(--ui_ffffff, white);border:1px solid var(--line);border-radius:10px;overflow:hidden}.calhead{padding:12px;font-size:11px;color:var(--muted);background:var(--ui_eeeeee, #eeeeee)}.calday{min-height:105px;padding:9px;border-right:1px solid var(--ui_efefe9, #efefe9);border-bottom:1px solid var(--ui_efefe9, #efefe9);font-size:12px}.calday.today{background:var(--ui_edf2e7, #edf2e7)}.calday .event{display:block;background:var(--ui_e6ecdf, #e6ecdf);border-radius:4px;font-size:10px;padding:5px;margin-top:5px;word-break:break-word}.notice{background:var(--ui_f1efdf, #f1efdf);border:1px solid var(--ui_e6e1c7, #e6e1c7);border-radius:9px;padding:14px 17px;font-size:12px;color:var(--ui_7d785c, #7d785c);margin-bottom:20px}.fileicon{font-size:11px;padding:10px 7px;border-radius:5px;background:var(--ui_eef0e9, #eef0e9);color:var(--ui_718064, #718064)}.role{font-size:12px;color:var(--ui_718064, #718064)}.mobilebrand{display:none}dialog{border:1px solid var(--line);border-radius:15px;padding:26px;width:min(500px,calc(100vw - 26px));max-height:90dvh;color:inherit;background:var(--ui_fafbf8, #fafbf8)}dialog::backdrop{background:color-mix(in srgb,var(--ui_203326, #203326) 40%, transparent);backdrop-filter:blur(3px)}dialog .dialoghead{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}label{display:block;font-size:12px;color:var(--ui_667260, #667260);margin:14px 0 7px}input,textarea,select{width:100%;padding:10px;border:1px solid var(--ui_dfe4d9, #dfe4d9);border-radius:7px;background:var(--ui_ffffff, white);color:var(--ui_34432c, #34432c)}textarea{min-height:100px;resize:vertical}form .actions{display:flex;justify-content:flex-end;margin-top:20px;gap:8px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 20px;background:var(--ui_354b3e, #354b3e);color:var(--ui_ffffff, white);border-radius:9px;font-size:13px;z-index:50;display:none;max-width:90vw}.muted{color:var(--muted)}.timer-mini{display:flex;align-items:center;gap:8px;color:var(--ui_56724c, #56724c)}.timer-mini i{width:7px;height:7px;border-radius:50%;background:var(--ui_7d9b65, #7d9b65)}svg{vertical-align:middle}.formhint{font-size:12px;color:var(--ui_858880, #858880)}
@media(max-width:1050px){.projects{grid-template-columns:repeat(2,1fr)}.main{padding:25px}.topbar{padding:18px 25px}.grid{grid-template-columns:1fr}.stats{gap:8px}.stat{padding:14px}}
@media(max-width:700px){.layout{display:block}.side{height:auto;position:sticky;top:0;z-index:5;padding:10px 12px 7px;border-right:0;border-bottom:1px solid var(--ui_daddd3, #daddd3)}.logo{font-size:21px;margin:0 0 9px;padding:0 5px}.navlabel,.profile{display:none}.side nav{flex-direction:row;overflow-x:auto;gap:3px}.side nav button{padding:8px 10px;min-width:max-content;font-size:12px;gap:6px}.side nav svg{width:15px;height:15px}.topbar{padding:12px 16px;font-size:11px}.main{padding:23px 15px 40px}h1{font-size:26px}.heading{align-items:flex-start;margin-bottom:20px}.heading .primary{white-space:nowrap;font-size:11px}.stats{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}.stat strong{font-size:26px;margin:5px 0}.stat{padding:12px 15px}.projects{grid-template-columns:1fr}.projectcard{min-height:160px}.row{padding:13px 14px;gap:9px}.panelhead{padding:15px 14px}.taskbuttons{flex-wrap:wrap;justify-content:flex-end;max-width:120px}.tree .row{padding-left:calc(10px + var(--depth)*12px)}.tree .avatar{display:none}.tree .row small{font-size:10px}.notegrid{grid-template-columns:1fr}.calday{min-height:76px;padding:4px;font-size:11px}.calday .event{font-size:9px;padding:3px}.calhead{padding:8px 4px;font-size:10px}.badge{font-size:9px}.toolbar{gap:7px}.tabs{overflow-x:auto;max-width:100%}.tabs button{white-space:nowrap;font-size:12px}.demo{font-size:9px}.timer-mini{font-size:10px}.sub{font-size:12px}}
/* Shared semantic colors; employee colors are independent from task status. */
:root{color-scheme:light;--bg:var(--ui_f5f4f0, #f5f4f0);--surface:var(--ui_ffffff, #ffffff);--sidebar:var(--ui_eeeee8, #eeeee8);--text:var(--ui_292e2a, #292e2a);--sub:var(--ui_788172, #788172);--line:var(--ui_e1e5da, #e1e5da);--soft:var(--ui_eef2e9, #eef2e9);--accent:var(--ui_405d4d, #405d4d);--accenttext:var(--ui_ffffff, #ffffff);--active:var(--ui_dfe8da, #dfe8da);--notice:var(--ui_f5efdc, #f5efdc);--noticetext:var(--ui_77633d, #77633d);--green:var(--ui_405d4d, #405d4d);--muted:var(--ui_788172, #788172);--open:var(--ui_889583, #889583);--doing:var(--ui_b88c24, #b88c24);--urgent:var(--ui_c26056, #c26056);--done:var(--ui_56855b, #56855b)}
:root[data-theme=paper]{--bg:var(--ui_f5f5f5, #f5f5f5);--sidebar:var(--ui_ededed, #ededed);--surface:var(--ui_ffffff, #ffffff);--text:var(--ui_2a3038, #2a3038);--sub:var(--ui_727a83, #727a83);--line:var(--ui_e1e3e5, #e1e3e5);--soft:var(--ui_f0f2f4, #f0f2f4);--accent:var(--ui_4a5766, #4a5766);--active:var(--ui_e0e6ed, #e0e6ed);--green:var(--ui_4a5766, #4a5766)}
:root[data-theme=ocean]{--bg:var(--ui_f1f5f8, #f1f5f8);--sidebar:var(--ui_e8eef3, #e8eef3);--surface:var(--ui_ffffff, #ffffff);--text:var(--ui_263c4c, #263c4c);--sub:var(--ui_738797, #738797);--line:var(--ui_dce5ed, #dce5ed);--soft:var(--ui_edf3f8, #edf3f8);--accent:var(--ui_315f80, #315f80);--active:var(--ui_dbe8f1, #dbe8f1);--green:var(--ui_315f80, #315f80)}
:root[data-theme=slate]{color-scheme:dark;--bg:var(--ui_1c2027, #1c2027);--sidebar:var(--ui_20262e, #20262e);--surface:var(--ui_272e37, #272e37);--text:var(--ui_e2e7ed, #e2e7ed);--sub:var(--ui_a3afbd, #a3afbd);--line:var(--ui_39434e, #39434e);--soft:var(--ui_303945, #303945);--accent:var(--ui_9cb7d0, #9cb7d0);--accenttext:var(--ui_17232d, #17232d);--active:var(--ui_354758, #354758);--notice:var(--ui_3c372c, #3c372c);--noticetext:var(--ui_d8c7a3, #d8c7a3);--green:var(--ui_9cb7d0, #9cb7d0);--muted:var(--ui_a3afbd, #a3afbd);--doing:var(--ui_d3ac4d, #d3ac4d);--urgent:var(--ui_e68479, #e68479);--done:var(--ui_85b28a, #85b28a)}
:root[data-theme=amber]{color-scheme:dark;--bg:var(--ui_1b1b1b, #1b1b1b);--sidebar:var(--ui_222222, #222222);--surface:var(--ui_292929, #292929);--text:var(--ui_ececec, #ececec);--sub:var(--ui_b0b0b0, #b0b0b0);--line:var(--ui_414141, #414141);--soft:var(--ui_333333, #333333);--accent:var(--ui_efb94d, #efb94d);--accenttext:var(--ui_231c10, #231c10);--active:var(--ui_443b29, #443b29);--notice:var(--ui_3a3528, #3a3528);--noticetext:var(--ui_dfc992, #dfc992);--green:var(--ui_efb94d, #efb94d);--muted:var(--ui_b0b0b0, #b0b0b0);--doing:var(--ui_efc052, #efc052);--urgent:var(--ui_e58278, #e58278);--done:var(--ui_8cb38c, #8cb38c)}
body{background:var(--bg);color:var(--text)}button,input,textarea,select{color:var(--text);background:var(--surface);border-color:var(--line)}button:hover{background:var(--soft)}button:disabled{opacity:.4;cursor:default}.primary{background:var(--accent);color:var(--accenttext);border-color:var(--accent)}.primary:hover{filter:brightness(.94);background:var(--accent)}.quiet{background:transparent;border-color:transparent}.side{background:var(--sidebar);border-color:var(--line);padding-top:23px}.side nav{gap:2px}.side nav button{color:var(--sub);padding:9px 12px}.side nav button.active{background:var(--active);color:var(--text)}.profile{border-color:var(--line)}.profile strong{font-size:12px}.topbar{border-color:var(--line);color:var(--sub);padding-top:14px;padding-bottom:14px}.main{padding-top:24px}.heading{margin-bottom:19px}h1{font-size:28px}.sub,small,.muted,.navlabel,.profile small,.row small,.projectcard small,.notecard small,.formhint,.role{color:var(--sub)}.panel,.projectcard,.notecard,.calendar{background:var(--surface);border-color:var(--line)}.panelhead,.row{border-color:var(--line)}.panelhead{padding:13px 16px}.row{padding:11px 15px}.projectcard{min-height:155px;padding:18px;gap:12px}.progress{background:var(--soft)}.progress i{background:var(--accent)}.note,.notecard p,label{color:var(--sub)}.notice{background:var(--notice);color:var(--noticetext);border-color:color-mix(in srgb,var(--notice),var(--text) 12%);font-size:12px}.demo{background:var(--soft);color:var(--sub);border-color:var(--line)}dialog{background:var(--surface);color:var(--text);border-color:var(--line)}label input,label select,label textarea{display:block;margin-top:6px}.avatar{border:1px solid color-mix(in srgb,var(--person),transparent 0%);background:color-mix(in srgb,var(--person),var(--surface) 55%);color:var(--text);width:26px;height:26px;font-size:10px}.person-tag{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-size:11px;white-space:nowrap}.person-tag i{width:7px;height:7px;background:var(--person);border-radius:50%;flex-shrink:0}.badge{background:var(--soft);color:var(--sub)}.badge.open{color:var(--open);background:color-mix(in srgb,var(--open),var(--surface) 88%)}.badge.doing{color:var(--doing);background:color-mix(in srgb,var(--doing),var(--surface) 88%)}.badge.urgent{color:var(--urgent);background:color-mix(in srgb,var(--urgent),var(--surface) 88%)}.badge.done{color:var(--done);background:color-mix(in srgb,var(--done),var(--surface) 88%)}.danger{color:var(--urgent)}.tabs button.active{background:var(--active);border-color:var(--line);color:var(--text)}.grow{flex:1;min-width:0}
.inline-timer{display:flex;align-items:center;gap:18px;padding:14px 17px;background:var(--soft);border-color:var(--line);margin-bottom:18px}.timer-label{min-width:125px}.timer-label strong{font-size:11px;color:var(--sub);font-weight:500;display:block}.inline-timer .digits{font-size:21px;margin:3px 0 0;display:block;letter-spacing:.5px}.inline-timer form{display:flex;align-items:flex-end;gap:10px;flex:1}.inline-timer label{margin:0;font-size:10px;min-width:0}.inline-timer label:first-child{width:29%}.inline-timer input,.inline-timer select{padding:8px;min-height:37px;font-size:12px}.inline-timer small{display:block;font-size:11px;margin-top:5px}.inline-timer strong{font-size:13px}.inline-timer button{white-space:nowrap}.timer-mini{color:var(--accent)}.timer-mini i{background:var(--accent)}
.periodbar{display:flex;align-items:center;gap:10px;padding:12px 16px;flex-wrap:wrap}.periodbar strong{font-size:13px}.periodbar h2{font-size:17px}.periodbar button{min-height:31px;padding:4px 10px}.person-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px;padding:0 16px 12px}.person-total{border-left:3px solid var(--person);text-align:left;padding:10px 12px}.person-total.selected{outline:2px solid var(--person);outline-offset:-2px;background:var(--soft)}.person-total strong{display:block;font-size:22px;font-weight:600;margin:6px 0}.person-total small{font-size:10px;display:block}.time-controls{display:flex;align-items:center;justify-content:space-between;padding:0 16px 10px}.time-controls .sub{font-size:11px}.table-scroll{overflow-x:auto;max-width:100%}.time-matrix{border-collapse:collapse;width:100%;font-size:11px;font-variant-numeric:tabular-nums}.time-matrix th,.time-matrix td{padding:8px 9px;border:1px solid var(--line);text-align:center;min-width:39px;white-space:nowrap}.time-matrix th{font-weight:500;color:var(--sub);background:var(--soft);font-size:10px}.time-matrix th:first-child{position:sticky;left:0;background:var(--surface);text-align:left;min-width:145px;z-index:1}.time-matrix td.tracked{background:color-mix(in srgb,var(--person),var(--surface) 60%);color:var(--text)}.time-matrix .current{color:var(--text);box-shadow:inset 0 2px var(--accent)}details summary{cursor:pointer;font-size:12px;padding:13px 16px;color:var(--sub)}.time-details .row b{font-size:12px;white-space:nowrap}.time-details .row strong{font-size:12px}.time-details .row small{font-size:10px}.time-details .row .quiet{min-height:30px;padding:3px 8px}
.task-toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:12px 0}.task-toolbar select,.toolbar select{width:auto;font-size:12px;padding:8px;max-width:220px}.people-legend{display:flex;gap:12px;align-items:center;margin:14px 0;flex-wrap:wrap}.legend-spacer{flex:1}.task-panel{overflow-x:auto}.task-node{display:flex;align-items:center;gap:5px;min-height:37px;border-bottom:1px solid var(--line);padding:3px 8px 3px calc(8px + var(--depth)*14px);position:relative;min-width:610px}.task-branch:last-child>.task-node{border-bottom:0}.task-node::before{content:'';position:absolute;left:calc(5px + var(--depth)*14px);height:18px;border-left:2px solid var(--person);opacity:.7}.task-node button{min-height:28px;padding:3px 7px;font-size:12px}.tree-toggle{flex-shrink:0;width:23px}.task-name{flex:1;text-align:left;min-width:110px;max-width:100%;overflow-wrap:anywhere}.person-dot{flex-shrink:0;padding:0!important}.unassigned{display:inline-grid;place-items:center;width:26px;height:26px;border:1px dashed var(--line);border-radius:50%;color:var(--sub)}.status-select{width:92px;flex-shrink:0;padding:4px;font-size:10px;border-radius:5px}.status-select.open{color:var(--open)}.status-select.doing{color:var(--doing)}.status-select.urgent{color:var(--urgent)}.status-select.done{color:var(--done)}.task-tools{display:flex;align-items:center;gap:0}.task-tools button{padding:3px 5px;min-width:25px;color:var(--sub)}.task-timer{white-space:nowrap;font-variant-numeric:tabular-nums}.task-timer.running{background:color-mix(in srgb,var(--done),var(--surface) 85%);color:var(--done)!important;border-color:var(--done);font-size:10px}.mindmap{overflow:auto;padding:24px;min-height:250px;max-height:70vh}.mindmap ul{list-style:none;margin:0;padding:0 0 0 24px;display:flex;flex-direction:column;gap:10px}.mindmap>ul{padding-left:0}.mindmap li{display:flex;align-items:center;position:relative}.mindmap li::before{content:'';position:absolute;left:-24px;top:50%;width:24px;border-top:1px solid var(--line)}.mindmap>ul>li::before{display:none}.mindmap ul:empty{display:none}.mindmap li>ul{border-left:1px solid var(--line);margin-left:24px}.map-card{border:1px solid var(--line);border-left:3px solid var(--open);border-radius:6px;min-width:220px;max-width:310px;background:var(--surface);flex-shrink:0}.map-card.doing{border-left-color:var(--doing)}.map-card.urgent{border-left-color:var(--urgent)}.map-card.done{border-left-color:var(--done)}.map-title{display:flex;align-items:center}.map-title button{min-height:28px;font-size:12px;text-align:left;padding:4px 7px}.map-meta{display:flex;align-items:center;gap:6px;padding:3px 8px 6px;flex-wrap:wrap}.map-meta .quiet{padding:0 5px;min-height:22px;font-size:12px}.map-meta .person-tag,.map-meta .badge{font-size:9px}.map-meta .person-tag{max-width:140px;overflow:hidden}.map-meta .running{min-height:24px;padding:2px 5px;font-size:10px}
.checklabel{display:flex;align-items:center;gap:9px}.checklabel input{width:16px;min-height:16px;margin:0}.calendar{background:var(--surface);border-color:var(--line)}.calhead{background:var(--soft);color:var(--sub)}.calday{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;text-align:left;display:block;font-weight:400;padding:8px;min-height:100px}.calday.today{background:var(--active)}.calday .event{background:color-mix(in srgb,var(--person),var(--surface) 60%);border-left:3px solid var(--person);color:var(--text);font-size:10px}.year-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.year-month>.quiet{font-size:14px;font-weight:650;margin-bottom:7px}.mini .calday{min-height:36px;padding:4px;font-size:10px}.mini .calhead{padding:6px 3px;font-size:9px}.eventdots{display:flex;gap:2px;margin-top:3px}.eventdots i{width:4px;height:4px;border-radius:50%;display:block}.week-agenda{display:grid;grid-template-columns:1fr 1fr;gap:12px}.week-agenda .panel{margin:0}.week-agenda .empty{padding:16px}.account-flow ol{font-size:13px;padding:0 24px 0 36px;line-height:1.8;color:var(--sub)}.account-flow p{font-size:12px;padding:0 20px 15px;color:var(--sub)}.history-entry{border-bottom:1px solid var(--line)}.history-entry summary{display:flex;align-items:center;gap:10px;list-style:none}.history-entry summary::after{content:'⌄'}.history-entry strong{font-size:12px;color:var(--text);font-weight:550}.history-entry small{display:block;margin-top:4px;font-size:10px}.change-detail{padding:0 16px 16px}.diff{display:grid;grid-template-columns:1fr 1fr;gap:10px}.diff pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--soft);padding:12px;font-size:10px;border-radius:6px;color:var(--sub);max-height:250px;overflow:auto}.toolbar #historysearch{width:auto;flex:1;min-width:150px}.theme-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:18px}.theme-choice{font-size:12px;padding:10px}.theme-choice.chosen{outline:2px solid var(--accent)}.theme-sample{display:flex;border-radius:6px;overflow:hidden;height:42px;margin-bottom:10px}.theme-sample i{flex:1;background:var(--ui_f5f4f0, #f5f4f0)}.theme-sample i:first-child{background:var(--ui_dfe8da, #dfe8da)}.theme-sample i:last-child{background:var(--ui_405d4d, #405d4d)}.theme-sample.paper i{background:var(--ui_f5f5f5, #f5f5f5)}.theme-sample.paper i:first-child{background:var(--ui_e0e6ed, #e0e6ed)}.theme-sample.paper i:last-child{background:var(--ui_4a5766, #4a5766)}.theme-sample.ocean i{background:var(--ui_e8eef3, #e8eef3)}.theme-sample.ocean i:first-child{background:var(--ui_c0d7e7, #c0d7e7)}.theme-sample.ocean i:last-child{background:var(--ui_315f80, #315f80)}.theme-sample.slate i{background:var(--ui_272e37, #272e37)}.theme-sample.slate i:first-child{background:var(--ui_1c2027, #1c2027)}.theme-sample.slate i:last-child{background:var(--ui_9cb7d0, #9cb7d0)}.theme-sample.amber i{background:var(--ui_292929, #292929)}.theme-sample.amber i:first-child{background:var(--ui_1b1b1b, #1b1b1b)}.theme-sample.amber i:last-child{background:var(--ui_efb94d, #efb94d)}.settingsform{padding:0 20px 20px;max-width:600px}.settingsform>.primary{margin-top:14px}.notecard .panelhead{padding:0 0 10px}.notecard p{white-space:pre-wrap}.fileicon{background:var(--soft);color:var(--sub)}
@media(max-width:1100px){.inline-timer{flex-wrap:wrap}.inline-timer form{flex-basis:70%}.year-grid{grid-template-columns:repeat(2,1fr)}.theme-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.side{padding-top:10px}.side nav button{padding:7px 9px}.main{padding:20px 12px}.heading{margin-bottom:14px}h1{font-size:24px}.topbar{padding:10px 12px}.demo{font-size:8px}.topbar>span:first-child{font-size:10px}.inline-timer{padding:12px;gap:10px}.timer-label{display:flex;align-items:center;justify-content:space-between;width:100%}.inline-timer .digits{font-size:21px}.inline-timer form{display:grid;grid-template-columns:1fr auto;gap:8px;width:100%}.inline-timer label:first-child{width:100%;grid-column:1/-1}.inline-timer label.grow{min-width:0}.inline-timer form button{align-self:end}.person-totals{display:flex;overflow-x:auto;padding:0 12px 12px;gap:7px}.person-total{min-width:140px;flex:1}.person-total strong{font-size:20px}.periodbar{padding:10px 12px;gap:7px}.periodbar strong{font-size:11px}.periodbar h2{font-size:15px}.time-matrix th:first-child{min-width:110px}.time-matrix th,.time-matrix td{padding:6px;min-width:34px}.time-controls{padding:0 12px 9px}.panelhead{padding:12px}.time-summary .tabs button{font-size:11px;padding:5px 10px;min-height:29px}.task-toolbar{gap:6px}.task-toolbar button{font-size:11px;padding:5px 7px}.task-toolbar select{max-width:155px;padding:6px}.task-node{min-width:560px;min-height:35px}.task-node .task-name{font-size:11px}.task-node .task-tools button{min-width:24px}.people-legend{gap:8px}.person-tag{font-size:10px}.people-legend .badge{font-size:9px}.year-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mini .calday{padding:3px;min-height:31px}.mini .calhead{font-size:8px;padding:5px 1px}.week-agenda{grid-template-columns:1fr}.calday{padding:4px;min-height:85px}.calday .event{font-size:9px;padding:3px;border-left-width:2px}.theme-grid{grid-template-columns:repeat(2,1fr);gap:10px}.diff{grid-template-columns:1fr}.history-entry summary{padding:12px}.panel .row .danger{font-size:11px;padding:6px}.timer-mini{display:none}.task-panel{border-radius:8px}.map-card{min-width:200px}.mindmap{padding:15px}}
.time-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);width:100%;overflow:hidden}.time-day-label{padding:8px;font-size:10px;text-align:center;color:var(--sub);background:var(--soft)}.time-cell{min-width:0;min-height:78px;padding:7px 9px;text-align:left;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;overflow:hidden}.time-cell.today{background:var(--soft)}.time-cell.selected{box-shadow:inset 0 0 0 2px var(--accent)}.time-day-number{font-size:11px;color:var(--sub);margin-bottom:3px}.day-hours{font-size:10px;display:flex;align-items:center;gap:4px;white-space:nowrap;font-variant-numeric:tabular-nums;max-width:100%}.day-hours i{width:5px;height:5px;flex-shrink:0;background:var(--person);border-radius:50%}.time-year-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 14px 15px;gap:9px}.time-month-card{text-align:left;padding:11px;min-width:0}.time-month-card>strong{font-size:12px;display:block;margin-bottom:9px}.month-person-hours{display:flex;align-items:center;gap:6px;justify-content:space-between;margin:5px 0;font-variant-numeric:tabular-nums}.month-person-hours .person-tag{font-size:10px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.month-person-hours b{font-size:10px;font-weight:500;white-space:nowrap}.selected-time{background:var(--soft)}.selected-day .panelhead{padding:9px 14px}.selected-day .panelhead h2{font-size:13px}.selected-day .empty{padding:12px;font-size:12px}.selected-day-entries{max-height:240px;overflow-y:auto}.selected-day .row{padding:9px 13px}.calendar{grid-template-columns:repeat(7,minmax(0,1fr))}.calday{min-width:0;overflow-wrap:anywhere}.calday.selected{box-shadow:inset 0 0 0 2px var(--accent)}.week-columns-scroll{overflow-x:auto}.week-agenda{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));gap:6px;align-items:stretch}.week-agenda .panel{min-width:0;min-height:215px}.week-agenda .panelhead{padding:6px;gap:0;align-items:center}.week-agenda .panelhead button{padding:3px 5px;min-height:29px;font-size:13px}.week-agenda .day-heading{text-align:left;flex:1;font-size:10px!important}.day-heading strong{display:block;font-size:12px;margin-top:3px}.week-agenda .chosen-day{border-color:var(--accent)}.week-event{display:block;width:calc(100% - 10px);margin:5px;padding:7px;text-align:left;min-width:0;border-left:3px solid var(--person);background:color-mix(in srgb,var(--person),var(--surface) 60%);overflow-wrap:anywhere}.week-event small{font-size:10px}.week-event strong{font-size:11px;line-height:1.4;display:block;margin:4px 0}.week-event .person-tag{font-size:9px;white-space:normal}.week-empty{background:transparent;border:0;color:var(--sub);width:100%;min-height:145px;font-weight:400;opacity:.5}.duration-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.human-change{padding:8px 0;border-bottom:1px solid var(--line)}.human-change>strong{display:block;font-size:12px}.change-kind{font-size:10px;color:var(--sub);display:block;margin:4px 0}.human-change dl{margin:10px 0 4px;font-size:12px}.human-change dl>div{display:grid;grid-template-columns:150px 1fr;gap:12px;margin:8px 0}.human-change dt{color:var(--sub)}.human-change dd{margin:0;display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;white-space:pre-wrap;overflow-wrap:anywhere;min-width:0}.before-value{color:var(--sub)}.change-arrow{color:var(--accent)}.color-swatch{display:inline-block;width:14px;height:14px;border:1px solid var(--line);border-radius:4px;vertical-align:middle;margin-right:6px}
@media(max-width:1000px){.time-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.human-change dl>div{grid-template-columns:110px 1fr}}
@media(max-width:700px){.time-cell{padding:5px 3px;min-height:65px;gap:3px}.day-hours{font-size:8px;gap:2px}.day-hours i{width:4px;height:4px}.time-day-number{font-size:10px}.time-year-grid{padding:0 8px 10px;gap:5px}.time-month-card{padding:7px 5px}.month-person-hours{gap:3px}.month-person-hours .person-tag{font-size:8px}.month-person-hours b{font-size:8px}.month-person-hours .person-tag i{width:4px;height:4px}.time-month-card>strong{font-size:11px}.week-agenda{grid-template-columns:repeat(7,minmax(108px,1fr))}.human-change dl>div{grid-template-columns:1fr;gap:4px}.selected-day .row strong{font-size:12px}.selected-day .panelhead h2{font-size:12px}.time-summary .person-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.time-summary .person-total{min-width:0}}
.month-day-head{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-bottom:3px}.month-day-head .quiet{padding:1px 5px;min-height:23px;font-size:15px;color:var(--sub)}.calendar:not(.mini) .calday{cursor:default}.calendar:not(.mini) button.event{width:100%;text-align:left;min-height:23px;font-weight:400;border:0;border-left:3px solid var(--person);overflow-wrap:anywhere;line-height:1.35}.week-agenda .week-event{cursor:pointer}.color-field,input[type=color].color-field{width:100%;height:52px;min-height:52px;padding:4px;border-radius:8px;cursor:pointer}.color-field::-webkit-color-swatch-wrapper{padding:0}.color-field::-webkit-color-swatch{border:0;border-radius:4px}.color-field::-moz-color-swatch{border:0;border-radius:4px}.theme-editor{padding:0 18px 18px}.theme-editor .panelhead{padding:14px 0}.color-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px}.color-grid label{font-size:11px;margin:0}.theme-editor .actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px}.node-actions{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.node-actions button{font-size:12px}.graph-shell{border:1px solid var(--line);border-radius:10px;background:var(--surface);overflow:hidden}.graph-controls{display:flex;gap:6px;align-items:center;justify-content:flex-end;padding:7px 10px;border-bottom:1px solid var(--line)}.graph-controls button{font-size:11px;min-height:28px;padding:3px 9px}.graph-controls span{font-size:10px;min-width:40px;text-align:center;color:var(--sub)}.graph-viewport{height:clamp(360px,65vh,780px);overflow:hidden;position:relative;touch-action:none;cursor:grab;background-image:radial-gradient(var(--line) .7px,transparent .7px);background-size:18px 18px;user-select:none}.graph-viewport.panning{cursor:grabbing}.graph-world{position:absolute;transform-origin:0 0;will-change:auto}.graph-lines{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.graph-lines path{fill:none;stroke:var(--sub);stroke-width:2;opacity:.8}.graph-node{position:absolute;width:170px;height:32px;min-height:32px;border-radius:5px;display:flex;align-items:center;gap:5px;padding:3px 7px;border:1px solid var(--open);border-left:4px solid var(--person);background:color-mix(in srgb,var(--open),var(--surface) 90%);font-size:10px;text-align:left;line-height:1.2}.graph-node.doing{background:color-mix(in srgb,var(--doing),var(--surface) 72%);border-top-color:var(--doing);border-right-color:var(--doing);border-bottom-color:var(--doing)}.graph-node.urgent{background:color-mix(in srgb,var(--urgent),var(--surface) 72%);border-top-color:var(--urgent);border-right-color:var(--urgent);border-bottom-color:var(--urgent)}.graph-node.done{background:color-mix(in srgb,var(--done),var(--surface) 72%);border-top-color:var(--done);border-right-color:var(--done);border-bottom-color:var(--done)}.graph-node:hover{outline:1px solid var(--accent)}.graph-title{flex:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:25px}.node-person{display:grid;place-items:center;background:var(--person);color:var(--ui_ffffff, #ffffff);text-shadow:0 1px 2px color-mix(in srgb,var(--ui_000000, #000000) 60%, transparent);width:17px;height:17px;border-radius:50%;font-size:8px;flex-shrink:0}.node-count{font-size:8px;color:var(--sub)}.node-live{color:var(--done);font-size:11px}.graph-node.project-root{background:var(--active);border:1px solid var(--accent);font-size:11px;font-weight:600}.graph-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
@media(max-width:700px){.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-editor{padding:0 12px 12px}.color-field,input[type=color].color-field{height:48px;min-height:48px}.graph-viewport{height:62vh;min-height:360px}.graph-controls{justify-content:center}.month-day-head .quiet{font-size:13px;padding:1px 3px;min-height:23px}.calendar:not(.mini) button.event{font-size:8px;padding:3px 2px}.theme-editor .actions{flex-wrap:wrap}}
.graph-node{width:170px;padding:2px 3px 2px 5px;gap:3px}.graph-node .node-main{font:inherit;font-size:9px;line-height:1.2;min-width:0;min-height:26px;height:26px;border:0;border-radius:2px;background:transparent;padding:0;display:-webkit-box;text-align:left;color:inherit}.node-quick{display:flex;flex-shrink:0;gap:0}.node-quick button{padding:1px 2px;min-height:24px;width:18px;min-width:18px;border:0;background:transparent;font-size:12px;color:inherit}.node-quick button.running{color:var(--done);background:color-mix(in srgb,var(--done),var(--surface) 75%);border-radius:3px}.graph-node .node-person{width:13px;height:13px;font-size:7px}.inline-child{position:absolute;z-index:5;display:flex;gap:3px;width:265px;padding:4px;background:var(--surface);border:1px solid var(--accent);border-radius:6px;box-shadow:0 3px 14px color-mix(in srgb,var(--ui_000000, #000000) 13%, transparent)}.inline-child input{width:185px;min-width:0;padding:5px;font-size:11px;border:0}.inline-child button{font-size:12px;padding:2px 5px;min-height:26px}.color-pick{display:block;width:100%;height:52px;padding:4px}.color-pick span{display:block;width:100%;height:100%;background:var(--swatch);border-radius:4px}.color-grid input[type=hidden]{display:none}#colorpicker{width:330px;max-width:calc(100vw - 24px);padding:20px}#colorpicker .dialoghead{margin-bottom:10px}.wheel-wrap{position:relative;width:260px;height:260px;max-width:100%;margin:12px auto;touch-action:none}.hue-ring{position:absolute;inset:0;border-radius:50%;background:conic-gradient(red,var(--ui_ffff00, #ffff00),var(--ui_00ff00, #00ff00),var(--ui_00ffff, #00ffff),var(--ui_0000ff, #0000ff),var(--ui_ff00ff, #ff00ff),red);mask:radial-gradient(circle,transparent 59%,var(--ui_000000, #000000) 60%);-webkit-mask:radial-gradient(circle,transparent 59%,var(--ui_000000, #000000) 60%);cursor:crosshair}.hue-marker{position:absolute;width:15px;height:15px;border:2px solid var(--ui_ffffff, white);box-shadow:0 0 0 1px var(--ui_333333, #333333);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.sv-square{position:absolute;left:26%;top:26%;width:48%;height:48%;cursor:crosshair}.sv-marker{position:absolute;width:11px;height:11px;border:2px solid var(--ui_ffffff, white);box-shadow:0 0 0 1px var(--ui_333333, #333333);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.wheel-sliders{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wheel-sliders label{font-size:11px;margin:2px 0}.wheel-sliders input{padding:0;min-height:20px}.color-preview{display:flex;align-items:end;gap:0;margin-top:8px}.color-preview>span{width:42px;height:40px;border:1px solid var(--line)}.color-preview label{flex:1;margin:0 0 0 12px;font-size:10px}.color-preview input{padding:8px;font-size:12px;font-family:monospace}#colorpicker .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}
.project-top{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px}.drag-handle{display:inline-flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;user-select:none;color:var(--sub);padding:2px;min-width:18px;min-height:23px;font-size:17px}.drag-handle:focus-visible{outline:2px solid var(--accent);border-radius:3px}.event-drag{float:right;font-size:13px;min-width:15px;min-height:18px;position:relative;z-index:1}.node-drag{font-size:13px;min-width:10px;min-height:25px;padding:0}.node-quick .branch-toggle{width:auto;min-width:27px;display:flex;align-items:center;gap:1px;border:1px solid var(--line);background:var(--surface);padding:0 2px;font-size:15px}.branch-toggle small{font-size:7px;color:var(--sub)}.node-quick .branch-toggle.closed{background:var(--accent);color:var(--accenttext);border-color:var(--accent)}.node-quick .branch-toggle.closed small{color:var(--accenttext)}.graph-node .node-main{font-size:9px}.drop-ready{outline:3px solid var(--accent)!important;outline-offset:-2px}.dragging{cursor:grabbing!important;user-select:none}.drag-ghost{position:fixed;z-index:10000;pointer-events:none;background:var(--surface);color:var(--text);padding:9px 13px;border:1px solid var(--accent);box-shadow:0 5px 24px color-mix(in srgb,var(--ui_000000, #000000) 20%, transparent);border-radius:7px;font-size:12px;max-width:240px}.hex-actions{display:flex;align-items:center;gap:3px;margin-top:6px}.hex-actions #wheel-hex{min-width:0;flex:1;margin:0}.hex-actions button{padding:3px 5px;min-width:27px;min-height:34px;font-size:17px}.graph-node .node-quick{gap:1px}
.insertion-line{position:fixed;z-index:9998;pointer-events:none;background:var(--accent);border-radius:3px;box-shadow:0 0 0 1px var(--surface),0 0 8px color-mix(in srgb,var(--accent),transparent 50%)}.insertion-line::before,.insertion-line::after{content:'';position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent);left:-2px;top:-2px}.insertion-line::after{left:auto;right:-2px;top:auto;bottom:-2px}.drop-hint{position:fixed;z-index:9998;pointer-events:none;background:var(--accent);color:var(--accenttext);padding:3px 7px;border-radius:4px;font-size:10px}.graph-node.timer-active .node-quick button.running{width:auto;min-width:64px;display:flex;align-items:center;gap:3px;font-size:9px;padding:2px 4px;white-space:nowrap}.graph-node [data-taskclock]{font-variant-numeric:tabular-nums}.hex-actions button{display:grid;place-items:center}.hex-actions svg{pointer-events:none}
.multi-timer{padding:14px 16px;background:var(--soft);border-color:var(--line)}.multi-timer form{display:flex;gap:10px;align-items:flex-end}.multi-timer label{margin:0;font-size:10px;min-width:0}.multi-timer label:first-child{width:140px}.multi-timer input,.multi-timer select{font-size:12px;padding:8px;min-height:37px}.multi-timer .primary{white-space:nowrap}.active-timers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px;margin-top:12px}.person-running{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--timer-person);border-radius:7px;padding:9px}.person-running strong{display:block;font-size:12px}.person-running small{display:block;font-size:10px;margin-top:3px}.person-running>b{font-size:12px;color:var(--timer-person);font-variant-numeric:tabular-nums;white-space:nowrap}.person-running button{min-height:27px;padding:3px 7px;color:var(--timer-person)}.timer-person-select{display:flex;align-items:center;gap:6px;margin:0;font-size:11px}.timer-person-select select{border-left:3px solid var(--accent)}.timer-badges{display:flex;flex-wrap:wrap;gap:6px}.timer-person-badge{display:inline-flex;gap:5px;align-items:center;color:var(--timer-person);font-size:10px}.timer-person-badge i{width:6px;height:6px;background:var(--timer-person);border-radius:50%}.timer-person-badge b{font-size:10px;font-variant-numeric:tabular-nums}.node-quick .person-clock{color:var(--timer-person)!important;background:color-mix(in srgb,var(--timer-person),var(--surface) 60%)!important;border-color:var(--timer-person)!important;border:1px solid var(--timer-person);width:auto!important;min-width:85px!important}.clock-initial{font-size:7px;font-weight:700}.person-clock [data-clock-user]{font-variant-numeric:tabular-nums;font-size:9px}
@media(max-width:700px){.multi-timer form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.multi-timer label:first-child{width:auto}.multi-timer .grow{grid-column:1/2}.multi-timer .primary{width:100%}.active-timers{grid-template-columns:1fr}.timer-badges{max-width:180px}.timer-person-badge{font-size:8px}.timer-person-badge b{font-size:8px}}
.node-quick span.person-clock{display:inline-flex;align-items:center;gap:3px;padding:2px 4px;border-radius:4px;font-size:9px;white-space:nowrap;font-variant-numeric:tabular-nums}.multi-timer form>label:first-child{width:210px}@media(max-width:700px){.multi-timer form>label:first-child{width:auto;grid-column:1/-1}}

.graph-offset{position:absolute;left:0;top:0;overflow:visible}.graph-world{position:absolute;left:0;top:0;transform:none;will-change:auto}
.stopwatch-icon{flex-shrink:0;vertical-align:middle;pointer-events:none}.node-quick .arrow-toggle{width:19px;min-width:19px;display:grid;place-items:center;padding:1px;border:0;background:transparent!important;color:var(--text)!important}.node-quick .arrow-toggle svg{pointer-events:none}.node-quick .arrow-toggle.leaf{opacity:.3}.node-quick .arrow-toggle.closed{opacity:1}.node-quick button[data-timer]{display:grid;place-items:center}.node-quick .person-clock .stopwatch-icon{width:13px;height:13px}.multi-timer .primary,.person-running button[data-stop-user],.node-actions [data-node-timer]{display:inline-flex;align-items:center;justify-content:center;gap:5px}
.graph-node .node-person{border:0;padding:0;min-height:15px;height:15px;width:15px;font-size:7px;cursor:pointer;flex-shrink:0}.graph-node .node-person.unassigned-person{background:transparent;border:1px dashed var(--sub);color:var(--sub);text-shadow:none}.graph-node{cursor:pointer}.node-choice{position:fixed;z-index:1000;width:210px;max-height:320px;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 5px 24px color-mix(in srgb,var(--ui_000000, #000000) 20%, transparent);padding:4px}.node-choice button{width:100%;display:flex;align-items:center;gap:9px;border:0;background:transparent;text-align:left;min-height:33px;padding:6px 9px;font-size:12px}.node-choice button:hover,.node-choice button[aria-checked=true]{background:var(--soft)}.node-choice .choice-check{margin-left:auto}.node-choice .more-options{border-top:1px solid var(--line);font-size:11px;color:var(--sub);margin-top:3px}.node-choice .avatar{width:20px;height:20px;font-size:8px}.status-dot,.inherit-dot{width:8px;height:8px;border-radius:50%;background:var(--open);display:block}.status-dot.doing{background:var(--doing)}.status-dot.urgent{background:var(--urgent)}.status-dot.done{background:var(--done)}.inherit-dot{background:none;border:1px dashed var(--sub)}

.graph-node .node-person{display:grid;place-items:center;line-height:1;box-sizing:border-box}.unassigned-person-icon{display:block;flex-shrink:0;pointer-events:none}
.main.project-room{max-width:none;padding:15px 22px 12px}.project-titlebar{display:flex;align-items:center;gap:9px;margin-bottom:12px;min-width:0}.project-titlebar h1{font-size:23px;margin:0;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-titlebar .back-project{padding:3px 8px;min-height:30px}.project-titlebar>.primary{padding:5px 11px;min-height:31px;font-size:12px;white-space:nowrap}.project-navigation{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:9px;flex-wrap:wrap}.project-tabs{gap:5px}.project-tabs button{font-size:11px;min-height:31px;padding:6px 10px}.project-navigation .task-toolbar{margin:0 0 0 auto;justify-content:flex-end;gap:6px}.project-navigation .task-toolbar select{padding:6px;font-size:11px;max-width:155px;min-height:30px}.project-navigation .task-toolbar button{font-size:11px;min-height:30px;padding:4px 8px}.graph-controls{padding:5px 8px;min-height:36px;position:relative;z-index:2}.graph-legend{margin-right:auto;position:relative}.graph-legend>summary{padding:4px 7px;font-size:10px}.graph-legend-content{position:absolute;left:0;top:100%;min-width:260px;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:12px;box-shadow:0 5px 20px color-mix(in srgb,var(--ui_000000, #000000) 20%, transparent);z-index:10}.graph-legend-content>div{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.graph-legend-content .sub{font-size:10px}.graph-shell{overflow:visible}.graph-viewport{border-radius:0 0 9px 9px;min-height:180px;height:calc(100dvh - 225px)}body.graph-maximized{overflow:hidden}.graph-shell.is-maximized{position:fixed;inset:8px;z-index:40;display:flex;flex-direction:column;background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 20px var(--bg)}.graph-shell.is-maximized .graph-viewport{flex:1;min-height:0;height:auto!important}.maximize-graph{display:grid;place-items:center}.maximize-graph svg{pointer-events:none}@media(max-width:700px){.main.project-room{padding:10px 10px 8px}.project-titlebar{gap:5px;margin-bottom:8px}.project-titlebar h1{font-size:17px}.project-titlebar>.primary{font-size:10px;padding:4px 7px;min-height:28px}.project-navigation{gap:6px;margin-bottom:6px}.project-tabs{gap:4px}.project-tabs button{font-size:10px;min-height:29px;padding:5px 8px}.project-navigation .task-toolbar{gap:3px;margin-left:auto}.project-navigation .task-toolbar select{font-size:10px;max-width:123px;padding:5px}.project-navigation .task-toolbar button{font-size:10px;padding:4px 6px}.graph-controls{justify-content:flex-end;gap:3px;padding:4px 5px}.graph-controls button{padding:3px 6px;font-size:10px}.graph-legend-content{min-width:230px}.graph-shell.is-maximized{inset:4px}.graph-viewport{height:calc(100dvh - 260px)}}
.auth-card{max-width:430px;margin:8vh auto;padding:32px;background:var(--panel,var(--ui_ffffff, #ffffff));border:1px solid var(--line,var(--ui_dddddd, #dddddd));border-radius:18px}.auth-card form{display:grid;gap:15px}.auth-card label{display:grid;gap:6px}.auth-card h1{font-size:26px}.auth-card h2{font-size:18px;margin:8px 0}.setup-card{margin:3vh auto;max-width:520px}.auth-card input{width:100%;box-sizing:border-box}.link-row{display:flex;gap:8px;flex-wrap:wrap}.account-link{width:100%;font-size:13px}.sync-busy #app{pointer-events:none;opacity:.7}.sync-state{position:fixed;bottom:14px;right:14px;z-index:2000;background:var(--panel,var(--ui_ffffff, #ffffff));padding:10px 16px;border:1px solid var(--line,var(--ui_dddddd, #dddddd));border-radius:10px;box-shadow:0 3px 14px color-mix(in srgb,var(--ui_000000, #000000) 13%, transparent)}.project-access{display:flex;gap:12px;flex-wrap:wrap}.checklabel input{width:auto}.file-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:18px}.file-toolbar select{max-width:320px}.member-mode [data-drag-kind=project],.member-mode [data-drag-kind=task],.member-mode [data-quick-child],.member-mode [data-child],.member-mode [data-node-more],.member-mode [data-node-child],.member-mode [data-node-shift],.member-mode [data-edit-project]{display:none!important}

.member-mode [data-node-person]{pointer-events:none;cursor:default}.member-mode [data-action="task"],.member-mode [data-action="editProject"]{display:none!important}
.file-drop{border:2px dashed var(--line);border-radius:14px;padding:25px 16px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;text-align:center;transition:background .15s,border-color .15s}.file-drop small{flex-basis:100%;color:var(--sub)}.file-drop.drag-over{background:var(--active);border-color:var(--accent)}.file-picker{position:relative;overflow:hidden;cursor:pointer;background:var(--accent);color:var(--accenttext);padding:10px 16px;border-radius:9px;display:inline-flex;font-weight:600}.file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-sortbar{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin:16px 0}.file-sortbar label{display:flex;align-items:center;gap:10px}.file-table-head,.file-row{display:grid;grid-template-columns:minmax(150px,1fr) 65px 95px 165px 85px;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.file-table-head button{text-align:left}.file-name{overflow-wrap:anywhere}.file-meta{display:contents}.file-meta span,.file-meta time{font-size:13px;color:var(--sub)}.file-download{font-size:13px}.upload-dock{position:fixed;bottom:14px;right:14px;z-index:1100;max-width:400px;width:calc(100vw - 28px);box-sizing:border-box;padding:18px;box-shadow:0 8px 35px color-mix(in srgb,var(--ui_000000, #000000) 27%, transparent);display:grid;gap:10px}.upload-dock strong{overflow-wrap:anywhere}.upload-dock small{color:var(--sub)}.upload-dock progress{width:100%;height:9px;accent-color:var(--accent)}.upload-dock .actions{margin-top:0;justify-content:flex-end}.upload-dock [role=status]{font-size:13px;overflow-wrap:anywhere}
@media(max-width:850px){.file-table-head{display:none}.file-row{grid-template-columns:minmax(0,1fr) auto}.file-name{grid-column:1;grid-row:1}.file-download{grid-column:2;grid-row:1}.file-meta{grid-column:1/-1;grid-row:2;display:flex;gap:14px;flex-wrap:wrap}.file-sortbar{justify-content:flex-start;flex-wrap:wrap}.upload-dock{max-width:360px}}

.file-picker:focus-within{outline:2px solid var(--accent);outline-offset:3px}

.files-panel{padding:18px}

.file-table-head,.file-row{grid-template-columns:minmax(140px,1fr) 55px 75px 145px minmax(130px,.7fr) 75px}.file-assignment{display:grid;gap:4px;min-width:0}.file-assignment>span{display:none}.file-assignment select{width:100%;min-width:0;font-size:13px;padding:8px}.file-sortbar select{max-width:100%}
@media(max-width:1100px){.file-table-head{display:none}.file-row{grid-template-columns:minmax(0,1fr) auto}.file-name{grid-column:1;grid-row:1}.file-download{grid-column:2;grid-row:1}.file-meta{grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;gap:14px}.file-assignment{grid-column:1/-1;grid-row:3;grid-template-columns:auto minmax(0,260px);align-items:center;gap:12px}.file-assignment>span{display:block;font-size:13px;color:var(--sub)}}

/* Shared section rhythm. Grid gaps own the spacing between dashboard cards. */
:root{--section-gap:20px;--panel-inset:16px}
.main>.heading,.main>.timer,.main>.stats,.main>.panel,.main>.toolbar,.main>.file-toolbar{margin-bottom:var(--section-gap)}
.overview-panels{gap:var(--section-gap);align-items:start}.overview-panels>.panel{margin-bottom:0}
.main>.panel:last-child,.main>.timer:last-child{margin-bottom:0}
.week-time-mobile{display:none}
.time-matrix td.tracked{box-shadow:inset 0 -2px var(--person)}
.day-hours i,.person-tag i{width:7px;height:7px}
@media(max-width:1100px){
 .week-time-desktop{display:none}
 .week-time-mobile{display:grid;gap:12px;padding:0 var(--panel-inset) var(--panel-inset);min-width:0}
 .week-person{border:1px solid var(--line);border-left:3px solid var(--person);border-radius:9px;padding:10px;min-width:0}
 .week-person-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;min-width:0}
 .week-person-heading .person-tag{white-space:normal;overflow-wrap:anywhere;min-width:0}
 .week-person-heading>strong{font-size:13px;white-space:nowrap;font-variant-numeric:tabular-nums}
 .week-person-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
 .week-person-day{display:grid;gap:3px;text-align:center;padding:6px 0;border-radius:4px;background:var(--soft);min-width:0;font-variant-numeric:tabular-nums}
 .week-person-day>span,.week-person-day>small{font-size:10px;color:var(--sub)}
 .week-person-day>b{font-size:12px;font-weight:600;letter-spacing:-.3px}
 .week-person-day.tracked{background:color-mix(in srgb,var(--person),var(--surface) 60%);box-shadow:inset 0 -2px var(--person)}
 .week-person-day.current{outline:1px solid var(--accent);outline-offset:-1px}
 .week-unit{display:block;text-align:right;margin-top:7px;font-size:10px;color:var(--sub)}
}
@media(max-width:700px){
 :root{--section-gap:16px;--panel-inset:14px}
 .heading{gap:12px}.panelhead{padding:var(--panel-inset);gap:10px;flex-wrap:wrap}
 .row{padding:12px var(--panel-inset)}
 .timer,.projectcard{padding:var(--panel-inset)}
 .person-totals{padding:0 var(--panel-inset) 12px;gap:10px}
 .periodbar{padding:12px var(--panel-inset);gap:8px}
 .time-controls{padding:0 var(--panel-inset) 12px;gap:8px;flex-wrap:wrap}
 .projects,.notegrid,.year-grid{gap:var(--section-gap)}
 .toolbar,.file-toolbar{gap:10px;flex-wrap:wrap}
 .file-toolbar select{min-width:0;max-width:100%;flex:1}
 .settingsform{padding:0 var(--panel-inset) var(--panel-inset);max-width:100%}
 .person-running{flex-wrap:wrap}.person-running .grow{flex-basis:120px}
 .time-summary .panelhead>.tabs{max-width:100%}
}

/* Project identity stays separate from employee/status color. */
.projectcard{border-top:3px solid var(--project)}.projectcard .progress i{background:var(--project)}
.project-name{border-left:4px solid var(--project);padding-left:10px}
.project-overview-row,.project-time-row{border-left:3px solid var(--project)}
.file-assignment.project-reference select{border-left:3px solid var(--project)}
.calday button.event,.week-event{box-shadow:inset 0 -2px var(--project)}
.graph-controls .graph-add-root{margin-right:auto;border:1px solid var(--accent);border-radius:5px;width:32px;height:29px;padding:0;font-size:20px;line-height:1;background:var(--active);color:var(--text);flex-shrink:0}
.project-timeline{--timeline-label:200px;margin-bottom:var(--section-gap);width:100%;min-width:0}
.timeline-axis,.timeline-row{display:grid;grid-template-columns:var(--timeline-label) minmax(0,1fr);padding:0 var(--panel-inset);gap:12px;min-width:0}
.timeline-axis{height:43px;align-items:start;border-bottom:1px solid var(--line);font-size:11px;color:var(--sub);padding-top:8px}
.timeline-axis>div{position:relative;height:100%;min-width:0}
.timeline-tick{position:absolute;top:0;transform:translateX(-50%);font-size:10px;white-space:nowrap;text-align:center}
.timeline-tick.tick-0{transform:none}.timeline-tick.tick-4{transform:translateX(-100%)}.timeline-tick small{display:block;font-size:9px}
.timeline-row{min-height:52px;border-bottom:1px solid var(--line);align-items:stretch}.timeline-row:last-child{border-bottom:0}
.timeline-project{min-width:0;padding:7px 0;display:flex;flex-wrap:wrap;align-content:center;gap:2px}
.timeline-name{font-size:12px;min-height:24px;padding:0 5px;border-left:3px solid var(--project);border-radius:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.timeline-row-actions{display:flex;align-items:center;gap:2px}.timeline-row-actions button{font-size:12px;min-height:23px;padding:0 6px}.timeline-row-actions .drag-handle{font-size:13px}
.timeline-track{min-width:0;position:relative;background:repeating-linear-gradient(to right,var(--line) 0px,var(--line) 1px,transparent 1px,transparent var(--day-step))}
.timeline-bar{position:absolute;top:50%;transform:translateY(-50%);height:17px;min-height:17px;min-width:3px;padding:0;border:0;border-radius:4px;background:var(--project)}
.timeline-bar:hover{background:var(--project);filter:brightness(1.15)}.timeline-bar.partial{border:1px dashed var(--text)}
.timeline-today{position:absolute;inset-block:0;width:3px;transform:translateX(-50%);background:var(--accent);box-shadow:0 0 0 1px var(--surface);pointer-events:none;z-index:4}
.timeline-undated{position:absolute;inset:0;display:flex;align-items:center;font-size:11px;color:var(--sub);padding:0 5px;min-width:0}
@media(max-width:1100px){
 .project-timeline{--timeline-label:150px}
 .week-columns-scroll{overflow:visible;max-width:100%}
 .week-agenda{min-width:0!important;width:100%;grid-template-columns:1fr!important;gap:10px}
 .week-agenda>.panel{min-height:0;display:grid;grid-template-columns:90px minmax(0,1fr);padding:6px;gap:5px}
 .week-agenda>.panel>.panelhead{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:5px;gap:6px;border:0}
 .week-agenda .week-event{grid-column:2;width:100%;margin:0;padding:7px;min-width:0}
 .week-agenda .week-empty{grid-column:2;min-height:45px}
 .week-agenda .day-heading strong{font-size:11px}.week-agenda .day-heading{font-size:11px}
}
@media(max-width:700px){
 .project-timeline{--timeline-label:112px}
 .timeline-axis,.timeline-row{gap:8px;padding-left:10px;padding-right:10px}
 .timeline-tick.tick-1,.timeline-tick.tick-3{display:none}
 .timeline-name{font-size:11px}.timeline-row-actions button{padding:0 5px}
 .timeline-undated{font-size:10px;line-height:1.3}
 .graph-controls{flex-wrap:wrap;gap:4px}.graph-controls .graph-add-root{width:29px}
 .graph-controls button{padding-inline:6px}
}

.graph-shell{border-top:3px solid var(--project)}.person-running{box-shadow:inset 0 -2px var(--project)}

.timeline-bar{min-width:18px;overflow:visible}
.timeline-bar-open{position:absolute;inset:0;width:100%;height:100%;min-height:0;border:0;padding:0;background:transparent;border-radius:4px}
.timeline-bar-open:hover{background:color-mix(in srgb,var(--ui_ffffff, #ffffff) 13%, transparent)}
.timeline-resize{position:absolute;top:50%;transform:translateY(-50%);width:17px;height:30px;min-height:0;border:0;padding:0;background:transparent;cursor:ew-resize;touch-action:none;z-index:3;display:grid;place-items:center;border-radius:5px}
.timeline-resize.start{left:-8px}.timeline-resize.due{right:-8px}
.timeline-resize i{display:block;width:4px;height:15px;border-radius:3px;background:var(--text);box-shadow:0 0 0 1px var(--surface);opacity:.85}
.timeline-resize:hover,.timeline-resize:focus-visible{background:var(--active);outline:1px solid var(--accent)}
.timeline-drag-label{position:absolute;top:-1px;left:50%;transform:translateX(-50%);z-index:4;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:4px;padding:2px 4px;font-size:9px;white-space:nowrap;pointer-events:none;font-variant-numeric:tabular-nums}
.timeline-scale button{font-size:11px;min-height:28px;padding:3px 10px}
.admin-tabs{margin-bottom:var(--section-gap)}.admin-tabs button{display:flex;align-items:center;gap:6px}.admin-tabs svg{width:16px;height:16px}
.admin-hint{padding:0 var(--panel-inset);font-size:12px;color:var(--sub);line-height:1.5}
.member-rights{padding:var(--panel-inset);border-top:1px solid var(--line)}.member-rights h3{margin:0 0 12px;display:flex;align-items:center;gap:8px;font-size:14px}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.permission-option{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--text)}.permission-option input{margin:0;width:18px;height:18px;min-height:18px;accent-color:var(--accent);flex-shrink:0}
.admin-history-title{font-size:18px;margin:0 0 14px}
.overview-panels>.panel:only-child{grid-column:1/-1}
@media(max-width:700px){.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}.timeline-resize{width:22px;height:34px}.timeline-resize.start{left:-11px}.timeline-resize.due{right:-11px}.timeline-resize i{height:17px}.timeline-axis .week-tick{display:none}.timeline-axis .week-tick:first-child,.timeline-axis .week-tick:nth-child(3),.timeline-axis .week-tick:last-child{display:block}}

/* Compact project overview; actions share the title line. */
.timeline-row{min-height:40px}
.timeline-project{flex-wrap:nowrap;align-items:center;align-content:normal;gap:4px;padding:4px 0}
.timeline-name{width:auto;flex:1;min-width:0;padding:2px 4px}
.timeline-row-actions{flex:0 0 auto;gap:0;align-items:center}
.timeline-row-actions button{padding:0 4px;min-height:26px}
.timeline-row-actions .drag-handle{padding:3px 4px}
.projectcard{min-height:0;padding:12px 14px;gap:8px;justify-content:flex-start}
.projectcard .project-top{align-items:flex-start;gap:8px}
.projectcard h2{font-size:16px;line-height:1.3;margin:0;flex:1;min-width:0;overflow-wrap:anywhere}
.projectcard .project-client{font-size:11px;line-height:1.3}
.projectcard .progress{margin:0;height:3px}
.projectcard .foot{margin-top:0;gap:8px;min-width:0}
.projectcard .foot>small{line-height:1.4;min-width:0}
.project-people{display:flex;gap:3px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.project-people .avatar{width:22px;height:22px;font-size:9px;flex-shrink:0}
@media(max-width:700px){.project-timeline{--timeline-label:clamp(132px,42vw,160px)}.timeline-name{font-size:11px}.timeline-row{min-height:40px}.projectcard{padding:12px;gap:7px}.projectcard h2{font-size:15px}.timeline-row-actions .drag-handle{padding:4px}.timeline-row-actions button{padding-inline:4px}}

/* Calendar-month boundaries stay distinct from day/week grid lines. */
.timeline-axis{height:66px;padding-top:0;align-items:stretch}
.timeline-axis>span{display:flex;align-items:center}
.timeline-axis-track{position:relative}
.timeline-months{position:relative;height:27px;border-bottom:1px solid var(--line)}
.timeline-month{position:absolute;top:0;height:100%;text-align:center;padding-top:2px;font-size:10px;font-weight:650;color:var(--text);overflow:hidden;white-space:nowrap;box-sizing:border-box}
.timeline-month small{display:block;font-size:8px;font-weight:400;color:var(--sub);line-height:10px}
.timeline-ticks{position:relative;height:38px}.timeline-ticks .timeline-tick{top:4px}
.timeline-month-line{position:absolute;top:0;bottom:0;width:0;border-left:2px solid color-mix(in srgb,var(--sub) 65%,var(--line));pointer-events:none}
.timeline-month-line.year-change{border-left-color:var(--sub)}
@media(max-width:700px){.timeline-month{font-size:9px}.timeline-month small{font-size:8px}}

/* One compact label row; only month boundaries span the chart. */
.project-timeline>.panelhead{padding:10px var(--panel-inset)}
.project-timeline>.panelhead h2{font-size:15px;line-height:1.3}
.timeline-axis.compact-axis{height:30px}
.timeline-axis-label{display:flex;gap:6px;align-items:center;justify-content:space-between;font-size:10px;min-width:0;white-space:nowrap}
.timeline-axis-label small{font-size:9px;color:var(--sub);font-weight:400}
.timeline-axis-track .inline-months{height:100%;border-bottom:0}
.inline-months .timeline-month{display:flex;align-items:center;justify-content:center;gap:4px;padding:0 2px;font-size:10px;font-weight:400;line-height:1;white-space:nowrap}
.inline-months .timeline-month b{font-size:10px;font-weight:650}
.inline-months .timeline-month small{display:inline;line-height:1;font-size:9px;color:var(--sub);font-weight:400;white-space:nowrap}
.inline-months .timeline-month small:before{content:'·';margin-right:3px}
.inline-months .timeline-month i{font-style:normal;font-size:8px}
.timeline-month-line{border-left:1px solid color-mix(in srgb,var(--sub) 32%,var(--line))}
.timeline-month-line.year-change{border-left-color:color-mix(in srgb,var(--sub) 55%,var(--line))}
.timeline-track{background-image:none}
.timeline-track:after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:repeating-linear-gradient(to right,var(--line) 0,var(--line) 1px,transparent 1px,transparent var(--day-step));pointer-events:none}
.timeline-row{min-height:34px}
.timeline-project{padding:2px 0}.timeline-name{min-height:23px}
.timeline-row-actions button{min-height:24px}
.timeline-bar{height:13px;min-height:13px}
.timeline-resize{height:28px}.timeline-resize i{height:12px}
.timeline-drag-label{top:-3px;font-size:8px}
@media(max-width:700px){.timeline-row{min-height:34px}.timeline-axis-label{gap:3px;font-size:9px}.timeline-axis-label small{font-size:8px}.inline-months .timeline-month{gap:2px;padding:0 1px}.inline-months .timeline-month b{font-size:9px}.inline-months .timeline-month small{font-size:8px}.inline-months .timeline-month i{display:none}.inline-months .timeline-month small:before{margin-right:2px}.inline-months.crowded .timeline-month small{display:none}.timeline-resize{height:30px}.timeline-resize i{height:12px}}

.node-choice .unassigned-choice-icon{display:grid;place-items:center;width:20px;height:20px;min-width:20px;margin:0;background:var(--soft);border:1px solid var(--sub);color:var(--text);flex-shrink:0}

.topbar{flex-wrap:wrap;gap:8px}.topbar>span:first-child{flex:1;min-width:0}
.search-button,.undo-button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:4px 8px;font-size:11px;white-space:nowrap}
.global-search-field{position:relative;margin-bottom:var(--section-gap)}.global-search-field input{width:100%;padding-right:40px}.global-search-field>button{position:absolute;right:4px;top:4px;bottom:4px;min-height:0;width:30px;padding:0}.global-search-field input::-webkit-search-cancel-button{display:none}
.search-group{margin-bottom:var(--section-gap)}.search-result{width:100%;text-align:left;border:0;border-left:3px solid var(--project);border-bottom:1px solid var(--line);border-radius:0;gap:10px}.search-result .grow{display:block}.search-result small{display:block}.search-result:last-child{border-bottom:0}
.my-task-controls{justify-content:space-between}.my-task-controls select{max-width:250px}
.personal-task{border-left:3px solid var(--project);gap:8px;flex-wrap:wrap}
.personal-task .task-open{padding:0;text-align:left;min-width:120px;min-height:26px;flex:1}.task-open strong{display:block;font-size:12px}.task-open small{display:block;font-size:10px}
.personal-task>.quiet{padding:3px 6px;min-height:28px}.personal-task .task-check{width:25px;min-width:25px;font-size:18px}.task-check.done{color:var(--done)}
.task-date{font-size:10px;white-space:nowrap;color:var(--sub)}.task-date.overdue{color:var(--urgent);font-weight:650}
.personal-task .person-clock{border:1px solid var(--timer-person);color:var(--text);background:color-mix(in srgb,var(--timer-person),var(--surface) 60%);font-size:10px;white-space:nowrap;min-height:27px}
.personal-task .running svg,.personal-task [data-timer] svg{width:15px;height:15px}
.graph-node .node-file-link{display:grid;place-items:center;width:17px;min-width:17px;padding:0!important;min-height:17px;height:17px;color:var(--sub);flex-shrink:0}

.task-found{outline:2px solid var(--accent)!important;outline-offset:2px}
.task-file-picker{padding:14px var(--panel-inset);display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line)}.task-file-picker label{flex:1;min-width:140px}.task-file-picker select{width:100%}.task-file-picker small{flex-basis:100%;font-size:11px}.task-file-links .row .grow{overflow-wrap:anywhere}.task-file-links .row small{display:block}
.task-deadline{border-left-style:dashed!important}
@media(max-width:700px){.search-button span,.undo-button span{display:none}.search-button,.undo-button{padding:4px 7px}.personal-task .task-open{min-width:120px}.personal-task{gap:6px;padding:10px 12px}.my-task-controls select{max-width:100%}.global-search-field{margin-bottom:14px}}

/* Admin work targets: compact cards and wrapping controls, no wide report table. */
.task-file-entry{margin-top:10px}.task-file-entry button{display:inline-flex;align-items:center;gap:6px}
.hours-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hours-filter select{width:auto;min-width:180px}.hours-person{border-left:3px solid var(--person)}.hours-person h3{display:flex;align-items:center;gap:7px;margin:0}.hours-person .panelhead{flex-wrap:wrap;gap:8px}.hours-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 8px}.hours-metric small,.hours-metric strong{display:block}.hours-metric small{font-size:11px;color:var(--muted)}.hours-metric strong{font-size:18px;font-variant-numeric:tabular-nums}.hours-open strong{color:var(--text)}.hours-person progress{width:100%;height:5px;accent-color:var(--person);display:block;margin:8px 0}.hours-today,.hours-unknown{display:block;color:var(--muted);font-size:11px;line-height:1.5}.hours-running{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:12px}.hours-setting,.hours-bookings{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.hours-person summary{cursor:pointer;font-size:12px;font-weight:650}.hours-setting form{display:flex;align-items:end;flex-wrap:wrap;gap:8px;margin:10px 0}.hours-setting label{flex:1;min-width:130px}.hours-setting input{width:100%}.hours-setting>small{font-size:11px;color:var(--muted)}.hours-targets .row{font-size:12px;padding:6px 0}.hours-week{display:grid;grid-template-columns:1.5fr repeat(3,1fr);align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.hours-week small{display:block;color:var(--muted);font-size:10px;font-weight:400}.hours-entries .row{gap:10px;padding:8px 0;font-size:12px}.hours-entries time{min-width:40px;color:var(--muted)}.hours-entries b{white-space:nowrap}.hours-project{border-left:3px solid var(--project);padding-left:5px}.admin-tabs{flex-wrap:wrap}.hours-bookings .grow{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.hours-metric strong{font-size:15px}.hours-metrics{gap:4px}.hours-overview .panelhead{flex-wrap:wrap}.hours-person .panelhead>small{font-size:11px}.hours-setting form button{flex:1}.hours-week{gap:4px}}

.hours-person{padding:12px 14px}.hours-person .panelhead{padding:0;border-bottom:0}.hours-overview .hours-filter{margin:10px 16px}.hours-overview .admin-hint{margin:10px 16px 14px}

/* Individually ordered dashboard sections. */
.overview-sortable{align-items:start}.overview-module{min-width:0}.overview-module.overview-wide{grid-column:1/-1}.overview-module>.panel,.overview-module>.timer{margin:0}.overview-module .panelhead>h2{display:flex;align-items:center;gap:6px;min-width:0}.overview-handle{padding:4px;display:inline-flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;flex-shrink:0;min-width:24px;min-height:28px;color:var(--sub)}.overview-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.overview-handle:active{cursor:grabbing}.overview-moving{opacity:.55}.overview-drop-line{position:fixed;height:3px;border-radius:3px;background:var(--accent);box-shadow:0 0 0 1px var(--surface);z-index:100;pointer-events:none}.overview-drop-line[hidden]{display:none}.overview-timer-title{padding:0 0 12px;border:0}.overview-timer-title h2{margin:0;font-size:16px}.overview-sortable>.overview-module:only-child{grid-column:1/-1}@media(max-width:700px){.overview-sortable{grid-template-columns:minmax(0,1fr)}.overview-module{grid-column:1/-1}.overview-handle{min-width:30px;min-height:32px}}

/* Keep row actions together; touch timeline panning uses a fixed-width moving axis. */
.task-side,.task-actions{display:flex;align-items:center;gap:5px}.task-actions{flex-wrap:wrap;flex-shrink:0}.personal-task .task-actions>button{padding:3px 5px;min-width:28px;min-height:28px}.personal-task .task-actions .quiet{border-color:transparent;background:transparent}.timeline-bar-open[data-timeline-move]{touch-action:none;cursor:grab}.timeline-dragging .timeline-bar-open[data-timeline-move]{cursor:grabbing}.timeline-dragging .timeline-track{overflow:hidden}.timeline-dragging .timeline-today[hidden]{display:none}
@media(max-width:700px){.personal-task{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:3px 7px;padding:9px 10px}.personal-task .task-check{grid-column:1;grid-row:1/3;padding:0;min-width:24px;width:24px}.personal-task .task-open{grid-column:2;grid-row:1;min-width:0;padding:0}.personal-task .task-open strong{font-size:12px;line-height:1.25}.personal-task .task-open small{font-size:10px;line-height:1.2;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personal-task .task-side{grid-column:2;grid-row:2;gap:5px;min-width:0}.personal-task .badge{font-size:8px;padding:2px 5px}.personal-task .task-date{font-size:9px}.personal-task .task-actions{grid-column:3;grid-row:1/3;max-width:112px;gap:2px;justify-content:flex-end}.personal-task .task-actions>button{min-width:28px;min-height:30px;padding:2px 4px}.personal-task .task-actions svg{width:14px;height:14px}.personal-task .task-actions .person-clock{font-size:9px;min-width:0;gap:3px}.personal-task .task-actions .clock-initial{display:none}.overview-sortable{gap:12px}.overview-module .panelhead{padding:8px 10px}.overview-module .panelhead h2{font-size:15px}.overview-module .overview-handle{min-width:24px;min-height:28px;padding:3px}.main:has(.overview-sortable)>.heading{gap:10px;margin-bottom:12px}.main:has(.overview-sortable)>.heading h1{font-size:22px;line-height:1.2}.main:has(.overview-sortable)>.heading .sub{font-size:11px;margin-top:5px}.main:has(.overview-sortable)>.heading>.primary{padding:7px 9px;min-height:32px;font-size:10px}.timeline-resize{width:21px;height:32px}.timeline-resize.start{left:-10px}.timeline-resize.due{right:-10px}}

/* The same target report in a member's own time summary, without edit controls. */
.time-summary .hours-person{margin:0 14px 10px}.hours-target-history{border-top:1px solid var(--line);margin-top:10px;padding-top:9px}.hours-target-history summary{cursor:pointer;font-size:12px;font-weight:650}.personal-hours-note{font-size:10px;margin:0 14px 10px;padding:0;line-height:1.4}@media(max-width:700px){.time-summary .hours-person{margin:0 8px 8px;padding:10px}.personal-hours-note{margin:0 8px 9px}.time-summary .hours-person .hours-metrics{gap:4px}}

.hours-carry{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;color:var(--sub);font-size:11px}.hours-carry strong{font-variant-numeric:tabular-nums;color:var(--text);font-size:12px}.hours-person .hours-metrics{margin-top:9px}

.hours-metric .hours-calculation{margin-top:3px;font-size:9px;line-height:1.35;color:var(--sub);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hours-metrics{align-items:start}

.graph-node .readonly-person{cursor:default;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.readonly-person[title]{border-style:solid}

/* Read-only node labels retain the compact title layout. */
.graph-node span.node-main{cursor:default;display:flex;align-items:center;padding:0 3px;overflow:hidden}.graph-node:not([data-node-status]){cursor:default}

/* Compact file explorer; shared column layout at every viewport size. */
.files-panel{padding:10px;overflow:hidden}.file-toolbar{margin-bottom:8px}.file-toolbar>select{font-size:12px;padding:6px 9px;min-height:30px;max-width:100%}.files-panel .file-drop{padding:8px 10px;gap:8px;border-width:1px;border-radius:7px;justify-content:flex-start;text-align:left}.file-drop strong{font-size:12px;font-weight:500}.file-drop .file-picker{font-size:11px;padding:5px 8px;border-radius:5px}.file-drop small{flex-basis:auto;font-size:10px;margin-left:auto}.upload-project{display:flex;align-items:center;gap:5px;margin:0;font-size:10px;color:var(--sub);min-width:0}.upload-project select{font-size:11px;min-height:26px;padding:3px 5px;max-width:180px}.files-panel .file-table-head,.files-panel .file-row{display:grid;grid-template-columns:minmax(100px,1fr) 45px 65px 78px minmax(95px,.65fr) 24px;gap:8px;align-items:center;padding:4px 6px;min-height:32px;box-sizing:border-box}.files-panel .file-table-head{min-height:30px;margin-top:8px;background:var(--active);border-radius:5px 5px 0 0}.file-table-head [role=columnheader]{min-width:0}.files-panel .file-table-head button{display:flex;align-items:center;gap:3px;font-size:11px;font-weight:600;width:100%;padding:3px 0;min-height:22px;border:0;white-space:nowrap}.file-table-head button span{font-size:10px}.files-panel .file-row:hover{background:var(--active)}.files-panel .file-name{grid-column:auto;grid-row:auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-weight:500;font-size:12px}.files-panel .file-meta{display:contents}.files-panel .file-meta span,.files-panel .file-meta time{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.files-panel .file-assignment{display:block;grid-column:auto;grid-row:auto;margin:0;min-width:0}.files-panel .file-assignment select{display:block;font-size:11px;padding:2px 3px;min-height:24px;height:24px;border-radius:4px;text-overflow:ellipsis}.files-panel .file-download{grid-column:auto;grid-row:auto;font-size:17px;text-decoration:none;text-align:center;line-height:24px;padding:0;min-height:24px}.file-example{color:var(--sub)}.file-loading{font-size:11px;margin:6px}.files-panel .file-row:last-child{border-bottom:0}
@media(max-width:600px){.files-panel{padding:5px}.files-panel .file-table-head,.files-panel .file-row{grid-template-columns:minmax(65px,1fr) 28px 42px 49px minmax(60px,.65fr) 18px;gap:4px;padding:3px;min-height:30px}.files-panel .file-name{font-size:11px}.files-panel .file-meta span,.files-panel .file-meta time{font-size:9px}.files-panel .file-table-head button{font-size:9px;gap:1px}.files-panel .file-assignment select{font-size:10px;padding:1px 2px;height:23px;min-height:23px}.file-drop small{display:none}.file-drop .upload-project{margin-left:auto}.upload-project select{max-width:120px}.files-panel .file-drop{padding:6px;gap:6px}.file-drop strong{font-size:10px}.files-panel .file-download{font-size:15px}}

.file-folders{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:7px;margin:0 0 12px}.file-folder{display:flex;align-items:center;gap:8px;min-width:0;text-align:left;padding:9px 10px;min-height:38px;border-radius:7px}.file-folder svg{color:var(--project);flex-shrink:0}.file-folder span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.file-folder.selected{background:var(--active);border-color:var(--accent);box-shadow:inset 0 -2px var(--project)}.files-panel .file-drop{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;text-align:left}.file-drop strong{grid-column:1;grid-row:1}.file-drop .file-picker{grid-column:2;grid-row:1;justify-self:end}.file-drop .upload-project{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:auto minmax(0,1fr);margin:0;gap:8px}.file-drop .upload-project select{max-width:none;width:100%}.files-panel .file-drop small{grid-column:1/-1;display:block;margin:0;font-size:10px;text-align:left}.graph-node .node-main{min-width:0}@media(max-width:600px){.file-folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:8px}.file-folder{padding:7px 8px;gap:6px;min-height:34px}.file-folder span{font-size:11px}.files-panel .file-drop{padding:8px;gap:5px 8px}.file-drop strong{font-size:11px}.file-drop .file-picker{padding:5px 9px}.files-panel .file-drop small{font-size:9px}}

.task-readonly-title{display:grid;gap:5px;margin:14px 0 18px}.task-readonly-title>span{font-size:12px;color:var(--sub)}.task-readonly-title>strong{font-size:15px;line-height:1.4;font-weight:600;overflow-wrap:anywhere}

/* Studio 0.22: shared presentation rules. Project geometry and color meanings stay scoped. */
:root{--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--section-gap:16px;--panel-inset:16px;--ui-radius:9px;--ui-control-radius:6px;--ui-heading:16px;--ui-body:13px;--ui-meta:11px;--ui-icon-size:16px}
button,input,select,textarea{font:inherit}button{border-radius:var(--ui-control-radius);font-size:var(--ui-body);line-height:1.3}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-icon{display:inline-block;width:var(--ui-icon-size);height:var(--ui-icon-size);vertical-align:middle;flex-shrink:0;pointer-events:none}.drag-handle .ui-icon{stroke-width:3;stroke-linecap:round}.side nav svg{stroke-width:1.7}.row button:has(>.ui-icon),.dialoghead button:has(>.ui-icon){display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:6px}.graph-controls .ui-icon,.node-quick .ui-icon{width:12px;height:12px}.timeline-row-actions .ui-icon{width:14px;height:14px}
.panel,.notecard{border-radius:var(--ui-radius);background:var(--surface);border-color:var(--line)}.panelhead{min-height:48px;box-sizing:border-box;padding:12px var(--panel-inset);gap:var(--ui-space-2);border-bottom:1px solid var(--line)}.panelhead h2,.panelhead h3{font-size:var(--ui-heading);font-weight:650;line-height:1.3;margin:0}.panelhead h2 small{font-size:var(--ui-meta);font-weight:500;color:var(--sub);margin-left:5px}.panelhead>button{min-height:30px;padding:5px 8px;font-size:var(--ui-meta)}.heading{gap:var(--ui-space-3);margin-bottom:var(--section-gap)}.heading h1{line-height:1.2;letter-spacing:-.035em}.heading .sub{margin-top:6px;line-height:1.4}.main>.panel,.main>.timer,.main>.notegrid{margin-bottom:var(--section-gap)}
/* Every movable dashboard module has exactly the same header inset and alignment. */
.overview-sortable{gap:var(--section-gap)}.overview-module>.panel,.overview-module>.timer{padding:0;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--ui-radius);overflow:hidden}.overview-module>.panel>.panelhead,.overview-module>.timer>.panelhead{padding:10px var(--panel-inset);min-height:48px;border-bottom:1px solid var(--line);gap:8px;background:var(--surface)}.overview-module .panelhead h2{display:flex;align-items:center;gap:8px;font-size:var(--ui-heading);min-width:0;margin:0;line-height:1.3}.overview-module .panelhead h2>span{min-width:0}.overview-module .overview-handle{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:28px;min-height:28px;min-width:24px;padding:4px;border:0;background:transparent;margin:0;color:var(--sub);border-radius:4px}.overview-module .overview-handle svg{width:16px;height:16px}.overview-module .multi-timer>form{padding:12px var(--panel-inset);margin:0;gap:10px}.overview-module .multi-timer>.active-timers{padding:0 var(--panel-inset) 12px}.active-timers>p{margin:0;font-size:var(--ui-meta)}.multi-timer{background:var(--surface);border-color:var(--line);border-radius:var(--ui-radius)}.multi-timer .person-running{background:var(--soft);border-left:3px solid var(--timer-person);border-radius:var(--ui-control-radius)}.overview-module .row{padding-left:var(--panel-inset);padding-right:var(--panel-inset)}
/* Matching icon controls and ordering for files, timer, and task options. */
.personal-task .task-actions{display:flex;align-items:center;gap:4px}.personal-task .task-actions>button,.personal-task .task-actions>.running{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;border:1px solid var(--line);border-radius:var(--ui-control-radius);padding:6px;background:transparent;color:var(--sub)}.personal-task .task-actions>button:hover{background:var(--active);color:var(--text);border-color:var(--accent)}.personal-task .task-actions>.running{border-color:var(--timer-person);color:var(--timer-person);background:color-mix(in srgb,var(--timer-person),var(--surface) 90%)}.personal-task .task-actions svg{width:16px;height:16px}.personal-task .task-check svg{width:16px;height:16px}.personal-task .task-open strong{font-size:var(--ui-body);line-height:1.35}.personal-task .task-open small{font-size:var(--ui-meta);line-height:1.35;margin-top:3px}.personal-task .task-side{gap:6px}.personal-task .badge{font-size:var(--ui-meta);padding:3px 6px}.task-date{font-size:var(--ui-meta);color:var(--sub)}
/* Shared status palette and state badges; project and employee stripes remain independent. */
.badge{display:inline-flex;align-items:center;gap:4px;font-size:var(--ui-meta);font-weight:500;line-height:1.2;padding:3px 6px;border-radius:4px;white-space:nowrap}.badge:before{content:'';width:4px;height:4px;background:currentColor;border-radius:50%;flex-shrink:0}.badge.open,.status-select.open{color:var(--open);background:color-mix(in srgb,var(--open),var(--surface) 86%)}.badge.doing,.status-select.doing{color:var(--doing);background:color-mix(in srgb,var(--doing),var(--surface) 86%)}.badge.urgent,.status-select.urgent{color:var(--urgent);background:color-mix(in srgb,var(--urgent),var(--surface) 86%)}.badge.done,.status-select.done{color:var(--done);background:color-mix(in srgb,var(--done),var(--surface) 86%)}
/* One selection treatment for tabs, filters, folders and calendar selection. */
.tabs{gap:6px}.tabs button{border:1px solid var(--line);border-radius:var(--ui-control-radius);min-height:30px;font-size:12px;padding:5px 9px;background:var(--surface);color:var(--sub)}.tabs button.active,.tabs button[aria-pressed=true],.file-folder.selected,.person-total.selected{background:var(--active);color:var(--text);border-color:var(--accent)}.file-folder.selected{box-shadow:inset 0 -2px var(--project)}.person-total.selected{outline:1px solid var(--accent);outline-offset:-1px}.periodbar{gap:8px;padding:10px var(--panel-inset);align-items:center}.periodbar>strong,.periodbar>h2{font-size:13px;line-height:1.3;font-weight:600;margin:0}.periodbar button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 8px;font-size:12px}.periodbar svg{width:14px;height:14px}
/* Fields and read-only content have the same label rhythm without looking editable. */
dialog form>label:not(.checklabel),.settingsform>label,.duration-fields label{display:grid;gap:6px;font-size:12px;margin:12px 0;color:var(--sub)}dialog input:not([type=checkbox]):not([type=color]),dialog select,dialog textarea,.settingsform input,.multi-timer input,.multi-timer select{font-size:13px;border-radius:var(--ui-control-radius);padding:8px 10px;min-height:36px;box-sizing:border-box}dialog textarea{min-height:90px}.multi-timer label{font-size:var(--ui-meta)}dialog .dialoghead{gap:12px;margin-bottom:16px}dialog .dialoghead h2{font-size:18px;line-height:1.3;margin:0}.actions{gap:8px}.actions>button{min-height:34px;padding:7px 12px}.task-readonly-title{gap:6px;margin:12px 0 16px}.task-readonly-title>span{font-size:12px;color:var(--sub)}.task-readonly-title>strong{font-size:14px;line-height:1.4;font-weight:600}.formhint{font-size:var(--ui-meta);line-height:1.5}.note,.notecard p{font-size:var(--ui-body);line-height:1.5}
/* All booked durations use hours/minutes; live timers alone retain seconds. */
.duration-compact{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.duration-compact>span{font-size:11px;font-weight:600}.duration-compact>small{font-size:9px;font-weight:500;color:var(--sub)}.week-person-day>b{font-size:11px;min-height:27px;display:flex;align-items:center;justify-content:center;letter-spacing:0}.week-person-day{padding:6px 1px}.week-person-heading>strong,.hours-metric strong,.hours-carry strong,.project-time-row>b{font-variant-numeric:tabular-nums}.week-unit{font-size:10px}.day-hours{min-width:0;gap:3px}.day-hours .duration-compact{align-items:flex-start}.time-matrix td{font-size:11px}.hours-metric strong{white-space:normal;font-size:18px;line-height:1.35}.hours-calculation{font-size:10px;line-height:1.4}.hours-carry{font-size:12px}.hours-person .panelhead{padding:0;min-height:32px;border:0}.hours-person .panelhead h3{font-size:14px}.notecard .panelhead{min-height:36px;padding:0 0 8px}.week-agenda>.panel>.panelhead{min-height:0;border:0}.project-timeline>.panelhead{padding:10px var(--panel-inset)}
@media(max-width:700px){:root{--panel-inset:12px;--section-gap:12px;--ui-heading:15px;--ui-body:12px;--ui-meta:11px}.overview-module>.panel>.panelhead,.overview-module>.timer>.panelhead{padding:8px var(--panel-inset);min-height:44px}.overview-module .panelhead h2{font-size:15px}.overview-module .panelhead>button{font-size:11px;min-height:28px;padding:4px 7px}.personal-task .task-actions{max-width:112px;gap:3px}.personal-task .task-actions>button{min-width:30px;min-height:30px;padding:5px}.personal-task .task-actions svg{width:15px;height:15px}.personal-task .task-open strong{font-size:12px}.personal-task .task-open small{font-size:10px}.personal-task .badge{font-size:10px;padding:2px 5px}.personal-task .task-date{font-size:10px}.overview-module .multi-timer>form{padding:12px var(--panel-inset);gap:8px}.periodbar{gap:6px}.periodbar>strong,.periodbar>h2{font-size:12px}.tabs button{font-size:11px;min-height:29px;padding:5px 8px}.hours-metric strong{font-size:15px}.hours-metric>span{font-size:11px}.hours-calculation{font-size:10px}.duration-compact>span{font-size:10px}.duration-compact>small{font-size:9px}.week-person-days{gap:3px}.week-person-day>span,.week-person-day>small{font-size:10px}.day-hours .duration-compact>span{font-size:9px}.day-hours .duration-compact>small{font-size:8px}.time-year-grid .month-person-hours{flex-wrap:wrap;gap:4px}.time-year-grid .month-person-hours b{font-size:11px}}

.overview-handle .ui-icon{stroke-width:3}

.backup-body{padding:12px var(--panel-inset);font-size:var(--ui-body);line-height:1.5}.backup-body>p{margin:0 0 12px}.backup-body>p:last-child{margin-bottom:0}.backup-body .actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:12px 0}.backup-body .actions a{font-size:var(--ui-meta)}

.mindmap-import-body{padding:12px var(--panel-inset)}.mindmap-projects{display:grid;gap:7px}.mindmap-projects>details{border:1px solid var(--line);border-radius:6px;overflow:hidden}.mindmap-projects summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;list-style:disclosure-closed;font-size:12px}.mindmap-projects summary>span{font-size:11px;color:var(--sub);white-space:nowrap}.mindmap-projects details>button{margin:0 10px 10px}.mindmap-tree{padding:0 10px 10px;font-size:11px;max-height:420px;overflow:auto}.mindmap-tree ul{padding-left:18px;margin:5px 0}.mindmap-tree li{padding:3px 0;line-height:1.4}.mindmap-tree small{margin-left:8px;color:var(--sub)}.mindmap-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.mindmap-people label{margin:0;font-size:12px;display:grid;gap:5px}.mindmap-people select{font-size:12px;min-width:0;padding:7px}.mindmap-import h3{font-size:14px;margin:18px 0 10px}.mindmap-import p.sub{font-size:11px;line-height:1.5}.mindmap-import .actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}@media(max-width:700px){.mindmap-people{grid-template-columns:repeat(2,minmax(0,1fr))}.mindmap-projects summary{font-size:11px}.mindmap-projects summary>span{font-size:10px}.mindmap-import .actions>button{width:100%}}

/* Compact sibling actions keep cards and file rows valid and keyboard accessible. */
.projectcard .project-top{width:100%;gap:8px}.project-card-open{flex:1;min-width:0;text-align:left;padding:0}.project-card-open h2{margin:0}.project-card-actions{display:flex;align-items:center;gap:3px;flex-shrink:0}.project-card-actions button{padding:4px;min-height:28px}.project-card-summary{padding:0;border:0;width:100%;display:flex;flex-direction:column;gap:8px;text-align:left}.project-card-summary .progress,.project-card-summary .foot{width:100%}.project-delete-action{border-top:1px solid var(--line);margin-top:16px;padding-top:10px}.group-move{position:absolute;display:grid;place-items:center;width:22px;height:26px;min-height:26px!important;padding:0;border:1px dashed var(--line);background:var(--surface);color:var(--sub);border-radius:5px;touch-action:none;cursor:move}.group-move:hover,.group-move:focus-visible{border-color:var(--accent);color:var(--text);background:var(--active)}.file-actions{display:flex;align-items:center;justify-content:flex-end;gap:3px}.file-actions .file-delete{padding:2px;min-height:24px;width:24px;color:var(--sub)}.file-actions .file-delete:hover{color:var(--urgent)}.files-panel .file-table-head,.files-panel .file-row{grid-template-columns:minmax(100px,1fr) 45px 65px 78px minmax(95px,.65fr) 52px}.calendar-entry-title{padding:0;border:0;text-align:left;font-weight:600;min-height:0}.calendar-event-row{cursor:pointer}.calendar-due-row{width:100%;text-align:left;border:0;border-radius:0;background:transparent}@media(max-width:600px){.files-panel .file-table-head,.files-panel .file-row{grid-template-columns:minmax(55px,1fr) 27px 40px 47px minmax(56px,.65fr) 45px;gap:3px}.file-actions{gap:1px}.file-actions .file-delete{width:23px}.project-card-actions button{padding:3px}}

.admin-team-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 10px}.admin-team-heading h2{margin:0}.admin-team-heading~.panel{margin-bottom:12px}.admin-team-heading~details.panel{padding:10px 14px}

/* One shared team list: identity, period totals and inline expandable settings. */
.team-directory{padding:0;overflow:hidden}.team-directory .team-directory-heading{padding:10px 14px;min-height:0}.team-directory-heading h2{display:flex;align-items:baseline;gap:7px;font-size:16px}.team-directory-heading h2 small{font-size:11px;font-weight:400;color:var(--sub)}.team-directory-heading>.primary{padding:6px 10px;font-size:12px;min-height:30px}.team-period-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap}.team-period-controls .tabs button{font-size:11px;padding:5px 9px;min-height:28px}.team-period{display:flex;align-items:center;gap:3px;min-width:0}.team-period strong{font-size:12px;text-align:center;font-variant-numeric:tabular-nums}.team-period button{display:grid;place-items:center;padding:4px;min-width:28px;min-height:28px}.team-period .team-today{font-size:11px;padding:4px 7px}.team-member{border-bottom:1px solid var(--line);border-left:3px solid var(--person);margin:0;background:var(--surface)}.team-member:last-child{border-bottom:0}.team-member>summary{display:grid;grid-template-columns:minmax(145px,1fr) minmax(300px,1.8fr) 20px;align-items:center;gap:12px;padding:9px 11px;cursor:pointer;list-style:none;min-height:54px}.team-member>summary::-webkit-details-marker{display:none}.team-member>summary::marker{content:''}.team-member>summary:hover{background:var(--soft)}.team-member>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.team-identity{display:flex;align-items:center;gap:8px;min-width:0}.team-identity>span:last-child{min-width:0}.team-identity strong{display:block;font-size:13px;line-height:1.3;overflow-wrap:anywhere}.team-identity small{display:block;font-size:10px;color:var(--sub);margin-top:1px}.team-identity .avatar{flex-shrink:0;width:25px;height:25px}.team-member .team-metrics.hours-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}.team-metric{min-width:0}.team-metric>small{display:block;font-size:10px;color:var(--sub);line-height:1.3}.team-metric>strong{display:block;font-size:13px;font-weight:600;line-height:1.35;font-variant-numeric:tabular-nums}.team-metric .duration-compact{display:inline;white-space:normal}.team-metric .duration-compact>span,.team-metric .duration-compact>small{font-size:12px;color:inherit;font-weight:600}.team-expand{justify-self:end;display:flex;color:var(--sub);transition:transform .12s}.team-member[open]>summary>.team-expand{transform:rotate(90deg)}.team-member[open]>summary{background:var(--soft)}.team-administrator>summary{min-height:44px}.team-admin-label{color:var(--sub);font-size:11px}.team-member-body{padding:8px 12px 12px;border-top:1px solid var(--line)}.team-member-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}.team-member-tools>span{font-size:11px;color:var(--sub);overflow-wrap:anywhere}.team-member-tools>div{display:flex;align-items:center;gap:6px}.team-member-tools button{padding:4px 7px;min-height:28px;font-size:11px}.team-balance{display:flex;gap:6px 20px;flex-wrap:wrap;margin:6px 0;font-size:11px;color:var(--sub);line-height:1.6}.team-balance strong{color:var(--text);font-weight:600}.team-note{font-size:10px;line-height:1.5;color:var(--sub);margin:5px 0}.team-member .hours-setting{margin-top:8px;padding-top:8px}.team-member .hours-setting h3{font-size:12px;margin:0 0 6px}.team-member .hours-setting form{display:grid;grid-template-columns:minmax(90px,1fr) minmax(130px,1fr) auto;gap:8px;margin:6px 0;align-items:end}.team-member .hours-setting label{font-size:10px;min-width:0;margin:0}.team-member .hours-setting label input{font-size:12px;padding:6px 8px;min-height:32px;margin-top:3px}.team-member .hours-setting form>.primary{font-size:11px;min-height:32px;padding:6px 9px}.team-member .hours-setting>small{font-size:10px}.team-member .hours-targets .row{font-size:11px;padding:5px 0}.team-member .hours-targets button{min-height:24px;padding:3px}.team-member .hours-bookings{margin-top:8px;padding-top:8px}.team-help,.team-removed{border-top:1px solid var(--line)}.team-help{padding:8px 13px;color:var(--sub);font-size:11px}.team-help summary,.team-removed>summary{font-size:11px;cursor:pointer}.team-help p{font-size:11px;line-height:1.5;margin:7px 0}.team-removed>summary{padding:8px 13px;color:var(--sub)}
@media(max-width:650px){.team-period-controls{gap:6px;padding:7px 8px}.team-period{flex:1;justify-content:flex-end}.team-period strong{font-size:10px}.team-period .team-today{font-size:10px;min-width:0;padding:3px}.team-period-controls .tabs button{padding:4px 7px;font-size:10px}.team-member>summary{grid-template-columns:minmax(0,1fr) 18px;gap:6px;padding:8px 9px}.team-member .team-metrics.hours-metrics{grid-column:1/-1;grid-row:2;gap:6px}.team-expand{grid-column:2;grid-row:1}.team-identity{gap:6px}.team-identity strong{font-size:12px}.team-identity small{display:inline;font-size:9px}.team-identity>span:last-child{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 7px}.team-identity .avatar{width:23px;height:23px}.team-metric>small{font-size:9px}.team-metric .duration-compact{display:inline-flex;flex-direction:row;flex-wrap:wrap;gap:2px;justify-content:flex-start}.team-metric .duration-compact>span,.team-metric .duration-compact>small{font-size:11px}.team-administrator>summary{grid-template-columns:minmax(0,1fr) auto 18px;min-height:42px}.team-administrator .team-expand{grid-column:3}.team-admin-label{font-size:10px}.team-member-body{padding:7px 9px 10px}.team-member .hours-setting form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.team-member .hours-setting form>.primary{grid-column:1/-1;justify-self:end}.team-directory .team-directory-heading{padding:9px 11px}.team-directory-heading h2{font-size:15px}}
@media(prefers-reduced-motion:reduce){.team-expand{transition:none}}

.project-delete-action{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.archive-hint{font-size:11px;color:var(--sub);margin:10px 14px;line-height:1.5}.archive-row{border-left:3px solid var(--project)}.archive-row .grow{min-width:0;overflow-wrap:anywhere}.archive-row button{font-size:11px;min-height:28px;padding:5px 8px;flex-shrink:0}.project-archive .panelhead h2{font-size:16px}.project-archive .panelhead small{font-size:11px}

.task-sort{display:inline-flex;align-items:center;gap:2px;min-width:0}.task-sort select{width:auto;max-width:145px;font-size:11px;padding:5px 7px;min-height:28px}.task-sort button{font-size:15px;min-width:28px;min-height:28px;padding:3px 5px}.my-task-head-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.my-task-controls .task-sort{margin-left:auto}.overview-my-tasks .panelhead{gap:7px;flex-wrap:wrap}@media(max-width:600px){.my-task-controls{gap:6px}.my-task-controls>select{max-width:145px;font-size:11px;min-height:28px}.task-sort select{max-width:105px;font-size:10px;padding:4px 5px}.my-task-head-actions{gap:3px}.my-task-head-actions>button{font-size:10px;padding:4px 6px;min-height:28px}.overview-my-tasks .panelhead h2{font-size:13px}.my-task-controls .task-sort{margin-left:0}}

/* Explorer-style personal tasks, same columns on the overview and full list. */
.my-task-table{width:100%;min-width:0}.task-table-head,.my-task-table .task-table-row{display:grid;grid-template-columns:minmax(130px,2fr) minmax(90px,1.25fr) 80px 72px 100px;align-items:center;gap:8px;padding:5px 9px;min-height:36px}.task-table-head{background:var(--active);border-bottom:1px solid var(--line)}.task-table-head button{border:0;padding:2px 0;min-height:24px;font-size:11px;white-space:nowrap;font-weight:600;text-align:left}.task-table-head [role=columnheader]{min-width:0}.my-task-table .task-table-row{border-left:3px solid var(--project);border-bottom:1px solid var(--line);line-height:1.25}.my-task-table .task-table-row:last-child{border-bottom:0}.my-task-table .task-table-row:hover{background:var(--soft)}.task-table-name{display:flex;align-items:center;gap:4px;min-width:0}.my-task-table .task-open{padding:0;min-width:0;flex:1;text-align:left;min-height:24px;display:block;overflow:hidden}.my-task-table .task-open strong{display:block;font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.own-task-grip{cursor:grab;touch-action:none;display:grid;place-items:center;flex:0 0 20px;min-height:28px;color:var(--text);background:var(--soft);border:1px solid var(--line);border-radius:4px}.own-task-grip:active{cursor:grabbing}.own-task-grip .ui-icon{width:16px;height:18px}.own-task-grip:focus-visible{outline:2px solid var(--accent)}.my-task-table .task-check{width:19px;min-width:19px;min-height:24px;padding:1px}.my-task-table .task-check .ui-icon{width:13px;height:13px}.task-table-project{font-size:11px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-table-status{min-width:0}.my-task-table .badge{font-size:10px;padding:2px 4px;white-space:nowrap}.task-table-date,.my-task-table .task-date{font-size:10px;white-space:nowrap;color:var(--sub)}.my-task-table .task-actions{display:flex;align-items:center;justify-content:flex-end;gap:2px;flex-wrap:wrap;max-width:none}.my-task-table .task-actions>button,.my-task-table .task-actions>span{padding:2px;min-width:24px;width:auto;min-height:24px;font-size:10px;display:inline-flex;align-items:center;justify-content:center}.my-task-table .task-actions svg{width:14px;height:14px}.my-task-table .task-actions small{font-size:8px}.my-task-table .task-actions .running{font-size:9px;gap:2px}.task-sort .selected{background:var(--active);color:var(--text);border-color:var(--line)}.task-sort button{font-size:11px;padding:4px 7px;min-height:28px}.task-order-line{position:fixed;height:2px;background:var(--accent);box-shadow:0 0 0 1px var(--surface);z-index:60;pointer-events:none}.task-order-line:before{content:'';position:absolute;width:5px;height:5px;left:-2px;top:-2px;border-radius:50%;background:var(--accent)}
@media(max-width:700px){.task-table-head,.my-task-table .task-table-row{grid-template-columns:minmax(60px,1.6fr) minmax(40px,1fr) 45px 40px 56px;gap:3px;padding:4px;min-height:34px}.task-table-head button{font-size:9px}.my-task-table .task-open strong{font-size:10px}.task-table-name{gap:1px}.own-task-grip{flex-basis:18px;min-height:28px}.own-task-grip .ui-icon{width:14px;height:18px}.my-task-table .task-check{width:15px;min-width:15px;padding:0}.my-task-table .task-check .ui-icon{width:11px;height:11px}.task-table-project{font-size:9px}.my-task-table .badge{font-size:8px;padding:2px}.task-table-date,.my-task-table .task-date{font-size:9px}.my-task-table .task-actions{gap:0}.my-task-table .task-actions>button,.my-task-table .task-actions>span{min-width:18px;min-height:24px;padding:1px}.my-task-table .task-actions svg{width:12px;height:12px}.my-task-table .task-actions small{font-size:7px}.my-task-table .task-actions .running{flex-basis:100%;font-size:8px;white-space:nowrap}.task-sort button{font-size:10px;padding:4px 5px}}

.project-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.project-status{display:inline-flex;align-items:center;gap:4px;font-size:10px;line-height:1.4;white-space:nowrap;border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--text);background:var(--soft);font-weight:500}.project-status:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.project-status-on_hold:before{background:var(--doing)}.project-status-completed:before{background:var(--done)}.project-titlebar>.project-status{flex-shrink:0}.project-overview-row .project-status{font-size:9px;vertical-align:middle}@media(max-width:600px){.project-titlebar{flex-wrap:wrap}.project-titlebar>.project-status{font-size:9px}.project-card-meta{gap:5px}.project-status{font-size:9px}}

/* Today remains visible across project bars without intercepting drag gestures. */
.timeline-today-label{position:absolute;top:0;transform:translateX(-50%);padding:1px 4px;border-radius:0 0 4px 4px;background:var(--accent);color:var(--accenttext);font-size:9px;line-height:12px;font-weight:700;z-index:5;pointer-events:none}.timeline-bar-open:disabled{cursor:default;opacity:1}.timeline-bar-open:disabled:hover{background:transparent}.work-data-panel .backup-body p{margin-top:0}.work-data-download{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--ui-control-radius);padding:7px 10px;min-height:34px;color:var(--text);text-decoration:none;font-size:12px;font-weight:550}.work-data-download:hover{background:var(--soft)}

.timeline-axis.compact-axis{height:42px}.timeline-axis-track .inline-months{position:absolute;left:0;right:0;bottom:0;height:20px}.timeline-today-label{top:0}

.project-label{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:100%;vertical-align:middle}.project-label:before{content:'';width:7px;height:7px;flex:0 0 7px;border-radius:2px;background:var(--project);box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 15%,transparent)}select.project-color-select{border-left:4px solid var(--selected-project,transparent);padding-left:7px}.completed-task-filter{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:11px;color:var(--sub)}.completed-task-filter input{width:14px;min-height:14px;height:14px;margin:0;accent-color:var(--accent)}.my-task-head-actions{flex-wrap:wrap}.task-table-head,.my-task-table .task-table-row{grid-template-columns:minmax(120px,2fr) minmax(80px,1.25fr) 88px 110px 66px}.task-status-select{width:100%;max-width:100%;min-width:0;min-height:26px;border:1px solid var(--line);border-radius:4px;font-size:10px;padding:2px 3px;cursor:pointer}.task-status-select option{color:var(--text);background:var(--surface)}.task-date-input{width:100%;min-width:0;max-width:110px;min-height:26px;padding:2px;border-radius:4px;font-size:10px;line-height:1.2;background:var(--surface);color:var(--text);border:1px solid var(--line);color-scheme:inherit}.task-date-input::-webkit-calendar-picker-indicator{opacity:.75;padding:0;width:12px}.task-table-project .project-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-table-project .project-label:before{display:inline-block;margin-right:5px}.my-task-table .task-table-name{gap:5px}
@media(max-width:700px){.task-table-head,.my-task-table .task-table-row{grid-template-columns:minmax(58px,1.4fr) minmax(46px,1fr) 62px 82px 36px;gap:3px}.task-status-select{font-size:8px;padding:2px 0}.task-date-input{font-size:9px;padding:1px}.completed-task-filter{font-size:10px}.task-table-project .project-label:before{width:5px;height:5px;margin-right:3px}.my-task-table .task-table-name{gap:3px}}

input[type=date],input[type=time],input[type=datetime-local]{color-scheme:inherit}input[type=date]::-webkit-calendar-picker-indicator,input[type=time]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{opacity:1}:root[data-color-scheme=dark] input[type=date],:root[data-color-scheme=dark] input[type=time],:root[data-color-scheme=dark] input[type=datetime-local]{color-scheme:dark}.file-auth-notice{display:flex;align-items:center;justify-content:space-between;gap:8px}.file-unassigned{color:var(--sub)}

.logo{display:flex;align-items:center;gap:8px}.studio-mark{display:block;flex:0 0 28px;width:28px;height:28px;border-radius:7px}.logo>span{line-height:1;letter-spacing:-1.1px}

:root{--hold:var(--ui_927ab3, #927ab3)}.badge.on_hold,.status-dot.on_hold{color:var(--hold);background:color-mix(in srgb,var(--hold) 18%,var(--surface))}.graph-node.on_hold{background:color-mix(in srgb,var(--hold) 18%,var(--surface));border-color:var(--hold)}.task-status-select.on_hold{color:color-mix(in srgb,var(--hold) 65%,var(--text));background:color-mix(in srgb,var(--hold) 15%,var(--surface))}.timer-activity{display:grid;gap:5px}.timer-activity input[hidden]{display:none}.task-direct-upload{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border:1px dashed var(--line);background:var(--soft);border-radius:8px;padding:12px;margin:12px 0}.task-direct-upload strong{font-size:12px}.task-direct-upload small{font-size:11px;color:var(--sub)}.notecard p{white-space:pre-wrap;overflow-wrap:anywhere}.notecard>small{display:block;color:var(--sub);padding:0 16px 12px;font-size:10px}

/* Protected project-file preview */
.file-name .file-open{display:block;width:100%;min-width:0;padding:0;border:0;background:none;box-shadow:none;text-align:left;color:inherit;font:inherit;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.file-name .file-open:hover{text-decoration:underline}.task-file-preview{padding:3px 8px;margin-left:8px;font-size:12px}
dialog.file-viewer{width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:1600px;max-height:none;padding:0;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);overflow:hidden}dialog.file-viewer[open]{display:flex;flex-direction:column;gap:0}dialog.file-viewer::backdrop{background:color-mix(in srgb,var(--ui_000000, #000000) 73%, transparent)}.file-viewer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--line);min-width:0}.file-viewer-head>div:first-child{min-width:0}.file-viewer-head strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-viewer-head small{display:block;font-size:12px;margin-top:3px}.file-viewer-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.file-viewer-actions button{padding:4px 10px;font-size:24px}.file-viewer-actions a{font-size:12px}.file-viewer-notice{font-size:12px;color:var(--sub);padding:8px 14px;background:var(--surface)}.file-viewer-notice:empty{display:none}.file-viewer-tools{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px;border-bottom:1px solid var(--line)}.file-viewer-tools[hidden]{display:none}.file-viewer-tools button{font-size:12px;padding:5px 10px}.file-viewer-tools output{min-width:54px;text-align:center;font-size:12px}.file-viewer-body{position:relative;flex:1;min-height:0;overflow:hidden;background:var(--bg)}.file-image-stage{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}.file-image-stage:active{cursor:grabbing}.file-image-stage img{position:absolute;left:50%;top:50%;translate:-50% -50%;max-width:none;max-height:none;transform-origin:center;user-select:none}.file-viewer-body iframe{width:100%;height:100%;border:0;background:var(--ui_ffffff, white)}.file-viewer-body video{width:100%;height:100%;object-fit:contain}.file-viewer-body audio{display:block;width:min(90%,650px);margin:40px auto}@media(max-width:600px){dialog.file-viewer{width:100vw;height:100dvh;max-width:none;margin:0;border-radius:0}.file-viewer-head{padding:8px 10px;gap:8px}.file-viewer-head strong{font-size:14px}.file-viewer-actions{gap:6px}.file-viewer-notice{padding:7px 10px;font-size:11px}}

.notecard{padding:0;overflow:hidden}.notecard>.panelhead{padding:10px 16px;display:flex;align-items:center;gap:8px}.notecard>.panelhead h3{flex:1;min-width:0;margin:0;overflow-wrap:anywhere}.note-date{font-size:11px;font-weight:400;color:var(--sub);white-space:nowrap}.notecard .note-body{padding:12px 16px;color:var(--text);font-size:13px;line-height:1.5;overflow-wrap:anywhere}.note-body p{white-space:normal;margin:0 0 .65em;color:inherit}.note-body>*:last-child{margin-bottom:0}.note-body h4{font-size:14px;margin:.8em 0 .35em}.note-body>*:first-child{margin-top:0}.note-body ul,.note-body ol{padding-left:22px;margin:.4em 0 .65em}.note-body li{padding:1px 0}.note-body blockquote{margin:.5em 0;padding:3px 10px;border-left:3px solid var(--accent);color:var(--sub)}.note-body code{font:12px ui-monospace,monospace;background:var(--soft);padding:1px 4px;border-radius:3px}.note-editor{margin:14px 0 7px}.note-editor-label{font-size:12px;color:var(--sub);margin-bottom:6px}.note-format-tools{display:flex;align-items:center;gap:3px;flex-wrap:wrap;padding:5px;border:1px solid var(--line);border-bottom:0;border-radius:7px 7px 0 0;background:var(--soft)}.note-format-tools button{min-width:28px;min-height:28px;padding:4px 7px;border-color:transparent;background:transparent;font-size:12px;border-radius:4px}.note-format-tools button:hover{background:var(--surface);border-color:var(--line)}.note-format-tools>span{height:18px;border-left:1px solid var(--line);margin:0 3px}.note-editor textarea{display:block;margin:0;width:100%;min-height:160px;border-radius:0 0 7px 7px;font-size:13px;line-height:1.5}.note-preview{font-size:12px;color:var(--sub);margin-top:7px}.note-preview summary{cursor:pointer;padding:3px 0}.note-preview .note-body{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;line-height:1.5}@media(max-width:600px){.notecard>.panelhead{padding:9px 12px;gap:6px}.notecard .note-body{padding:10px 12px}.note-date{font-size:10px}.note-format-tools{gap:2px}.note-format-tools button{padding:4px 6px}}

.references-room{display:flex;flex-direction:column;gap:8px;min-width:0}.reference-boardbar{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.reference-boardbar>select{width:auto;min-width:140px;max-width:350px;padding:7px;font-size:13px}.reference-boardbar button{padding:6px 10px;min-height:32px;font-size:12px}.reference-menu{position:relative;margin-left:auto}.reference-menu>summary{cursor:pointer;padding:4px 12px;font-size:22px;list-style:none}.reference-menu>div{position:absolute;right:0;top:100%;z-index:20;min-width:210px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 8px 25px color-mix(in srgb,var(--ui_000000, #000000) 27%, transparent);display:grid;gap:4px}.reference-menu label{padding:6px;margin:0;cursor:pointer}.reference-menu label input[type=checkbox]{width:auto;display:inline-block}.reference-draft-warning{background:var(--notice);color:var(--noticetext);padding:8px 12px;border-radius:7px;font-size:12px}.reference-draft-warning[hidden]{display:none}.reference-file-list{max-height:45vh;overflow:auto}.reference-file-list label{display:flex;align-items:center;gap:8px;padding:6px;margin:0;overflow-wrap:anywhere}.reference-file-list input{width:auto}#reference-editor{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface);min-width:0}#reference-editor:fullscreen{border-radius:0;height:100dvh;display:flex;flex-direction:column}.ref-toolbar,.ref-selection-tools{display:flex;align-items:center;justify-content:space-between;gap:5px;flex-wrap:wrap;padding:6px 8px;border-bottom:1px solid var(--line)}.ref-tool-group{display:flex;align-items:center;gap:4px}.ref-toolbar button,.ref-selection-tools button{padding:5px 8px;font-size:11px;min-height:30px}.ref-toolbar output{min-width:45px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums}.ref-selection-tools{justify-content:flex-start;background:var(--soft)}.ref-count{font-size:11px;color:var(--sub);margin-right:auto;white-space:nowrap}.ref-selection-tools select{width:auto;max-width:150px;padding:5px;font-size:11px;min-height:30px}.ref-body{display:flex;min-width:0;position:relative;flex:1}.ref-stage{height:clamp(320px,65dvh,900px);position:relative;flex:1;overflow:hidden;touch-action:none;outline-offset:-3px;user-select:none}.ref-stage.ref-grid{background-image:radial-gradient(color-mix(in srgb,var(--ui_999999, #999999) 40%, transparent) .7px,transparent .7px);background-size:22px 22px}.ref-stage.ref-hand{cursor:grab}.ref-stage.ref-hand:active{cursor:grabbing}.ref-world{position:absolute;left:0;top:0;transform-origin:0 0;width:0;height:0}.ref-grayscale{filter:grayscale(1)}.ref-item{position:absolute;box-sizing:border-box;touch-action:none;cursor:move;outline:1px solid transparent;outline-offset:2px}.ref-item.selected{outline:2px solid var(--ui_91c5ff, #91c5ff)}.ref-item.locked{cursor:default}.ref-image-clip{position:absolute;inset:0;overflow:hidden}.ref-image-clip img{position:absolute;max-width:none;max-height:none;user-select:none;pointer-events:none;object-fit:fill}.ref-item.ref-image-missing{background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--ui_888888, #888888) 20%, transparent),color-mix(in srgb,var(--ui_888888, #888888) 20%, transparent) 10px,color-mix(in srgb,var(--ui_222222, #222222) 13%, transparent) 10px,color-mix(in srgb,var(--ui_222222, #222222) 13%, transparent) 20px)}.ref-image-missing::after{content:var(--ref-image-missing-label, 'Bild nicht verfügbar');position:absolute;inset:0;display:grid;place-items:center;font-size:14px;color:var(--ui_dddddd, #dddddd);pointer-events:none}.ref-note{background:var(--ui_f1e6b6, #f1e6b6);color:var(--ui_29251c, #29251c);border-radius:3px;box-shadow:0 3px 10px color-mix(in srgb,var(--ui_000000, #000000) 20%, transparent)}.ref-note-text{white-space:pre-wrap;overflow:hidden;overflow-wrap:anywhere;height:100%;padding:12px;font-size:18px;line-height:1.35}.ref-item .ref-resize{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;min-height:0;padding:0;background:var(--ui_91c5ff, #91c5ff);border:1px solid var(--ui_203c60, #203c60);border-radius:2px;cursor:nwse-resize}.ref-item .ref-rotate{position:absolute;left:calc(50% - 12px);top:-32px;width:24px;height:24px;min-height:0;padding:0;border-radius:50%;font-size:17px;background:var(--ui_91c5ff, #91c5ff);color:var(--ui_182c46, #182c46);border:1px solid var(--ui_203c60, #203c60);cursor:crosshair}.ref-marquee{position:absolute;border:1px solid var(--ui_91c5ff, #91c5ff);background:color-mix(in srgb,var(--ui_91c5ff, #91c5ff) 13%, transparent);pointer-events:none}.ref-marquee[hidden]{display:none}.ref-empty{position:absolute;inset:0;display:grid;place-items:center;color:var(--ui_c7c9cb, #c7c9cb);font-size:13px;pointer-events:none}.ref-empty[hidden]{display:none}.ref-drag-over{box-shadow:inset 0 0 0 3px var(--accent)}.ref-hierarchy,.ref-properties{width:210px;flex-shrink:0;padding:10px;overflow:auto;max-height:65dvh;font-size:12px;background:var(--surface);border-right:1px solid var(--line)}.ref-hierarchy[hidden],.ref-properties[hidden]{display:none}.ref-properties{border-right:0;border-left:1px solid var(--line)}.ref-hierarchy>button{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding:6px;min-height:29px;font-size:11px;margin-top:3px;background:transparent;border-color:transparent}.ref-hierarchy>button.selected{background:var(--active);border-color:var(--accent)}.ref-properties input,.ref-properties textarea{padding:6px;font-size:12px}.ref-properties small{display:block;overflow-wrap:anywhere}.ref-properties fieldset{padding:5px;margin:10px 0;border:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:5px}.ref-properties fieldset label{margin:0}.ref-footer{display:flex;justify-content:space-between;gap:10px;padding:5px 9px;font-size:10px;color:var(--sub);border-top:1px solid var(--line)}#reference-editor:fullscreen .ref-stage{height:100%;min-height:0}#reference-editor:fullscreen .ref-body{min-height:0}#reference-editor:fullscreen .ref-properties,#reference-editor:fullscreen .ref-hierarchy{max-height:none}@media(max-width:700px){.ref-toolbar{align-items:flex-start}.ref-tool-group{flex-wrap:wrap}.ref-toolbar button,.ref-selection-tools button{min-height:32px;font-size:10px;padding:5px 7px}.ref-toolbar output{min-width:36px}.ref-stage{height:60dvh;min-height:340px}.ref-footer>span:last-child{display:none}.ref-hierarchy,.ref-properties{position:absolute;top:0;bottom:0;z-index:30;max-height:none;width:min(240px,70%);box-shadow:0 5px 15px color-mix(in srgb,var(--ui_000000, #000000) 27%, transparent)}.ref-hierarchy{left:0}.ref-properties{right:0}.reference-boardbar>select{max-width:45vw;min-width:90px}.ref-selection-tools{gap:3px}.ref-selection-tools select{max-width:115px;font-size:10px}}
.ref-selection-tools[hidden]{display:none}.reference-pur-import{display:inline-flex;align-items:center;font-size:12px;border:1px solid var(--line);border-radius:7px;padding:6px 10px;cursor:pointer;margin:0;min-height:32px;color:var(--text)}#reference-editor.reference-maximized{position:fixed;inset:8px;z-index:100;display:flex;flex-direction:column}#reference-editor.reference-maximized .ref-body{min-height:0}#reference-editor.reference-maximized .ref-stage{height:100%;min-height:0}#reference-editor.reference-maximized .ref-properties,#reference-editor.reference-maximized .ref-hierarchy{max-height:none}@media(max-width:700px){#reference-editor.reference-maximized{inset:0;border-radius:0}}.reference-pur-import input[hidden],.reference-menu input[hidden]{display:none}
/* Keep selection controls in a stable single row; selecting never shifts the canvas. */
.ref-selection-tools{flex-wrap:nowrap;height:48px;min-height:48px;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;scrollbar-width:thin}.ref-selection-tools>*{flex-shrink:0}.ref-selection-tools .ref-count{min-width:90px}.ref-selection-tools button:disabled,.ref-selection-tools select:disabled{opacity:.4}.ref-footer{position:relative;align-items:center}.ref-shortcut-help{margin-left:auto;flex-shrink:0}.ref-shortcut-help>summary{cursor:pointer}.ref-shortcut-help>div{position:absolute;bottom:100%;right:0;z-index:40;width:min(440px,90vw);max-height:65dvh;overflow:auto;padding:14px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:0 6px 25px color-mix(in srgb,var(--ui_000000, #000000) 33%, transparent);font-size:12px;line-height:1.6}.ref-shortcut-help p{margin:8px 0}.ref-shortcut-help small{display:block;color:var(--sub)}

.graph-insert-sibling{position:absolute;z-index:5;width:20px;height:11px;min-height:0;padding:0;border:0;background:transparent;color:var(--accent);font-size:12px;line-height:10px;opacity:0;cursor:pointer}.graph-insert-sibling:hover,.graph-insert-sibling:focus-visible{opacity:1;background:var(--surface);outline:1px solid var(--accent);border-radius:3px}@media(hover:none){.graph-insert-sibling{opacity:.65}}

.ref-toolbar [data-ref-quality]{width:auto;max-width:155px;padding:5px;font-size:11px;min-height:30px}.ref-item[hidden]{display:none!important}

/* Board overlays do not alter the canvas height. Group frames share the world transform. */
.ref-group-layer{position:absolute;inset:0;z-index:-1;pointer-events:none}.ref-world{isolation:isolate}.ref-group-frame{position:absolute;box-sizing:border-box;border:2px solid var(--group-color,var(--ui_929ba6, #929ba6));border-radius:7px;background:color-mix(in srgb,var(--ui_ffffff, #ffffff) 2%, transparent);pointer-events:none}.ref-group-frame.selected{border-color:var(--ui_91c5ff, #91c5ff)}.ref-group-frame>span{position:absolute;left:8px;top:2px;font:12px/16px Arial,sans-serif;color:var(--ui_e3e6ea, #e3e6ea);background:color-mix(in srgb,var(--ui_25282d, #25282d) 85%, transparent);border-radius:3px;padding:0 4px;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.ref-load-progress{position:absolute;right:10px;bottom:10px;z-index:40;width:180px;max-width:70%;padding:8px 10px;border:1px solid color-mix(in srgb,var(--ui_ffffff, #ffffff) 20%, transparent);border-radius:7px;background:color-mix(in srgb,var(--ui_20262d, #20262d) 92%, transparent);color:var(--ui_edf2f7, #edf2f7);pointer-events:none;font-size:11px;box-shadow:0 3px 12px color-mix(in srgb,var(--ui_000000, #000000) 27%, transparent)}.ref-load-progress[hidden]{display:none}.ref-load-progress progress{display:block;width:100%;height:5px;margin-top:5px;accent-color:var(--ui_9dbed8, #9dbed8)}.ref-note-text.rich{box-sizing:border-box;white-space:normal;padding:4px;overflow:hidden;line-height:1.25}.ref-note-text.rich p,.ref-note-measure p{margin:0;min-height:1em}.ref-note-text.rich table,.ref-note-measure table{border-collapse:collapse;width:auto;background:transparent;color:inherit}.ref-note-text.rich td,.ref-note-text.rich th,.ref-note-measure td,.ref-note-measure th{padding:0 6px 0 0;border:0;background:transparent;color:inherit;font-size:inherit}.ref-note-text.rich a{color:inherit;text-decoration:underline;pointer-events:none}.reference-menu small{font-size:10px;color:var(--sub);padding:4px 6px;max-width:240px}

/* Screen-coordinate board: no huge transformed zero-size layer or scaled selection strokes. */
.ref-stage{contain:paint;isolation:isolate}.ref-world{inset:0;width:100%;height:100%;transform:none;pointer-events:none}.ref-item{pointer-events:auto}.ref-note-text{box-sizing:border-box}.ref-item.selected{outline:3px solid var(--ui_68c8ff, #68c8ff);outline-offset:2px;box-shadow:0 0 0 5px color-mix(in srgb,var(--ui_091721, #091721) 73%, transparent)}.ref-item.selected::before{content:'';position:absolute;inset:0;background:color-mix(in srgb,var(--ui_5fc8ff, #5fc8ff) 9%, transparent);z-index:4;pointer-events:none}.ref-item.ref-editing::before{display:none}.ref-group-layer{z-index:0;pointer-events:none}.ref-group-frame{pointer-events:auto;cursor:move;background:color-mix(in srgb,var(--ui_ffffff, #ffffff) 1%, transparent);border-width:1px}.ref-group-frame.selected{border:2px solid var(--ui_68c8ff, #68c8ff);background:color-mix(in srgb,var(--ui_60c4ff, #60c4ff) 7%, transparent);box-shadow:0 0 0 1px var(--ui_102434, #102434)}.ref-group-frame>span{pointer-events:none;user-select:none}.ref-marquee{z-index:50;border:2px solid var(--ui_68c8ff, #68c8ff);background:color-mix(in srgb,var(--ui_60c4ff, #60c4ff) 19%, transparent)}.ref-selection-box{position:absolute;box-sizing:border-box;border:1px dashed var(--ui_addefc, #addefc);box-shadow:0 0 0 1px color-mix(in srgb,var(--ui_0a1a27, #0a1a27) 67%, transparent);z-index:42;pointer-events:none}.ref-selection-box[hidden]{display:none}.ref-note-text[contenteditable=true]{outline:none;user-select:text;cursor:text;overflow:visible;background:inherit;min-height:1em}.ref-note-text[contenteditable=true]:empty::before{content:attr(data-placeholder);opacity:.45;pointer-events:none}.ref-note-text[data-wrap=none],.ref-note-text[data-wrap=none] p,.ref-note-text[data-wrap=none] div,.ref-note-text[data-wrap=none] span,.ref-note-text[data-wrap=none] td,.ref-note-measure[data-wrap=none],.ref-note-measure[data-wrap=none] *{white-space:pre!important;overflow-wrap:normal!important;word-break:normal!important}.ref-note-text[data-wrap=word]{overflow-wrap:normal;word-break:normal}.ref-note-text.rich table{max-width:100%}.ref-editing{outline:3px solid var(--ui_ffd06b, #ffd06b)!important;box-shadow:0 0 0 5px color-mix(in srgb,var(--ui_241e10, #241e10) 73%, transparent)!important}.ref-editing .ref-resize,.ref-editing .ref-rotate{display:none}

.ref-note-text,.ref-note-measure{font-family:Arial,sans-serif;line-height:1.25}.ref-note-text.ref-editing{overflow:visible}

/* Open Sans is served locally for matching PureRef text metrics (OFL license in fonts/). */
/* open-sans-greek-ext-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/open-sans-greek-ext-400-normal.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* open-sans-greek-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/open-sans-greek-400-normal.woff2') format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
/* open-sans-latin-ext-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/open-sans-latin-ext-400-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* open-sans-latin-400-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/open-sans-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* open-sans-greek-ext-400-italic */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/open-sans-greek-ext-400-italic.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* open-sans-greek-400-italic */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/open-sans-greek-400-italic.woff2') format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
/* open-sans-latin-ext-400-italic */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/open-sans-latin-ext-400-italic.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* open-sans-latin-400-italic */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url('fonts/open-sans-latin-400-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* open-sans-greek-ext-700-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('fonts/open-sans-greek-ext-700-normal.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* open-sans-greek-700-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('fonts/open-sans-greek-700-normal.woff2') format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
/* open-sans-latin-ext-700-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('fonts/open-sans-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* open-sans-latin-700-normal */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url('fonts/open-sans-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* open-sans-greek-ext-700-italic */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: url('fonts/open-sans-greek-ext-700-italic.woff2') format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* open-sans-greek-700-italic */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: url('fonts/open-sans-greek-700-italic.woff2') format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
/* open-sans-latin-ext-700-italic */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: url('fonts/open-sans-latin-ext-700-italic.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* open-sans-latin-700-italic */
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-display: swap;
  font-weight: 700;
  src: url('fonts/open-sans-latin-700-italic.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

.ref-note-text,.ref-note-measure{font-family:'Open Sans',Arial,sans-serif;tab-size:80px}.ref-note-text.rich p,.ref-note-measure p{line-height:normal}

.ref-note-text.rich,.ref-note-measure{line-height:normal!important}

/* Dragging text-frame edges changes wrapping, not glyph size. */
.ref-text-width{position:absolute;top:calc(50% - 8px);width:8px;height:16px;min-height:0;min-width:0;padding:0;border:1px solid var(--ui_174a69, #174a69);border-radius:2px;background:var(--ui_7bd2ff, #7bd2ff);z-index:8;cursor:ew-resize}.ref-text-width.left{left:-5px}.ref-text-width.right{right:-5px}.ref-note-text[data-wrap=word],.ref-note-text[data-wrap=word] p,.ref-note-text[data-wrap=word] div,.ref-note-text[data-wrap=word] li,.ref-note-text[data-wrap=word] span,.ref-note-measure[data-wrap=word],.ref-note-measure[data-wrap=word] *{white-space:pre-wrap!important;overflow-wrap:anywhere;word-break:normal}.ref-note-text.rich ul,.ref-note-text.rich ol,.ref-note-measure ul,.ref-note-measure ol{margin-top:0;margin-bottom:0;padding-left:40px}.ref-editing .ref-text-width{display:none}

/* The same upload status stays inside the task dialog while it is open. */
.task-upload-progress:empty{display:none}.task-upload-progress .upload-dock{position:static;inset:auto;width:100%;max-width:none;margin:8px 0 12px;padding:12px;box-shadow:none;z-index:auto;gap:6px}.task-upload-progress .upload-dock .actions{flex-wrap:wrap}

.task-thumb{width:32px;height:32px;min-width:32px;object-fit:cover;border-radius:4px;background:var(--soft)}.task-open{display:flex;align-items:center;gap:6px}.task-open strong{min-width:0}.task-thumb-button{padding:0!important;min-height:28px!important;flex:0 0 28px;line-height:0}.graph-node .task-thumb{width:28px;height:28px;min-width:28px}.task-thumbnail-setting{font-size:12px;margin:10px 0}.file-task-options{display:grid;gap:5px;max-height:45vh;overflow:auto}.file-task-options label{display:flex;align-items:center;gap:8px;font-size:12px;margin:0;padding:5px}.file-task-options input{width:auto}.files-panel .file-table-head,.files-panel .file-row{grid-template-columns:minmax(90px,1fr) 40px 60px 72px minmax(85px,.6fr) minmax(100px,.8fr) 52px}.file-task-cell{min-width:0}.file-task-cell button,.file-task-cell span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;padding:3px 4px;min-height:24px}.file-task-header{font-size:11px;font-weight:600}@media(max-width:700px){.files-panel .file-table-head,.files-panel .file-row{grid-template-columns:minmax(55px,1fr) 27px 40px 47px minmax(56px,.65fr) 45px;gap:3px}.file-task-header{display:none}.file-task-cell{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:5px}.file-task-cell:before{content:var(--file-task-label, 'Aufgabe');font-size:9px;color:var(--sub)}.file-task-cell button{font-size:10px;min-height:22px;padding:1px 4px}.task-thumb{width:28px;height:28px;min-width:28px}}

/* One shared seven-column grid: no implicit action row, no wrapped assignment buttons. */
.files-panel .file-table-head,.files-panel .file-row{min-width:0;column-gap:8px;padding:5px 6px;min-height:36px}.files-panel .file-row>*,.files-panel .file-row .file-meta>*{min-width:0}.files-panel .file-task-cell{grid-column:auto;grid-row:auto;overflow:hidden}.files-panel .file-task-cell button,.files-panel .file-task-cell span{font-size:11px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.files-panel .file-actions{grid-column:auto;grid-row:auto;white-space:nowrap}.files-panel .file-assignment select{width:100%;max-width:100%;min-width:0}.files-panel .file-name{display:flex;align-items:center;gap:6px}.files-panel .file-open{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file-view-tools{display:flex;justify-content:flex-end;margin:0 0 5px}.thumbs-toggle{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;color:var(--sub);margin:0;font-weight:400}.thumbs-toggle input{width:12px;height:12px;margin:0;accent-color:var(--accent)}.graph-controls .thumbs-toggle{margin-right:auto}.thumbnail-box{display:inline-block;position:relative;width:32px;height:32px;min-width:32px;flex:0 0 32px;overflow:hidden;border-radius:4px;background:var(--soft)}.thumbnail-box:before{content:'▧';position:absolute;inset:0;display:grid;place-items:center;color:var(--sub);font-size:18px}.thumbnail-box.has-image:before{display:none}.thumbnail-box .task-thumb{position:relative;display:block;width:100%;height:100%;min-width:0;object-fit:cover}.graph-node .thumbnail-box{width:28px;height:28px;min-width:28px;flex-basis:28px}.thumbnail-missing{opacity:.6}@media(max-width:700px){.files-panel .file-table-head,.files-panel .file-row{grid-template-columns:minmax(0,1fr) 28px 43px 50px minmax(0,.8fr) 45px!important;gap:4px}.files-panel .file-task-cell{grid-column:1/-1;grid-row:2}.files-panel .file-actions{grid-column:6;grid-row:1}.file-task-header{display:none}.files-panel .file-assignment{grid-column:5;grid-row:1}.files-panel .file-name{gap:4px}.files-panel .thumbnail-box{width:26px;height:26px;min-width:26px;flex-basis:26px}}

/* Shared view options, matching the existing compact options icon. */
.view-options{position:relative;display:inline-block;flex:none;margin:0}.view-options>summary{display:grid;place-items:center;list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:6px;width:28px;height:28px;padding:0;background:var(--surface);color:var(--sub)}.view-options>summary::-webkit-details-marker{display:none}.view-options>summary:hover,.view-options[open]>summary{color:var(--text);background:var(--active)}.view-options-panel{position:absolute;right:0;top:calc(100% + 4px);z-index:90;min-width:170px;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:0 5px 20px color-mix(in srgb,var(--ui_000000, #000000) 20%, transparent)}.view-options-panel .thumbs-toggle{display:flex!important;align-items:center;justify-content:flex-start;gap:7px;white-space:nowrap;font-size:11px;color:var(--text);margin:0!important}.view-options-panel input[type=checkbox]{display:inline-block;width:13px!important;height:13px;min-height:0;padding:0;margin:0!important;flex:0 0 13px}.graph-controls{overflow:visible}.graph-controls .view-options{margin-left:auto;z-index:80}.graph-shell{overflow:visible}.files-panel .file-view-tools{overflow:visible;position:relative;z-index:80}.files-panel .file-name{display:flex!important;align-items:center;flex-wrap:nowrap;gap:6px}.files-panel .file-name>.thumbnail-box{flex:0 0 28px;width:28px;height:28px;min-width:28px}.files-panel .file-name>.file-open,.files-panel .file-name>strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-node{display:flex;align-items:center;gap:3px;padding:2px 5px;box-sizing:border-box}.graph-node>.node-drag{display:flex;align-items:center;justify-content:center;flex:0 0 8px;width:8px;min-width:8px;height:24px;padding:0;margin:0}.graph-node>.node-drag svg{width:7px;height:18px}.graph-node>.task-thumb-button{display:block;flex:0 0 24px;width:24px;min-width:24px;height:24px;min-height:24px!important;padding:0!important;border:0;margin:0;overflow:hidden;border-radius:3px}.graph-node>.task-thumb-button .thumbnail-box{display:block;width:24px;height:24px;min-width:24px}.graph-node>.graph-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;flex:1 1 auto;min-width:0;max-height:26px;overflow:hidden;font-size:9px;line-height:12px;white-space:normal;overflow-wrap:anywhere;padding:0 2px;margin:0;text-align:left}.graph-node>.node-file-link{flex:0 0 12px;width:12px;min-width:12px;padding:0}.graph-node>.node-person,.graph-node>.node-quick{flex-shrink:0}.graph-node .thumbnail-box:before{font-size:14px}.thumbnail-box .task-thumb{flex:1;width:100%;height:100%;object-fit:cover}.file-view-tools{min-height:28px}


/* Essential component geometry ships with the controls that need it. */
.file-view-tools{display:flex!important;justify-content:flex-end!important;align-items:center;min-height:28px!important;height:28px;margin:0 0 4px!important;padding:0!important;position:relative;z-index:20}.studio-options-button{display:inline-grid!important;place-items:center;flex:0 0 28px;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:5px;background:var(--surface)!important;color:var(--sub)}.studio-options-button:hover,.studio-options-button[aria-expanded=true]{color:var(--text);background:var(--soft)!important}.studio-options-button svg{width:15px;height:15px}.studio-view-popover{position:fixed;z-index:150;display:grid;gap:3px;width:198px;padding:6px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);box-shadow:0 6px 20px color-mix(in srgb,var(--ui_000000, #000000) 27%, transparent)}.studio-view-popover label{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;padding:6px!important;margin:0!important;line-height:18px;font-size:12px;color:var(--text);white-space:nowrap}.studio-view-popover input[type=checkbox]{display:block!important;appearance:auto;width:13px!important;min-width:13px!important;height:13px!important;min-height:13px!important;flex:0 0 13px!important;padding:0!important;margin:0!important}.studio-view-popover button{display:block;width:100%;text-align:left;min-height:27px;padding:5px 6px;font-size:11px;border:0;background:transparent;color:var(--sub);border-radius:4px}.studio-view-popover button:hover{background:var(--soft);color:var(--text)}
.graph-node{display:grid!important;align-items:center!important;height:32px!important;min-height:32px!important;gap:3px!important;padding:3px 4px!important;overflow:hidden!important;box-sizing:border-box}.graph-node>.node-drag{display:flex!important;justify-content:center;align-items:center;width:7px!important;min-width:7px!important;height:22px!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden}.graph-node>.node-drag svg{width:7px!important;height:16px!important}.graph-node>.task-thumb-button{display:block!important;width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;margin:0!important;border:0!important;border-radius:3px!important;overflow:hidden!important;box-sizing:border-box}.graph-node>.task-thumb-button>.thumbnail-box{display:block!important;width:22px!important;height:22px!important;min-width:0!important;max-width:22px!important;padding:0!important;margin:0!important;overflow:hidden;border-radius:3px;background:var(--soft)}.thumbnail-box .task-thumb,.graph-node .task-thumb{display:block!important;position:relative;width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important;object-fit:contain!important;background:var(--soft);border-radius:0!important}.graph-node>.graph-title.node-main{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-width:0!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;max-height:24px!important;padding:0!important;margin:0!important;font-size:9px!important;line-height:12px!important;font-weight:500;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere;text-align:left}.graph-node>.node-file-link{display:grid!important;place-items:center;width:14px!important;min-width:14px!important;height:20px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:3px!important;background:transparent!important;color:var(--sub)}.graph-node>.node-file-link svg{width:12px!important;height:12px!important;stroke-width:1.7}.graph-node>.node-file-link:hover{background:var(--soft)!important;color:var(--text)}.graph-node>.node-person{display:grid!important;place-items:center;width:15px!important;min-width:15px!important;height:15px!important;min-height:15px!important;padding:0!important;margin:0!important;font-size:7px!important}.graph-node>.node-person svg{width:10px!important;height:10px!important}.graph-node>.node-quick{display:flex!important;align-items:center;justify-content:flex-end;gap:0!important;padding:0!important;margin:0!important}.graph-node>.node-quick>button:not(.person-clock){display:grid;place-items:center;width:16px!important;min-width:16px!important;height:22px!important;min-height:22px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;border-radius:3px;font-size:12px!important}.graph-node .node-quick .stopwatch-icon,.graph-node .branch-toggle svg{width:12px!important;height:12px!important}.graph-controls>.studio-options-button{margin-left:3px!important}
.settings-theme-panel>.panelhead{padding:10px 12px!important}.settings-theme-panel .theme-grid{display:flex!important;flex-wrap:wrap;gap:6px!important;padding:10px 12px!important}.settings-theme-panel .theme-choice{display:flex!important;align-items:center;justify-content:flex-start;gap:7px;padding:5px 8px!important;min-height:34px!important;font-size:11px!important;width:auto;flex:0 1 auto;border-radius:5px}.settings-theme-panel .theme-sample{display:flex;width:43px;min-width:43px;height:20px!important;margin:0!important;border-radius:3px}.theme-editor-details{margin:0 12px 12px;border-top:1px solid var(--line)}.theme-editor-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-size:12px;font-weight:550;color:var(--sub)}.theme-editor-details>summary::-webkit-details-marker{display:none}.theme-editor-details>summary::after{content:'＋';font-size:15px}.theme-editor-details[open]>summary::after{content:'−'}.theme-editor-details:not([open])>.theme-editor{display:none!important}.settings-theme-panel .theme-editor{padding:0!important;max-width:880px}.settings-theme-panel .theme-editor .panelhead{padding:0 0 6px!important;border-bottom:0}.settings-theme-panel .theme-editor .panelhead h2{font-size:11px;font-weight:500;color:var(--sub)}.settings-theme-panel .color-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 16px!important}.settings-theme-panel .color-grid>label{display:flex!important;align-items:center;justify-content:space-between;gap:8px;min-height:31px;margin:0!important;padding:3px 0;border-bottom:1px solid var(--line);font-size:11px!important}.settings-theme-panel .color-grid input[type=hidden]{display:none!important}.settings-theme-panel .color-grid .color-field{display:block;width:25px!important;min-width:25px!important;height:25px!important;min-height:25px!important;flex:0 0 25px;padding:3px!important;border-radius:5px}.settings-theme-panel .color-pick span{display:block;width:100%;height:100%;border-radius:2px;background:var(--swatch)}.settings-theme-panel .theme-editor .actions{margin-top:9px!important;gap:8px}.settings-theme-panel .theme-editor .actions .sub{font-size:10px}.settings-theme-panel .theme-editor .actions button{font-size:11px;min-height:28px;padding:5px 9px}.files-panel .file-name{display:flex!important;align-items:center;flex-wrap:nowrap!important;min-width:0}.files-panel .file-name>.thumbnail-box{display:block;flex:0 0 26px;width:26px!important;min-width:26px!important;height:26px!important;overflow:hidden;border-radius:3px;background:var(--soft)}.files-panel .file-name>.file-open{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.settings-theme-panel .color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-theme-panel .theme-choice{font-size:10px!important}.settings-theme-panel .theme-grid{gap:5px!important}.settings-theme-panel .theme-sample{width:30px;min-width:30px}.settings-theme-panel .theme-editor .actions{flex-wrap:wrap}}

.reference-menu.view-options>summary{display:grid!important;place-items:center;list-style:none;width:28px;height:28px;min-height:28px;padding:0!important;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:12px}.reference-menu.view-options>summary::-webkit-details-marker{display:none}.reference-menu.view-options>div{width:210px;min-width:0;padding:6px;gap:3px}.reference-menu.view-options>div button{min-height:27px;font-size:11px;padding:5px 6px;text-align:left}.reference-menu.view-options>div label{font-size:11px;padding:5px}.reference-menu.view-options input[type=checkbox]{width:13px!important;height:13px;min-height:0;margin:0 5px 0 0}.reference-menu.view-options:not([open])>div{display:none!important}


/* Essential component geometry ships with the controls that need it. */
.file-view-tools{display:flex!important;justify-content:flex-end!important;align-items:center;min-height:28px!important;height:28px;margin:0 0 4px!important;padding:0!important;position:relative;z-index:20}.studio-options-button{display:inline-grid!important;place-items:center;flex:0 0 28px;width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:5px;background:var(--surface)!important;color:var(--sub)}.studio-options-button:hover,.studio-options-button[aria-expanded=true]{color:var(--text);background:var(--soft)!important}.studio-options-button svg{width:15px;height:15px}.studio-view-popover{position:fixed;z-index:150;display:grid;gap:3px;width:198px;padding:6px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);box-shadow:0 6px 20px color-mix(in srgb,var(--ui_000000, #000000) 27%, transparent)}.studio-view-popover label{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;padding:6px!important;margin:0!important;line-height:18px;font-size:12px;color:var(--text);white-space:nowrap}.studio-view-popover input[type=checkbox]{display:block!important;appearance:auto;width:13px!important;min-width:13px!important;height:13px!important;min-height:13px!important;flex:0 0 13px!important;padding:0!important;margin:0!important}.studio-view-popover button{display:block;width:100%;text-align:left;min-height:27px;padding:5px 6px;font-size:11px;border:0;background:transparent;color:var(--sub);border-radius:4px}.studio-view-popover button:hover{background:var(--soft);color:var(--text)}
.graph-node{display:grid!important;align-items:center!important;height:32px!important;min-height:32px!important;gap:3px!important;padding:3px 4px!important;overflow:hidden!important;box-sizing:border-box}.graph-node>.node-drag{display:flex!important;justify-content:center;align-items:center;width:7px!important;min-width:7px!important;height:22px!important;min-height:0!important;padding:0!important;margin:0!important;overflow:hidden}.graph-node>.node-drag svg{width:7px!important;height:16px!important}.graph-node>.task-thumb-button{display:block!important;width:22px!important;min-width:22px!important;height:22px!important;min-height:22px!important;max-height:22px!important;padding:0!important;margin:0!important;border:0!important;border-radius:3px!important;overflow:hidden!important;box-sizing:border-box}.graph-node>.task-thumb-button>.thumbnail-box{display:block!important;width:22px!important;height:22px!important;min-width:0!important;max-width:22px!important;padding:0!important;margin:0!important;overflow:hidden;border-radius:3px;background:var(--soft)}.thumbnail-box .task-thumb,.graph-node .task-thumb{display:block!important;position:relative;width:100%!important;height:100%!important;min-width:0!important;max-width:100%!important;object-fit:contain!important;background:var(--soft);border-radius:0!important}.graph-node>.graph-title.node-main{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;min-width:0!important;width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;max-height:24px!important;padding:0!important;margin:0!important;font-size:9px!important;line-height:12px!important;font-weight:500;white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere;text-align:left}.graph-node>.node-file-link{display:grid!important;place-items:center;width:14px!important;min-width:14px!important;height:20px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:3px!important;background:transparent!important;color:var(--sub)}.graph-node>.node-file-link svg{width:12px!important;height:12px!important;stroke-width:1.7}.graph-node>.node-file-link:hover{background:var(--soft)!important;color:var(--text)}.graph-node>.node-person{display:grid!important;place-items:center;width:15px!important;min-width:15px!important;height:15px!important;min-height:15px!important;padding:0!important;margin:0!important;font-size:7px!important}.graph-node>.node-person svg{width:10px!important;height:10px!important}.graph-node>.node-quick{display:flex!important;align-items:center;justify-content:flex-end;gap:0!important;padding:0!important;margin:0!important}.graph-node>.node-quick>button:not(.person-clock){display:grid;place-items:center;width:16px!important;min-width:16px!important;height:22px!important;min-height:22px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;border-radius:3px;font-size:12px!important}.graph-node .node-quick .stopwatch-icon,.graph-node .branch-toggle svg{width:12px!important;height:12px!important}.graph-controls>.studio-options-button{margin-left:3px!important}
.settings-theme-panel>.panelhead{padding:10px 12px!important}.settings-theme-panel .theme-grid{display:flex!important;flex-wrap:wrap;gap:6px!important;padding:10px 12px!important}.settings-theme-panel .theme-choice{display:flex!important;align-items:center;justify-content:flex-start;gap:7px;padding:5px 8px!important;min-height:34px!important;font-size:11px!important;width:auto;flex:0 1 auto;border-radius:5px}.settings-theme-panel .theme-sample{display:flex;width:43px;min-width:43px;height:20px!important;margin:0!important;border-radius:3px}.theme-editor-details{margin:0 12px 12px;border-top:1px solid var(--line)}.theme-editor-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;padding:9px 0;font-size:12px;font-weight:550;color:var(--sub)}.theme-editor-details>summary::-webkit-details-marker{display:none}.theme-editor-details>summary::after{content:'＋';font-size:15px}.theme-editor-details[open]>summary::after{content:'−'}.theme-editor-details:not([open])>.theme-editor{display:none!important}.settings-theme-panel .theme-editor{padding:0!important;max-width:880px}.settings-theme-panel .theme-editor .panelhead{padding:0 0 6px!important;border-bottom:0}.settings-theme-panel .theme-editor .panelhead h2{font-size:11px;font-weight:500;color:var(--sub)}.settings-theme-panel .color-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 16px!important}.settings-theme-panel .color-grid>label{display:flex!important;align-items:center;justify-content:space-between;gap:8px;min-height:31px;margin:0!important;padding:3px 0;border-bottom:1px solid var(--line);font-size:11px!important}.settings-theme-panel .color-grid input[type=hidden]{display:none!important}.settings-theme-panel .color-grid .color-field{display:block;width:25px!important;min-width:25px!important;height:25px!important;min-height:25px!important;flex:0 0 25px;padding:3px!important;border-radius:5px}.settings-theme-panel .color-pick span{display:block;width:100%;height:100%;border-radius:2px;background:var(--swatch)}.settings-theme-panel .theme-editor .actions{margin-top:9px!important;gap:8px}.settings-theme-panel .theme-editor .actions .sub{font-size:10px}.settings-theme-panel .theme-editor .actions button{font-size:11px;min-height:28px;padding:5px 9px}.files-panel .file-name{display:flex!important;align-items:center;flex-wrap:nowrap!important;min-width:0}.files-panel .file-name>.thumbnail-box{display:block;flex:0 0 26px;width:26px!important;min-width:26px!important;height:26px!important;overflow:hidden;border-radius:3px;background:var(--soft)}.files-panel .file-name>.file-open{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:700px){.settings-theme-panel .color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-theme-panel .theme-choice{font-size:10px!important}.settings-theme-panel .theme-grid{gap:5px!important}.settings-theme-panel .theme-sample{width:30px;min-width:30px}.settings-theme-panel .theme-editor .actions{flex-wrap:wrap}}

.reference-menu.view-options>summary{display:grid!important;place-items:center;list-style:none;width:28px;height:28px;min-height:28px;padding:0!important;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:12px}.reference-menu.view-options>summary::-webkit-details-marker{display:none}.reference-menu.view-options>div{width:210px;min-width:0;padding:6px;gap:3px}.reference-menu.view-options>div button{min-height:27px;font-size:11px;padding:5px 6px;text-align:left}.reference-menu.view-options>div label{font-size:11px;padding:5px}.reference-menu.view-options input[type=checkbox]{width:13px!important;height:13px;min-height:0;margin:0 5px 0 0}.reference-menu.view-options:not([open])>div{display:none!important}

.graph-controls>.studio-options-button svg{width:18px!important;height:18px!important}.graph-controls .graph-add-root{display:grid!important;place-items:center;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;padding:0!important;line-height:0;border-radius:5px}.graph-add-root .plus-icon{display:block;width:17px;height:17px}.graph-node .node-quick .plus-icon{width:12px!important;height:12px!important;display:block}.graph-node>.node-file-link.is-empty{opacity:.65}.graph-node>.node-file-link.is-empty:hover{opacity:1}.files-panel .file-task-cell{display:flex!important;align-items:center;gap:4px;min-width:0;overflow:hidden}.files-panel .file-task-cell select{display:block;flex:1 1 0;width:0!important;min-width:0;max-width:100%;height:26px;min-height:26px;padding:3px 18px 3px 5px;font-size:11px;line-height:18px;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:4px}.files-panel .file-task-cell .file-task-multi{display:inline-flex!important;align-items:center;justify-content:center;gap:2px;flex:0 0 auto;width:auto;min-width:24px!important;height:26px!important;min-height:26px!important;padding:2px!important;margin:0;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text)}.file-task-multi .plus-icon{display:block;width:12px;height:12px}.file-task-multi small{font-size:9px}.file-task-dialog:has([data-file-task-form]){width:min(var(--file-task-dialog-width,1040px),calc(100vw - 24px));padding:16px;max-height:90dvh}.file-task-dialog .dialoghead{margin-bottom:8px}.file-task-dialog h2{font-size:16px}.file-task-context{font-size:11px;color:var(--sub);margin:0 0 12px;overflow-wrap:anywhere}.file-task-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;max-height:62dvh;overflow:auto;align-items:start}.file-task-branch{min-width:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface)}.file-task-branch h3{font-size:12px;padding:8px 9px;margin:0;background:var(--soft);border-bottom:1px solid var(--line);font-weight:600;overflow-wrap:anywhere}.file-task-choice{display:grid!important;grid-template-columns:13px minmax(0,1fr);align-items:start!important;gap:7px;margin:0!important;padding:6px 9px!important;min-height:29px;border-bottom:1px solid var(--line);font-size:11px!important;line-height:16px;color:var(--text);cursor:pointer}.file-task-choice:last-child{border-bottom:0}.file-task-choice:hover{background:var(--soft)}.file-task-choice input[type=checkbox]{display:block;width:13px!important;min-width:13px!important;height:13px!important;min-height:13px!important;padding:0!important;margin:1px 0 0!important;appearance:auto}.file-task-choice span{min-width:0;overflow-wrap:anywhere}.file-task-dialog .actions{margin-top:12px;gap:6px}.file-task-dialog .actions button{min-height:30px;font-size:12px;padding:5px 10px}@media(max-width:600px){.file-task-branches{grid-template-columns:minmax(0,1fr)}.file-task-dialog:has([data-file-task-form]){padding:12px}.files-panel .file-task-cell select{font-size:10px}}

.file-upload-meta{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:11px}.file-upload-meta time{white-space:nowrap}.file-uploader{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--sub);font-size:10px}@media(max-width:700px){.files-panel .file-table-head,.files-panel .file-row{grid-template-columns:minmax(0,1fr) 28px 43px 94px minmax(0,.8fr) 45px!important}.file-upload-meta time{white-space:normal;font-size:10px}}

.file-uploader-cell{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}@media(max-width:700px){.files-panel .file-table-head,.files-panel .file-row{grid-template-columns:minmax(70px,1fr) 28px 43px 94px 96px minmax(70px,.8fr) 45px!important;min-width:590px}.files-panel .file-actions{grid-column:7}.files-panel .file-assignment{grid-column:6}.files-panel .file-table{overflow-x:auto}.files-panel .file-task-cell{grid-column:1/-1}}

.file-uploader-cell .person-tag{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-uploader-cell .person-tag i{flex-shrink:0}

.project-inline-context,.project-inline-title{display:inline-flex;align-items:center;gap:3px;min-width:0;max-width:100%;vertical-align:middle;flex-wrap:nowrap;white-space:nowrap}.project-inline-context>.project-label,.project-inline-title>.project-card-open,.project-inline-title>.timeline-name,.project-inline-title>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-inline-context>.project-label{flex:1 1 auto}.project-inline-links{display:inline-flex!important;align-items:center;flex:0 0 auto;gap:1px;white-space:nowrap;vertical-align:middle;line-height:1}.project-inline-link{position:relative!important;display:inline-grid!important;place-items:center!important;flex:0 0 17px!important;width:17px!important;min-width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;padding:1px!important;border:0!important;background:transparent!important;color:var(--sub);line-height:1!important;box-shadow:none!important}.project-inline-link svg{width:13px!important;height:13px!important;display:block}.project-inline-link>span{position:absolute;right:-1px;top:-3px;font-size:8px;line-height:9px;background:transparent!important}.project-inline-link:hover,.project-inline-link:focus-visible{color:var(--accent)}.project-inline-link:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.project-card-open h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-top>.project-inline-title,.timeline-project>.project-inline-title{flex:1 1 auto}.project-heading-inline{flex:1 1 auto}.project-heading-inline>.project-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto}.project-selector-inline{display:inline-flex;align-items:center;gap:3px;min-width:0;max-width:100%;width:100%;flex-wrap:nowrap}.project-selector-inline>select{flex:1 1 0!important;width:0!important;min-width:0!important;max-width:100%}.file-folder-item{display:flex;align-items:center;gap:2px;min-width:0}.file-folder-item>.file-folder{flex:1;min-width:0}.search-result-open{display:block;max-width:100%;text-align:left;padding:0!important;min-height:0!important}.search-result small{display:flex;align-items:center;gap:3px;flex-wrap:nowrap}

.timeline-project>.drag-handle,.project-top>.drag-handle,.project-overview-row>.drag-handle{order:-100;flex:0 0 14px;min-width:14px;margin:0 3px 0 0}.timeline-project>.drag-handle{width:12px;min-width:12px;flex-basis:12px;padding:0}.timeline-row-actions,.project-card-actions{flex:0 0 auto}.own-task-grip,.node-drag,.event-drag{order:-100}

.projectcard{min-height:0;padding:10px 12px;gap:6px}.projectcard>.project-card-summary{gap:6px;min-height:0;margin:0}.projectcard>.project-card-meta{margin:0}

.file-folders>.file-folder-tile{display:grid;grid-template-rows:22px 17px;gap:2px;padding:4px 7px;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--surface);min-width:0}.file-folders>.file-folder-tile.selected{border-color:var(--accent);background:var(--active)}.file-folder-tile>.file-folder{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-width:0;min-height:22px!important;height:22px!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.file-folder-tile>.file-folder>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.file-folder-tile>.file-folder>svg{width:15px;height:15px;flex-shrink:0}.file-folder-tile>.project-inline-links{margin-left:21px;justify-self:start}.file-folder-links-empty{height:17px}.side nav .nav-admin-divider{display:block;flex-shrink:0;border-top:1px solid var(--line);height:0;margin:8px 10px}@media(max-width:700px){.side nav .nav-admin-divider{flex:0 0 1px;align-self:center;border-top:0;border-left:1px solid var(--line);height:24px;margin:0 5px}}

:root{--priority:var(--urgent)}
.badge.priority{color:var(--priority);background:color-mix(in srgb,var(--priority),var(--surface) 88%)}
.status-select.priority{color:var(--priority)}
.map-card.priority{border-left-color:var(--priority)}
.graph-node.priority{background:color-mix(in srgb,var(--priority),var(--surface) 72%);border-top-color:var(--priority);border-right-color:var(--priority);border-bottom-color:var(--priority)}
.status-dot.priority{background:var(--priority)}
.badge.priority,.status-select.priority{color:var(--priority);background:color-mix(in srgb,var(--priority),var(--surface) 86%)}


.graph-lines path{stroke-width:1.4}

.contacts-skill-filter{padding:10px 12px;border-bottom:1px solid var(--line)}.contacts-chips{display:flex;flex-wrap:wrap;gap:5px}.contacts-chips button,.contacts-readonly-skills>span,.contact-skill-choice>span{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font-size:11px;min-height:26px;line-height:16px}.contacts-chips button[aria-pressed=true],.contact-skill-choice:has(input:checked)>span{border-color:var(--accent);background:var(--active);color:var(--text)}.contacts-chips button[aria-pressed=true]:before,.contact-skill-choice:has(input:checked)>span:before{content:'✓';margin-right:4px}.contacts-skill-filter>strong{display:block;margin-bottom:6px;font-size:12px}.contacts-skill-filter>small{display:block;margin-top:6px;color:var(--sub);font-size:11px}.contacts-filter-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:11px}.contacts-filter-meta .fin-check{margin:0}.contacts-readonly-skills>span{font-size:10px;padding:2px 5px;min-height:22px}.contacts-note{max-width:260px;white-space:pre-wrap;font-size:11px}.contacts-skill-fieldset{border:1px solid var(--line);border-radius:6px;padding:9px;min-width:0}.contacts-skill-fieldset legend{font-size:12px;padding:0 4px}.fin-form .contact-skill-choice{position:relative;display:inline-flex;margin:0;padding:0;font-weight:400;cursor:pointer}.contact-skill-choice>input{position:absolute;width:1px!important;height:1px!important;opacity:0;margin:0!important;min-height:0!important}.contact-skill-choice:has(input:focus-visible)>span{outline:2px solid var(--accent);outline-offset:2px}.contact-skill-add{display:flex;align-items:center;gap:5px;margin-top:9px}.contact-skill-add input{flex:1;min-width:0;margin:0}.contact-skill-add button{flex-shrink:0;font-size:11px;min-height:30px;padding:4px 7px}.contacts .fin-table td{vertical-align:top}

.status-picker-wrap{position:relative;display:inline-flex;align-items:center;width:100%;max-width:100%;min-width:0;vertical-align:middle}.status-picker-wrap>.status-picker-native{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:0!important;overflow:hidden!important;padding:0!important;margin:0!important;border:0!important}.status-picker-button{display:inline-flex!important;align-items:center;justify-content:space-between;gap:5px;width:100%;max-width:100%;min-width:0;min-height:26px!important;height:26px;padding:3px 5px!important;line-height:18px;font-size:11px;text-align:left;border:1px solid var(--line);border-radius:4px}.status-picker-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-picker-caret{flex-shrink:0;font-size:13px;line-height:1}.status-picker-button:disabled{cursor:default;opacity:.65}.node-choice .status-choice-option{margin:2px 0;min-height:30px;gap:7px;padding:5px 9px}.node-choice .status-choice-option[aria-checked=true]{box-shadow:inset 0 0 0 1px currentColor}.node-choice .status-choice-option:hover,.node-choice .status-choice-option:focus-visible{outline:1px solid currentColor;outline-offset:-1px}.status-choice-menu{max-height:min(320px,calc(100dvh - 16px))}
.badge.open,.status-select.open,.task-status-select.open,.node-choice .status-choice-option.open,.status-picker-button.open{color:var(--open)!important;background:color-mix(in srgb,var(--open) 14%,var(--surface))!important}
.badge.urgent,.status-select.urgent,.task-status-select.urgent,.node-choice .status-choice-option.urgent,.status-picker-button.urgent{color:var(--urgent)!important;background:color-mix(in srgb,var(--urgent) 14%,var(--surface))!important}
.badge.doing,.status-select.doing,.task-status-select.doing,.node-choice .status-choice-option.doing,.status-picker-button.doing{color:var(--doing)!important;background:color-mix(in srgb,var(--doing) 14%,var(--surface))!important}
.badge.on_hold,.status-select.on_hold,.task-status-select.on_hold,.node-choice .status-choice-option.on_hold,.status-picker-button.on_hold{color:color-mix(in srgb,var(--hold) 65%,var(--text))!important;background:color-mix(in srgb,var(--hold) 14%,var(--surface))!important}
.badge.done,.status-select.done,.task-status-select.done,.node-choice .status-choice-option.done,.status-picker-button.done{color:var(--done)!important;background:color-mix(in srgb,var(--done) 14%,var(--surface))!important}

/* Compact status labels and neutral project shortcuts. */
.badge:is(.open,.urgent,.doing,.on_hold,.done,.priority)::before{content:none;display:none}
.project-inline-link{color:var(--sub)!important}
.project-inline-link:hover,.project-inline-link:focus-visible{color:var(--text)!important}
.status-picker-caret{display:block;flex:0 0 12px;width:12px;height:12px;align-self:center}

:root:lang(en){--ref-image-missing-label:'Image unavailable';--file-task-label:'Task'}
