:root{--ink:#1d2429;--muted:#6d7a80;--soft:#f3f6f7;--panel:#fff;--line:#d9e1e4;--concrete:#c8d0d3;--blue:#2f8fa3;--amber:#c8922e;--red:#cf5f53;--shadow:0 14px 34px #1d242914;--radius:8px;--body:"BIZ UDPGothic", "Yu Gothic UI", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--display:"IBM Plex Sans JP", "Yu Gothic", "Hiragino Sans", sans-serif;--mono:"IBM Plex Mono", "SFMono-Regular", Consolas, monospace}*{box-sizing:border-box}html{min-width:320px;color:var(--ink);background:var(--soft);font-family:var(--body);letter-spacing:0}body{background:linear-gradient(90deg, #1d242909 1px, transparent 1px), linear-gradient(180deg, #1d242908 1px, transparent 1px), var(--soft);background-size:44px 44px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #2f8fa347}.app{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#f7fbfc;background:#20282d;height:100vh;padding:24px 16px;position:sticky;top:0}.brand{align-items:center;gap:12px;margin-bottom:34px;display:flex}.brand-mark{border-radius:var(--radius);width:42px;height:42px;font:700 13px/1 var(--mono);background:linear-gradient(135deg,#0000 0 42%,#2f8fa3e6 43% 49%,#0000 50%),#ffffff0f;border:1px solid #ffffff47;place-items:center;display:grid}.brand strong{font:700 18px/1.1 var(--display);display:block}.brand span{color:#f7fbfc94;font:700 10px/1 var(--mono);margin-top:4px;display:block}.nav{gap:4px;display:grid}.nav button{border-radius:var(--radius);color:#f7fbfcb8;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;min-height:42px;padding:0 11px;font-weight:700;display:flex}.nav button.active{color:#fff;background:#2f8fa329;border-color:#2f8fa36b}.nav svg{stroke-width:1.8px;width:18px;height:18px}.main{min-width:0;padding:26px}.topbar{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;margin-bottom:18px;display:grid}h1{font:700 clamp(28px, 4vw, 42px)/1.08 var(--display);margin:0}.actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:40px;color:var(--ink);padding:0 14px;font-weight:700}.button.primary{background:var(--blue);color:#fff;border-color:#257f91}.summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.summary-card{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffe6;min-height:118px;padding:15px}.summary-card span{color:var(--muted);font:700 12px/1 var(--body);margin-bottom:18px;display:block}.summary-card strong{font:700 32px/1 var(--mono);display:block}.summary-card p{color:var(--muted);margin:9px 0 0;font-size:12px;line-height:1.5}.summary-card.warn strong{color:var(--amber)}.summary-card.alert strong{color:var(--red)}.status-message{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);margin:0 0 14px;padding:10px 12px;font-size:13px;line-height:1.5}.status-message.error{color:#8b362f;background:#cf5f5314;border-color:#cf5f5357}.layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:14px;display:grid}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#ffffffe0;min-width:0}.panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:0 15px;display:flex}.panel-header h2{font:700 17px/1.2 var(--display);margin:0}.board-content{grid-template-columns:minmax(0,1fr);align-items:start;gap:12px;padding:12px;display:grid}.search{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:18px 1fr;align-items:center;gap:8px;width:min(320px,100%);min-height:38px;padding:0 10px;display:grid}.search svg{width:17px;height:17px;color:var(--muted)}.search input{background:0 0;border:0;outline:0;min-width:0}.kanban{grid-template-columns:repeat(4,minmax(136px,1fr));gap:10px;min-width:0;display:grid;overflow-x:auto}.kanban.is-loading{pointer-events:none}.column{border:1px solid var(--line);border-radius:var(--radius);background:#f8fafb;min-width:136px}.column-title{color:var(--muted);font:700 12px/1 var(--body);margin:0;padding:11px 11px 9px}.cards{align-content:start;gap:8px;min-height:330px;padding:0 9px 9px;display:grid}.deal{border:1px solid var(--line);border-left:4px solid var(--concrete);border-radius:var(--radius);width:100%;color:var(--ink);text-align:left;background:#fff;padding:11px;box-shadow:0 8px 18px #1d24290d}.deal:hover{border-color:#aebdc3}.deal.selected{border-color:var(--blue);background:linear-gradient(#2f8fa314,#fff 42%);box-shadow:0 0 0 3px #2f8fa326,0 8px 18px #1d24290f}.deal.risk{border-left-color:var(--red)}.deal.watch{border-left-color:var(--amber)}.deal h3{font:700 13px/1.42 var(--display);margin:0 0 8px}.placeholder-card{border:1px solid var(--line);border-left:4px solid var(--concrete);border-radius:var(--radius);background-color:#fff;background-image:linear-gradient(90deg,#fff0,#2f8fa314,#fff0),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:220% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;height:116px}.deal-meta{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;line-height:1.4;display:flex}.tag-row{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.tag{border:1px solid var(--line);min-height:22px;color:var(--muted);font:700 11px/1 var(--mono);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;padding:0 7px;display:inline-flex}.tag.red{color:#a8453d;background:#cf5f5314;border-color:#cf5f5352}.tag.amber{color:#7c5a19;background:#c8922e1a;border-color:#c8922e57}.tag.blue{color:#226f7e;background:#2f8fa31a;border-color:#2f8fa352}.aside{gap:14px;display:grid}.today{border-radius:var(--radius);color:#fff;box-shadow:var(--shadow);background:#20282d;border:1px solid #2f8fa352;padding:0;overflow:hidden}.today-header{border-bottom:1px solid #ffffff1f;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:14px 16px;display:grid}.today-count{border-radius:var(--radius);width:56px;height:56px;font:700 32px/1 var(--mono);background:#2f8fa338;border:1px solid #ffffff38;place-items:center;display:grid}.today h2{font:700 20px/1.2 var(--display);margin:0}.todo-list{gap:8px;margin:0;padding:12px;list-style:none;display:grid}.todo-list li{border-radius:var(--radius);color:#f7fbfce6;background:#ffffff12;border:1px solid #ffffff1f;grid-template-columns:28px 1fr;gap:10px;min-height:58px;padding:10px;font-size:13px;line-height:1.5;display:grid}.todo-index{width:26px;height:26px;color:var(--ink);font:700 12px/1 var(--mono);background:#fff;border-radius:50%;place-items:center;display:grid}.todo-list strong{color:#fff;font:700 13px/1.35 var(--display);margin-bottom:2px;display:block}.todo-list span:last-child{color:#f7fbfcad}.todo-empty{color:#f7fbfcad;min-height:auto;display:block}.detail{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:var(--radius);background:var(--panel);padding:15px;position:static;box-shadow:0 8px 18px #1d24290d}.detail h2{font:700 17px/1.2 var(--display);margin:0 0 12px}.detail-label{color:var(--muted);font:700 11px/1 var(--mono);margin:0}.detail-title{font:700 19px/1.35 var(--display);margin:0 0 14px}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:13px;display:grid}.fact{border:1px solid var(--line);border-radius:var(--radius);background:#f8fafb;min-height:62px;padding:9px}.fact span{color:var(--muted);font:700 10px/1 var(--mono);margin-bottom:7px;display:block}.fact strong{font:700 15px/1.2 var(--mono);display:block}.next{border-radius:var(--radius);color:var(--ink);background:#f3f6f7;margin:0;padding:11px;font-size:13px;line-height:1.55}.detail.empty{border-left-color:var(--concrete)}@media (prefers-reduced-motion:no-preference){.deal,.button,.nav button,.placeholder-card{transition:border-color .16s,background .16s,color .16s,box-shadow .16s}.placeholder-card{animation:1.2s ease-in-out infinite pulse}}@keyframes pulse{0%{background-position:120% 0}to{background-position:-120% 0}}@media (width<=1080px){.summary,.layout{grid-template-columns:1fr}.aside{order:-1}.board-content{grid-template-columns:1fr}}@media (width<=760px){.app{grid-template-columns:1fr}.sidebar{height:auto;padding:16px;position:static}.brand{margin-bottom:14px}.nav{display:none}.main{padding:16px}.topbar{display:block}.actions{justify-content:flex-start;margin-top:14px}.panel-header{padding:13px;display:grid}.search{width:100%}}@media (width<=520px){.detail-grid{grid-template-columns:1fr}}
