:root{--bg:#f5f7fb;--card:#ffffff;--fg:#0f172a;--sub:#5b6476;--line:#e3e8f0;--acc:#2563eb;--acc-weak:#e8efff;--warn:#c2410c;--warn-weak:#fff1e8;--ok:#047857;--danger:#b91c1c;--shadow:0 1px 2px rgba(15,23,42,0.05),0 4px 16px rgba(15,23,42,0.04);color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1020;--card:#121a2e;--fg:#e6e9f2;--sub:#9aa4ba;--line:#223050;--acc:#6ea0ff;--acc-weak:#1a2a4d;--warn:#fb923c;--warn-weak:#3a2414;--ok:#34d399;--danger:#f87171;--shadow:none;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b1020;--card:#121a2e;--fg:#e6e9f2;--sub:#9aa4ba;--line:#223050;--acc:#6ea0ff;--acc-weak:#1a2a4d;--warn:#fb923c;--warn-weak:#3a2414;--ok:#34d399;--danger:#f87171;--shadow:none;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1{font-size:clamp(20px,3.2vw,26px);margin:0;line-height:1.35}h2{font-size:15px;margin:0 0 10px;color:var(--sub);font-weight:600;letter-spacing:.02em}button,input,select,textarea{font:inherit;color:inherit}.wrap{max-width:1120px;margin:0 auto;padding:0 16px}.main{padding-top:24px;padding-bottom:32px;min-height:70vh}.top{position:-webkit-sticky;position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--card) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.top-in{justify-content:space-between;gap:12px;height:58px}.brand,.top-in{display:flex;align-items:center}.brand{font-weight:800;gap:8px;white-space:nowrap}.brand .mark{color:var(--acc)}.brand small{font-size:11px;font-weight:600;color:var(--sub);border:1px solid var(--line);border-radius:999px;padding:0 8px}.tabs{display:flex;gap:4px}.tab{padding:6px 12px;border-radius:8px;color:var(--sub);font-weight:600;font-size:14px}.tab:hover{background:var(--acc-weak);color:var(--fg)}.tab.on{background:var(--acc);color:#fff}.page-h{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.sub{color:var(--sub);margin:4px 0 0;font-size:14px}.hgroup{display:flex;gap:10px;align-items:center}.crumb{font-size:13px;color:var(--sub);margin:0 0 8px}.crumb a{color:var(--acc)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:9px;border:1px solid var(--line);background:var(--card);font-weight:700;font-size:14px;cursor:pointer}.btn.primary,.btn:hover{border-color:var(--acc)}.btn.primary{background:var(--acc);color:#fff}.btn.primary:disabled{opacity:.45;cursor:not-allowed}.btn.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,var(--line));width:100%;margin-top:8px}.link{background:none;border:0;color:var(--acc);cursor:pointer;padding:0;margin-left:14px;font-size:13px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:18px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow)}.kpi span{display:block;font-size:12px;color:var(--sub);font-weight:600}.kpi b{font-size:26px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi small{color:var(--sub);margin-left:4px}.kpi.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:var(--warn-weak)}.kpi.warn b{color:var(--warn)}.seg{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;scrollbar-width:none}.seg button{flex:none;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;cursor:pointer;color:var(--sub)}.seg button.on{background:var(--fg);border-color:var(--fg);color:var(--bg)}.seg .count{margin-left:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.7}.list{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.row{display:grid;grid-template-columns:76px minmax(0,1fr) 92px 56px 72px 92px 112px;grid-gap:12px;gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--line);font-size:14px}.row:first-child{border-top:0}a.row:hover{background:var(--acc-weak)}.row.head{font-size:12px;color:var(--sub);font-weight:700;background:color-mix(in srgb,var(--bg) 60%,var(--card))}.row .id{color:var(--sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px}.row .title b{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row .title small{color:var(--sub);font-size:12px}.row .due,.row .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row .num{text-align:right}.due.late{color:var(--warn);font-weight:700}.due em{display:block;font-style:normal;font-size:11px}.badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}.s-new{background:#e0ecff;color:#1d4ed8}.s-doing{background:#fff4d6;color:#92400e}.s-quote{background:#f1e8ff;color:#6d28d9}.s-won{background:#dcfce7;color:#166534}.s-lost{background:#eef0f4;color:#4b5563}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .s-new{background:#1c2f5c;color:#9cc0ff}:root:not([data-theme=light]) .s-doing{background:#3d2f10;color:#fcd34d}:root:not([data-theme=light]) .s-quote{background:#2f1f55;color:#c4b5fd}:root:not([data-theme=light]) .s-won{background:#133a26;color:#86efac}:root:not([data-theme=light]) .s-lost{background:#262d3d;color:#aab3c5}}.prio{display:inline-flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.prio i{width:8px;height:8px;border-radius:50%;display:inline-block}.p-h i{background:#ef4444}.p-m i{background:#f59e0b}.p-l i{background:#94a3b8}.meta{font-size:13px;margin:12px 2px}.empty,.meta{color:var(--sub)}.empty{background:var(--card);border:1px dashed var(--line);border-radius:12px;padding:28px;text-align:center}.empty.small{padding:12px;font-size:13px}.filters{display:grid;grid-template-columns:2fr repeat(5,1fr);grid-gap:12px;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;box-shadow:var(--shadow);align-items:end}.filters label,.side label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--sub);font-weight:600}.filters .check{flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--fg);grid-column:1/-1}input:not([type]),input[type=date],input[type=search],select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--bg);font-size:15px;min-height:40px}input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--acc) 60%,transparent);outline-offset:0;border-color:var(--acc)}textarea{resize:vertical}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.pad{padding:20px}.detail{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:16px;gap:16px;align-items:start}.body{white-space:pre-wrap;margin:0 0 18px}.facts{display:grid;grid-template-columns:90px 1fr;grid-gap:6px 12px;gap:6px 12px;margin:0 0 22px;font-size:14px}.facts dt{color:var(--sub)}.facts dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.facts .late{color:var(--warn);font-weight:700}.timeline{list-style:none;padding:0;margin:0 0 14px;border-left:2px solid var(--line)}.timeline li{padding:0 0 12px 14px;position:relative}.timeline li:before{content:"";position:absolute;left:-6px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--acc)}.timeline time{font-size:12px;color:var(--sub);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.timeline p{margin:2px 0 0}.note-form{display:flex;gap:8px;align-items:flex-end}.note-form .btn{white-space:nowrap}.side{display:flex;flex-direction:column;gap:12px;position:-webkit-sticky;position:sticky;top:74px}.hint{font-size:12px;color:var(--sub);margin:0}.steps{display:flex;list-style:none;padding:0;margin:0 0 16px;gap:4px}.steps li{flex:1 1;text-align:center;font-size:12px;font-weight:700;padding:6px 4px;background:var(--card);border:1px solid var(--line);color:var(--sub);border-radius:6px}.steps li.done{background:var(--acc);border-color:var(--acc);color:#fff}.steps li.lost{text-decoration:line-through}.form{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px 18px;gap:16px 18px}.field{display:flex;flex-direction:column;gap:5px}.actions.wide,.field.wide{grid-column:1/-1}.lbl{font-size:13px;font-weight:700}.req{color:var(--danger);margin-left:3px}.field.bad input,.field.bad select{border-color:var(--danger)}.err{color:var(--danger);font-size:12px;margin:0}.radios{display:flex;gap:6px}.radios label{flex:1 1;text-align:center;border:1px solid var(--line);border-radius:8px;padding:7px 0;cursor:pointer;font-weight:700;background:var(--bg)}.radios label.on{border-color:var(--acc);background:var(--acc-weak);color:var(--acc)}.radios input{position:absolute;opacity:0;pointer-events:none}.actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-wrap:wrap}.actions .err{margin-right:auto;font-size:13px;font-weight:700}.foot{color:var(--sub);font-size:12px;padding-top:16px;padding-bottom:32px;border-top:1px solid var(--line)}@media (max-width:900px){.filters{grid-template-columns:1fr 1fr}.filters .grow{grid-column:1/-1}.detail{grid-template-columns:1fr}.side{position:static}.form{grid-template-columns:1fr 1fr}}@media (max-width:720px){.kpis{grid-template-columns:1fr 1fr}.row.head{display:none}.row{grid-template-columns:1fr auto;grid-template-areas:"title status" "id prio" "owner num" "due due";gap:4px 10px;padding:14px}.row .title{grid-area:title}.row .title b{white-space:normal}.row>:nth-child(3){grid-area:status;justify-self:end}.row>:nth-child(4){grid-area:prio;justify-self:end}.row .id{grid-area:id}.row .owner{grid-area:owner;font-size:13px;color:var(--sub)}.row .owner:before{content:"担当 "}.row .num{grid-area:num}.row .due{grid-area:due;font-size:13px;color:var(--sub)}.row .due:before{content:"期限 "}.row .due.late{color:var(--warn)}.row .due em{display:inline;margin-left:6px}.form{grid-template-columns:1fr}.note-form{flex-direction:column;align-items:stretch}.steps li{font-size:11px;padding:6px 2px}}@media (max-width:420px){.brand small{display:none}.tab{padding:6px 9px}.filters{grid-template-columns:1fr}}