/* All product styles are isolated to this route. */
body:has(.tm){margin:0;background:#f7f9fb} .tm{--bg:#fff;--surface:#f5f7fa;--hover:#edf2f7;--text:#202d3e;--muted:#627186;--line:#dce3ec;--accent:#087f86;--accent-hover:#06646a;--accent-active:#054f54;--accent-soft:#e4f5f3;--focus-ring:#087f86;--danger:#b43541;--warn:#916000;color:var(--text);background:var(--bg);font-family:Inter,"Noto Sans JP",system-ui,sans-serif;font-size:16px;line-height:1.5;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
[data-theme=dark] .tm{--bg:#16212f;--surface:#111b28;--hover:#253448;--text:#e6edf6;--muted:#a2b1c5;--line:#344256;--accent:#68d8d0;--accent-hover:#8ee4de;--accent-active:#b4efe9;--accent-soft:#163e43;--focus-ring:#8ee4de;--danger:#ff9ca8;--warn:#edbf68}
.tm *{box-sizing:border-box}.tm button,.tm input,.tm select,.tm textarea{font:inherit;color:inherit}.tm button{cursor:pointer;border:1px solid var(--line);background:var(--bg);border-radius:7px;padding:7px 12px;min-height:38px;font-size:.875rem}.tm button:hover{background:var(--hover)}.tm button:disabled{opacity:.5;cursor:not-allowed}.tm :focus-visible{outline:3px solid var(--accent);outline-offset:2px}.tm input,.tm select,.tm textarea{min-width:0;max-width:100%;font-size:1rem;border:1px solid var(--line);background:var(--bg);padding:9px 10px;border-radius:6px}.tm input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.tm textarea{resize:vertical;min-height:84px}.tm .primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650}[data-theme=dark] .tm .primary{color:#102b30}.tm .primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}[data-theme=dark] .tm .primary:hover:not(:disabled){color:#102b30}.tm .primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.tm .primary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;box-shadow:0 0 0 2px var(--bg)}.tm .primary:disabled{color:#fff}[data-theme=dark] .tm .primary:disabled{color:#102b30}.tm .text-accent{color:var(--accent)}.tm .danger{color:var(--danger)}.tm p{margin:6px 0}.tm h2,.tm h3{margin:0}.tm h3{font-size:1.05rem}.tm kbd{font:inherit;font-size:.75rem;opacity:.7;margin-left:auto}.tm [hidden]{display:none!important}.tm .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tm-header{min-height:58px;display:flex;align-items:center;gap:12px;padding:8px 22px;border-bottom:1px solid var(--line);flex-shrink:0;min-width:0}.tm-brand{width:36px;height:36px;flex:0 0 36px;display:inline-grid;place-items:center;text-decoration:none;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:750;letter-spacing:-.04em;line-height:1}.tm-brand:hover{background:color-mix(in srgb,var(--accent-soft) 76%,var(--accent) 24%)}.tm-header h1{font-size:1rem;font-weight:550;margin:0;min-width:0;overflow-wrap:anywhere}.tm-save{margin-left:auto;font-size:.75rem;color:var(--muted);flex-shrink:0}.tm-header button{border:0;flex-shrink:0}.tm-workspace{display:flex;flex:1;min-height:0}.tm-sidebar{width:224px;flex-shrink:0;background:var(--surface);padding:24px 14px 14px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;border-right:1px solid var(--line)}.tm-sidebar>button{display:flex;align-items:center;text-align:left}.tm-sidebar nav,.tm-sidebar #project-nav,.tm-sidebar #saved-nav,.tm-nav-bottom{display:flex;flex-direction:column;gap:3px}.tm-sidebar nav button,.tm-sidebar #project-nav button,.tm-sidebar #saved-nav button,.tm-nav-bottom button{display:flex;justify-content:space-between;text-align:left;background:transparent;border:0;padding:9px 12px;overflow-wrap:anywhere}.tm-sidebar button[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:650}.tm-sidebar [data-count]{font-size:.75rem;color:var(--muted)}.tm-nav-heading{font-size:.75rem;color:var(--muted);display:flex;align-items:center;justify-content:space-between;padding:0 10px;margin-top:10px}.tm-nav-heading button{border:0;padding:0 6px;min-height:26px}.tm-nav-bottom{margin-top:auto;padding-top:24px}.tm-nav-bottom p{font-size:.75rem;color:var(--muted);padding:10px}.tm-main{flex:1;min-width:0;padding:28px 36px 0;display:flex;flex-direction:column;overflow:hidden;scrollbar-gutter:stable}.tm-titlebar{display:flex;gap:12px;align-items:center;flex-shrink:0;margin-bottom:22px}.tm-titlebar>div{margin-right:auto;min-width:0}.tm-titlebar h2{font-size:1.65rem;letter-spacing:-.6px;white-space:nowrap;overflow-wrap:normal}.tm-titlebar p{font-size:.8rem;color:var(--muted);margin:0 0 5px}.tm-title-main{margin-right:auto;min-width:0;flex:1 1 160px}.tm-title-quick{flex:1 1 260px;width:clamp(220px,32vw,520px);max-width:520px;height:40px;min-height:40px;padding:0 6px;gap:4px;align-items:center}.tm-title-quick input{padding:7px 4px}.tm-title-quick button{display:inline-flex;align-items:center;justify-content:center;height:38px;min-height:38px;padding:0 8px;font-size:1rem;line-height:1}.tm-title-preview{flex-shrink:0;margin:-14px 0 8px;padding-left:0}.tm-title-scroll-wrap{position:relative;min-width:0;--tm-title-fade-from:var(--bg)}.tm-title-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.tm-title-scroll::-webkit-scrollbar{display:none}.tm-title-scroll-wrap::before,.tm-title-scroll-wrap::after{content:"";position:absolute;top:0;bottom:0;width:28px;pointer-events:none;opacity:0;transition:opacity .15s ease;z-index:1}.tm-title-scroll-wrap::before{left:0;background:linear-gradient(to right,var(--tm-title-fade-from) 0%,var(--tm-title-fade-from) 45%,transparent 100%)}.tm-title-scroll-wrap::after{right:0;background:linear-gradient(to left,var(--tm-title-fade-from) 0%,var(--tm-title-fade-from) 45%,transparent 100%)}.tm-title-scroll-wrap.can-scroll-left::before,.tm-title-scroll-wrap.can-scroll-right::after{opacity:1}.tm-project-manage-short{display:none}.tm-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:16px;flex-shrink:0}.tm-toolbar #sort-button{width:178px;flex:0 0 178px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tm-view-switch{display:flex;gap:3px;background:var(--surface);padding:3px;border-radius:8px}.tm-view-switch button{border:0;background:transparent;padding:6px 10px;white-space:nowrap}.tm-view-switch button[aria-pressed=true]{background:var(--bg);box-shadow:0 1px 4px #0001;color:var(--accent);font-weight:650}.tm-search{margin-left:auto;flex:1;max-width:220px;min-width:100px}.tm-search input{width:100%;font-size:1rem;padding:7px 10px}.tm-quick{display:flex;gap:8px;border:1px solid var(--line);border-radius:9px;padding:4px 8px}.tm-quick input{flex:1;border:0;min-width:0}.tm-quick button{border:0}.tm-parser{font-size:.8rem;color:var(--accent);padding:4px 8px;min-height:18px}.tm-parser:empty{display:none}.tm-context{font-size:.85rem;color:var(--muted);flex-shrink:0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.tm-content{overflow:auto;flex:1;min-height:0;padding-bottom:36px;position:relative}.tm-empty{text-align:center;max-width:440px;margin:64px auto;color:var(--muted);padding:20px}.tm-empty h3{color:var(--text);font-weight:550;font-size:1.25rem;margin:16px 0 8px}.tm-empty p{font-size:.9rem;margin:0 0 22px}.tm-empty-symbol{display:inline-grid;place-items:center;width:62px;height:62px;border-radius:18px;border:1px solid var(--line);color:var(--accent);font-size:30px;background:var(--surface)}
.tm-row{display:flex;align-items:center;gap:12px;padding:15px 8px;border-bottom:1px solid var(--line);min-width:0}.tm-row[data-row]{cursor:pointer}.tm-row[data-row]:hover{background:color-mix(in srgb,var(--accent) 4%,var(--bg))}.tm-row[data-row]:has(button:hover,input:hover,select:hover,a:hover){cursor:default}.tm-row-main{flex:1;min-width:0}.tm-task-title{border:0!important;padding:0!important;min-height:26px!important;text-align:left;background:transparent!important;max-width:100%;overflow-wrap:anywhere;font-size:1rem!important}.tm-row.is-done .tm-task-title,.tm-card.is-done .tm-task-title{text-decoration:line-through;color:var(--muted)}.tm-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted);font-size:.8rem;margin-top:6px}.tm-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:4px;background:var(--surface);font-size:.75rem;white-space:nowrap}.tm-badge.warn{color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--bg))}.tm-badge.stale,.tm-overdue{color:var(--danger)}.tm-status{font-size:1rem!important;padding:4px 6px!important;border:0!important;background:var(--surface)!important;max-width:115px!important}.tm-check{width:25px;min-width:25px;min-height:25px!important;height:25px;padding:0!important;border-radius:50%!important;color:var(--accent)!important}.tm-check[aria-pressed=true]{background:var(--accent-soft)}.tm-group{padding:18px 8px 8px;color:var(--muted);font-size:.8rem;font-weight:650}.tm-list-group{display:flex;align-items:baseline;justify-content:flex-start;gap:14px}.tm-list-group-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-list-group-counts{display:flex;align-items:baseline;gap:6px;flex:0 0 auto;white-space:nowrap;font-variant-numeric:tabular-nums}.tm-list-group-main,.tm-list-group-sub{display:inline-flex;align-items:baseline}.tm-list-group-number{display:inline-block;min-width:3ch;text-align:right}.tm-list-group-separator{opacity:.65}.tm-progress{height:4px;border:0;accent-color:var(--accent);width:80px}.tm-row-actions{display:flex;gap:3px}.tm-row-actions button{border:0;min-height:28px;padding:3px 6px}.tm-bulk{padding:10px;background:var(--accent-soft);display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-shrink:0}.tm-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:20px;color:var(--muted);font-size:.875rem}
@media(min-width:701px){.tm-row-main>.tm-task-title,.tm-row-main>.tm-parent-context,.tm-row-main>.tm-meta{max-width:720px}.tm-row>.tm-status{flex:0 0 115px;width:115px;max-width:115px!important}.tm-row>.tm-row-actions{min-width:72px;justify-content:flex-end;flex-shrink:0}}
.tm-task-block{min-width:0}.tm-children .tm-inline-child{margin-left:0}.tm-row--related>.tm-check{margin-left:18px}.tm-task-block+.tm-task-block{margin-top:2px}.tm-row--parent{font-weight:500}.tm-children{position:relative;margin-left:34px;border-left:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));padding-left:14px}.tm-row--child{padding-left:10px}.tm-row--child::after{content:"";position:absolute;left:-15px;top:27px;width:14px;border-top:1px solid color-mix(in srgb,var(--accent) 28%,var(--line))}.tm-row--related{opacity:.78;background:color-mix(in srgb,var(--surface) 58%,var(--bg))}.tm-related-badge{color:var(--muted);border:1px dashed var(--line);background:transparent}.tm-subtask-toggle{display:inline-flex;align-items:center;gap:5px;border:0!important;background:transparent!important;color:var(--muted)!important;padding:2px 5px!important;min-height:24px!important;font-size:.75rem!important}.tm-subtask-toggle:hover,.tm-subtask-toggle:focus-visible{color:var(--accent)!important;background:var(--accent-soft)!important}.tm-subtask-add-row{padding:6px 8px 8px}.tm-subtask-add-row .tm-inline-child-open{opacity:1!important}.tm-row--parent .tm-inline-child-open--row{opacity:1!important}.tm-parent-context{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.76rem;margin-bottom:3px}.tm-parent-context button{border:0!important;background:transparent!important;color:inherit!important;padding:0!important;min-height:0!important;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.tm-task-block--standalone-child .tm-row{padding-left:8px}.tm-task-block--standalone-child .tm-row-main{min-width:0}
.tm-completed-subtasks{padding:4px 8px 6px}
.tm-completed-subtasks-toggle{display:inline-flex;align-items:center;gap:6px;min-height:34px!important;padding:5px 8px!important;border:0!important;background:transparent!important;color:var(--muted)!important;font-size:.8rem!important}
.tm-completed-subtasks-toggle:hover,.tm-completed-subtasks-toggle:focus-visible{color:var(--accent)!important;background:var(--accent-soft)!important}
.tm-completed-subtasks--detail{margin-top:4px;padding-top:6px;border-top:1px dashed var(--line)}
.tm-detail-completed-rows{opacity:.82}
.tm-row{position:relative}.tm-row[data-status-category=in_progress]{background:color-mix(in srgb,var(--accent) 3%,var(--bg))}.tm-row[data-status-category=waiting]{background:color-mix(in srgb,var(--warn) 3%,var(--bg))}.tm-row[data-status-category=blocked]{background:color-mix(in srgb,var(--danger) 3%,var(--bg))}.tm-row[data-status-category=in_progress]::before,.tm-row[data-status-category=waiting]::before,.tm-row[data-status-category=blocked]::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--accent)}.tm-row[data-status-category=waiting]::before{background:var(--warn)}.tm-row[data-status-category=blocked]::before{background:var(--danger)}
.tm .tm-task-title:hover,.tm .tm-task-title:focus-visible{background:color-mix(in srgb,var(--accent) 12%,var(--bg))!important;color:var(--accent)}.tm .tm-task-title:active{background:color-mix(in srgb,var(--accent) 22%,var(--bg))!important}.tm .tm-task-title{border-radius:4px}.tm-subtask-count{font-weight:500}.tm .tm-inline-child-open{white-space:nowrap;border:0;background:transparent;color:var(--accent);padding:5px 7px;min-height:38px}.tm .tm-inline-child-open:hover,.tm .tm-inline-child-open:focus-visible{background:var(--accent-soft)}.tm .tm-inline-child-open:active{background:color-mix(in srgb,var(--accent) 22%,var(--bg))}@media(hover:hover) and (pointer:fine){.tm-row .tm-inline-child-open{opacity:0}.tm-row:hover .tm-inline-child-open,.tm-row:focus-within .tm-inline-child-open,.tm-row .tm-inline-child-open:focus-visible{opacity:1}}.tm-inline-child{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:4px 0 8px 34px;padding:6px 8px;border-left:2px solid var(--accent-soft);min-width:0}.tm-inline-child input{flex:1 1 160px;min-width:0}.tm-inline-child button{flex-shrink:0}.tm-inline-child [role=status],.tm-inline-child-error{flex-basis:100%;font-size:.8rem}.tm-inline-child [role=status]{color:var(--accent)}.tm-inline-child-error{color:var(--danger)}
.tm-board-workspace{display:grid;gap:18px;min-width:0;width:100%;max-width:100%;padding-bottom:20px}.tm-board-group{--tm-board-column-width:280px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 55%,var(--bg));overflow:visible;position:relative;min-width:0;width:100%;max-width:100%}.tm-board-group-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);border-radius:11px 11px 0 0;background:var(--bg)}.tm-board-group-head--static{padding-left:16px}.tm-board-group-toggle{width:32px;min-width:32px;height:32px;padding:0;border:0;background:transparent;font-size:1rem}.tm-board-parent-main{min-width:0;flex:1}.tm-board-parent-title{display:flex;align-items:center;gap:8px;min-width:0}.tm-board-parent-title .tm-task-title{font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-board-parent-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tm-board-status-holder{min-height:41px;min-width:0;width:100%;max-width:100%}.tm-board-status-sticky{position:relative;z-index:6;padding:0 12px;width:100%;max-width:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 4px 10px #0000000d}.tm-board-status-sticky.is-fixed{position:fixed;z-index:6;margin:0}.tm-board-status-window{overflow:hidden;min-width:0;width:100%;max-width:100%}.tm-board-status-track{display:flex;gap:14px;min-width:max-content;padding:8px 0;will-change:transform}.tm-board-status-cell{display:flex;justify-content:space-between;align-items:center;gap:8px;flex:0 0 var(--tm-board-column-width);min-width:var(--tm-board-column-width);max-width:var(--tm-board-column-width);padding:0 12px;font-size:.875rem}.tm-board-status-cell strong{font-weight:650}.tm-board-status-cell .warn{color:var(--danger)}.tm-board-group-body{padding:12px;overflow-x:auto;border-radius:0 0 11px 11px;min-width:0;width:100%;max-width:100%}.tm-board{display:flex;gap:14px;min-width:max-content;align-items:flex-start}.tm-column{flex:0 0 var(--tm-board-column-width);min-width:var(--tm-board-column-width);max-width:var(--tm-board-column-width);background:var(--surface);padding:12px;border-radius:10px;min-height:180px}.tm-card{background:var(--bg);border:1px solid var(--line);padding:14px;border-radius:8px;margin-bottom:10px}.tm-card-top{display:flex;gap:8px;align-items:flex-start}.tm-card .tm-row-actions{justify-content:flex-end;margin-top:8px}.tm-column-add{width:100%;background:transparent!important;border-style:dashed!important;color:var(--muted)!important}.tm [draggable=true]{cursor:grab}.tm .drop-over{outline:2px solid var(--accent);outline-offset:-2px}
.tm-table-wrap{overflow:visible;height:auto}.tm-table{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:100%;font-size:.875rem}.tm-table th{position:sticky;top:0;z-index:2;background:var(--surface);text-align:left;color:var(--muted);font-weight:500;resize:horizontal;overflow:hidden;min-width:75px}.tm-table th,.tm-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}.tm-table input,.tm-table select{padding:5px;border:1px solid transparent;background:transparent;width:100%;min-width:55px}.tm-table input:hover,.tm-table select:hover{border-color:var(--line)}.tm-table tr:focus-within{background:var(--surface)}
.tm-table .tm-table-url-field{display:flex;align-items:center;gap:4px;min-width:0;width:100%}.tm-table .tm-table-url-field>input{flex:1 1 auto;width:0;min-width:0}.tm-table .tm-table-url-open{display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:32px;min-width:32px;min-height:32px;border:1px solid transparent;border-radius:6px;color:var(--accent);text-decoration:none}.tm-table .tm-table-url-open:hover{background:var(--accent-soft);border-color:var(--line)}.tm-table .tm-table-url-open:focus-visible{outline:3px solid var(--accent);outline-offset:1px}@media(hover:none),(pointer:coarse){.tm-table .tm-table-url-open{flex-basis:40px;width:40px;height:40px;min-width:40px;min-height:40px}}
.tm-table td{overflow:hidden;overflow-wrap:anywhere}.tm-table input[type=checkbox]{width:18px;min-width:18px}.tm-table .tm-task-title{font-size:.875rem!important}.tm[data-workspace=table] .tm-pagination,.tm[data-workspace=table] .tm-site-footer{position:sticky;left:0}.tm[data-workspace=table] .tm-guide{position:sticky;left:max(0px,calc((100% - 920px)/2))}.tm[data-density=compact] .tm-row{padding:8px}.tm[data-density=compact] .tm-table td{padding:3px 7px}.tm[data-density=comfortable] .tm-row{padding:22px 8px}.tm[data-density=comfortable] .tm-table td{padding:14px 10px}
.tm dialog{color:var(--text);background:var(--bg);border:1px solid var(--line);box-shadow:0 16px 80px #0003;padding:0;max-height:calc(100dvh - 36px)}.tm dialog::backdrop{background:#081a3066}.tm-dialog{border-radius:12px;width:min(640px,calc(100vw - 24px))}.tm-drawer{width:min(590px,100vw);max-width:100vw;margin:0 0 0 auto;height:100dvh;max-height:100dvh!important;border-radius:0}.tm-dialog-header{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:4;background:var(--bg)}.tm-dialog-header h2{font-size:1.15rem}.tm-dialog-body{padding:22px 24px}.tm-form{display:grid;gap:16px}.tm-form label{display:flex;flex-direction:column;gap:6px;font-size:.875rem;color:var(--muted)}.tm-form label>input,.tm-form label>select,.tm-form label>textarea{color:var(--text);width:100%}.tm-form .inline-check{flex-direction:row;align-items:center}.tm-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tm-form details{border-top:1px solid var(--line);padding-top:12px}.tm-form summary{cursor:pointer;color:var(--muted);font-size:.9rem;padding:4px 0 12px}.tm-form footer{display:flex;flex-wrap:wrap;gap:8px;position:sticky;bottom:0;background:var(--bg);padding:14px 0;border-top:1px solid var(--line);z-index:3}.tm-form footer .primary{margin-left:auto}.tm-helper{font-size:.8rem;color:var(--muted)}.tm-form .tm-helper{margin:0}.tm-section-title{padding:16px 0 4px;border-top:1px solid var(--line);margin-top:8px!important}.tm-setting-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 0}.tm-setting-row>input{flex:1}.tm-setting-row>span{flex:1;overflow-wrap:anywhere}.tm-error{color:var(--danger);font-size:.875rem}.tm-error:not([hidden]){background:color-mix(in srgb,var(--danger) 10%,var(--bg));border:1px solid color-mix(in srgb,var(--danger) 38%,var(--line));border-radius:8px;padding:10px 12px;margin:0}.tm [aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.tm-form fieldset{min-width:0;max-width:100%;border:0;padding:0;margin:0}.tm-bulk-field{border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0;max-width:100%}.tm-bulk-field legend{padding:0;width:100%}.tm-bulk-field .inline-check{min-height:44px;cursor:pointer;width:100%}.tm-bulk-field:not(.is-active) .tm-bulk-controls{opacity:.55}.tm-bulk-controls{display:grid;gap:8px;min-width:0;margin-top:8px}.tm-bulk-controls input,.tm-bulk-controls select{width:100%;max-width:100%}
#utility-dialog[data-utility-kind=bulk]{width:min(680px,calc(100vw - 24px))}
#utility-dialog[data-utility-kind=bulk] .tm-dialog-body{padding-top:16px}
.tm-bulk-form{gap:14px}
.tm-bulk-overview{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.tm-bulk-overview strong{font-size:.95rem}
.tm-bulk-overview span{color:var(--muted);font-size:.8rem;white-space:nowrap}
.tm-bulk-intro{margin-top:-4px!important}
.tm-bulk-section{display:grid;gap:8px}
.tm-bulk-section+.tm-bulk-section{padding-top:4px}
.tm-bulk-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px}
.tm-bulk-section-head h3{font-size:.9rem;margin:0}

.tm-bulk-field{padding:0;border-color:var(--line);background:var(--bg);overflow:hidden}
.tm-bulk-field legend{padding:0}
.tm-bulk-toggle{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:48px!important;padding:8px 11px;cursor:pointer;color:var(--text)!important}
.tm-bulk-toggle-label{display:flex;align-items:center;gap:9px;min-width:0;font-weight:600}
.tm-bulk-toggle-label input{flex:0 0 auto}
.tm-bulk-current{min-width:0;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;color:var(--muted);font-size:.78rem;font-weight:400}
.tm-bulk-field.is-disabled{opacity:.62}
.tm-bulk-field.is-disabled .tm-bulk-toggle{cursor:not-allowed}
.tm .tm-bulk-field.is-active{background:color-mix(in srgb,var(--accent) 4%,var(--bg));border-color:color-mix(in srgb,var(--accent) 26%,var(--line));box-shadow:inset 2px 0 0 color-mix(in srgb,var(--accent) 55%,var(--line))}

.tm-bulk-controls{padding:0 11px 11px;margin:0;display:grid;gap:8px}
.tm-bulk-controls[hidden]{display:none!important}
/* 一括編集のフォーカス枠はキーボード操作時だけ、クリップされない内側に表示する。 */
#utility-dialog[data-utility-kind=bulk] .tm-bulk-form[data-bulk-input-mode=pointer] :is(input,select,textarea,button):focus-visible{outline:none}
#utility-dialog[data-utility-kind=bulk] .tm-bulk-form:not([data-bulk-input-mode=pointer]) :is(input,select,textarea,button):focus-visible{outline-offset:-3px}
.tm-bulk-date-control,.tm-bulk-option-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tm-bulk-date-control>input{flex:1 1 220px}
.tm-bulk-clear{flex:0 0 auto!important;color:var(--muted)!important}
.tm-bulk-schedule-grid,.tm-bulk-tag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.tm-bulk-schedule-grid label,.tm-bulk-tag-grid label{min-width:0}
.tm-bulk-lifecycle{padding-top:12px!important;border-top:1px solid var(--line)}
.tm-bulk-lifecycle-actions{display:flex;gap:8px;flex-wrap:wrap}
.tm-bulk-form footer{margin-top:0}
@media(max-width:480px){
  #utility-dialog[data-utility-kind=bulk]{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)!important}
  #utility-dialog[data-utility-kind=bulk] .tm-dialog-header{padding:12px 14px}
  #utility-dialog[data-utility-kind=bulk] .tm-dialog-body{padding:12px}
  .tm-bulk-form{gap:11px}
  .tm-bulk-overview{padding:10px 11px}
  .tm-bulk-overview span{font-size:.74rem}
  .tm-bulk-toggle{min-height:48px!important;padding:8px 10px}
  .tm-bulk-current{max-width:42vw;font-size:.74rem}
  .tm-bulk-schedule-grid,.tm-bulk-tag-grid{grid-template-columns:1fr}
  .tm-bulk-date-control{align-items:stretch}
  .tm-bulk-date-control>input{flex-basis:100%}
  .tm-bulk-clear{min-height:44px!important}
  .tm-bulk-lifecycle-actions button{min-height:44px}
  .tm-bulk-form footer{padding-bottom:2px}
}
@media(max-width:350px){
  .tm-bulk-toggle{grid-template-columns:1fr}
  .tm-bulk-current{max-width:100%;text-align:left;padding-left:27px}
  .tm-bulk-overview{align-items:flex-start;flex-direction:column;gap:3px}
}
.tm-toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);width:max-content;display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--text);color:var(--bg);border-radius:10px;box-shadow:0 8px 30px #0003;z-index:20;font-size:.875rem}.tm-toast button{background:transparent;color:inherit;border-color:currentColor;white-space:nowrap}.tm-toast span{overflow-wrap:anywhere}
#task-form{gap:10px}
#task-form .tm-detail-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;min-width:0}
#task-form .tm-detail-field{min-width:0;width:100%}
#task-form .tm-detail-field--compact{display:grid;grid-template-columns:minmax(76px,92px) minmax(0,1fr);align-items:center;gap:10px;min-height:42px}
#task-form .tm-detail-field--project{grid-template-columns:96px minmax(0,1fr)}
#task-form .tm-detail-label{min-width:0}
#task-form .tm-detail-field--compact .tm-detail-label{white-space:nowrap}
#task-form .tm-detail-control{min-width:0;width:100%;max-width:100%}
#task-form .tm-project-controls{display:grid;gap:6px;min-width:0}
#task-form .tm-project-select-row{display:flex;align-items:center;gap:6px;min-width:0}
#task-form .tm-project-select-row .tm-detail-control{flex:1 1 auto}
#task-form .tm-project-new-open{flex:0 0 auto;min-height:38px;padding:6px 9px;white-space:nowrap}
#task-form .tm-project-new-open-sp{display:none}
#task-form .tm-project-new-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0}
#task-form .tm-project-new-editor input{width:100%}
#task-form .tm-project-new-actions{display:flex;gap:6px;min-width:0}
#task-form .tm-project-new-actions button{white-space:nowrap}
#task-form .tm-project-pending-note{color:var(--accent)}
#task-form .tm-project-inherited{display:grid;gap:2px;min-width:0}
#task-form .tm-project-inherited strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Table hierarchy: visual-only, never change row sorting or edit semantics. */
.tm-table-task-cell{min-width:0;display:flex;flex-direction:column;gap:2px}
.tm-table-task-edit{display:flex;align-items:center;gap:6px;min-width:0}
.tm-table-task-edit>[data-inline=title]{flex:1 1 0;min-width:0}
.tm-table-task-edit>.tm-check,.tm-table-task-edit>[data-action=task]{flex:0 0 auto}
.tm-table-task-cell--child{padding-left:10px}
.tm-table-child-arrow{flex:0 0 auto;color:var(--muted);font-size:.95rem;line-height:1}
.tm-table-parent-context,.tm-table-subtask-count{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:.73rem;line-height:1.35;padding-left:27px}
.tm-table-task-cell--child .tm-table-parent-context{padding-left:47px}
.tm-table-parent-context button,.tm-table-parent-link{display:inline-block;max-width:100%;min-width:0;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;padding:0;min-height:0;text-align:left}
.tm-table-parent-context button:hover,.tm-table-parent-link:hover{color:var(--accent)}
.tm-table-parent-context button:focus-visible,.tm-table-parent-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.tm-table-parent-empty{color:var(--muted)}
/* Every hierarchy row reserves the same compact slot inside the title column. */
.tm-table-title-layout{display:grid;grid-template-columns:30px minmax(0,1fr);gap:2px;align-items:center;min-width:0}
.tm-table-tree-slot{width:30px;min-width:30px;display:flex;align-items:center;justify-content:center;align-self:center}
.tm-table-title-main{min-width:0}
.tm-table-title-layout .tm-table-task-cell--child{padding-left:0}
.tm-table-title-layout .tm-table-task-cell--child .tm-table-parent-context{padding-left:27px}
.tm .tm-table .tm-table-tree-toggle{display:flex;align-items:center;justify-content:center;width:30px;min-width:30px;max-width:30px;height:30px;min-height:30px;padding:0;margin:0;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:13px;line-height:1}
.tm .tm-table .tm-table-tree-toggle:hover{color:var(--accent);background:var(--surface)}
.tm .tm-table .tm-table-tree-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.tm-table-tree-branch{font-size:15px;line-height:1;color:var(--muted)}
.tm-table-context-row td{background:var(--surface);font-size:.8rem;color:var(--muted);padding:5px 8px!important}
.tm-table-context-row button{border:0;background:transparent;color:var(--text);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;font:inherit}
.tm-table-context-note{font-size:.72rem;margin-left:10px;color:var(--muted)}
.tm-table-context-label{font-size:.75rem}

.tm-table td:has(.tm-table-task-cell){overflow:hidden}
@media(max-width:480px){.tm-table-task-cell--child{padding-left:6px}.tm-table-task-cell--child .tm-table-parent-context{padding-left:43px}.tm-table-title-layout .tm-table-task-cell--child{padding-left:0}.tm-table-title-layout .tm-table-task-cell--child .tm-table-parent-context{padding-left:27px}}
.tm-project-inherited-cell{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
#task-form details>.tm-detail-pair{margin-bottom:10px}
.tm-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.tm-form footer .tm-quick-actions .primary{margin-left:0}
.tm-filter-form{gap:14px}
.tm-filter-logic{display:grid;gap:7px}
.tm-filter-logic[hidden]{display:none}
.tm-filter-logic legend{font-size:.875rem;color:var(--muted);margin-bottom:0}
.tm-filter-logic-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:4px}
.tm-filter-logic-options label{position:relative;display:block}
.tm-filter-logic-options input{position:absolute;opacity:0;pointer-events:none}
.tm-filter-logic-options span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:7px 10px;border-radius:7px;color:var(--muted);font-weight:600;cursor:pointer}
.tm-filter-logic-options input:checked+span{background:var(--bg);color:var(--text);box-shadow:0 1px 4px #0002}
.tm-filter-logic-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}
#filter-rules{display:grid;gap:8px}
.tm-filter-rule{display:grid;grid-template-columns:minmax(120px,1fr) minmax(116px,.78fr) minmax(150px,1.15fr) 42px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.tm-filter-rule>label{min-width:0}
.tm-filter-rule select,.tm-filter-rule input{min-width:0;width:100%}
.tm-filter-value-field[hidden]{display:none}
.tm .tm-filter-remove{align-self:end;width:42px;min-width:42px;height:42px;padding:0;border-color:transparent;background:transparent;color:var(--muted);font-size:1.25rem;line-height:1}
.tm .tm-filter-remove:hover,.tm .tm-filter-remove:focus-visible{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 32%,var(--line));background:color-mix(in srgb,var(--danger) 7%,var(--bg))}
.tm .tm-filter-add{justify-self:start;min-height:40px;padding:7px 10px;border-color:transparent;background:transparent;color:var(--accent);font-weight:650}
.tm .tm-filter-add:hover,.tm .tm-filter-add:focus-visible{border-color:var(--line);background:var(--accent-soft)}
.tm-filter-form footer{margin-top:2px}
@media(max-width:700px){
  .tm-filter-rule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px}
  .tm-filter-field{grid-column:1}
  .tm-filter-op{grid-column:2}
  .tm-filter-value-field{grid-column:1 / 3}
  .tm-filter-remove{grid-column:3;grid-row:1 / span 2;align-self:center!important}
}
@media(max-width:480px){
  #utility-dialog[data-utility-kind=filters]{width:calc(100vw - 12px);max-height:calc(100dvh - 12px)!important}
  #utility-dialog[data-utility-kind=filters] .tm-dialog-header{padding:12px 14px}
  #utility-dialog[data-utility-kind=filters] .tm-dialog-body{padding:12px}
  .tm-filter-form{gap:10px}
  .tm-filter-logic-options span{min-height:42px;padding:7px 6px;font-size:.82rem}
  #filter-rules{gap:7px}
  .tm-filter-rule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:6px;padding:8px}
  .tm-filter-rule label{gap:4px;font-size:.78rem}
  .tm-filter-rule select,.tm-filter-rule input{min-height:42px;padding-left:9px;padding-right:27px}
  .tm .tm-filter-remove{width:40px;min-width:40px;height:40px}
  .tm .tm-filter-add{min-height:44px}
  .tm-filter-form footer{padding:10px 0 2px}
  .tm-filter-form footer button{min-height:44px}
}
@media(max-width:350px){
  #utility-dialog[data-utility-kind=filters] .tm-dialog-body{padding:10px}
  .tm-filter-rule{grid-template-columns:minmax(0,1fr) 40px}
  .tm-filter-field,.tm-filter-op,.tm-filter-value-field{grid-column:1}
  .tm-filter-remove{grid-column:2;grid-row:1 / span 3}
  .tm-filter-logic-options{gap:4px;padding:3px}
  .tm-filter-logic-options span{font-size:.77rem;padding:6px 4px}
}
.tm-header h1{flex:1 1 0}
.tm-save{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-toast:not([hidden]){display:flex!important}
.tm-toast{inset:auto;top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);margin:0;border:0}
.tm-drawer{width:min(590px,calc(100vw - 12px))}
.tm-subtask-section{min-width:0;max-width:100%}
.tm-subtask-list{min-width:0;max-width:100%;max-height:clamp(240px,38dvh,360px);overflow-x:hidden;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:4px 0}
.tm-subtask-row{display:flex;align-items:center;gap:8px;min-width:0;padding:2px 8px}
.tm-subtask-complete{flex:0 0 38px;width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border-radius:50%}
.tm-subtask-open{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;border:0;background:transparent;text-align:left;padding:6px 8px}
.tm .tm-subtask-open:hover,.tm .tm-subtask-open:focus-visible{background:var(--accent-soft);color:var(--accent)}.tm .tm-subtask-open:active{background:color-mix(in srgb,var(--accent) 22%,var(--bg))}
.tm-subtask-title{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-subtask-add{margin-top:10px}
.tm-subtask-tooltip{position:fixed;z-index:30;max-width:min(360px,calc(100vw - 24px));padding:8px 10px;border-radius:8px;background:var(--text);color:var(--bg);font-size:.8rem;line-height:1.45;overflow-wrap:anywhere;box-shadow:0 8px 24px #0003;pointer-events:none}
.tm-calendar-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.tm-calendar-toolbar strong{font-size:1rem;margin-right:auto}.tm-calendar-scroll{overflow:auto;border:1px solid var(--line);border-radius:9px}.tm-month,.tm-month-weekday-grid{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));min-width:780px}.tm-month-weekdays{position:sticky;top:0;z-index:5;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0}.tm-month-weekday-grid{will-change:transform}.tm-weekday{padding:10px;text-align:center;font-size:.8rem;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line)}.tm-day{min-height:132px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:7px;min-width:0}.tm-day.outside{background:var(--surface)}.tm-day.today{background:var(--accent-soft)}.tm-day-add{border:0!important;background:transparent!important;font-size:.8rem!important;padding:1px 6px!important;min-height:26px!important}.tm-day.today>.tm-day-add{background:var(--accent)!important;color:var(--bg);border-radius:50%}.tm-cal-event{display:block;width:100%;text-align:left;padding:4px 6px!important;margin:4px 0;border:0!important;border-left:3px solid var(--accent)!important;border-radius:3px!important;background:var(--surface)!important;min-height:26px!important;font-size:.75rem!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tm-cal-event.is-done{text-decoration:line-through;opacity:.65}.tm-cal-event.deadline{border-left-style:dashed!important}.tm-cal-event.overdue{color:var(--danger)}.tm-time-grid{display:grid;grid-template-columns:52px repeat(var(--days),minmax(112px,1fr));min-width:calc(52px + var(--days) * 112px)}.tm-time-head{position:sticky;top:0;background:var(--surface);padding:8px 4px;text-align:center;font-size:.8rem;z-index:3;border-bottom:1px solid var(--line)}.tm-time-head.today{color:var(--accent);font-weight:700}.tm-allday{min-height:70px;padding:4px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.tm-hours{height:1440px;position:relative;color:var(--muted);font-size:.7rem}.tm-hour-label{position:absolute;right:6px;transform:translateY(-50%)}.tm-time-day{height:1440px;position:relative;border-right:1px solid var(--line)}.tm-time-slot{display:block;width:100%;height:30px;min-height:30px!important;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:transparent!important;padding:0!important}.tm-time-slot:nth-child(even){border-bottom-color:color-mix(in srgb,var(--line) 45%,transparent)!important}.tm-time-event{position:absolute;margin:0!important;padding:0!important;white-space:normal;font-size:.75rem!important;overflow:clip;line-height:1.3;z-index:1;box-shadow:0 1px 3px #0001;background:var(--accent-soft)!important;border:1px solid var(--line)!important}.tm-time-event-label{position:absolute;top:0;left:0;right:0;display:block;max-width:100%;max-height:min(72px,100%);padding:4px 6px;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;will-change:transform}.tm-time-event-title,.tm-time-event-time{display:block}.tm-time-event-time{color:var(--muted);font-size:.7rem}.tm-now{position:absolute;left:0;right:0;height:2px;background:var(--danger);pointer-events:none;z-index:2}.tm-unscheduled-list{display:flex;gap:8px;overflow:auto;padding:10px 0}.tm-unscheduled-list button{min-width:160px;max-width:240px;white-space:normal}.tm .tm-column-config{display:grid;grid-template-columns:minmax(0,1fr) 38px 38px;gap:6px;align-items:center;position:relative;min-height:48px;padding:4px 8px 4px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.tm-column-config label{flex-direction:row;align-items:center}
.tm-customize-table-group-toggle>span{white-space:normal;overflow:visible;text-overflow:clip}
.tm-customize-table-group-toggle strong{font-size:.875rem;font-weight:600}
.tm-customize-form{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;height:100%;min-height:0}
#utility-dialog[data-utility-kind=customize]{display:flex;flex-direction:column;height:min(760px,calc(100dvh - 40px));overflow:hidden}
#utility-dialog[data-utility-kind=customize] .tm-dialog-header{flex:0 0 auto}
#utility-dialog[data-utility-kind=customize] .tm-dialog-body{flex:1 1 auto;min-height:0;overflow:hidden;scrollbar-gutter:stable;padding-bottom:0}
.tm-customize-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable;scroll-padding-block:6px;display:grid;align-content:start;gap:14px;margin:-6px;padding:6px}

.tm-customize-density{display:grid;gap:7px}
.tm-customize-density legend{font-size:.875rem;color:var(--muted)}
.tm-customize-density legend span{font-size:.75rem;font-weight:500}
.tm-customize-density-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:4px}
.tm-customize-density-options label{position:relative;display:block}
.tm-customize-density-options input{position:absolute;opacity:0;pointer-events:none}
.tm-customize-density-options span{display:flex;align-items:center;justify-content:center;min-height:38px;padding:7px 8px;border-radius:7px;color:var(--muted);font-weight:600;cursor:pointer}
.tm-customize-density-options input:checked+span{background:var(--bg);color:var(--text);box-shadow:0 1px 4px #0002}
.tm-customize-density-options input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}
.tm-customize-group{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.9fr);gap:6px 12px;align-items:end}
.tm-customize-group[hidden]{display:none}
.tm-customize-group .tm-customize-control-title{display:flex;align-items:baseline;gap:6px;color:var(--text);font-weight:650}
.tm-customize-group .tm-customize-control-title small{font-size:.72rem;color:var(--muted);font-weight:500}
.tm-customize-group>.tm-helper{grid-column:1/-1;margin-top:-2px}

.tm-customize-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px}
.tm .tm-customize-tabs button{min-width:0;min-height:40px;padding:7px 6px;border:0;background:transparent;color:var(--muted);font-weight:600}
.tm .tm-customize-tabs button[aria-selected=true]{background:var(--bg);color:var(--accent);box-shadow:0 1px 4px #0002}
.tm-customize-panel{display:grid;gap:9px;min-width:0}
.tm-customize-panel[hidden]{display:none}
.tm-customize-section-head,.tm-customize-column-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.tm-customize-section-head span,.tm-customize-column-head span{font-size:.75rem;color:var(--muted)}
.tm-customize-option-list,.tm-customize-column-list{display:grid;gap:6px}
.tm-customize-option-row,.tm-column-main{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between;gap:10px;min-width:0;min-height:48px;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text)!important;cursor:default}
.tm-customize-option-row>span,.tm-column-main>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-customize-option-row input,.tm-column-main input{flex:0 0 auto;width:20px;height:20px;cursor:pointer}
.tm-column-main{border:0;padding:0;background:transparent;min-height:0}
.tm-column-fixed{grid-column:2/4;justify-self:center;font-size:.75rem;color:var(--muted);padding:0}
.tm .tm-column-drag-handle{width:38px;min-width:38px;height:38px;padding:0;border-color:transparent;background:transparent;color:var(--muted);font-size:1.15rem;line-height:1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.tm .tm-column-drag-handle:hover,.tm .tm-column-drag-handle:focus-visible{background:var(--surface);border-color:var(--line);color:var(--text)}
.tm .tm-column-drag-handle:active,.tm .tm-column-config.is-column-dragging .tm-column-drag-handle{cursor:grabbing}
.tm .tm-column-config.is-column-dragging{opacity:.72;background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 55%,var(--line));box-shadow:0 6px 18px #0002;user-select:none;-webkit-user-select:none}
.tm-column-drag-active,.tm-column-drag-active *{user-select:none!important;-webkit-user-select:none!important}
.tm-column-drag-active{cursor:grabbing}
.tm .tm-column-menu{width:38px;min-width:38px;height:38px;padding:0;border-color:transparent;background:transparent;color:var(--muted);font-size:1.2rem;line-height:1}
.tm .tm-column-menu:hover,.tm .tm-column-menu:focus-visible{background:var(--surface);border-color:var(--line);color:var(--text)}
.tm-column-move{position:absolute;right:8px;top:46px;z-index:6;display:grid;min-width:118px;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--bg);box-shadow:0 8px 28px #0002}
.tm-column-move[hidden]{display:none}
.tm .tm-column-move button{border:0;border-radius:6px;text-align:left;background:transparent;padding:8px 10px;white-space:nowrap}
.tm .tm-column-move button:hover,.tm .tm-column-move button:focus-visible{background:var(--surface)}
.tm-customize-option-row--single{align-items:flex-start!important}
.tm-customize-option-row--single>span{display:grid;gap:2px;white-space:normal}
.tm-customize-option-row--single small{color:var(--muted);font-weight:400;line-height:1.35}
.tm-customize-form footer{margin-top:0;flex:0 0 auto}
.tm-history{font-size:.8rem;color:var(--muted);padding-left:18px}.tm-history li{margin:8px 0;overflow-wrap:anywhere}.tm .tm-confirm{max-width:440px}
@media(min-width:901px){.tm.nav-collapsed .tm-sidebar{display:none}}
.tm-toolbar #filter-button.is-active{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));color:var(--accent);font-weight:650}
.tm-toolbar #filter-button.is-active:hover{background:color-mix(in srgb,var(--accent) 14%,var(--bg))}


@media(min-width:901px){.tm-toolbar #filter-button{width:112px;flex:0 0 112px;white-space:nowrap}}
.tm-action-slot{min-height:42px;flex-shrink:0;position:relative}.tm-action-slot:has(>.tm-bulk:not([hidden])){min-height:58px}.tm-action-slot #normal-actions.is-selection-placeholder{visibility:hidden;pointer-events:none}.tm-action-slot .tm-context{margin-bottom:8px}.tm-context-extra{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tm-context-secondary{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tm-context-extra:empty{display:none}.tm-action-slot>.tm-bulk{min-height:50px;margin:0 0 8px;padding:5px 8px;flex-wrap:nowrap;overflow-x:auto;white-space:nowrap}.tm-action-slot>.tm-bulk:not([hidden]){position:absolute;left:0;right:0;top:0;z-index:2}
.tm-context.has-status-filter{min-width:0;margin:0;overflow:hidden}
.tm-status-filter{display:flex;align-items:center;gap:6px;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;overscroll-behavior-x:contain}
.tm-status-filter::-webkit-scrollbar{display:none}
.tm .tm-status-filter button{flex:0 0 auto;min-height:34px;padding:5px 10px;border-radius:999px;white-space:nowrap;color:var(--muted);background:var(--bg)}
.tm .tm-status-filter button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 45%,var(--line));font-weight:650}
.tm .tm-status-filter button span{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:500}
.tm .tm-status-filter .tm-status-filter-clear{color:var(--accent);border-style:dashed}



@media(min-width:901px){.tm-action-slot:has(>.tm-bulk:not([hidden])){min-height:60px}.tm-action-slot>.tm-bulk{min-height:52px}}
@media(max-width:1100px){.tm-main{padding:24px 22px 0}.tm-sidebar{width:200px}.tm-search{max-width:none;flex-basis:170px}}
@media(max-width:900px){.tm-sidebar{display:none;position:absolute;top:58px;bottom:0;left:0;z-index:8;width:250px;box-shadow:10px 0 40px #0002}.tm.nav-open .tm-sidebar{display:flex}.tm-main{padding:22px 20px 0}.tm-titlebar{margin-bottom:16px}#nav-backdrop:not([hidden]){display:block;position:fixed;inset:58px 0 0;z-index:7;width:100%;height:calc(100dvh - 58px);border:0;border-radius:0;background:#081a3066}}
@media(min-width:901px){#nav-backdrop{display:none!important}}
@media(max-width:480px){.tm-action-slot>.tm-bulk{gap:4px}.tm-action-slot>.tm-bulk button{padding:6px 5px;font-size:.75rem}.tm-action-slot>.tm-bulk strong{font-size:.75rem;flex-shrink:0}.tm-context-count{font-size:.75rem}}
@media(max-width:480px){.tm-children{margin-left:20px;padding-left:10px}.tm-row--child{padding-left:4px}.tm-row--child::after{left:-11px;width:10px}.tm-subtask-add-row{padding-left:4px}.tm-parent-context{font-size:.72rem}.tm-row--related{opacity:.82}}
@media(max-width:1100px){.tm-titlebar{flex-wrap:wrap}.tm-title-main{flex:1 1 0}.tm-title-quick{order:4;flex:1 0 100%;width:100%;max-width:none}.tm-title-preview{margin-top:-8px}}
@media(max-width:700px){.tm-toolbar #sort-button{width:auto;flex:0 0 auto}}
@media(max-width:700px){.tm-board-workspace{gap:12px}.tm-board-group{--tm-board-column-width:252px}.tm-board-group-head{align-items:flex-start;padding:10px}.tm-board-parent-actions{flex-direction:column;align-items:flex-end;gap:4px}.tm-board-parent-actions .tm-status{max-width:104px!important}.tm-board-status-sticky{padding:0 8px}.tm-board-group-body{padding:8px}.tm-board-parent-title .tm-task-title{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
@media(max-width:480px){.tm-header{padding:8px 10px;gap:7px}.tm-brand{width:32px;height:32px;flex-basis:32px;font-size:.66rem;border-radius:8px}.tm-header h1{font-size:.75rem;line-height:1.25}.tm-save{font-size:.7rem;max-width:70px}.tm-header button{padding:6px}.tm-main{padding:12px 12px 0}.tm-titlebar{gap:6px;margin-bottom:10px}.tm-titlebar h2{font-size:1.2rem;line-height:1.3;letter-spacing:-.3px;white-space:nowrap;overflow-wrap:normal}.tm-titlebar p{font-size:.75rem}.tm .tm-titlebar>#project-manage,.tm .tm-titlebar>[data-action=quick]{flex:0 0 auto;min-height:44px;padding:4px 5px;border-color:transparent;background:transparent;box-shadow:none}.tm .tm-titlebar>#project-manage{color:var(--muted);font-weight:500}.tm .tm-titlebar>[data-action=quick]{color:var(--accent);font-weight:650}.tm-project-manage-full{display:none}.tm-project-manage-short{display:inline}.tm-title-scroll-wrap::before,.tm-title-scroll-wrap::after{width:22px}.tm .tm-titlebar>#project-manage:hover,.tm .tm-titlebar>#project-manage:focus-visible,.tm .tm-titlebar>[data-action=quick]:hover,.tm .tm-titlebar>[data-action=quick]:focus-visible{background:var(--accent-soft);border-color:transparent}.tm-view-switch{width:100%;justify-content:space-between}.tm-view-switch button{padding:6px 8px;font-size:.8rem}.tm-toolbar{gap:6px;padding-bottom:12px}.tm-search{flex-basis:90px}.tm-toolbar>button{padding:7px 9px}.tm-row{gap:8px;padding:13px 2px;flex-wrap:wrap}.tm-row>.tm-status{margin-left:33px}.tm-row>.tm-row-actions{margin-left:auto}.tm-row-main{min-width:170px}.tm-fields{grid-template-columns:1fr}.tm-dialog-body{padding:18px 16px}.tm-dialog-header{padding:14px 16px}.tm-toast{gap:7px;padding:10px;font-size:.8rem}.tm-toast button{padding:5px 7px}.tm-board-group{--tm-board-column-width:254px}.tm-month,.tm-month-weekday-grid{min-width:700px}.tm-day{min-height:125px}.tm-bulk{flex-wrap:wrap}.tm-confirm .tm-fields{grid-template-columns:1fr}.tm-dialog{max-height:calc(100dvh - 20px)!important}.tm-drawer{max-height:100dvh!important}.tm-form footer{bottom:-1px}}
@media(max-width:480px){#task-form .tm-detail-pair{grid-template-columns:1fr;gap:8px}#task-form .tm-detail-field--compact,#task-form .tm-detail-field--project{grid-template-columns:88px minmax(0,1fr);gap:8px}#task-form .tm-project-select-row{display:grid;grid-template-columns:minmax(0,1fr);gap:3px}#task-form .tm-project-new-open{justify-self:start;min-height:44px;padding:5px 7px;border:0;background:transparent;color:var(--accent)}#task-form .tm-project-new-open-pc{display:none}#task-form .tm-project-new-open-sp{display:inline}#task-form .tm-project-new-editor{grid-template-columns:minmax(0,1fr)}#task-form .tm-project-new-actions{flex-wrap:wrap}#task-form .tm-project-new-actions button{min-height:44px;padding:6px 8px}}
@media(max-width:350px){#task-form .tm-detail-field--native-wide:has(input[type=datetime-local]){grid-template-columns:1fr;align-items:stretch;gap:6px}}
@media(max-width:360px){.tm-header{gap:5px;padding:8px}.tm-brand{width:30px;height:30px;flex-basis:30px;font-size:.62rem}.tm-header h1{font-size:.7rem}.tm-save{max-width:52px}}
.tm-table th[data-sort] .tm-th-sort{border:0;background:transparent;padding:0 12px 0 0;min-height:0;width:100%;text-align:left;border-radius:0;font:inherit;color:inherit}
.tm .tm-table th[data-sort] .tm-th-sort:hover,.tm .tm-table th[data-sort] .tm-th-sort:focus-visible{color:var(--accent);background:var(--accent-soft)}.tm .tm-table th[data-sort] .tm-th-sort:active{background:color-mix(in srgb,var(--accent) 22%,var(--bg))}
@media(hover:none),(pointer:coarse){.tm-row .tm-inline-child-open{opacity:1}.tm .tm-inline-child-open{min-height:44px}.tm .tm-completed-subtasks-toggle{min-height:44px!important;padding:7px 8px!important}}
@media(max-width:480px){.tm-inline-child{margin-left:18px;padding:6px}.tm-inline-child input{flex-basis:150px}.tm-inline-child button{padding:6px 8px}.tm .tm-inline-child-open{min-height:44px}}
.tm[data-workspace=calendar] #sort-button{display:none}
.tm-table th{resize:none;padding-right:14px}.tm-column-resize{position:absolute;right:0;top:0;bottom:0;width:10px;cursor:col-resize;touch-action:none;border-right:2px solid var(--line)}.tm-column-resize:hover,.tm-column-resize:focus-visible{border-color:var(--accent)}
.tm-table{min-width:0}
.tm .is-active{box-shadow:inset 3px 0 0 var(--accent)}

/* Board workspace: keep the app shell fixed while the main pane scrolls vertically.
   Each mini-board continues to own only its horizontal overflow. */
.tm[data-workspace=board] .tm-main{min-width:0;max-width:100%;min-height:0;overflow-x:hidden;overflow-y:auto;padding-top:0}
.tm[data-workspace=board] .tm-titlebar{margin-top:28px}
@media(max-width:1100px){.tm[data-workspace=board] .tm-titlebar{margin-top:24px}}
@media(max-width:900px){.tm[data-workspace=board] .tm-titlebar{margin-top:22px}}
@media(max-width:480px){.tm[data-workspace=board] .tm-titlebar{margin-top:12px}}
.tm[data-workspace=board] .tm-content,.tm[data-workspace=board] .tm-view-body,.tm[data-workspace=board] .tm-board-workspace,.tm[data-workspace=board] .tm-board-group{min-width:0;width:100%;max-width:100%}
.tm[data-workspace=board] .tm-content{display:block;overflow:visible;height:auto;flex:none;min-height:0;padding-bottom:36px}
.tm[data-workspace=board] .tm-board-status-holder{position:sticky;top:0;z-index:6;background:var(--bg)}
.tm[data-workspace=board] .tm-board-group-body{overflow-x:auto;overscroll-behavior-x:contain}

/* Calendar workspace: keep the app shell fixed and let the main pane scroll.
   Month still expands naturally while the timeline keeps its own finite viewport. */
.tm[data-workspace=calendar] .tm-main{min-height:0;overflow-x:hidden;overflow-y:auto;padding:0 24px}
.tm[data-workspace=calendar] .tm-titlebar{margin-top:8px}
.tm[data-workspace=calendar] .tm-titlebar{margin-bottom:6px;gap:8px;min-height:38px}
.tm[data-workspace=calendar] .tm-titlebar h2{font-size:1.1rem;letter-spacing:0;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm[data-workspace=calendar] .tm-title-quick,.tm[data-workspace=calendar] .tm-title-preview{display:none}
.tm[data-workspace=calendar] .tm-action-slot{min-height:0}.tm[data-workspace=calendar] .tm-action-slot .tm-context{display:flex}
.tm[data-workspace=calendar] .tm-toolbar{padding-bottom:6px;gap:6px}
.tm[data-workspace=calendar] .tm-context{margin:0}
.tm[data-workspace=calendar] .tm-context>span,.tm[data-workspace=calendar] .tm-context-page,.tm[data-workspace=calendar] .tm-context-secondary>span{display:none}
.tm[data-workspace=calendar] .tm-context-secondary>button{margin-bottom:4px}
.tm[data-workspace=calendar] .tm-content{display:block;overflow:visible;height:auto;flex:none;min-height:0;padding-bottom:36px}
.tm-calendar-toolbar{flex-shrink:0;gap:6px;margin-bottom:4px}
.tm-calendar-toolbar strong{white-space:nowrap;min-width:0}
.tm-calendar-nav{display:flex;gap:4px}
.tm-unscheduled{flex-shrink:0;margin:0;padding:0;font-size:.8rem;min-width:0}
.tm-unscheduled summary{cursor:pointer;min-height:36px;align-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tm-tray-hint{color:var(--muted)}
.tm .tm-calendar-legend{margin:0;color:var(--muted);font-size:.75rem}
.tm-unscheduled-list{margin:0;padding:4px 0 6px;max-height:82px}
.tm-unscheduled-list button{flex-shrink:0}
.tm[data-workspace=calendar] .tm-calendar-scroll{min-height:0;max-height:none;min-width:0;width:100%}
.tm[data-workspace=calendar] .tm-calendar-scroll:not([data-mode=month]){height:clamp(620px,78dvh,780px);overflow:auto;overscroll-behavior-x:contain;overscroll-behavior-y:auto}
.tm-time-head{height:41px}
.tm-time-grid>.tm-allday{position:sticky;top:41px;z-index:2;background:var(--bg);max-height:130px;overflow:auto}
.tm-calendar-scroll[data-mode=days3] .tm-time-grid{grid-template-columns:48px repeat(3,minmax(92px,1fr));min-width:324px}
.tm-calendar-scroll[data-mode=day] .tm-time-grid{grid-template-columns:48px minmax(0,1fr);min-width:0}
.tm[data-workspace=calendar] .tm-calendar-scroll[data-mode=month]{height:auto;max-height:none;min-height:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:auto;overscroll-behavior-y:auto;border-radius:0 0 9px 9px}
@media(max-width:900px){
  .tm[data-workspace=calendar] .tm-main{padding:0 16px}
  .tm[data-workspace=calendar] .tm-search{flex-basis:100px}
}
@media(max-width:480px){
  .tm[data-workspace=calendar] .tm-main{padding:0 12px}
  .tm[data-workspace=calendar] .tm-titlebar>button{padding:6px 10px}
  .tm[data-workspace=calendar] .tm-toolbar>.tm-view-switch{gap:0}
  .tm-calendar-toolbar{flex-wrap:nowrap;gap:4px}
  .tm-calendar-toolbar strong{font-size:.8rem;margin-right:auto;letter-spacing:-.3px}
  .tm-calendar-nav{gap:2px}
  .tm-calendar-nav button{padding:6px 8px}
  .tm-calendar-toolbar .tm-view-switch{width:auto;gap:0;flex-shrink:0}
  .tm-calendar-toolbar .tm-view-switch button{padding:6px 7px}
  .tm-tray-hint{display:none}
  .tm[data-workspace=calendar] .tm-calendar-scroll:not([data-mode=month]){height:clamp(400px,calc(100dvh - 280px),580px)}
}
@media(max-width:359px){
  .tm-calendar-toolbar{flex-wrap:wrap}
  .tm-calendar-toolbar strong{width:100%}
  .tm-calendar-toolbar .tm-view-switch{margin-left:auto}
}

/* ===================================================
   Static help + site footer: stay in the same scroll flow as each Todo view.
   #view-body is the only region replaced by app.js; help/footer remain server-rendered.
====================================================== */
.tm-view-body{min-width:0;flex:0 0 auto}
.tm-guide{width:min(100%,920px);margin:64px auto 0;padding:0 0 12px;flex-shrink:0;color:var(--text)}
.tm-guide__intro{padding:28px 30px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.tm-guide__eyebrow{margin:0 0 8px!important;color:var(--accent);font-size:.75rem!important;font-weight:750;letter-spacing:.06em}
.tm-guide__intro h2{font-size:1.35rem;line-height:1.45;letter-spacing:-.3px;margin:0 0 12px}
.tm-guide__lead{margin:0!important;color:var(--muted);font-size:.925rem!important;line-height:1.8}
.tm-guide__highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:18px 0 0;padding:0;list-style:none}
.tm-guide__highlights li{position:relative;padding-left:20px;color:var(--text);font-size:.85rem;line-height:1.6}
.tm-guide__highlights li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent);font-weight:800}
.tm-guide__manual-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:34px 0 12px}
.tm-guide__heading{margin:0!important;font-size:1.1rem!important;line-height:1.5}
.tm-guide__toggle{flex-shrink:0;min-height:34px!important;padding:5px 11px!important;border-radius:999px!important;background:transparent!important;color:var(--accent)!important;border-color:var(--line)!important;font-size:.75rem!important;font-weight:650;white-space:nowrap}
.tm-guide__toggle:hover{background:var(--hover)!important}
.tm-guide__manual[hidden]{display:none!important}
.tm-guide__sections{display:grid;gap:9px}
.tm-guide details{border:1px solid var(--line);border-radius:10px;background:var(--bg);overflow:clip}
.tm-guide summary{display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;list-style:none;cursor:pointer;font-weight:700;line-height:1.45}
.tm-guide summary::-webkit-details-marker{display:none}
.tm-guide summary::after{content:"＋";margin-left:auto;flex-shrink:0;color:var(--accent);font-size:1.15rem;font-weight:600}
.tm-guide details[open] summary{background:var(--surface);border-bottom:1px solid var(--line)}
.tm-guide details[open] summary::after{content:"−"}
.tm-guide summary:hover{background:var(--hover)}
.tm-guide summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:-3px}
.tm-guide__summary-note{color:var(--muted);font-size:.75rem;font-weight:500}
.tm-guide__body{padding:18px 18px 20px;color:var(--muted);font-size:.875rem;line-height:1.8}
.tm-guide__body p{margin:0 0 12px}
.tm-guide__body p:last-child{margin-bottom:0}
.tm-guide__body ul,.tm-guide__body ol{margin:10px 0;padding-left:1.4em}
.tm-guide__body li+li{margin-top:6px}
.tm-guide__body strong{color:var(--text)}
.tm-guide__body code,.tm-guide__kbd{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8em;background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--text)}
.tm-guide__terms{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr);gap:9px 18px;margin:0}
.tm-guide__terms dt{color:var(--text);font-weight:700}
.tm-guide__terms dd{margin:0;min-width:0}
.tm-guide__faq{display:grid;gap:14px;margin:0}
.tm-guide__faq dt{color:var(--text);font-weight:700}
.tm-guide__faq dd{margin:3px 0 0}
.tm-site-footer{width:100%;flex-shrink:0;margin-top:42px;padding:24px 0 calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--muted)}
.tm-site-footer__inner{width:min(100%,920px);margin:0 auto}
.tm-site-footer__title{margin:0 0 10px!important;color:var(--text);font-size:1rem!important}
.tm-site-footer__links{display:flex;flex-wrap:wrap;gap:9px 16px;margin-bottom:10px}
.tm-site-footer__links a,.tm-site-footer__guide-link{color:var(--accent);font:inherit;font-size:.85rem;text-decoration:none;overflow-wrap:anywhere}
.tm-site-footer__guide-link{appearance:none;border:0;background:transparent!important;padding:0!important;min-height:0!important;border-radius:0!important;cursor:pointer}
.tm-site-footer__links a:hover,.tm-site-footer__guide-link:hover{text-decoration:underline;text-underline-offset:3px}
.tm-site-footer__links a:focus-visible,.tm-site-footer__guide-link:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;border-radius:3px}
.tm-site-footer small{font-size:.8rem}
.tm-init-error{max-width:560px;margin:36px auto 44px}.tm-init-error .tm-empty-symbol{color:var(--warn);font-size:24px}
.tm.is-unavailable [aria-disabled="true"]{opacity:.55;cursor:not-allowed}
.tm.is-unavailable input[aria-disabled="true"]{background:var(--surface)}
.tm.is-unavailable [aria-disabled="true"]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.tm[data-workspace=calendar] .tm-guide{margin-top:56px}
.tm[data-workspace=calendar] .tm-site-footer{margin-top:36px}
@media(max-width:900px){
  .tm-guide{margin-top:48px}
  .tm-guide__intro{padding:24px}
}
@media(max-width:480px){
  .tm-guide{margin-top:40px}
  .tm-guide__intro{padding:20px 16px;border-radius:11px}
  .tm-guide__intro h2{font-size:1.18rem}
  .tm-guide__lead{font-size:.875rem!important}
  .tm-guide__highlights{grid-template-columns:1fr;gap:7px;margin-top:15px}
  .tm-guide__manual-head{margin-top:28px;align-items:flex-start}
  .tm-guide__toggle{min-height:44px!important;padding:7px 11px!important}
  .tm-guide__heading{font-size:1rem!important}
  .tm-guide summary{min-height:48px;padding:11px 12px;gap:8px;font-size:.875rem}
  .tm-guide__summary-note{display:none}
  .tm-guide__body{padding:15px 14px 17px;font-size:.84rem}
  .tm-guide__terms{grid-template-columns:1fr;gap:3px}
  .tm-guide__terms dd+dt{margin-top:8px}
  .tm-site-footer{margin-top:32px;padding-top:20px}
  .tm-site-footer__links{gap:4px 14px}
  .tm-site-footer__links a,.tm-site-footer__guide-link{display:inline-flex;align-items:center;min-height:40px!important;font-size:.8rem}
}


@media(max-width:480px){
  #utility-dialog[data-utility-kind=customize]{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-height:calc(100dvh - 12px)!important}
  #utility-dialog[data-utility-kind=customize] .tm-dialog-header{padding:12px 14px}
  #utility-dialog[data-utility-kind=customize] .tm-dialog-body{padding:12px 12px 0}
  .tm-customize-form{gap:10px}
  .tm-customize-group{grid-template-columns:1fr;gap:5px}
  .tm-customize-group>.tm-helper{grid-column:1}

  .tm-customize-tabs{gap:2px;padding:3px}
  .tm .tm-customize-tabs button{font-size:.78rem;padding:7px 3px}
  .tm-customize-density-options span{font-size:.78rem;padding:7px 4px}
  .tm-customize-section-head,.tm-customize-column-head{align-items:flex-start;flex-direction:column;gap:2px}
  .tm-customize-option-row,.tm .tm-column-config{padding:8px}
  .tm-customize-form footer{padding:10px 0 2px}
  .tm-customize-form footer button{min-height:44px}
}
@media(max-width:350px){
  #utility-dialog[data-utility-kind=customize] .tm-dialog-body{padding:10px}
  .tm .tm-customize-tabs button{font-size:.72rem}
  .tm-customize-density-options span{font-size:.72rem}
  .tm-customize-option-row>span,.tm-column-main>span{font-size:.84rem}
}

/* Task date disclosures: restrained boundaries and consistent PC/SP spacing. */
#task-form .tm-date-disclosure{min-width:0;border:1px solid var(--line);border-radius:9px;padding:0;overflow:hidden}
#task-form .tm-date-disclosure>summary{position:relative;display:flex;align-items:center;flex-wrap:wrap;column-gap:12px;row-gap:3px;min-height:46px;margin:0;padding:11px 14px 11px 36px;list-style:none;cursor:pointer}
#task-form .tm-date-disclosure>summary::-webkit-details-marker{display:none}
#task-form .tm-date-disclosure>summary::before{content:"";position:absolute;left:16px;top:50%;width:7px;height:7px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-65%) rotate(-45deg);transition:transform .15s ease}
#task-form .tm-date-disclosure[open]>summary::before{transform:translateY(-70%) rotate(45deg)}
#task-form .tm-date-disclosure>summary:hover{background:color-mix(in srgb,var(--accent) 5%,var(--bg))}
#task-form .tm-date-disclosure>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
#task-form .tm-date-disclosure-title{color:var(--text);font-weight:600;flex:0 0 auto}
#task-form .tm-date-disclosure-value{min-width:0;overflow-wrap:anywhere;color:var(--muted);font-size:.8rem}
#task-form .tm-date-disclosure[open]>summary{border-bottom:1px solid var(--line)}
#task-form .tm-date-disclosure-content{display:grid;gap:12px;padding:14px;background:color-mix(in srgb,var(--surface) 45%,var(--bg));min-width:0}
#task-form .tm-date-disclosure-content .tm-detail-pair{margin:0}
#task-form .tm-schedule-intro{line-height:1.55}
#task-form .tm-schedule-all-day{display:grid;gap:3px;min-width:0}
#task-form .tm-schedule-all-day .inline-check{display:inline-flex;flex-direction:row;align-items:center;justify-self:start;gap:9px;min-height:32px;margin:0;cursor:pointer}
#task-form .tm-schedule-all-day .inline-check input{flex:0 0 auto}
#task-form .tm-schedule-all-day .tm-helper{padding-left:27px;line-height:1.45}
#task-form .tm-date-disclosure-actions{display:flex;justify-content:flex-end;padding-top:12px;margin-top:1px;border-top:1px solid var(--line)}
#task-form .tm-schedule-clear{min-height:38px;padding:7px 12px;font-size:.83rem;color:var(--muted);border:1px solid var(--line);background:var(--bg)}
#task-form .tm-schedule-clear:hover,#task-form .tm-schedule-clear:focus-visible{color:var(--text);background:var(--surface)}
#task-form .tm-start-date-field{max-width:410px}
#task-form .tm-detail-progress{max-width:410px}
@media(max-width:480px){
  #task-form .tm-date-disclosure>summary{min-height:48px;padding:11px 11px 11px 33px;column-gap:8px}
  #task-form .tm-date-disclosure>summary::before{left:13px}
  #task-form .tm-date-disclosure-content{padding:12px;gap:11px}
  #task-form .tm-date-disclosure-value{flex-basis:100%}
  #task-form .tm-schedule-clear{min-height:44px}
  #task-form .tm-start-date-field,#task-form .tm-detail-progress{max-width:none}
}

/* Label/input alignment limited to the task detail form. */
#task-form .tm-detail-tags{max-width:none}
#task-form .tm-recurrence-fields{grid-template-columns:1fr;gap:10px;margin:0 0 12px}
#task-form .tm-recurrence-fields>label,#task-form .tm-custom-detail-field{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;min-width:0;min-height:42px}
#task-form .tm-recurrence-fields>label>.tm-detail-label,#task-form .tm-custom-detail-field>.tm-detail-label{min-width:0;overflow-wrap:anywhere}
#task-form .tm-recurrence-fields>label>:is(input,select),#task-form .tm-custom-detail-field>:is(input,select){min-width:0;width:100%;max-width:100%}
#task-form .tm-custom-detail-field{margin-bottom:10px}
#task-form .tm-custom-detail-field--checkbox{grid-template-columns:minmax(0,1fr) 24px;gap:12px;min-height:44px;width:100%;cursor:pointer}
#task-form .tm-custom-detail-field--checkbox>.tm-detail-label{min-width:0;overflow-wrap:anywhere}
#task-form .tm-custom-detail-field--checkbox>input[type=checkbox]{justify-self:end;align-self:center;width:24px;height:24px;min-width:24px;max-width:24px;min-height:24px;margin:0}
#task-form .tm-custom-detail-field select[multiple]{min-height:100px}
@media(max-width:480px){
  #task-form .tm-recurrence-fields>label,#task-form .tm-custom-detail-field{grid-template-columns:88px minmax(0,1fr);gap:8px}
}
@media(max-width:350px){
  #task-form .tm-custom-detail-field:has(select[multiple]){grid-template-columns:minmax(0,1fr);gap:6px}
}
/* Keep the checkbox at the trailing edge even at narrow phone widths. */
#task-form .tm-custom-detail-field--checkbox{grid-template-columns:minmax(0,1fr) 24px}


#task-form .tm-today-plan{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 0}
#task-form .tm-today-plan-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
#task-form .tm-today-plan-copy .tm-helper{font-size:.76rem;color:var(--muted);margin:0}
#task-form .tm-today-plan-button{flex:0 0 auto;min-height:38px;border:1px solid var(--line);padding:7px 12px;white-space:nowrap}
#task-form .tm-today-plan-button.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:650}
@media(max-width:480px){#task-form .tm-today-plan{gap:8px}#task-form .tm-today-plan-copy .tm-helper{font-size:.72rem}#task-form .tm-today-plan-button{padding:7px 9px;min-height:44px}}
