:root{--bg: #f5f6f7;--panel: #ffffff;--panel-2: #fafbfc;--line: #e5e8eb;--line-soft: #eef0f2;--line-strong: #d5dae0;--line-input: #848e9a;--text: #202b36;--muted: #5b6673;--placeholder: #636f7c;--disabled: #8a949e;--accent: #e9a66b;--accent-hover: #d99050;--accent-soft: #fff4e9;--accent-border: #f2d5ba;--accent-text: #9a5a22;--on-accent: #34271d;--focus-color: #b06a2c;--focus-ring: 0 0 0 4px rgba(233, 166, 107, .28);--green: #398568;--green-soft: #e8f3ee;--green-border: #bee0d1;--green-text: #2c6b53;--amber: #a8741f;--amber-soft: #fbf1df;--amber-border: #edd4a4;--amber-text: #86591a;--blue: #3a6ea5;--blue-soft: #e8f0f8;--blue-border: #c4d8ec;--red: #c24b4b;--red-hover: #a83c3c;--red-soft: #fbecec;--red-border: #f1c4c4;--red-text: #a83c3c;--primer: var(--red);--primer-soft: var(--red-soft);--gray-soft: #eef0f2;--topbar: #ffffff;--mark: #ffe3c4;--overlay: rgba(32, 43, 54, .4);--font: "Inter", "Noto Sans JP", "Yu Gothic UI", "Meiryo", system-ui, sans-serif;--mono: "JetBrains Mono", "Cascadia Mono", Consolas, "Noto Sans JP", monospace;--fs-page: 26px;--fs-section: 18px;--fs-card: 15px;--fs-body: 14px;--fs-small: 12.5px;--fs-xs: 12px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 40px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--shadow-sm: 0 1px 2px rgba(32, 43, 54, .06);--shadow: 0 12px 32px rgba(32, 43, 54, .14);--h-control: 36px;color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 var(--fs-body) / 1.55 var(--font);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:var(--placeholder)}:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.btn:focus-visible,.icon-btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--focus-color)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-small)}.sub{color:var(--muted);font-size:var(--fs-small)}.icon{display:inline-block;vertical-align:-.18em;flex:none}.rev-mark{display:inline-block;vertical-align:middle;flex:none}.rev-mark-text{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.title-block{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;border:1px solid var(--line);background:var(--panel-2);border-radius:var(--r-md);overflow:hidden}.title-cell{outline:1px solid var(--line);background:var(--panel);min-width:0;display:flex;flex-direction:column}.title-cell.span-2{grid-column:span 2}.title-cell-label{display:flex;align-items:baseline;justify-content:space-between;gap:6px;padding:6px 12px;background:var(--panel-2);border-bottom:1px solid var(--line-soft);font-size:12px;font-weight:500;color:var(--muted)}.title-cell-jp{font-size:var(--fs-xs);color:var(--muted)}.title-cell-value{padding:8px 12px;font-size:14px;font-weight:600;color:var(--text);display:flex;align-items:center;min-height:38px;overflow-wrap:anywhere}.title-cell-value.mono{font-size:14px}.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{position:fixed;left:8px;top:8px;z-index:100;width:auto;height:auto;overflow:visible;background:var(--panel);border:1px solid var(--focus-color);padding:8px 12px;border-radius:var(--r-md);color:var(--text);text-decoration:none;font-weight:500;box-shadow:var(--shadow)}main:focus{outline:none}.app{height:100vh;display:grid;grid-template-columns:248px 320px minmax(0,1fr);grid-template-rows:56px minmax(0,1fr)}.topbar{grid-column:1 / -1;position:sticky;top:0;z-index:30;height:56px;background:var(--topbar);border-bottom:1px solid var(--line);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 20px}.top-left{display:flex;align-items:center;gap:12px;min-width:0}.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px;letter-spacing:.02em;flex:none}.brandmark{width:28px;height:28px;border-radius:var(--r-sm);background:transparent;display:grid;place-items:center;flex:none}.brandmark img{width:100%;height:100%;object-fit:contain;display:block}.brand-sub{font-size:var(--fs-xs);color:var(--muted);font-weight:400}.top-project{display:flex;align-items:center;gap:10px;min-width:0}.top-sep{width:1px;height:20px;background:var(--line);flex:none;margin-left:2px}.top-project-name{font-weight:500;font-size:var(--fs-body);color:var(--text);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-project-code{color:var(--muted);flex:none}.hamburger{display:none;width:32px;height:32px;background:none;border:1px solid transparent;border-radius:var(--r-sm);color:var(--text);padding:0;cursor:pointer;flex:none;transition:background-color .12s ease,color .12s ease}.hamburger:hover{background:var(--panel-2)}.top-right{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:0}.demo-badge{font-size:12px;background:var(--amber-soft);color:var(--amber-text);border:1px solid var(--amber-border);border-radius:var(--r-sm);padding:2px 8px;font-weight:500;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar{width:32px;height:32px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-text);display:grid;place-items:center;font-size:var(--fs-small);font-weight:600;flex:none}.user-menu-btn{display:inline-flex;align-items:center;gap:8px;height:38px;padding:3px 8px 3px 4px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--text);cursor:pointer;transition:background-color .12s ease,border-color .12s ease}.user-menu-btn:hover,.user-menu-btn[aria-expanded=true]{background:var(--panel-2);border-color:var(--line)}.user-chevron{display:inline-grid;place-items:center;color:var(--muted)}.user-menu-list{min-width:220px;max-width:min(280px,calc(100vw - 24px));z-index:50}.user-menu-head{padding:8px 10px;min-width:0}.user-menu-name{font-size:var(--fs-body);font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-email{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-sep{height:1px;background:var(--line);margin:4px 0}.side-backdrop{display:none}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:16px 12px;overflow:auto}.sidebar nav,.project-list{display:flex;flex-direction:column;gap:2px}.main-nav,.project-item{display:flex;gap:10px;width:100%;min-height:38px;padding:8px 12px;border-radius:var(--r-sm);border:0;color:var(--muted);background:none;cursor:pointer;text-align:left;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease}.main-nav{align-items:center}.project-item{align-items:flex-start}.main-nav>.icon,.project-item>.icon{color:currentColor}.project-item>.icon{margin-top:3px}.main-nav:hover,.project-item:hover{background:var(--panel-2);color:var(--text)}.main-nav.active,.project-item.selected{background:var(--accent-soft);color:var(--accent-text);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.main-nav.active>.icon,.project-item.selected>.icon{color:var(--accent-hover)}.main-nav.active:focus-visible,.project-item.selected:focus-visible{outline:2px solid var(--focus-color);outline-offset:-2px;box-shadow:inset 3px 0 0 var(--accent),var(--focus-ring)}.side-head{display:flex;justify-content:space-between;align-items:center;margin:24px 0 6px;padding:0 12px;color:var(--muted);font-size:12px;font-weight:600}.side-head-title{display:inline-flex;align-items:baseline;gap:6px}.side-head-title small{color:var(--muted);font-size:var(--fs-xs);font-weight:400}.pname{display:flex;flex-direction:column;min-width:0}.pname span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pname small{color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:400;font-size:var(--fs-xs)}.tree-panel{background:var(--panel);border-right:1px solid var(--line);padding:12px;overflow:auto;min-width:0}.tree-panel .tree-mobile-toggle{display:none}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.panel-title h2{font-size:13px;font-weight:700;margin:0}.search-box{position:relative;margin-bottom:8px}.search-box>.icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.search{width:100%;border:1px solid var(--line-input);border-radius:2px;padding:6px 9px;background:var(--panel);color:var(--text);font:inherit;margin-bottom:8px;transition:border-color .1s ease}.search-box .search{padding-left:27px;margin-bottom:0}.search:focus{border-color:var(--focus-color)}.toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin-bottom:8px;cursor:pointer}.search-meta{font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px}.tree{font-size:13px;border-top:1px solid var(--line-soft)}.tree-row{display:flex;align-items:center;gap:5px;padding:0 6px;border-radius:0;border-left:2px solid transparent;cursor:pointer;height:28px;min-height:28px;position:relative;transition:background-color 80ms ease}.tree-row:hover{background-color:var(--panel-2)}.tree-row.active{background-color:var(--accent-soft);color:var(--accent-text);border-left-color:var(--accent);font-weight:700}.tree-row.project{font-weight:700}.tree-row.archived .label{opacity:.55;text-decoration:line-through}.tree-guides{position:absolute;top:0;bottom:0;left:6px;pointer-events:none;background-image:repeating-linear-gradient(to right,transparent 0,transparent 6px,var(--line-soft) 6px,var(--line-soft) 7px,transparent 7px,transparent 14px)}.tree-row .caret{width:14px;height:14px;flex:none;color:var(--muted);display:inline-grid;place-items:center}.tree-row .ico{width:16px;height:16px;flex:none;display:inline-grid;place-items:center;color:var(--muted)}.tree-row.drawing .ico,.tree-row.active .ico{color:var(--accent)}.tree-row .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row .hint{margin-left:6px;color:var(--muted);font-weight:400;font-size:11px}.tree-row.project .hint,.tree-row.drawing .hint{font-family:var(--mono);font-variant-numeric:tabular-nums}.tree-row .lock{color:var(--muted);opacity:.65;display:inline-grid;place-items:center;flex:none}.tree-row .count{margin-left:auto;color:var(--muted);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:11px;font-weight:400;background:none;padding:0 4px}.tree-row .tag{font-size:10px;color:var(--amber);background:var(--amber-soft);border-radius:2px;padding:1px 5px}.row-actions{margin-left:auto;opacity:0}.tree-row .count+.row-actions{margin-left:0}.tree-row:hover .row-actions,.tree-row:focus-within .row-actions,.tree-row.active .row-actions{opacity:1}mark{background:var(--mark);color:inherit;border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--h-control);padding:0 14px;border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-body);font-weight:500;cursor:pointer;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.btn:hover:not(:disabled){background:var(--panel-2);border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.danger{background:var(--red);border-color:var(--red);color:#fff;font-weight:600}.btn.danger:hover:not(:disabled){background:var(--red-hover);border-color:var(--red-hover)}.btn.ghost{background:transparent;border-color:transparent;color:var(--text)}.btn.ghost:hover:not(:disabled){background:var(--panel-2);border-color:transparent}.btn.small{height:30px;padding:0 10px;font-size:13px}.btn.wide{width:100%;height:40px;margin-top:var(--sp-2)}.btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn{display:inline-grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:var(--r-sm);width:32px;height:32px;padding:0;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.icon-btn:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.icon-btn.active,.icon-btn[aria-pressed=true],.icon-btn.active:hover:not(:disabled),.icon-btn[aria-pressed=true]:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text)}.icon-btn.small{width:26px;height:26px;font-size:13px}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.menu{position:relative;display:inline-flex}.menu-list{position:absolute;right:0;top:100%;margin-top:4px;z-index:20;min-width:176px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow);padding:4px;font-weight:400;color:var(--text)}.menu-list.menu-portal{position:fixed;right:auto;top:0;left:0;margin-top:0;z-index:70;overflow-y:auto}.menu-list button{display:flex;align-items:center;gap:8px;width:100%;height:34px;text-align:left;border:0;background:none;padding:0 10px;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-body);color:var(--text);transition:background-color .12s ease,color .12s ease}.menu-list button>.icon{color:var(--muted)}.menu-list button:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.menu-list button.danger{color:var(--red)}.menu-list button.danger:hover:not(:disabled){background:var(--red-soft);color:var(--red)}.menu-list button:disabled{opacity:.55;cursor:not-allowed}.workspace{padding:28px 32px 48px;overflow:auto;min-width:0}.workspace>:not(.modal-back):not(.drawer-back){max-width:1280px}.workspace.span-2{grid-column:2 / -1}.crumb{color:var(--muted);font-size:13px;margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center}.crumb button{background:none;border:0;padding:1px 3px;color:var(--muted);cursor:pointer;border-radius:var(--r-sm);transition:color .12s ease}.crumb button:hover{color:var(--accent-text)}.crumb .sep{color:var(--line-strong);margin:0 6px}.head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:var(--sp-6)}.head-row>div:first-child{min-width:0}.head-row h1{font-size:var(--fs-page);font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0 0 6px;display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.head-row h1>.icon{color:var(--accent-hover)}.head-row .sub{font-size:13.5px}.head-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.banner{margin-top:var(--sp-3);padding:12px 16px;border:1px solid var(--amber-border);border-radius:var(--r-md);background:var(--amber-soft);color:var(--amber);font-size:var(--fs-body)}.workspace .banner{margin:0 0 var(--sp-5)}.banner.info{border-color:var(--blue-border);background:var(--blue-soft);color:var(--blue)}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-3);margin:var(--sp-4) 0}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 16px;transition:border-color .12s ease,background-color .12s ease}.stat:hover{border-color:var(--accent-border);background:var(--accent-soft)}.stat b{font-size:var(--fs-section);font-family:var(--mono);font-variant-numeric:tabular-nums;display:block}.stat span{font-size:var(--fs-small);color:var(--muted)}.section-title{font-size:var(--fs-section);font-weight:600;color:var(--text);margin:32px 0 16px}.module-card small,.module-card-meta{font-size:12px;color:var(--muted);margin-top:8px;padding-top:8px;border-top:1px solid var(--line-soft)}.module-card .mono{font-size:12px;font-weight:600;color:var(--text)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);margin-top:var(--sp-5);margin-bottom:var(--sp-5)}.muted-card{background:var(--panel-2);box-shadow:none}.card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--sp-4)}.card-head h3{font-size:var(--fs-card);font-weight:600;margin:0}.card p{margin:0}.planned-card,.workspace>.planned-card.planned-card{background:var(--panel);border:1px dashed var(--line-strong);border-radius:var(--r-lg);padding:var(--sp-6);max-width:640px}.planned-icon{width:40px;height:40px;border-radius:var(--r-md);background:var(--accent-soft);color:var(--accent-hover);display:grid;place-items:center;margin-bottom:var(--sp-4)}.planned-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:var(--sp-2)}.planned-head h2{margin:0;font-size:var(--fs-section);font-weight:600;color:var(--text)}.planned-text{margin:0;color:var(--muted);font-size:var(--fs-body);line-height:1.6}.planned-upcoming{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--line-soft)}.planned-upcoming-title{font-size:var(--fs-small);font-weight:600;color:var(--text);margin-bottom:var(--sp-2)}.planned-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:var(--fs-body);line-height:1.6}.folder-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:var(--r-sm);padding:8px 12px;cursor:pointer;font-size:var(--fs-body);transition:border-color .12s ease,background-color .12s ease}.chip>.icon{color:var(--muted)}.chip:hover{border-color:var(--accent-border);background:var(--accent-soft)}.chip:hover>.icon{color:var(--accent-text)}.chip small{color:var(--muted);margin-left:2px;font-size:12px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;line-height:1.4;border-radius:999px;padding:2px 10px;background:var(--gray-soft);color:var(--muted);white-space:nowrap;text-transform:none}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.pill.gray{background:var(--gray-soft);color:var(--muted)}.pill.blue{background:var(--blue-soft);color:var(--blue)}.pill.amber{background:var(--amber-soft);color:var(--amber-text)}.pill.green{background:var(--green-soft);color:var(--green-text)}.pill.red{background:var(--red-soft);color:var(--red-text)}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md)}.card .table-wrap{border:0;border-top:1px solid var(--line);border-radius:0 0 var(--r-lg) var(--r-lg);margin:0 calc(-1 * var(--sp-5)) calc(-1 * var(--sp-5))}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-body)}.table th{text-align:left;font-size:12px;font-weight:500;color:var(--muted);background:var(--panel-2);padding:10px 16px;border-bottom:1px solid var(--line);text-transform:none;white-space:nowrap}.table td{padding:14px 16px;border-bottom:1px solid var(--line-soft);vertical-align:middle}.card .table th:first-child,.card .table td:first-child{padding-left:var(--sp-5)}.card .table th:last-child,.card .table td:last-child{padding-right:var(--sp-5)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:not(.static){cursor:pointer;transition:background-color .12s ease}.table tbody tr:not(.static):hover{background:var(--accent-soft)}.table tbody tr:not(.static):focus-visible{outline:2px solid var(--focus-color);outline-offset:-2px;background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--focus-color)}.table tbody tr.static{cursor:default}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mini{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 12px}.mini label{font-size:12px;color:var(--muted);display:block;margin-bottom:3px}.mini strong{font-size:var(--fs-body)}.desc{margin-top:var(--sp-3)!important;white-space:pre-wrap;color:var(--muted)}.state{padding:32px;text-align:center;color:var(--muted);font-size:var(--fs-body)}.state.empty{border:1px dashed var(--line-strong);border-radius:var(--r-md)}.state.error{border:1px dashed var(--red-border);border-radius:var(--r-md);color:var(--red)}.state-icon{width:40px;height:40px;margin:0 auto var(--sp-3);border-radius:999px;display:grid;place-items:center}.state.empty .state-icon{background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.state.error .state-icon{background:var(--red-soft);color:var(--red)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;vertical-align:-3px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-back{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);z-index:50}.modal{display:flex;flex-direction:column;max-height:min(88vh,960px);padding:0;overflow:hidden;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--r-lg);box-shadow:var(--shadow)}.modal-head{padding:24px 28px 0;flex:none}.modal h2{margin:0 0 4px;font-size:var(--fs-section);font-weight:600}.modal h2:last-child{margin-bottom:var(--sp-3)}.modal-hint{color:var(--muted);font-size:var(--fs-small);margin-bottom:var(--sp-3)}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:4px 28px 20px}.modal-body>.form-section-title:first-child{margin-top:0}.modal-body>.field:last-child,.modal-body>.grid-2:last-child{margin-bottom:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;flex:none;padding:16px 28px;border-top:1px solid var(--line);background:var(--panel)}.field{display:flex;flex-direction:column;gap:6px;margin:0 0 var(--sp-4)}.field-label{font-size:13px;font-weight:500;color:var(--text)}.field input,.field select,.field textarea,.table select,.drawer-meta-control select,.picker-comp-row input{height:var(--h-control);padding:0 12px;border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-family:inherit;font-size:var(--fs-body);transition:border-color .12s ease,box-shadow .12s ease}.field input,.field select,.field textarea{width:100%}.field textarea{height:auto;padding:10px 12px;line-height:1.55;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.table select:focus,.drawer-meta-control select:focus,.picker-comp-row input:focus{outline:2px solid var(--focus-color);outline-offset:0;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.field input::placeholder,.field textarea::placeholder,.picker-comp-row input::placeholder{color:var(--placeholder)}.field input:disabled,.field select:disabled,.field textarea:disabled,.table select:disabled,.drawer-meta-control select:disabled,.picker-comp-row input:disabled{opacity:.55;cursor:not-allowed;background:var(--panel-2)}.field-error,.form-error{color:var(--red);font-size:var(--fs-small)}.form-error{margin-top:var(--sp-3);padding:10px 12px;background:var(--red-soft);border:1px solid var(--red-border);border-radius:var(--r-sm)}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4);margin-bottom:var(--sp-4)}.grid-2>.field{margin-bottom:0}.confirm-msg p{margin:0 0 8px;font-size:var(--fs-body);line-height:1.6}.dialog-search{position:relative;display:flex;align-items:center;margin-bottom:var(--sp-3)}.dialog-search>.icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.dialog-search input{width:100%;height:var(--h-control);padding:0 12px 0 34px;border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font:inherit;font-size:var(--fs-body);transition:border-color .12s ease,box-shadow .12s ease}.dialog-search input::placeholder{color:var(--placeholder)}.dialog-search input:focus{outline:2px solid var(--focus-color);outline-offset:0;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.pick-list{max-height:320px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-md);padding:4px;background:var(--panel)}.pick-row{display:flex;align-items:center;gap:8px;width:100%;height:36px;text-align:left;border:0;background:none;color:var(--text);padding:0 10px;border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-body);transition:background-color .12s ease,color .12s ease}.pick-row>.icon{color:var(--muted);flex:none}.pick-row:hover:not(:disabled){background:var(--panel-2)}.pick-row.selected,.pick-row.selected:hover:not(:disabled){background:var(--accent-soft);color:var(--accent-text);font-weight:600}.pick-row.selected>.icon{color:var(--accent-hover)}.pick-row:disabled{opacity:.55;cursor:not-allowed}.pick-row-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-row-hint,.pick-row small{font-size:12px;color:var(--muted);font-weight:400;white-space:nowrap;flex:none}.toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{display:flex;align-items:flex-start;gap:10px;background:var(--text);color:#fff;padding:10px 10px 10px 14px;border-radius:var(--r-md);box-shadow:var(--shadow);font-size:var(--fs-body);max-width:380px}.toast-icon{display:inline-grid;place-items:center;height:1.55em;flex:none}.toast-text{flex:1;min-width:0;word-break:break-word;line-height:1.55}.toast-close{display:inline-grid;place-items:center;width:24px;height:24px;flex:none;margin-left:auto;border:0;background:transparent;color:inherit;border-radius:var(--r-sm);cursor:pointer;padding:0}.toast-close:hover{background:var(--gray-soft);color:var(--text)}.toast-error{background:var(--red)}@media (max-width: 1279px){.app{grid-template-columns:220px 288px minmax(0,1fr)}.workspace{padding:24px}.detail-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 1023px){.app{grid-template-columns:288px minmax(0,1fr)}.hamburger{display:inline-grid;place-items:center}.sidebar{position:fixed;top:56px;left:0;bottom:0;width:272px;z-index:40;transform:translate(-100%);visibility:hidden;transition:transform .16s ease,visibility 0s linear .16s;box-shadow:none}.sidebar.open{transform:none;visibility:visible;transition:transform .16s ease,visibility 0s;box-shadow:var(--shadow)}.side-backdrop{display:block;position:fixed;top:56px;right:0;bottom:0;left:0;background:var(--overlay);z-index:39}.workspace.span-2{grid-column:1 / -1}}@media (max-width: 767px){.app{display:block;height:auto}.topbar{padding:0 12px;gap:8px}.top-left,.brand{gap:8px}.brand span,.top-project,.brand-sub{display:none}.top-right{gap:6px;flex-shrink:1}.demo-badge{font-size:0;padding:2px 6px}.demo-badge:before{content:"Demo";font-size:var(--fs-xs)}.user-menu-btn{height:auto;padding:0;border:0;border-radius:999px}.user-chevron{display:none}.tree-panel{border-right:0;border-bottom:1px solid var(--line);max-height:45vh}.tree-panel .tree-mobile-toggle{display:inline-grid;margin-left:auto;margin-right:4px}.tree-mobile-toggle .icon{transition:transform .12s ease}.tree-mobile-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.tree-panel.mobile-collapsed{padding-top:8px;padding-bottom:8px}.tree-panel.mobile-collapsed .panel-title{margin-bottom:0}.tree-panel.mobile-collapsed>:not(.panel-title){display:none}.workspace{padding:20px 16px 32px}.detail-grid,.grid-2{grid-template-columns:1fr}.title-cell.span-2{grid-column:span 1}.row-actions{opacity:1}}.user-name{font-size:var(--fs-body);font-weight:500;color:var(--text);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-info{color:var(--green);background:var(--green-soft);border:1px solid var(--green-border);border-radius:var(--r-sm);padding:10px 12px;font-size:var(--fs-small);margin-top:var(--sp-3)}.add-member-wrap{margin-top:var(--sp-5)}.add-member-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-2)}.add-member-title{margin:0;font-size:14px;font-weight:600;color:var(--text)}.add-member{display:grid;grid-template-columns:1fr 160px auto;gap:var(--sp-3);align-items:end;padding:var(--sp-4);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-md)}.add-member .field{margin:0}@media (max-width: 767px){.add-member{grid-template-columns:1fr;align-items:stretch}.user-name{display:none}}.card-head-actions{margin-left:auto;flex-wrap:wrap}.note-version-hint{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:8px 12px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-sm)}.note-form-error{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.picker{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);padding:12px;display:flex;flex-direction:column;gap:10px}.picker-summary{display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--line-soft);border-radius:var(--r-sm)}.picker-count{font-size:var(--fs-small);color:var(--muted)}.picker-count b{color:var(--text)}.picker-chips{display:flex;flex-wrap:wrap;gap:6px}.picker-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border:1px solid var(--accent-border);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--on-accent);font-size:12px;font-weight:500;max-width:100%}.picker-chip>.icon{color:var(--accent-hover)}.picker-chip.locked{background:var(--gray-soft);border-color:var(--line);color:var(--muted)}.picker-chip.locked>.icon{color:var(--muted)}.picker-chip-remove{display:inline-grid;place-items:center;border:0;background:none;color:inherit;cursor:pointer;padding:2px;border-radius:4px;line-height:1}.picker-chip-remove:hover{color:var(--red)}.picker .search-box{margin-bottom:4px}.picker .search-box .search{padding-right:28px}.picker-filter-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;border-radius:2px;background:transparent;color:var(--muted);cursor:pointer}.picker-filter-clear:hover{color:var(--text)}.picker-filter-clear:focus-visible{outline:2px solid var(--focus-color);outline-offset:0}.picker-filter-status{min-height:16px;margin-bottom:4px;font-size:var(--fs-xs)}.picker-tree{max-height:300px;overflow:auto;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel)}.picker-empty{padding:16px;text-align:center}.picker-row{display:flex;align-items:center;gap:2px;height:34px;min-height:34px;padding-right:8px;border-bottom:1px solid var(--line-soft);transition:background-color .12s ease}.picker-row:last-child{border-bottom:0}.picker-row:hover{background:var(--panel-2)}.picker-row.checked,.picker-row.checked:hover{background:var(--accent-soft);color:var(--accent-text)}.picker-row.locked{opacity:.55}.picker-caret{width:18px;height:22px;flex:none;border:0;background:none;color:var(--muted);display:inline-grid;place-items:center;padding:0;cursor:pointer}.picker-caret:disabled{cursor:default}.picker-check{display:flex;align-items:center;gap:6px;flex:1;height:100%;min-width:0;cursor:pointer;padding:0;font-size:var(--fs-body)}.picker-check input[type=checkbox]{width:15px;height:15px;padding:0;margin:0;flex:none;accent-color:var(--accent-hover)}.picker-row.locked .picker-check{cursor:not-allowed}.picker-check>.icon{color:var(--muted)}.picker-row.checked .picker-check>.icon{color:var(--accent-text)}.picker-code{color:var(--accent-text);font-weight:600}.picker-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-hint{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap}.picker-comp{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--line-soft)}.picker-comp-label{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--text)}.picker-comp-label>.icon{color:var(--muted)}.picker-comp-label small{font-weight:400;margin-left:auto}.picker-comp-row{display:flex;gap:8px;align-items:center}.picker-comp-row input{flex:1;width:auto}.drawer-back{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:flex;justify-content:flex-end;overflow:hidden;z-index:45}.drawer{width:min(560px,100%);height:100%;background:var(--panel);border-left:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow-y:auto;animation:drawer-in .16s ease-out}@keyframes drawer-in{0%{transform:translate(24px);opacity:.6}to{transform:translate(0);opacity:1}}.drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:14px 24px;background:var(--panel);border-bottom:1px solid var(--line)}.drawer-body{padding:24px;display:flex;flex-direction:column;gap:var(--sp-5)}.drawer-body .banner{margin:0}.dest-link{border-radius:4px;font-weight:500}.dest-tag{font-weight:500;white-space:nowrap}.dest-remove:disabled{opacity:.35}@media (max-width: 767px){.modal-back{padding:0}.modal{min-width:100%;max-height:100dvh;border-radius:0}.modal-head{padding:20px 16px 0}.modal-body{padding:4px 16px 16px}.modal-actions{padding:12px 16px}.drawer{width:100%}.drawer-head{padding:12px 16px}.drawer-body{padding:16px}}@media (prefers-reduced-motion: reduce){.drawer{animation:none}.sidebar{transition:none}}@media (forced-colors: active){:focus-visible{outline:2px solid Highlight;outline-offset:2px}}@media (max-width: 767px){body input:not([type=checkbox]):not([type=radio]),body select:not([multiple]):not([size]),body textarea:not([readonly]):not([hidden]){font-size:16px}}@media (max-width: 640px){.toasts{top:8px;bottom:auto;left:8px;right:8px;align-items:stretch}.toast{max-width:none;padding-block:8px}.picker-tree{max-height:none;overflow:visible}}@media (pointer: coarse){.dest-link,.btn,.btn.small{min-height:44px}.icon-btn,.icon-btn.small{min-width:44px;min-height:44px}.menu-list button{min-height:44px}.toast-close{width:44px;height:44px;margin:-10px -10px -10px auto}.picker-row{height:44px;min-height:44px}.picker-caret{width:44px;height:44px}.picker-check input[type=checkbox]{width:22px;height:22px}.picker-comp-row .icon-btn,.picker-row .icon-btn{min-width:44px;min-height:44px}.modal-body input:not([type=checkbox]):not([type=radio]),.modal-body select,.drawer-body input:not([type=checkbox]):not([type=radio]),.drawer-body select{min-height:44px}.tree-row .icon-btn,.topbar .icon-btn,.topbar .btn{min-width:44px;min-height:44px}}.page-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);color:var(--muted);font-size:13.5px}.page-meta-code{padding:2px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel);color:var(--text)}.overview-stats.card{padding:0}.overview-stats-head{width:100%;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);background:transparent;border:0;border-radius:var(--r-lg);font:inherit;color:inherit;text-align:left;cursor:pointer}.overview-stats-head h3{margin:0;font-size:var(--fs-card)}.overview-stats-head .icon{flex:none;transition:transform .12s}.overview-stats.collapsed .overview-stats-head .icon{transform:rotate(-90deg)}.overview-stats-summary{margin-left:auto}.overview-stats-body{padding:0 var(--sp-5) var(--sp-5)}.overview-stats-body .module-grid{margin-bottom:0}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:var(--sp-4);margin-bottom:var(--sp-6)}.summary-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.summary-card,.progress-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}.summary-card{padding:var(--sp-4) 20px;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-2);min-height:96px}.summary-card-label{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-size:13px;color:var(--muted)}.summary-card-jp{font-size:12px;color:var(--muted)}.summary-card-value{font-size:28px;font-weight:600;line-height:1.1;color:var(--text)}.summary-card.is-zero .summary-card-value{color:var(--muted);font-weight:500}.progress-card{padding:20px var(--sp-5)}.progress-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3)}.progress-card-head h3{margin:0;font-size:var(--fs-card);font-weight:600}.progress-card-head h3 small,.section-title small{margin-left:6px;font-size:12.5px;font-weight:400;color:var(--muted)}.progress-card-pct{font-size:22px;font-weight:600;color:var(--green)}.progress-card>.sub{margin:4px 0 var(--sp-4)}.progress-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--gray-soft);gap:2px}.progress-seg{display:block;min-width:4px;background:var(--disabled)}.progress-seg.blue{background:var(--blue)}.progress-seg.amber{background:var(--amber)}.progress-seg.red{background:var(--red)}.progress-seg.green{background:var(--green)}.progress-legend{list-style:none;padding:0;margin:var(--sp-4) 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px var(--sp-4);font-size:13px}.progress-legend li{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.progress-legend li>span:nth-child(2){flex:1;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.progress-legend b{font-weight:600}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-6)}.module-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--sp-4);text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;transition:border-color .12s ease,background-color .12s ease}.module-card:hover{border-color:var(--accent-border);background:var(--accent-soft)}.module-card b{font-size:14.5px;font-weight:600;color:var(--text)}.module-card>span{font-size:13px;color:var(--muted)}.module-card-meta{margin-top:6px;font-size:12px;color:var(--muted)}.folder-locked-note{display:flex;align-items:baseline;gap:6px;margin-top:4px}.folder-locked-note .icon{flex:none;align-self:center}.folder-subs{margin:var(--sp-5) 0}.folder-section-title{display:flex;align-items:baseline;gap:var(--sp-2);margin:0 0 var(--sp-2);font-size:var(--fs-card);font-weight:600}.folder-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.folder-chips .chip{min-height:36px;padding:6px 10px;max-width:100%}.folder-chips .chip>.icon{color:var(--accent-hover)}.folder-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-chips .chip .folder-chip-count{margin-left:2px;padding:0 6px;border-radius:999px;background:var(--gray-soft);color:var(--text);font-size:12px;line-height:18px}.folder-chips .chip .folder-chip-count.is-zero{color:var(--muted)}.folder-no-drawings,.drawing-titleblock{margin:var(--sp-5) 0}.drawing-titleblock .title-block{grid-template-columns:repeat(auto-fit,minmax(min(100%,128px),1fr))}.drawing-titleblock .desc{margin:var(--sp-3) 0 0;padding:var(--sp-3) var(--sp-4);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);white-space:pre-wrap}@media (max-width: 1279px){.overview-grid{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 767px){.overview-stats-head{flex-wrap:wrap}.overview-stats-summary{flex-basis:100%;margin-left:0}.summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-legend{grid-template-columns:1fr}}.progress-card-pct.zero{color:var(--muted)}.notes-card-title{display:flex;align-items:center;gap:var(--sp-2);margin-right:auto}.notes-card-title h3{margin:0}.count-badge{display:inline-flex;align-items:center;min-width:24px;height:22px;padding:0 8px;justify-content:center;border-radius:999px;background:var(--gray-soft);color:var(--muted);font-size:12px}.card-head-actions{display:flex;align-items:center;gap:var(--sp-3)}.note-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-3);margin:0 0 var(--sp-5)}.note-stats>div{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel-2);min-width:0}.note-stats dt{display:flex;align-items:center;gap:6px;font-size:var(--fs-small);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-stats dd{margin:4px 0 0;font-size:22px;font-weight:600;color:var(--text)}.dot{width:8px;height:8px;border-radius:999px;flex:none;background:var(--muted)}.dot.blue{background:var(--blue)}.dot.green{background:var(--green)}.dot.red{background:var(--red)}.dot.amber{background:var(--amber)}.dot.gray{background:var(--disabled)}.notes-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4)}.notes-search{position:relative;flex:1 1 260px;min-width:200px;display:flex;align-items:center}.notes-search>.icon{position:absolute;left:12px;color:var(--muted);pointer-events:none}.notes-search input,.notes-select{height:var(--h-control);border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font:inherit;font-size:13.5px;transition:border-color .12s ease,box-shadow .12s ease}.notes-search input{width:100%;padding:0 12px 0 34px}.notes-search input::placeholder{color:var(--placeholder)}.notes-select{padding:0 10px;flex:0 1 auto;max-width:100%;cursor:pointer}.notes-search input:focus,.notes-select:focus{outline:2px solid var(--focus-color);outline-offset:0;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.notes-filter-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap}.notes-filter-toggle input{accent-color:var(--accent-hover);width:15px;height:15px}.notes-table td{vertical-align:middle}.note-cell-no{color:var(--muted);white-space:nowrap}.note-cell-title{font-weight:500;color:var(--text);min-width:180px;overflow-wrap:anywhere}.note-cell-meta{white-space:nowrap}.note-cell-meta>span{display:block;line-height:1.4}.note-cell-date{font-size:13px;color:var(--text)}.notes-table th,.notes-table td{padding-left:12px;padding-right:12px}.notes-table th:first-child,.notes-table td:first-child{padding-left:20px}.notes-table .pill{white-space:nowrap}.pill.plain{background:var(--panel);color:var(--text);box-shadow:inset 0 0 0 1px var(--line-input)}.pill.plain:before{background:var(--text)}.note-row.urgent td:first-child{box-shadow:inset 3px 0 0 var(--red)}.note-row.is-active td{background:var(--accent-soft)}.note-dest-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}@media (max-width: 1279px){.note-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 767px){.note-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-search{flex-basis:100%}.notes-select{flex:1 1 140px}.notes-filter-toggle{margin-left:0}}.dest-focus-anchor:focus-visible{outline:2px solid var(--accent-hover);outline-offset:2px}@media (max-width: 640px){.notes-card>.card-head{flex-wrap:wrap}.notes-card>.card-head .card-head-actions{flex:1 1 100%;margin-left:0;flex-wrap:nowrap;justify-content:space-between;gap:var(--sp-2)}.notes-card .notes-filter-toggle{white-space:nowrap}.notes-card .table-wrap{overflow:visible}.notes-table,.notes-table tbody{display:block;width:100%;min-width:0}.notes-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.notes-table tr.note-row{display:grid;grid-template-columns:auto auto auto 1fr;grid-template-areas:"no title title title" "status priority ver dest" "meta meta meta meta";align-items:center;gap:6px 8px;padding:12px 14px;border-bottom:1px solid var(--line);cursor:pointer}.notes-table tr.note-row>td{display:block;padding:0;border:0;min-width:0;box-shadow:none}.notes-table tr.note-row>td:first-child{padding-left:0}.notes-table tr.note-row.urgent{box-shadow:inset 3px 0 0 var(--red)}.notes-table tr.note-row.urgent>td:first-child{box-shadow:none}.notes-table tr.note-row.is-active{background:var(--accent-soft)}.notes-table .note-cell-no{grid-area:no}.notes-table .note-cell-title{grid-area:title;min-width:0}.notes-table .note-cell-status{grid-area:status}.notes-table .note-cell-priority{grid-area:priority}.notes-table .note-cell-ver{grid-area:ver}.notes-table .note-cell-dest{grid-area:dest;justify-self:end}.notes-table .note-cell-meta{grid-area:meta;display:flex;gap:var(--sp-2);flex-wrap:wrap}}.note-links-input{margin-top:var(--sp-4)}.nli-list{list-style:none;margin:var(--sp-2) 0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.nli-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(0,2fr) auto;gap:var(--sp-2);align-items:center}.nli-error{grid-column:1 / -1}.nli-add{align-self:flex-start}@media (max-width: 640px){.nli-row{grid-template-columns:minmax(0,1fr) auto}.nli-title{grid-column:1 / -1}}.drawer-head-left{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.drawer-head-no{font-size:14px;font-weight:600;color:var(--text)}.perm-tag{font-size:12px;color:var(--muted);padding:2px 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--panel-2)}.note-hero{display:flex;flex-direction:column;gap:var(--sp-3)}.drawer-title{margin:0;padding:0;border:0;font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.005em;color:var(--text);overflow-wrap:anywhere}.note-hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3)}.drawer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r-md)}.drawer-meta-control{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:13px;font-weight:500;color:var(--muted)}.drawer-meta-control select{height:32px;padding:0 10px;border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font:inherit;font-size:13.5px;font-weight:400}.drawer-meta-control select:focus{outline:2px solid var(--focus-color);outline-offset:0;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.drawer-content-section{padding:20px var(--sp-5);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md)}.drawer-content{white-space:pre-wrap;max-width:72ch;font-size:14.5px;line-height:1.75;color:var(--text);overflow-wrap:anywhere}.drawer-section{border:0;background:none}.drawer-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:0 0 var(--sp-2);margin-bottom:var(--sp-3);background:none;border-bottom:1px solid var(--line)}.drawer-section-head h3{display:inline-flex;align-items:center;gap:var(--sp-2);margin:0;font-size:var(--fs-card);font-weight:600}.drawer-section-hint{margin:0 0 var(--sp-3)}.drawer-fold-head{margin:0;font-size:var(--fs-card);font-weight:600;border-bottom:1px solid var(--line)}.drawer-fold-toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;min-height:36px;padding:0 0 var(--sp-2);border:0;border-radius:0;background:none;color:var(--text);font:inherit;text-align:left;cursor:pointer}.drawer-fold-toggle:hover .drawer-fold-title{color:var(--accent-text)}.drawer-fold-toggle:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px;border-radius:var(--r-sm)}.drawer-fold-toggle>.icon{flex:none;color:var(--muted);transition:transform .12s ease-out}.drawer-fold.closed .drawer-fold-toggle>.icon{transform:rotate(-90deg)}.drawer-fold-body{padding-top:var(--sp-3)}.drawer-fold-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3)}.drawer-fold-bar .btn{flex:none}.drawer-section-actions{display:flex;justify-content:flex-end;gap:var(--sp-2);margin-bottom:var(--sp-3)}.drawer-fold.closed+.drawer-fold.closed{margin-top:calc(var(--sp-2) - var(--sp-5))}@media (prefers-reduced-motion: reduce){.drawer-fold-toggle>.icon{transition:none}}.planned-section{padding:var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--panel-2)}.planned-section .drawer-section-head h3{font-size:13.5px;color:var(--muted)}.planned-section .drawer-section-hint{margin:0}.note-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3) var(--sp-5);margin:0}.note-facts>div{min-width:0}.note-facts .wide{grid-column:1 / -1}.note-facts dt{font-size:12px;color:var(--muted);margin-bottom:2px}.note-facts dd{margin:0;font-size:14px;color:var(--text);overflow-wrap:anywhere}.dest-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.dest-row{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:8px 8px 8px var(--sp-4);border-bottom:1px solid var(--line-soft);background:var(--panel)}.dest-row:last-child{border-bottom:0}.dest-row>.icon{color:var(--accent-hover)}.dest-link{flex:1;min-width:0;padding:0;border:0;background:none;color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere}.dest-link:hover{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.dest-text{flex:1;min-width:0;color:var(--muted);overflow-wrap:anywhere}.dest-text.missing{font-style:italic}.dest-tag{font-size:12px;padding:1px 8px;border-radius:999px;background:var(--gray-soft);color:var(--muted)}.dest-remove{margin-left:auto}.version-list{list-style:none;margin:0;padding:0;position:relative}.version-row{position:relative;padding-left:0;border:0}.version-row+.version-row{margin-top:2px}.version-head{display:flex;align-items:flex-start;gap:var(--sp-3);width:100%;padding:10px var(--sp-3);border:0;border-radius:var(--r-sm);background:none;text-align:left;cursor:pointer;color:var(--text)}.version-head:hover{background:var(--panel-2)}.version-row.current .version-head{background:var(--accent-soft)}.version-head .rev-mark{margin-top:1px}.version-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.version-line{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--sp-2)}.version-editor{font-weight:500}.version-summary{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.version-toggle{flex:none;align-self:center}.version-snapshot{margin:4px 0 var(--sp-2) 36px;padding:var(--sp-3) var(--sp-4);border-left:2px solid var(--accent-border);background:var(--panel-2);border-radius:0 var(--r-sm) var(--r-sm) 0}.version-snapshot-title{font-weight:600;margin-bottom:6px}.version-snapshot-body{white-space:pre-wrap;font-size:13.5px;line-height:1.7;overflow-wrap:anywhere}.form-section-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px var(--sp-2);margin:var(--sp-5) 0 var(--sp-3);padding-bottom:var(--sp-2);border-bottom:1px solid var(--line-soft);font-size:var(--fs-card);font-weight:600;color:var(--text)}.modal-hint+.form-section-title{margin-top:var(--sp-4)}.form-section-title small{font-size:12.5px;font-weight:400;color:var(--muted)}.form-step{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-text);font-size:12px;font-weight:600}.note-editor-top{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:var(--sp-4)}.note-one-info{margin-top:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--accent-border);border-radius:var(--r-md);background:var(--accent-soft);color:var(--on-accent);font-size:13.5px}.note-version-hint{margin-top:var(--sp-2)}@media (max-width: 767px){.note-facts,.note-editor-top{grid-template-columns:1fr}.drawer-content-section{padding:var(--sp-4)}.version-snapshot{margin-left:0}}.ack-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--accent-border);border-radius:var(--r-md);background:var(--accent-soft)}.ack-bar.completed{border-color:var(--green-border);background:var(--green-soft)}.ack-bar-text{display:flex;flex-direction:column;gap:4px;min-width:0}.ack-bar-title{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--text)}.ack-bar-text .sub{display:inline-flex;align-items:center;gap:6px}.ack-bar.needs-ack{border-left:3px solid var(--accent);background:var(--accent-soft)}.ack-bar-hint{color:var(--accent-text);font-weight:600}.ack-bar-text .link-btn{align-self:flex-start}.ack-steps{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-sm);overflow:hidden;background:var(--panel)}.ack-step{height:32px;padding:0 12px;border:0;border-right:1px solid var(--line);background:none;font-size:13px;color:var(--muted);cursor:pointer}.ack-step:last-child{border-right:0}.ack-step:hover:not(:disabled){background:var(--panel-2);color:var(--text)}.ack-step.active{background:var(--accent);color:var(--on-accent);font-weight:600}.ack-bar.completed .ack-step.active{background:var(--green-text);color:#fff}.ack-step:disabled{cursor:progress}.ack-summary{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px var(--sp-3);margin-bottom:var(--sp-3);padding:10px var(--sp-4);border-radius:var(--r-md);background:var(--panel-2);font-size:13.5px}.recipient-list,.recipient-picker{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.recipient-row,.recipient-pick-row{display:flex;align-items:center;gap:var(--sp-3);min-height:52px;padding:8px 8px 8px var(--sp-4);border-bottom:1px solid var(--line-soft);background:var(--panel)}.recipient-row:last-child,.recipient-pick-row:last-child{border-bottom:0}.recipient-pick-row.checked{background:var(--accent-soft)}.recipient-avatar{flex:none;width:30px;height:30px;display:grid;place-items:center;border-radius:999px;background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-text);font-size:12.5px;font-weight:600}.recipient-main{flex:1;min-width:0;display:flex;flex-direction:column}.recipient-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipient-main .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipient-ack{flex:none;min-width:96px;text-align:right}.recipient-perm{height:30px;padding:0 8px;border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font:inherit;font-size:13px}.recipient-perm:focus{outline:2px solid var(--focus-color);outline-offset:0;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.recipient-pick-who{flex:1;min-width:0;display:flex;align-items:center;gap:var(--sp-3);cursor:pointer}.recipient-pick-who input{accent-color:var(--accent-hover);width:16px;height:16px}.recipient-picker{max-height:260px;overflow-y:auto}.recipient-picker-empty{margin:0;padding:var(--sp-3) var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-md)}@media (max-width: 767px){.recipient-row{flex-wrap:wrap}.recipient-ack{min-width:0}.ack-steps{width:100%}.ack-step{flex:1}}.link-btn{padding:0;border:0;background:none;font:inherit;font-size:13px;color:var(--accent-text);cursor:pointer}.link-btn:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.link-btn.danger{color:var(--red)}.comment-list{list-style:none;margin:0 0 var(--sp-3);padding:0;display:flex;flex-direction:column;gap:var(--sp-4)}.comment{display:flex;gap:var(--sp-3)}.comment-main{flex:1;min-width:0}.comment-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px var(--sp-2)}.comment-meta b{font-weight:600}.comment-body{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.comment.deleted .comment-body{font-style:italic}.comment-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-top:6px}.comment-edit textarea,.comment-form textarea{width:100%;min-height:64px;padding:10px 12px;border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font:inherit;resize:vertical}.comment-edit textarea:focus,.comment-form textarea:focus{outline:2px solid var(--focus-color);outline-offset:0;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.comment-edit .comment-actions{justify-content:flex-end}.comment-form{display:flex;align-items:flex-end;gap:var(--sp-2)}.comment-form textarea{flex:1}.activity-list{list-style:none;margin:0 0 var(--sp-2);padding:0;position:relative}.activity-list:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--line)}.activity-item{position:relative;display:flex;gap:var(--sp-3);padding:6px 0}.activity-dot{flex:none;width:11px;height:11px;margin-top:5px;border-radius:999px;border:2px solid var(--panel);background:var(--disabled);box-shadow:0 0 0 1px var(--line);position:relative;z-index:1}.act-note_created .activity-dot,.act-note_updated .activity-dot{background:var(--accent-hover)}.act-ack_updated .activity-dot{background:var(--green)}.act-access_granted .activity-dot,.act-access_changed .activity-dot{background:var(--blue)}.act-access_revoked .activity-dot,.act-note_archived .activity-dot,.act-comment_deleted .activity-dot{background:var(--red)}.activity-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px var(--sp-3);font-size:13.5px;overflow-wrap:anywhere}.activity-main b{font-weight:600}.version-diff{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--line-strong)}.version-diff-head{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:var(--sp-2)}.diff-add-n{color:var(--green);font-weight:600}.diff-del-n{color:var(--red);font-weight:600}.diff-title{margin-bottom:var(--sp-2)}.diff-body,.diff-title{border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;background:var(--panel)}.diff-line{display:flex;gap:var(--sp-2);padding:2px 10px;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.diff-line.add{background:var(--green-soft)}.diff-line.del{background:var(--red-soft);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--red) 45%,transparent)}.diff-sign{flex:none;width:10px;font-family:var(--mono);color:var(--muted);text-decoration:none}.diff-line.add .diff-sign{color:var(--green)}.diff-line.del .diff-sign{color:var(--red)}.drawer-ack-summary{display:flex}.drawer-ack-summary-btn{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 6px;max-width:100%;min-height:32px;padding:4px 10px;border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--panel-2);color:var(--text);font:inherit;font-size:13.5px;text-align:left;cursor:pointer}.drawer-ack-summary-btn:hover{border-color:var(--line-strong)}.drawer-ack-summary-btn:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.drawer-ack-summary-label{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.drawer-ack-summary-btn>.icon{flex:none;color:var(--muted)}.drawer-anchor{display:block;height:0}.note-reack-warning{margin-top:var(--sp-2);padding:8px 12px;border:1px solid var(--amber-border);border-radius:var(--r-sm);background:var(--amber-soft);color:var(--amber-text)}.note-reack-warning .rev-mark{vertical-align:middle}@media (pointer: coarse){.drawer-fold-toggle{min-height:44px}}.mn-field{position:relative;flex:1;min-width:0}.mn-field textarea{display:block}.mn-list{position:absolute;left:0;right:0;bottom:calc(100% + 4px);z-index:20;max-height:232px;margin:0;padding:4px;overflow-y:auto;list-style:none;background:var(--panel);border:1px solid var(--line-input);border-radius:var(--r-sm);box-shadow:0 6px 20px #00000024}.mn-option{display:flex;align-items:center;gap:var(--sp-2);min-height:36px;padding:4px 8px;border-radius:var(--r-sm);cursor:pointer}.mn-option.active{background:var(--accent-soft);color:var(--accent-text)}.mn-name{font-weight:600;white-space:nowrap}.mn-email{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mn-chip{padding:0 4px;border-radius:4px;background:var(--accent-soft);color:var(--accent-text);font-weight:600}@media (pointer: coarse){.mn-option{min-height:44px}}.bell-btn{position:relative}.bell-badge{position:absolute;top:2px;right:1px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:999px;border:2px solid var(--topbar);background:var(--red);color:#fff;font-size:var(--fs-xs);font-weight:600;line-height:1}.notif-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-4)}.notif-filter{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.notif-filter:hover{color:var(--text);border-color:var(--line-strong)}.notif-filter.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text);font-weight:600}.notif-card{padding:0;overflow:hidden}.notif-card>.state{margin:var(--sp-5)}.notif-list{list-style:none;margin:0;padding:0}.notif-item+.notif-item{border-top:1px solid var(--line-soft)}.notif-btn{width:100%;display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border:0;background:none;text-align:left;font:inherit;color:var(--text);cursor:pointer}.notif-btn:hover{background:var(--panel-2)}.notif-item.unread .notif-btn{background:var(--accent-soft)}.notif-item.unread .notif-btn:hover{background:color-mix(in srgb,var(--accent-soft) 70%,var(--panel-2))}.notif-icon{flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--gray-soft);color:var(--muted)}.notif-icon.blue{background:var(--blue-soft);color:var(--blue)}.notif-icon.amber{background:var(--amber-soft);color:var(--amber)}.notif-icon.red{background:var(--red-soft);color:var(--red)}.notif-icon.green{background:var(--green-soft);color:var(--green)}.notif-icon.accent{background:var(--panel);border:1px solid var(--accent-border);color:var(--accent-hover)}.notif-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-text{font-size:14px}.notif-item.unread .notif-text{font-weight:600}.notif-title{font-size:13.5px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-title.muted{color:var(--muted);font-style:italic}.notif-open{flex:none;align-self:center;color:var(--accent-text)}.notif-dot{flex:none;align-self:center;width:9px;height:9px;border-radius:999px;background:var(--accent-hover)}@media (max-width: 767px){.notif-btn{padding:var(--sp-3) var(--sp-4)}.notif-open{display:none}}.top-search-btn{display:none}.top-search{flex:1;display:flex;justify-content:center;min-width:0;padding:0 var(--sp-5)}.global-search{position:relative;width:min(520px,100%)}.global-search-box{display:flex;align-items:center;gap:var(--sp-2);height:36px;padding:0 12px;border:1px solid var(--line-input);border-radius:var(--r-md);background:var(--panel-2);color:var(--muted)}.global-search-box:focus-within{background:var(--panel);border-color:var(--focus-color);outline:2px solid var(--focus-color);outline-offset:0;box-shadow:var(--focus-ring)}.global-search-box input:focus-visible{outline:none}.global-search-box input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:13.5px;color:var(--text);outline:none}.global-search-pop{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;max-height:min(70vh,520px);overflow-y:auto;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow)}.gs-group+.gs-group{margin-top:4px;padding-top:4px;border-top:1px solid var(--line-soft)}.gs-head{padding:6px 10px 4px;font-size:12px;font-weight:600;color:var(--muted)}.gs-item{width:100%;display:flex;align-items:center;gap:var(--sp-2);padding:8px 10px;border:0;border-radius:var(--r-sm);background:none;font:inherit;text-align:left;color:var(--text);cursor:pointer}.gs-item.note{flex-direction:column;align-items:stretch;gap:2px}.gs-item:hover,.gs-item:focus-visible{background:var(--accent-soft)}.gs-item.active{background:var(--accent-soft);box-shadow:inset 2px 0 0 var(--accent)}.gs-line{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.gs-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-snippet{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gs-empty{padding:8px 10px}.gs-item.place>svg{flex:none;align-self:flex-start;margin-top:2px;color:var(--muted)}.gs-place{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.gs-code{flex:none;font-weight:700;color:var(--text)}.gs-path{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot.plain{background:var(--text)}.mywork-summary{margin:0 0 var(--sp-2)}.mywork-tabs .count-badge{min-width:20px;height:18px;padding:0 6px;font-size:var(--fs-xs)}.mywork-tabs .notif-filter.active .count-badge{background:var(--panel);color:var(--accent-text)}.mywork-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.mywork-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-soft);background:var(--panel)}.mywork-row:last-child{border-bottom:0}.mywork-open{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:2px;padding:4px 0;border:0;background:none;font:inherit;text-align:left;color:var(--text);cursor:pointer}.mywork-open:hover .mywork-title{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.mywork-line{display:flex;align-items:baseline;gap:var(--sp-2);min-width:0}.mywork-title{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mywork-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mywork-pills{display:inline-flex;align-items:center;gap:var(--sp-2)}.link-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.link-row{display:flex;align-items:center;gap:var(--sp-3);min-height:48px;padding:8px 8px 8px var(--sp-4);border-bottom:1px solid var(--line-soft);background:var(--panel)}.link-row:last-child{border-bottom:0}.link-row>.icon{color:var(--accent-hover)}.link-main{flex:1;min-width:0;display:flex;flex-direction:column}.link-title{font-weight:500;color:var(--text);overflow-wrap:anywhere}a.link-title{color:var(--accent-text)}a.link-title:hover{text-decoration:underline;text-underline-offset:3px}.link-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-form{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3);padding:var(--sp-3);border:1px solid var(--accent-border);border-radius:var(--r-md);background:var(--accent-soft)}.link-form input{height:var(--h-control);padding:0 12px;border:1px solid var(--line-input);border-radius:var(--r-sm);background:var(--panel);font:inherit;font-size:13.5px;color:var(--text)}.link-form input:focus{outline:2px solid var(--focus-color);outline-offset:0;border-color:var(--focus-color);box-shadow:var(--focus-ring)}.link-form-foot{display:flex;align-items:center;gap:var(--sp-2)}.link-form-foot>.sub{flex:1}.overview-panels{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:var(--sp-4);margin-bottom:var(--sp-6);min-width:0}.mywork-mini{grid-template-columns:1fr}.recent-list{list-style:none;margin:var(--sp-3) 0 0;padding:0}.recent-item{width:100%;display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin:0 -10px;border:0;border-radius:var(--r-sm);background:none;font:inherit;font-size:13.5px;text-align:left;color:var(--text);cursor:pointer}.recent-item:hover{background:var(--panel-2)}.recent-text{min-width:0}.recent-text b{font-weight:600}.recent-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 1279px){.overview-panels{grid-template-columns:1fr}}@media (max-width: 1023px){.top-search{padding:0 var(--sp-3)}}@media (max-width: 767px){.top-search-btn{display:inline-grid}.top-search{display:none}.top-search.open{display:block;position:fixed;top:56px;left:0;right:0;z-index:45;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:var(--shadow-sm)}.top-search .global-search{width:100%;max-width:100%}.top-search .global-search-pop{top:calc(100% + 6px);left:0;right:0;width:100%;max-height:60vh;overflow-y:auto}.overview-panels{grid-template-columns:minmax(0,1fr);min-width:0}.overview-panels .progress-card{min-width:0;width:100%;max-width:100%;padding:16px;box-sizing:border-box}.recent-item{margin:0;width:100%;min-width:0;box-sizing:border-box}}.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}.settings-card{max-width:520px;padding:var(--sp-5)}.settings-form{display:flex;flex-direction:column;gap:var(--sp-3)}.settings-hint{margin:0;font-size:var(--fs-small)}.settings-actions{display:flex;justify-content:flex-end}.member-picker{position:relative;display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.member-picked{font-size:var(--fs-xs)}.member-suggest{position:absolute;z-index:30;top:100%;left:0;right:0;margin:2px 0 0;padding:var(--sp-1) 0;list-style:none;max-height:260px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow)}.member-suggest-item{display:flex;flex-direction:column;gap:2px;min-height:44px;justify-content:center;padding:0 var(--sp-3);cursor:pointer}.member-suggest-item.active{background:var(--accent-soft)}@media (hover: hover){.member-suggest-item:hover{background:var(--gray-soft)}}.member-suggest-name{font-weight:600}.member-suggest-empty{padding:var(--sp-2) var(--sp-3)}.ce-card{margin-top:var(--sp-4);padding:var(--sp-5)}.ce-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.ce-sub{margin:var(--sp-1) 0 0;max-width:60ch}.ce-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.ce-empty{margin:var(--sp-3) 0 0}.ce-time{white-space:nowrap}.ce-toggle{display:block;width:100%;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.ce-toggle[aria-expanded=true]{font-weight:600}.ce-detail-row td{background:var(--panel-2)}.ce-detail{display:grid;grid-template-columns:max-content 1fr;gap:var(--sp-1) var(--sp-3);margin:0}.ce-detail dt{color:var(--muted);font-size:var(--fs-small)}.ce-detail dd{margin:0;min-width:0;overflow-wrap:anywhere}.ce-stack{margin:0;max-height:240px;overflow:auto;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.error-boundary{max-width:420px;margin:12vh auto}.error-boundary-title{margin:0 0 var(--sp-2);font-size:var(--fs-h2, 20px)}.ap-sub{margin:0 0 var(--sp-3)}.ap-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}.ap-warn{padding:var(--sp-3);margin-bottom:var(--sp-3);border:1px solid var(--danger, #b42318);border-radius:6px;overflow-wrap:anywhere}.ap-confirm{display:grid;gap:var(--sp-1)}.ap-confirm input{width:100%}@media (pointer: coarse){.ap-actions .btn{min-height:44px}}.tag-customer{display:inline-flex;align-items:center;height:20px;padding:0 7px;margin-right:var(--sp-2);border:1px solid var(--accent-border);border-radius:var(--r-sm);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;vertical-align:1px;white-space:nowrap}.note-hero-meta .tag-customer{margin-right:0}.dot.accent{background:var(--accent)}.project-section+.project-section{margin-top:var(--sp-2)}.project-section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:6px 12px 4px;font-size:12px;font-weight:600;color:var(--text)}.project-section-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-section-head small{color:var(--muted);font-weight:400}.project-section-head.none{color:var(--muted)}.customer-box{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5)}.customer-box-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-md);background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-text);flex:none}.customer-box-main{flex:1 1 220px;display:flex;flex-direction:column;gap:4px;min-width:0}.customer-box-label{font-size:12px;color:var(--muted)}.customer-box-main .notes-select{max-width:340px}.cn-preview{margin-top:var(--sp-2);padding:var(--sp-3) var(--sp-4);border:1px solid var(--accent-border);border-radius:var(--r-md);background:var(--accent-soft)}.cn-preview-head{font-size:13px;margin-bottom:var(--sp-2)}.cn-preview ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto}.cn-preview li{display:flex;flex-direction:column;gap:1px}.cn-preview-title{font-weight:500}.customers-layout{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:var(--sp-5);align-items:start}.customers-layout>.card{margin-top:var(--sp-5)}.customer-list{padding:var(--sp-2)}.customer-list ul{list-style:none;margin:0;padding:0}.customer-item{width:100%;display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:0;border-radius:var(--r-sm);background:none;font:inherit;text-align:left;color:var(--text);cursor:pointer}.customer-item:hover{background:var(--panel-2)}.customer-item.selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.customer-item-name{display:flex;align-items:baseline;gap:var(--sp-2);font-weight:500}.customer-item-name small,.customer-project-name small{color:var(--muted);font-weight:400}.customer-list-toggle{display:flex;padding:var(--sp-3) 12px var(--sp-2);border-top:1px solid var(--line-soft);margin-top:var(--sp-2)}.customer-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-3)}.customer-detail-head h2{margin:0;font-size:var(--fs-section);font-weight:600;display:flex;align-items:baseline;gap:var(--sp-2)}.customer-code{font-size:13px;font-weight:400;color:var(--muted)}.customer-desc{margin:0 0 var(--sp-3);white-space:pre-wrap}.customer-overview .note-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--sp-3) 0}@media (min-width: 1200px){.note-stats.with-customer{grid-template-columns:repeat(6,minmax(0,1fr))}}.customer-projects{list-style:none;margin:var(--sp-3) 0 0;padding:0}.customer-project{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:10px 12px;border:0;border-bottom:1px solid var(--line-soft);background:none;font:inherit;text-align:left;color:var(--text);cursor:pointer}.customer-project:hover{background:var(--panel-2)}.customer-project-name{flex:1 1 200px;display:flex;align-items:baseline;gap:var(--sp-2);font-weight:500}.customer-tab-foot{display:flex;justify-content:flex-end;margin-top:var(--sp-4)}.admin-list{list-style:none;margin:0 0 var(--sp-4);padding:0}.admin-list li{display:flex;align-items:center;gap:var(--sp-3);padding:8px 0;border-bottom:1px solid var(--line-soft)}.avatar.small{width:28px;height:28px;font-size:12px}.admin-who{flex:1;min-width:0;display:flex;flex-direction:column}.admin-add{display:flex;gap:var(--sp-2)}.admin-add input{flex:1;min-width:0}.count-badge.subtle{min-width:20px;height:18px;padding:0 6px;margin-left:4px;font-size:var(--fs-xs)}.req-list{list-style:none;margin:0;padding:0}.req-list.compact{margin-top:var(--sp-3)}.req-row{border-bottom:1px solid var(--line-soft)}.req-row:last-child{border-bottom:0}.req-row.archived .req-title,.req-row.inactive .req-title{color:var(--muted)}.req-line{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4)}.req-list.compact .req-line{padding:var(--sp-3) 0}.req-open{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:2px;padding:2px 0;border:0;background:none;font:inherit;text-align:left;color:var(--text);cursor:pointer}.req-open.static{cursor:default}button.req-open:hover .req-title{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.req-title{font-weight:500}.req-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.req-pills{display:inline-flex;align-items:center;gap:var(--sp-2)}.req-detail{padding:0 var(--sp-4) var(--sp-4)}.req-detail .drawer-content{padding:var(--sp-3) var(--sp-4);border:1px solid var(--line-soft);border-radius:var(--r-md);background:var(--panel-2)}.req-detail-meta{margin-top:var(--sp-2)}.req-history-title{margin:var(--sp-4) 0 var(--sp-2);font-size:13px;font-weight:600}.req-history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.req-history-line{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3)}.req-history-cat{margin-top:4px}@media (max-width: 900px){.customers-layout{grid-template-columns:minmax(0,1fr);gap:0}}.customer-notes-box{background:var(--accent-soft);border:1px solid var(--accent-border);padding:var(--sp-4) var(--sp-5)}.customer-notes-head{width:100%;display:flex;align-items:center;gap:var(--sp-2);background:transparent;border:0;font:inherit;text-align:left;cursor:pointer}.customer-notes-head h3{margin:0;font-size:var(--fs-card)}.customer-notes-head .icon{transition:transform .12s}.customer-notes-box.collapsed .customer-notes-head .icon{transform:rotate(-90deg)}.customer-notes-hint{margin:var(--sp-2) 0 0}.customer-notes-list{list-style:none;margin:var(--sp-3) 0 0;padding:0}.customer-notes-list li{border-top:1px solid var(--accent-border)}.customer-note-row{width:100%;display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-3);padding:10px 4px;background:transparent;border:0;border-radius:var(--r-sm);font:inherit;text-align:left;cursor:pointer}.customer-note-row:hover,.customer-note-row.is-active{background:var(--panel)}.customer-note-title{flex:1 1 240px;font-weight:500}@media (max-width: 767px){.customer-box{padding:var(--sp-3) var(--sp-4);gap:var(--sp-2)}.customer-box-icon{display:none}.customer-box-main{flex:1 1 100%}.customer-box-main .notes-select{width:100%;max-width:100%;height:var(--h-control);flex:none}.customer-box .btn{width:100%}.customer-notes-box{padding:var(--sp-3) var(--sp-4)}}.auth-page{--au-ease: cubic-bezier(.45, .05, .25, 1);--au-dur: .7s;--au-glow-in: #fff0cc;--au-glow-out: rgba(255, 240, 204, 0);--au-disc: #f6d8a4;--au-card-bg: rgba(255, 255, 255, .52);--au-card-border: rgba(255, 255, 255, .78);--au-card-shadow: 0 28px 70px rgba(38, 66, 86, .22), 0 4px 10px rgba(38, 66, 86, .08);--au-text: #14212b;--au-art-text: #ffffff;--au-art-sub: rgba(255, 255, 255, .92);--au-art-fade-bot: rgba(14, 28, 42, .9);--au-muted: #43525f;--au-field-bg: rgba(255, 255, 255, .72);--au-field-border: rgba(60, 90, 110, .28);--au-field-text: #14212b;--au-link: #76410f;--au-divider: rgba(60, 90, 110, .2);position:relative;min-height:100vh;min-height:100dvh;display:grid;place-items:start center;padding:clamp(16px,11vh,120px) clamp(16px,4vw,48px) 32px;overflow-x:hidden;color:var(--au-text);font-family:var(--font)}.auth-page[data-night=true]{--au-glow-in: rgba(190, 210, 235, .55);--au-glow-out: rgba(190, 210, 235, 0);--au-disc: #e3ebf4;--au-card-bg: rgba(14, 26, 42, .58);--au-card-border: rgba(255, 255, 255, .16);--au-card-shadow: 0 28px 70px rgba(0, 0, 0, .5), 0 4px 10px rgba(0, 0, 0, .3);--au-text: #eef4fa;--au-art-text: #c9d6e4;--au-art-sub: #9fb0c2;--au-art-fade-bot: rgba(6, 13, 22, .94);--au-muted: #aebccb;--au-field-bg: rgba(8, 18, 30, .55);--au-field-border: rgba(190, 210, 235, .28);--au-field-text: #f4f8fc;--au-link: #f1c08a;--au-divider: rgba(190, 210, 235, .2)}.auth-page ::selection{background:var(--mark);color:#14212b}.auth-page input{caret-color:var(--accent-hover)}.auth-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#cfe0ea}.auth-bg-photo{position:absolute;top:-48px;right:-48px;bottom:-48px;left:-48px;background-position:60% 30%;background-size:cover;filter:blur(26px) saturate(1.15);transition:filter var(--au-dur) var(--au-ease)}.auth-bg-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#ebf4fa59,#ebf4fa1a);transition:background var(--au-dur) var(--au-ease),opacity var(--au-dur) var(--au-ease)}.auth-bg-sunlight{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(55% 48% at 78% 14%,#ffeec8d9,#ffeec800 70%);transition:opacity var(--au-dur) var(--au-ease)}.auth-page[data-night=true] .auth-bg-photo{filter:blur(26px) brightness(.3) saturate(.7) hue-rotate(-12deg)}.auth-page[data-night=true] .auth-bg-tint{background:linear-gradient(180deg,#08162eb8,#122c4e8c)}.auth-page[data-night=true] .auth-bg-sunlight{opacity:0}.auth-card{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1fr);width:min(900px,100%);min-height:540px;padding:14px;gap:14px;border:1px solid var(--au-card-border);border-radius:26px;background:var(--au-card-bg);-webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25);box-shadow:var(--au-card-shadow);overflow:hidden;transition:background-color var(--au-dur) var(--au-ease),border-color var(--au-dur) var(--au-ease)}.auth-card:focus{outline:none}.auth-art,.auth-side{position:relative;z-index:1}.auth-art{position:relative;overflow:hidden;min-height:420px;border-radius:16px;isolation:isolate;box-shadow:inset 0 0 0 1px #ffffff47}.auth-photo{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.auth-photo-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%;filter:saturate(1.05);transition:filter var(--au-dur) var(--au-ease)}.auth-page[data-night=true] .auth-photo-img{filter:brightness(.3) saturate(.55) contrast(1.1) hue-rotate(-14deg)}.auth-photo-tint{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#fff4de38,#fff4de00 55%);transition:opacity var(--au-dur) var(--au-ease)}.auth-page[data-night=true] .auth-photo-tint{opacity:0}.auth-site-light{position:absolute;left:8%;right:8%;bottom:26%;height:34%;background:radial-gradient(60% 70% at 50% 100%,#ffb06052,#ffb06000 70%);opacity:0;mix-blend-mode:screen;transition:opacity var(--au-dur) var(--au-ease)}.auth-page[data-night=true] .auth-site-light{opacity:1}.auth-stars{position:absolute;top:0;right:0;bottom:55%;left:0;opacity:0;background-image:radial-gradient(1.4px 1.4px at 12% 18%,#fff,transparent),radial-gradient(1px 1px at 28% 8%,#fff,transparent),radial-gradient(1.2px 1.2px at 46% 22%,#fff,transparent),radial-gradient(1px 1px at 63% 10%,#fff,transparent),radial-gradient(1.4px 1.4px at 78% 26%,#fff,transparent),radial-gradient(1px 1px at 90% 12%,#fff,transparent),radial-gradient(1px 1px at 8% 38%,#fff,transparent),radial-gradient(1.2px 1.2px at 36% 42%,#fff,transparent),radial-gradient(1px 1px at 84% 44%,#fff,transparent);transition:opacity var(--au-dur) var(--au-ease)}.auth-page[data-night=true] .auth-stars{opacity:.9}.auth-orb-glow{position:absolute;left:4%;top:2%;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--au-glow-in),var(--au-glow-out) 68%);transition:opacity var(--au-dur) var(--au-ease)}.auth-photo-fade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(20,36,50,.4) 0%,rgba(20,36,50,0) 26%,rgba(20,36,50,0) 44%,var(--au-art-fade-bot) 100%)}.auth-art-brand{position:absolute;top:14px;left:14px;z-index:2;display:flex;align-items:center;gap:10px;padding:5px 14px 5px 5px;border-radius:999px;color:#fff;background:#0e1c2a94;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.auth-art-brand .brandmark{width:34px;height:34px}.auth-brand-jp{font-size:12.5px;font-weight:500;letter-spacing:.02em}.auth-art-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 24px 28px;text-align:center;color:var(--au-art-text);transition:color var(--au-dur) var(--au-ease)}.auth-art-copy .auth-art-title{margin:0 0 8px;font-size:24px;font-weight:650;letter-spacing:-.01em}.auth-art-copy p{margin:0 auto;max-width:26ch;font-size:13.5px;line-height:1.5;color:var(--au-art-sub);transition:color var(--au-dur) var(--au-ease)}.auth-side{display:grid;place-items:center;padding:clamp(12px,2.4vw,28px) clamp(10px,2vw,24px)}.auth-side-inner{position:relative;width:min(340px,100%)}.auth-form h1{margin:0 0 var(--sp-5);text-align:center;font-size:30px;font-weight:650;letter-spacing:-.02em;color:var(--au-text);transition:color var(--au-dur) var(--au-ease)}.auth-lead{margin:calc(-1 * var(--sp-3)) 0 var(--sp-5);text-align:center;color:var(--au-muted);font-size:14px;line-height:1.5}.auth-form .field{margin-bottom:var(--sp-3)}.auth-form .field-label{color:var(--au-muted);font-size:var(--fs-small)}.auth-form .field input{height:46px;font-size:15px;color:var(--au-field-text);background:var(--au-field-bg);border:1px solid var(--au-field-border);border-radius:12px;transition:background-color var(--au-dur) var(--au-ease),border-color var(--au-dur) var(--au-ease),color var(--au-dur) var(--au-ease)}.auth-form .field input:focus-visible{border-color:var(--accent-hover);box-shadow:0 0 0 3px #e9a66b59}.auth-pw{position:relative;display:block}.auth-pw input{width:100%;padding-right:52px}.auth-pw-toggle{position:absolute;top:50%;right:4px;z-index:3;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:var(--au-muted);cursor:pointer;transition:color var(--au-dur) var(--au-ease)}.auth-pw-toggle:focus-visible{outline:2px solid var(--focus-color);outline-offset:1px}.auth-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.auth-form .form-error,.auth-form .form-info{margin:0 0 var(--sp-3)}.auth-form .auth-submit{gap:8px;height:48px;margin-top:var(--sp-2);border-radius:12px;font-size:15px;font-weight:650}.auth-arrow{flex:none}.auth-links{display:flex;justify-content:flex-end;margin:2px 0 var(--sp-3)}.auth-links button{min-height:44px;min-width:44px;padding:0 2px;border:0;border-radius:var(--r-sm);background:none;color:var(--au-link);font:inherit;font-size:var(--fs-small);font-weight:600;cursor:pointer;transition:color var(--au-dur) var(--au-ease)}.auth-links button:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.auth-note{margin:var(--sp-5) 0 0;padding-top:var(--sp-4);border-top:1px solid var(--au-divider);color:var(--au-muted);font-size:var(--fs-small);line-height:1.5;text-align:center;transition:color var(--au-dur) var(--au-ease)}@media (hover: hover){.auth-links button:hover{text-decoration:underline;text-underline-offset:3px}.auth-pw-toggle:hover{background:#ffffff29}.auth-form .auth-submit{transition:transform .14s var(--au-ease),background-color .14s var(--au-ease)}.auth-form .auth-submit:hover:not([aria-disabled]){transform:translateY(-1px)}.auth-form .auth-submit:active:not([aria-disabled]){transform:translateY(1px) scale(.985)}}@media (prefers-reduced-motion: reduce){.auth-page *,.auth-page *:before,.auth-page *:after{transition-duration:.12s!important;animation-duration:.01ms!important}}@media (max-width: 860px){.auth-page{place-items:start center;padding:12px}.auth-card{grid-template-columns:minmax(0,1fr);min-height:0;padding:10px;gap:6px;border-radius:22px}.auth-art{min-height:168px;height:168px}.auth-art-copy{display:none}.auth-side{padding:14px 8px 18px}.auth-form h1{font-size:26px}}.auth-form .field-error{color:#a83c3c}.auth-page[data-night=true] .auth-form .field-error{color:#ffb4b4}.auth-page[data-night=true] .auth-form .form-error{color:#ffc4c4;background:#c24b4b33;border-color:#ffb4b461}.auth-page[data-night=true] .auth-form .form-info{color:#bfe8d4;background:#39856838;border-color:#bee0d159}.auth-orb-btn{position:absolute;left:21%;top:14%;z-index:3;width:17%;min-width:44px;aspect-ratio:1;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;transition:transform .26s ease-out}.auth-orb-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #fffffff2,0 0 0 5px var(--focus-color)}.auth-sun,.auth-moon{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;transition:opacity var(--au-dur) var(--au-ease),transform var(--au-dur) var(--au-ease)}.auth-sun{background:#f6d8a4;box-shadow:0 0 28px 6px #fff0cce6}.auth-moon{background:#e3ebf4;box-shadow:0 0 28px 6px #bed2eb8c;opacity:0;transform:translateY(150%) scale(.92)}.auth-moon i{position:absolute;border-radius:50%;background:#788ca559}.auth-moon i:nth-child(1){left:24%;top:22%;width:24%;height:24%}.auth-moon i:nth-child(2){left:56%;top:46%;width:18%;height:18%}.auth-moon i:nth-child(3){left:36%;top:68%;width:14%;height:14%}.auth-page[data-night=true] .auth-sun{opacity:0;transform:translateY(150%) scale(.92)}.auth-page[data-night=true] .auth-moon{opacity:1;transform:translateY(0) scale(1)}@media (hover: hover){.auth-orb-btn:hover{transform:scale(1.05)}}@media (max-width: 860px){.auth-orb-btn{left:auto;right:12%;top:24%;width:56px}.auth-orb-glow{left:auto;right:-6%;top:-22%;width:52%}}.rc{display:flex;flex-direction:column;-webkit-user-select:none;user-select:none;width:100%}.rc-head{display:flex;align-items:center;justify-content:space-between;padding:0 var(--sp-1);margin-bottom:var(--sp-2)}.rc-title{margin:0;font-size:var(--fs-card);font-weight:600;color:var(--text);text-align:center}.rc-nav-btn{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:var(--r-sm);cursor:pointer;padding:0;line-height:1;transition:background-color .2s cubic-bezier(.2,.8,.2,1),color .2s cubic-bezier(.2,.8,.2,1),border-color .2s cubic-bezier(.2,.8,.2,1)}.rc-nav-arrow{font-size:20px;line-height:1;display:block;-webkit-user-select:none;user-select:none}@media (hover: hover){.rc-nav-btn:hover:not(:disabled){background:var(--gray-soft);color:var(--text);transition-duration:.14s}}.rc-nav-btn:focus-visible{outline:2px solid var(--focus-color);outline-offset:1px;box-shadow:var(--focus-ring)}@media (pointer: coarse){.rc-nav-btn{min-width:44px;min-height:44px}}.rc-grid{display:flex;flex-direction:column;width:100%}.rc-weekdays{display:grid;grid-template-columns:repeat(7,1fr);width:100%;margin-bottom:var(--sp-1)}.rc-weekday{text-align:center;font-size:var(--fs-xs);font-weight:600;color:var(--muted);padding:var(--sp-1) 0}.rc-body{display:flex;flex-direction:column;width:100%}.rc-row{display:grid;grid-template-columns:repeat(7,1fr);width:100%}.rc-cell{position:relative;min-height:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;margin:0;background:transparent}@media (pointer: coarse){.rc-cell{min-height:44px;height:44px}}.rc-cell.rc-cell-range{background:var(--accent-soft)}.rc-cell.rc-cell-range.rc-cell-row-start{border-top-left-radius:var(--r-sm);border-bottom-left-radius:var(--r-sm)}.rc-cell.rc-cell-range.rc-cell-row-end{border-top-right-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm)}.rc-cell.rc-cell-start{background:var(--accent-soft);border-radius:9999px 0 0 9999px}.rc-cell.rc-cell-end{background:var(--accent-soft);border-radius:0 9999px 9999px 0}.rc-cell.rc-cell-start.rc-cell-row-end{border-top-right-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm)}.rc-cell.rc-cell-end.rc-cell-row-start{border-top-left-radius:var(--r-sm);border-bottom-left-radius:var(--r-sm)}.rc-day{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid transparent;background:transparent;color:var(--text);font-family:var(--mono);font-size:var(--fs-small);font-variant-numeric:tabular-nums;cursor:pointer;padding:0;position:relative;z-index:1;transition:background-color .2s cubic-bezier(.2,.8,.2,1),color .2s cubic-bezier(.2,.8,.2,1),border-color .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s cubic-bezier(.2,.8,.2,1)}@media (hover: hover){.rc-day:hover:not(.rc-edge):not(.rc-today){background:var(--gray-soft);transition-duration:.14s}}.rc-day.rc-other-month{color:var(--disabled)}.rc-day.rc-in-range{color:var(--accent-text);font-weight:500}.rc-day.rc-today{background:var(--accent);color:var(--on-accent);font-weight:600}.rc-day.rc-edge{background:var(--accent-text);color:#fff;font-weight:600}.rc-day.rc-today.rc-edge{box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--accent)}.rc-day:focus-visible{outline:2px solid var(--focus-color);outline-offset:1px;box-shadow:var(--focus-ring)}.rc-foot{display:flex;justify-content:flex-end;padding:var(--sp-2) var(--sp-1) 0;margin-top:var(--sp-1);border-top:1px solid var(--line-soft)}@media (prefers-reduced-motion: reduce){.rc,.rc *,.rc *:before,.rc *:after{transition:none!important}}.dl-chip{--dl-bg: var(--gray-soft);--dl-fg: var(--muted);--dl-bd: var(--line);display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid var(--dl-bd);border-radius:999px;background:var(--dl-bg);color:var(--dl-fg);font:inherit;font-size:var(--fs-small);font-weight:500;white-space:nowrap;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s cubic-bezier(.2,.8,.2,1)}.dl-chip.is-button{cursor:pointer}.dl-chip.is-button:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.dl-chip.is-button:active{transform:translateY(1px)}.dl-chip-text{font-variant-numeric:tabular-nums;font-size:var(--fs-small)}.dl-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.dl-done{--dl-bg: var(--green-soft);--dl-fg: var(--green-text);--dl-bd: var(--green-border)}.dl-overdue{--dl-bg: var(--red-soft);--dl-fg: var(--red-text);--dl-bd: var(--red-border)}.dl-soon{--dl-bg: var(--amber-soft);--dl-fg: var(--amber-text);--dl-bd: var(--amber-border)}.dl-running{--dl-bg: var(--blue-soft);--dl-fg: var(--blue);--dl-bd: var(--blue-border)}.dl-upcoming{--dl-bg: var(--gray-soft);--dl-fg: var(--muted);--dl-bd: var(--line)}.dl-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-3);margin-bottom:var(--sp-3);align-items:start}.dl-fields>.field{margin-bottom:0}.dl-date{font-family:var(--mono);font-size:var(--fs-small);transition:border-color .14s cubic-bezier(.2,.8,.2,1),box-shadow .14s cubic-bezier(.2,.8,.2,1)}.dl-date.is-active{border-color:var(--focus-color);box-shadow:var(--focus-ring)}.dl-error,.dl-warn{display:flex;align-items:flex-start;gap:6px;margin-bottom:var(--sp-3);font-size:var(--fs-small)}.dl-error{color:var(--red-text)}.dl-warn{color:var(--amber-text)}.modal-actions:has(.dl-secondary){flex-wrap:wrap}.dl-secondary{display:flex;gap:8px;flex:1 0 100%}.btn.dl-clear{color:var(--red-text)}.btn.dl-clear:hover:not(:disabled){background:var(--red-soft);border-color:var(--red-border)}@media (hover: hover) and (pointer: fine){.dl-chip.is-button:hover{transform:translateY(-1px);border-color:currentColor}}@media (pointer: coarse){.dl-chip{min-height:44px}}@media (prefers-reduced-motion: reduce){.dl-chip,.dl-date{transition:none}.dl-chip.is-button:hover,.dl-chip.is-button:active{transform:none}}.dl-assignees{margin:var(--sp-4) 0 0;padding:0;border:0;min-width:0}.dl-assignees legend{padding:0;margin-bottom:var(--sp-2);font-size:var(--fs-small);font-weight:600;color:var(--text)}.dl-assignee-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;max-height:180px;overflow-y:auto;border:1px solid var(--line);border-radius:var(--r-md)}.dl-assignee{display:flex;align-items:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-3);cursor:pointer;border-bottom:1px solid var(--line-soft)}.dl-assignee-list li:last-child .dl-assignee{border-bottom:0}.dl-assignee input{flex:0 0 auto}.dl-assignee-name{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-assignee small{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover: hover){.dl-assignee:hover{background:var(--gray-soft)}}@media (pointer: coarse){.dl-assignee{min-height:48px}}.dd-list{margin:0;display:flex;flex-direction:column}.dd-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:var(--sp-3);align-items:start;padding:var(--sp-3) 0;border-bottom:1px solid var(--line-soft)}.dd-row:last-child{border-bottom:0}.dd-row dt{color:var(--muted);font-size:var(--fs-small)}.dd-row dd{margin:0}.dd-note{margin-left:var(--sp-2)}.dd-people{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-2)}.dd-people li{display:flex;align-items:center;gap:var(--sp-2)}.gc-scroll{overflow-x:auto;overflow-y:hidden;background:var(--panel);border-radius:var(--r-md);max-width:100%}.gc-scroll:focus-visible{outline:2px solid var(--focus-color);outline-offset:-2px;box-shadow:var(--focus-ring)}.gc-inner{position:relative;min-width:100%}.gc-head,.gc-row{display:flex;height:36px;border-bottom:1px solid var(--line-soft)}.gc-head{height:48px;background:var(--panel-2);border-bottom-color:var(--line)}.gc-corner,.gc-label{position:sticky;left:0;z-index:3;flex:0 0 220px;width:220px;box-sizing:border-box;background:var(--panel);border-right:1px solid var(--line)}.gc-corner{display:flex;align-items:center;padding:0 var(--sp-3);background:var(--panel-2);font-size:var(--fs-xs);color:var(--muted);font-weight:600}.gc-head-track,.gc-track{position:relative;flex:0 0 auto}.gc-months,.gc-ticks{position:relative;height:24px}.gc-month,.gc-tick{position:absolute;top:0;height:24px;line-height:24px;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;box-sizing:border-box;padding-left:6px}.gc-month{border-left:1px solid var(--line);font-weight:600}.gc-tick{font-family:var(--mono);border-left:1px solid var(--line-soft)}.gc-label{display:flex;align-items:center;gap:2px;padding:0 var(--sp-2) 0 var(--sp-1)}.gc-label-nested{padding-left:20px}.gc-toggle,.gc-toggle-gap{flex:0 0 22px;width:22px;height:22px}.gc-toggle{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);border-radius:var(--r-sm);cursor:pointer;padding:0;transition:transform .2s cubic-bezier(.2,.8,.2,1)}.gc-toggle:not(.gc-open) .icon{transform:rotate(-90deg)}.gc-toggle:focus-visible,.gc-name:focus-visible,.gc-bar:focus-visible{outline:2px solid var(--focus-color);outline-offset:1px;box-shadow:var(--focus-ring)}.gc-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;justify-content:center;text-align:left;border:0;background:transparent;padding:0 2px;height:100%;cursor:pointer;color:var(--text);font:inherit;border-radius:var(--r-sm)}.gc-name-main{font-size:var(--fs-small);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gc-name-sub{font-family:var(--mono);font-size:11px;line-height:1.2;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gc-meta{flex:0 0 auto;font-size:11px;color:var(--muted);white-space:nowrap}.gc-bar{position:absolute;top:13px;height:10px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:var(--r-sm);border:1px solid transparent;cursor:pointer;transition:transform .2s cubic-bezier(.2,.8,.2,1),border-color .2s cubic-bezier(.2,.8,.2,1)}.gc-done{background:var(--green-soft);border-color:var(--green-border);color:var(--green)}.gc-overdue{background:var(--red-soft);border-color:var(--red);color:var(--red)}.gc-soon{background:var(--amber-soft);border-color:var(--amber);color:var(--amber)}.gc-running{background:var(--blue-soft);border-color:var(--blue-border);color:var(--blue)}.gc-upcoming{background:var(--gray-soft);border-color:var(--line-strong);color:var(--muted)}.gc-done{box-shadow:inset 3px 0 0 var(--green)}.gc-running{box-shadow:inset 3px 0 0 var(--blue)}.gc-soon{box-shadow:inset 3px 0 0 var(--amber)}.gc-overdue{box-shadow:inset 3px 0 0 var(--red)}.gc-upcoming{box-shadow:inset 3px 0 0 var(--disabled)}@media (hover: hover) and (pointer: fine){.gc-bar:hover{transform:translateY(-1px);transition-duration:.14s}.gc-done:hover{border-color:var(--green)}.gc-running:hover{border-color:var(--blue)}.gc-soon:hover{border-color:var(--amber-text)}.gc-overdue:hover{border-color:var(--red-hover)}.gc-upcoming:hover{border-color:var(--muted)}.gc-name:hover .gc-name-main{text-decoration:underline}.gc-toggle:hover{background:var(--gray-soft);color:var(--text)}}.gc-end{position:absolute;top:0;height:36px;line-height:36px;font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap;pointer-events:none}.gc-dimmed .gc-name,.gc-dimmed .gc-meta,.gc-dimmed .gc-toggle,.gc-dimmed .gc-bar,.gc-dimmed .gc-end{opacity:.55}.gc-today{position:absolute;top:0;bottom:0;width:1.5px;margin-left:-.75px;background:var(--accent-hover);z-index:2;pointer-events:none}.gc-today-tag{position:absolute;top:2px;left:50%;transform:translate(-50%);padding:1px 6px;border-radius:var(--r-sm);background:var(--accent-hover);color:var(--on-accent);font-size:10.5px;line-height:14px;font-weight:600;white-space:nowrap}.gc-empty{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);padding:var(--sp-6) var(--sp-4);color:var(--muted);text-align:center;font-size:var(--fs-body)}.gc-empty p{margin:0;max-width:360px}@media (prefers-reduced-motion: reduce){.gc-bar,.gc-toggle{transition:none}.gc-bar:hover{transform:none}}.ps-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4);margin-bottom:var(--sp-4)}@media (min-width: 1680px){.ps-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}}.ps-card .card-head{display:flex;align-items:center;gap:var(--sp-2)}.ps-scale{margin-left:auto}.ps-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.ps-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:48px;padding:var(--sp-2) 0;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.ps-list li:last-child .ps-item{border-bottom:0}.ps-item:focus-visible{outline:2px solid var(--focus-color);outline-offset:2px}.ps-item-main{display:flex;flex-direction:column;min-width:0;flex:1}.ps-item-main b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ps-item-main small{color:var(--muted);font-size:var(--fs-xs)}.ps-item>.icon{transform:rotate(-90deg);color:var(--muted)}@media (hover: hover){.ps-item:hover .ps-item-main b{text-decoration:underline}}@media (pointer: coarse){.ps-item{min-height:56px}}.schedule-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.schedule-toolbar .notif-filters{margin:0}.ps-gantt{padding-bottom:var(--sp-4)}.ps-gantt .gc-scroll{min-height:320px}.ps-gantt .gc-row{height:48px}.ps-gantt .gc-head{height:56px}.ps-gantt .gc-corner,.ps-gantt .gc-label{flex-basis:280px;width:280px}.ps-gantt .gc-bar{top:17px;height:14px}.ps-gantt .gc-name-main{font-size:var(--fs-body)}.schedule-toolbar-end{margin-left:auto}.export-item-text{display:flex;flex-direction:column;line-height:1.3}.export-item-text small{color:var(--muted);font-size:var(--fs-small, 12px)}.menu-list .export-item-text{padding:4px 0}.print-sheet{display:none}@page{size:A4 landscape;margin:12mm}@media print{body>*:not(.print-sheet){display:none!important}html,body{background:#fff!important;color:#000!important}.print-sheet{display:block;background:#fff;color:#000;font-size:10pt}.ps-print-title{margin:0 0 2mm;font-size:16pt;color:#000}.ps-print-meta{margin:0 0 4mm;font-size:9pt;color:#000}.ps-print-table{width:100%;border-collapse:collapse;color:#000}.ps-print-table thead{display:table-header-group}.ps-print-table th,.ps-print-table td{border:.3mm solid #000;padding:1.2mm 2mm;text-align:left;vertical-align:top;font-weight:400;overflow-wrap:anywhere}.ps-print-table thead th{font-weight:700;background:#eee}.ps-print-table tr{break-inside:avoid;page-break-inside:avoid}.ps-print-group th{font-weight:700;background:#f3f3f3;break-after:avoid}}
