.board-root{--paper:#f7f4ee;--paper-2:#fff;--ink:#20201d;--muted:#716c63;--faint:#9a958b;--line:#e3ddd1;--line-2:#ede8de;--accent:#1f5e54;--gold:#bd8526;--shadow:0 1px 2px #20201d0d, 0 8px 24px -12px #20201d2e;--serif:var(--font-serif), Georgia, serif;--board-sans:var(--font-sans), -apple-system, sans-serif;--mono:var(--font-mono), ui-monospace, monospace;font-family:var(--board-sans);color:var(--ink);background:radial-gradient(120% 120% at 0% 0%, #1f5e540a, transparent 40%), var(--paper);-webkit-font-smoothing:antialiased;min-height:100vh;padding:28px clamp(16px,4vw,40px) 56px}.board-root *{box-sizing:border-box}.board-root .wrap{max-width:1180px;margin:0 auto}.board-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px;display:flex}.board-root .eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:500}.board-root h1{font-family:var(--serif);letter-spacing:-.01em;margin-top:6px;font-size:clamp(28px,4vw,40px);font-weight:600;line-height:1.05}.weeknav{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:6px;padding:6px;display:flex}.weeknav button{font-family:var(--mono);color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:13px;transition:background .15s}.weeknav button:hover{background:var(--line-2)}.weeknav .wk-label{text-align:center;min-width:150px;padding:8px 4px;font-size:13px;font-weight:500}.weeknav .today{color:var(--accent);font-weight:500}.toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;padding-bottom:18px;display:flex}.stats{flex-wrap:wrap;gap:18px;margin-right:auto;display:flex}.stat{align-items:baseline;gap:7px;display:flex}.stat .num{font-family:var(--serif);font-size:26px;font-weight:600;line-height:1}.stat .lab{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.stat.s-open .num{color:var(--ink)}.stat.s-prog .num{color:var(--gold)}.stat.s-done .num{color:var(--accent)}.btn{font-family:var(--board-sans);cursor:pointer;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);white-space:nowrap;border-radius:9px;padding:9px 14px;font-size:13px;font-weight:500;transition:all .15s}.btn:hover{border-color:var(--faint);background:#fff}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--line-2);color:var(--ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:#194f47;border-color:#194f47}.btn:disabled{opacity:.5;cursor:not-allowed}.grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));align-items:start;gap:18px;display:grid}.card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;overflow:hidden}.card-top{align-items:center;gap:10px;padding:15px 16px 13px;display:flex}.dot{border-radius:50%;flex:none;width:11px;height:11px}.card-top .name{font-family:var(--serif);letter-spacing:-.01em;font-size:18px;font-weight:600}.card-top .ct{font-family:var(--mono);color:var(--faint);margin-left:auto;font-size:11px}.card-bar{width:100%;height:3px}.items{margin:0;padding:4px 8px 6px;list-style:none}.item{border-radius:9px;align-items:flex-start;gap:9px;padding:8px;transition:background .12s;display:flex}.item:hover{background:var(--paper)}.toggle{border:1.6px solid var(--faint);cursor:pointer;background:0 0;border-radius:50%;flex:none;width:18px;height:18px;margin-top:1px;transition:all .15s;position:relative}.toggle:hover{border-color:var(--ink)}.toggle.progress{border-color:var(--gold);background:radial-gradient(circle at center, var(--gold) 0 5px, transparent 5px)}.toggle.done{border-color:var(--accent);background:var(--accent)}.toggle.done:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(42deg)}.txt{color:var(--ink);flex:1;min-height:20px;padding:3px 4px;font-size:14px;line-height:1.4}.item.done .txt{color:var(--faint);text-decoration:line-through}.del{cursor:pointer;color:var(--faint);opacity:.55;background:0 0;border:none;flex:none;padding:4px 6px;font-size:18px;line-height:1;transition:opacity .12s,color .12s}.item:hover .del{opacity:1}.del:hover{color:#b0633f}@media (hover:none){.del{opacity:1}}.add{align-items:center;gap:8px;margin-top:auto;padding:6px 14px 14px;display:flex}.add input{border:none;border-bottom:1px solid var(--line);font-family:var(--board-sans);color:var(--ink);background:0 0;outline:none;flex:1;padding:7px 2px;font-size:13.5px}.add input::placeholder{color:var(--faint)}.add input:focus{border-color:var(--accent)}.empty{color:var(--faint);padding:14px;font-size:13px;font-style:italic}.loading{text-align:center;color:var(--muted);font-family:var(--mono);padding:60px 0;font-size:13px}.notion-panel{border-top:1px solid var(--line);margin-top:32px;padding-top:22px}.notion-head{align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.notion-head h2{font-family:var(--serif);font-size:18px;font-weight:600}.notion-meta{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);font-size:11px}.notion-json{font-family:var(--mono);color:var(--ink);background:var(--paper-2);border:1px solid var(--line);white-space:pre;max-height:520px;box-shadow:var(--shadow);border-radius:10px;padding:16px;font-size:12.5px;line-height:1.55;overflow:auto}.scrim{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#20201d6b;justify-content:center;align-items:flex-start;padding:48px 16px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border:1px solid var(--line);border-radius:16px;width:100%;max-width:560px;max-height:84vh;overflow:auto;box-shadow:0 24px 60px -20px #0006}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px 14px;display:flex}.modal-head h2{font-family:var(--serif);font-size:21px;font-weight:600}.modal-body{padding:18px 22px}.modal-foot{justify-content:space-between;align-items:center;gap:10px;padding:16px 22px 22px;display:flex}.field{border:1px solid var(--line);width:100%;font-family:var(--board-sans);background:var(--paper-2);color:var(--ink);border-radius:9px;outline:none;padding:9px 11px;font-size:14px}.field:focus{border-color:var(--accent)}.field-row{gap:10px;margin-bottom:12px;display:flex}.imp-help{color:var(--muted);margin-bottom:10px;font-size:12.5px;line-height:1.5}.imperr{color:#b0633f;padding:12px 2px;font-size:13px}.pv-head{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:16px 0 6px;font-size:11px}.pv-row{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:9px;padding:7px 0;display:flex}.pv-row input[type=checkbox]{accent-color:var(--accent);flex:none;width:15px;height:15px;margin-top:4px}.pv-row .ptxt{color:var(--ink);flex:1;padding:2px 0;font-size:13.5px}.pv-row.off{opacity:.45}.pv-row .tag{font-family:var(--mono);color:var(--faint);margin-top:4px;font-size:10px}.login-root{justify-content:center;align-items:center;display:flex}.login-card{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:16px;width:100%;max-width:380px;padding:36px 40px 40px}.login-card h1{margin:6px 0 0;font-size:30px}.login-sub{color:var(--muted);margin:10px 0 22px;font-size:13.5px}.login-btn{justify-content:center;display:flex}.board-user{align-items:center;gap:10px;display:flex}.board-user .who{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.board-user .avatar{border:1px solid var(--line);border-radius:50%;width:26px;height:26px}.view-switcher{font-family:var(--board-sans);border:1px solid var(--line);background:var(--paper-2);color:var(--ink);cursor:pointer;border-radius:9px;outline:none;padding:8px 10px;font-size:13px}.view-switcher:focus{border-color:var(--accent)}.assignee{flex:none;align-items:center;gap:3px;margin-top:1px;display:flex}.avatar-chip{color:#fff;letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;width:20px;height:20px;font-size:9.5px;font-weight:600;display:inline-flex}.assignee-more{font-family:var(--mono);color:var(--faint);font-size:10px}.view-more{text-align:center;width:calc(100% - 16px);font-family:var(--mono);letter-spacing:.04em;color:var(--accent);border:none;border-top:1px solid var(--line-2);cursor:pointer;background:0 0;border-radius:0;margin:2px 8px 8px;padding:9px;font-size:11.5px;text-decoration:none;display:block}.view-more:hover{background:var(--paper)}a.card-name-link{color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}a.card-name-link:hover .name{text-underline-offset:3px;text-decoration:underline}.company-logo{object-fit:contain;width:auto;display:block}.company-logo.sm{max-width:160px;height:22px}.company-logo.lg{max-width:260px;height:40px}.logo-chip{border-radius:9px;align-items:center;display:inline-flex}.card-top .logo-chip{padding:5px 10px}.card-top .logo-chip .company-logo.sm{height:18px}.company-title .logo-chip{padding:7px 13px}.company-title .logo-chip .company-logo.lg{height:30px}.header-right{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.header-account{align-items:center;gap:18px;display:flex}.title-col{flex-direction:column;gap:10px;display:flex}.back-link{width:fit-content;font-family:var(--mono);letter-spacing:.04em;color:var(--muted);align-items:center;gap:7px;font-size:12px;text-decoration:none;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--accent)}.company-title{align-items:center;gap:11px;display:flex}.company-title h1{font-size:clamp(24px,3.5vw,34px)}.company-card{max-width:760px}@media (max-width:640px){.board-root{padding:18px 16px 40px}.board-header{flex-direction:column;align-items:stretch;gap:16px}.header-right{align-items:stretch}.board-user,.header-account{justify-content:space-between;width:100%}.header-account .board-user{width:auto}.weeknav{justify-content:space-between;width:100%}.toolbar{flex-direction:column;align-items:stretch;gap:14px}.stats{margin-right:0}.view-switcher,.toolbar .btn.primary{width:100%}.grid{grid-template-columns:1fr}.company-card{max-width:100%}.company-title h1{font-size:26px}}
