:root{--bg:#faf7f0;--surface:#fff;--surface-2:#f5f1e8;--ink:#24302a;--muted:#6b7570;--line:#ebe5d8;--line-strong:#d9d1c0;--accent:#2f6b4f;--accent-ink:#1f4d38;--accent-soft:#dcebd9;--warm:#fdebd3;--warm-ink:#7a4a12;--danger:#b42318;--danger-soft:#fdecea;--radius:14px;--radius-s:10px;--shadow:0 1px 2px #3c321e0d, 0 6px 18px #3c321e0f;--maxw:76rem}*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--ink);background:var(--bg);margin:0;font:16px/1.7 system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif}.app{flex-direction:column;min-height:100vh;display:flex}.top{background:var(--surface);border-bottom:1px solid var(--line)}.top-inner{max-width:var(--maxw);flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin:0 auto;padding:.6rem 16px;display:flex}.brand{color:var(--accent-ink);align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent-soft);width:2rem;height:2rem;color:var(--accent);border-radius:9px;place-items:center;display:inline-grid}nav[aria-label=画面]{flex-wrap:wrap;gap:.15rem .25rem;display:flex}nav[aria-label=画面] a{color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .8rem;font-size:.95rem;text-decoration:none;display:inline-flex}nav[aria-label=画面] a:hover{background:var(--surface-2)}nav[aria-label=画面] a[aria-current=page]{background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.nav-badge{background:var(--accent);color:#fff;border-radius:999px;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.75rem;font-weight:700;display:inline-grid}.who{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-left:auto;display:flex}.who .keys-link{color:var(--accent);font-size:.9em}.who .logout{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9em;text-decoration:underline}.where{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.role-badge{background:var(--warm);color:var(--warm-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .75rem .2rem .25rem;font-size:.85rem;display:inline-flex}.role-code{background:var(--surface);letter-spacing:.04em;color:var(--ink);border-radius:999px;padding:0 .5rem;font-size:.75rem;font-weight:700}.page{width:100%;max-width:var(--maxw);flex:1;margin:0 auto;padding:1.5rem 16px 2.5rem}.foot{max-width:var(--maxw);width:100%;color:var(--muted);margin:0 auto;padding:1rem 16px 1.5rem;font-size:.85rem}h1{overflow-wrap:anywhere;letter-spacing:.02em;word-break:auto-phrase;text-wrap:balance;margin:.25rem 0 .75rem;font-size:1.6rem;line-height:1.35}h2{margin:1.75rem 0 .5rem;font-size:1.1rem}.eyebrow{color:var(--muted);letter-spacing:.12em;margin:0;font-size:.78rem}.lead{color:var(--muted);margin:.25rem 0 1rem}.key{color:var(--muted);margin-right:.25em;font-family:ui-monospace,Menlo,Consolas,monospace}.error{color:var(--danger);background:var(--danger-soft);border-radius:var(--radius-s);border:1px solid #f3c5bf;padding:.6rem .9rem}.notice{color:var(--accent-ink);background:var(--accent-soft);border-radius:var(--radius-s);padding:.6rem .9rem}.banner{color:var(--warm-ink);background:var(--warm);border-radius:var(--radius-s);margin:0 0 1rem;padding:.6rem .9rem}.hint{color:var(--muted)}label{flex-direction:column;gap:.3rem;font-size:.92rem;display:flex}form{flex-wrap:wrap;align-items:end;gap:.6rem 1rem;display:flex}input,select,textarea{font:inherit;border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);min-width:12rem;max-width:100%;padding:.45rem .7rem}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{width:100%;min-width:0}button{font:inherit;border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--surface);color:var(--ink);cursor:pointer;padding:.45rem .95rem;font-size:.95rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.3rem;font-weight:700;display:inline-flex}button.primary:hover:not(:disabled){background:var(--accent-ink)}button.secondary{background:var(--surface);border-color:var(--accent);color:var(--accent-ink);border-radius:999px;padding:.6rem 1.3rem;font-weight:700}button.link{color:var(--accent);background:0 0;border:none;padding:0;font-family:ui-monospace,Menlo,Consolas,monospace;text-decoration:underline}button.danger-link{color:var(--danger);background:0 0;border:none;padding:0;text-decoration:underline}a{color:var(--accent)}.actions{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.75rem 0;display:flex}.stack{flex-direction:column;align-items:stretch;gap:.75rem;display:flex}.stack label{max-width:100%}input.short{width:8rem;min-width:6rem}label.check{flex-direction:row;align-items:center;gap:.5rem}label.check input{width:auto;min-width:0}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.row{flex-wrap:wrap;gap:.6rem 1rem;display:flex}.counts{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:flex}.counts li{white-space:nowrap;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:.15rem .75rem;font-size:.9rem}.count-n{font-weight:700}.toolbar{flex-wrap:wrap;align-items:end;gap:.75rem 1.25rem;margin:.5rem 0 1rem;display:flex}.exports{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.range{color:var(--muted);margin:0 0 .5rem;font-size:.9rem}.range:focus{outline:none}.range:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.pager{justify-content:center;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.editing-title{color:var(--muted);font-size:1.1rem;font-weight:400}table{border-collapse:separate;border-spacing:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .8rem}tr:last-child td{border-bottom:none}th{white-space:nowrap;background:var(--surface-2);color:var(--muted);font-size:.85rem;font-weight:700}td.key-cell{white-space:nowrap}td.title{overflow-wrap:anywhere}td.num,th.num{text-align:right;white-space:nowrap}.status{border:1px solid var(--line-strong);white-space:nowrap;border-radius:999px;padding:.05em .6em;font-size:.85rem;display:inline-block}.overdue{background:var(--danger);color:#fff;white-space:nowrap;border-radius:999px;margin-left:.4em;padding:0 .5em;font-size:.75rem;font-weight:600;display:inline-block}.overdue-narrow{display:none}.due-cell{white-space:nowrap;font-variant-numeric:tabular-nums}.status-0{background:#fff4c2}.status-1{background:#ddefff}.status-2{background:#d9f2df}.status-3{background:#fbe4ef}.status-4{background:#ebe7df}.status-5{color:var(--muted);background:#e4e4e4}.status-6{color:var(--muted);background:#e4e4e4;text-decoration:line-through}.facts{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;margin:.5rem 0 1rem;padding:1rem 1.25rem;display:grid}.customer-form,.delivery-impacts{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:.75rem 1.25rem 1rem}.customer-form legend,.delivery-impacts legend{padding:0 .4rem;font-weight:600}.delivery-impacts{margin-top:1.5rem}.impact-row{align-items:flex-end}.impact-row label:nth-of-type(2){flex:20rem}.impact-row label:nth-of-type(2) input{width:100%}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}.body{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);margin:0;padding:.9rem 1rem}.move{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:1.25rem;padding:1rem 1.25rem}.comments,.work,.commits,.children{margin-top:1.25rem}.comment-list{flex-direction:column;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.comment-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.15rem .75rem;margin-bottom:.25rem;font-size:.85rem;display:flex}.child-list{flex-direction:column;gap:.25rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.child-list li{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;display:flex}.child-list .child-title{overflow-wrap:anywhere;flex:0 auto;min-width:0}.work-list,.commit-list{flex-direction:column;gap:.25rem;margin:0 0 .75rem;padding:0;list-style:none;display:flex}.work-list li,.commit-list li{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.work-note{color:var(--muted);overflow-wrap:anywhere}.work-total{margin:.25rem 0 .5rem}.commit-message{overflow-wrap:anywhere}.body-hash{overflow-wrap:anywhere;word-break:break-all;max-width:100%;margin-right:.75em;font-family:ui-monospace,Menlo,Consolas,monospace;display:inline-block}.note-list{flex-direction:column;gap:.6rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.note-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);padding:.7rem .9rem}.note-list li.fresh{border-left:4px solid var(--accent)}.badge-new{background:var(--accent);color:#fff;border-radius:999px;padding:0 .55rem;font-size:.75rem;font-weight:700}.note-text{overflow-wrap:anywhere}.two-tables{flex-wrap:wrap;align-items:flex-start;gap:1rem 2rem;display:flex}.two-tables table{flex:16rem;width:auto;min-width:16rem}.table-scroll{border-radius:var(--radius);overflow-x:auto}.member-table th,.member-table td{white-space:nowrap;vertical-align:top}.member-table td.wrap{white-space:normal;overflow-wrap:anywhere;min-width:18rem}.member-table .actions{flex-wrap:nowrap;align-items:center;margin:0}.member-table .stack-tight{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}.scroll-hint{display:none}@media (width<=720px){.scroll-hint{display:block}}.grant-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.locked{max-width:52rem;margin:1.5rem auto 0}.locked-hero{grid-template-columns:8rem 1fr;align-items:start;gap:1.5rem 2rem;display:grid}.locked-icon{background-color:#f6ead9;background-image:radial-gradient(#e8d5bb 1.2px,#0000 1.2px);background-size:12px 12px;border-radius:22px;place-items:center;width:8rem;height:8rem;display:grid}.locked-icon-inner{background:var(--surface);width:3.6rem;height:3.6rem;color:var(--accent);box-shadow:var(--shadow);border-radius:14px;place-items:center;display:grid}.locked h1{margin:.35rem 0 .75rem;font-size:1.9rem}.locked .actions{margin-top:1.25rem}.ask-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:.5rem;padding:1rem}.alt-heading{margin-top:2.25rem}.alt-cards{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.9rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.alt-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink);border-radius:18px;flex-direction:column;gap:.5rem;height:100%;padding:1.1rem 1.2rem;text-decoration:none;display:flex}.alt-card:hover{border-color:var(--accent)}.alt-icon{background:var(--accent-soft);width:2.2rem;height:2.2rem;color:var(--accent-ink);border-radius:10px;place-items:center;margin-bottom:.35rem;display:grid}.alt-link{color:var(--muted);font-size:.88rem}.locked-foot{border-top:1px solid var(--line);color:var(--muted);margin-top:2rem;padding-top:1rem;font-size:.9rem}.board{grid-template-columns:var(--cols,repeat(7, minmax(9.5rem, 1fr)));align-items:start;gap:.6rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.column{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);scrollbar-width:thin;min-height:6rem;max-height:calc(100vh - 11rem);padding:0 .6rem .6rem;overflow-y:auto}.column h2{background:var(--surface-2);z-index:1;align-items:baseline;gap:.5rem;margin:0 -.6rem .6rem;padding:.6rem;font-size:.95rem;display:flex;position:sticky;top:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:.5rem;padding:.6rem;box-shadow:0 1px 2px #3c321e0d}.card.grabbable{cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:box-shadow .15s,border-color .15s}.card.grabbable:hover{border-color:var(--line-strong);box-shadow:0 2px 8px #3c321e1a}.card.lifted{opacity:.35;box-shadow:none;border-style:dashed}.board.is-dragging,.board.is-dragging *{cursor:grabbing}.column{transition:background-color .12s,opacity .12s,box-shadow .12s}.column[data-drop=ok]{background:#edf6ee;box-shadow:inset 0 0 0 2px #b9dcc2}.column[data-drop=over]{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.column[data-drop=no]{opacity:.45}.drop-here{border:2px dashed var(--accent);border-radius:var(--radius-s);color:var(--accent-ink);text-align:center;background:#fff9;margin:0 0 .5rem;padding:.55rem;font-size:.88rem;font-weight:700}.drag-ghost{z-index:50;pointer-events:none;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius-s);max-width:18rem;padding:.6rem;position:fixed;transform:rotate(2deg);box-shadow:0 12px 28px #28322838}.drag-ghost .card-title{margin:.15rem 0 0}.board-hint{margin:-.25rem 0 .9rem;font-size:.9rem}.board-filters{flex-wrap:wrap;align-items:end;gap:.6rem 1rem;margin:0 0 1rem;display:flex}.board-filters label.check{padding-bottom:.5rem}.board-filters input[type=search]{min-width:14rem}.filter-note{color:var(--muted);margin:0 0 .45rem;font-size:.9rem}button.link-plain{color:var(--accent);font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.card{cursor:pointer;position:relative}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-top{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.card .card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.55;display:-webkit-box;overflow:hidden}.card-badges{flex-wrap:wrap;justify-content:flex-end;gap:.25rem;display:inline-flex}.card-badges>span{white-space:nowrap;border-radius:999px;padding:0 .45rem;font-size:.72rem;font-weight:700;line-height:1.6}.prio{color:#9a3412;background:#fde4dc}.badge-customer{background:var(--accent-soft);color:var(--accent-ink)}.badge-children{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.card-meta{align-items:center;gap:.3rem .6rem;margin-top:.35rem}.avatar{color:#2b5d99;background:#dbe7f6;border-radius:999px;flex:none;place-items:center;width:1.55rem;height:1.55rem;font-size:.75rem;font-weight:700;display:inline-grid}.avatar.empty{border:1px dashed var(--line-strong);color:var(--muted);background:0 0;font-weight:400}.card-due{font-variant-numeric:tabular-nums}.badge-claude{color:var(--warm-ink);background:var(--warm);border-radius:999px;padding:0 .45rem;font-size:.72rem}.card .card-move{opacity:0;pointer-events:none;background:var(--surface);width:auto;margin:0;transition:opacity .12s;position:absolute;bottom:.45rem;left:.5rem;right:.5rem;box-shadow:0 2px 6px #3c321e1f}.card:hover .card-move,.card:focus-within .card-move{opacity:1;pointer-events:auto}.board.is-dragging .card .card-move{opacity:0;pointer-events:none}@media (width>=601px){.column.collapsed{padding:0 .2rem .6rem}.column.collapsed h2{flex-direction:column;align-items:center;gap:.35rem;margin:0 -.2rem .4rem;padding:.6rem .2rem}.column.collapsed h2 .status{writing-mode:vertical-rl;letter-spacing:.1em;padding:.5em .05em}}button.show-old{width:100%;color:var(--muted);background:0 0;border-style:dashed;font-size:.85rem}.column{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;scrollbar-gutter:stable}.column::-webkit-scrollbar{width:6px}.column::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.column::-webkit-scrollbar-track{background:0 0}@media (hover:none){.card .card-move{display:none}}@media (width>=601px){.board{align-items:stretch}.board.is-dragging .column{min-height:calc(100vh - 14rem)}}.card-title{overflow-wrap:anywhere;margin:.15rem 0}.card-meta{color:var(--muted);flex-wrap:wrap;gap:.1rem .75rem;font-size:.82rem;display:flex}.card-move{width:100%;min-width:0;margin-top:.45rem;padding:.35rem .3rem;font-size:.85rem}.card-ask{flex-direction:column;align-items:stretch;gap:.4rem;margin-top:.45rem}.card-ask input{width:100%;min-width:0}.card-ask label.check{align-items:flex-start}.card-ask label.check input{flex:none;width:auto;margin-top:.3em}.card-ask .actions{margin:0}.gantt-top{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:.9rem;display:flex}.gantt-top h1{margin:0}.gantt-nav{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.gantt-when{text-align:center;font-variant-numeric:tabular-nums;min-width:7.5rem;font-size:1rem}button.round{border-radius:999px;width:2.2rem;height:2.2rem;padding:0;font-size:1.1rem;line-height:1}button.today-btn{background:var(--danger-soft);color:var(--danger);border-color:#f3c5bf;border-radius:999px;font-weight:600}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:.2rem;display:inline-flex}.seg button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:.25rem .9rem}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-weight:600}.gantt-new{border-radius:999px;margin-left:auto}.chips{flex-wrap:wrap;gap:.4rem .5rem;margin-bottom:.9rem;display:flex}.chip{border:1px solid var(--line-strong);color:var(--ink);border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .75rem;font-size:.85rem;display:inline-flex}.chip .dot{background:#9aa39e;border-radius:999px;width:.55rem;height:.55rem}.chip.status-0 .dot{background:#e0b400}.chip.status-1 .dot{background:#5a9bd8}.chip.status-2 .dot{background:#4f9e68}.chip.status-3 .dot{background:#d76a9a}.chip.status-4 .dot{background:#a99a7a}.chip.off{background:var(--surface);color:var(--muted);border-style:dashed;text-decoration:none}.gantt{--gantt-label:16rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.5rem 1rem .75rem;position:relative;overflow:hidden}.gantt-row{grid-template-columns:var(--gantt-label) 1fr;border-bottom:1px solid var(--line);align-items:center;gap:0 1rem;padding:.55rem 0;display:grid;position:relative}.gantt-child{background:#f5f1e873}.gantt-head{color:var(--muted);padding-top:2rem;font-size:.8rem}.gantt-label{align-items:flex-start;gap:.35rem;min-width:0;display:flex}.gantt-name{overflow-wrap:anywhere;min-width:0}.gantt-child .gantt-label{padding-left:1.2rem}.child-mark{color:var(--muted)}button.fold{color:var(--muted);background:0 0;border:none;padding:0 .15rem;font-size:1rem;line-height:1.4}.gantt-title{color:var(--ink)}.gantt-dates{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem;display:block}.gantt-dates.due{color:#2f6aa3}.gantt-days{pointer-events:none;display:flex;position:absolute;inset:0 1rem 0 18rem}.gantt-day{flex:1 1 0}.gantt-day.weekend{background:#f0e4cd8c}.today{border-left:2px solid #e8745c;width:0;position:absolute;top:1.6rem;bottom:0}.today-row{border-left:2px solid #e8745c;width:0;display:none;position:absolute;top:0;bottom:0}.gantt-track{height:1.9rem;position:relative}.gantt-track.axis{height:1.4rem}.tick{white-space:nowrap;border-left:1px solid var(--line-strong);padding-left:.3rem;line-height:1.4;position:absolute;top:0}.tick.end{border-left:none;padding:0 .3rem 0 0;transform:translate(-100%)}.today-pill{white-space:nowrap;background:var(--danger-soft);color:var(--danger);border-radius:999px;padding:.05rem .55rem;font-size:.75rem;font-weight:600;position:absolute;top:-1.75rem;transform:translate(-50%)}.gantt-bar{border:1px solid #00000014;border-radius:999px;align-items:center;min-width:6px;height:1.5rem;display:flex;position:absolute;top:.2rem;overflow:hidden}.gantt-bar.clip-start{border-left-style:dashed;border-top-left-radius:0;border-bottom-left-radius:0}.gantt-bar.clip-end{border-right-style:dashed;border-top-right-radius:0;border-bottom-right-radius:0}.gantt-bar .elapsed{background:#24302a1f;position:absolute;top:0;bottom:0;left:0}.bar-label{white-space:nowrap;text-overflow:ellipsis;padding:0 .7rem;font-size:.74rem;font-weight:600;position:relative;overflow:hidden}.bar-out{white-space:nowrap;color:var(--ink);font-size:.74rem;font-weight:600;position:absolute;top:.45rem}.gantt-bar.point{border:1.5px solid #6a9fd3;border-radius:3px;width:1rem;min-width:1rem;height:1rem;margin-left:-.5rem;top:.45rem;overflow:visible;transform:rotate(45deg)}.gantt-foot{color:var(--muted);flex-wrap:wrap;gap:.25rem 1.5rem;margin:.6rem 0 0;font-size:.8rem;display:flex}.gantt-empty{color:var(--muted);margin:.75rem 0}.undated{margin-top:1.75rem}.undated h2{flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;display:flex}.undated h2 .hint{font-size:.82rem;font-weight:400}.undated-cards{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.75rem;margin-bottom:.75rem;display:grid}.undated-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-wrap:anywhere;padding:.8rem .9rem}.undated-card p{margin:0 0 .6rem}.undated-card .muted{color:var(--muted);margin-left:.25rem;font-size:.82rem}button.pill-add{border:1px dashed var(--line-strong);background:var(--surface);color:var(--warm-ink);border-radius:999px;padding:.2rem .8rem;font-size:.82rem}@media (width<=600px){input,select{width:100%;min-width:0}.issue-table th:nth-child(4),.issue-table td:nth-child(4),.issue-table th:nth-child(6),.issue-table td:nth-child(6){display:none}.overdue-narrow{margin:.2rem 0 0;display:table}.who{margin-left:0}.locked-hero{grid-template-columns:1fr}.locked-icon{width:5.5rem;height:5.5rem}.locked h1{font-size:1.5rem}.board{grid-template-columns:1fr;overflow-x:visible}.column{max-height:70vh}.gantt{--gantt-label:1fr}.gantt-row{grid-template-columns:1fr;gap:.2rem}.gantt-head .gantt-label,.gantt-days{display:none}.gantt-row:not(.gantt-head) .gantt-track{height:auto;min-height:1.9rem}.gantt-row:not(.gantt-head) .today-row{height:1.9rem;bottom:auto}.gantt-row:not(.gantt-head) .gantt-track .bar-label,.gantt-row:not(.gantt-head) .gantt-track .bar-out{display:none}.gantt-row:not(.gantt-head) .gantt-track[data-label]:after{content:attr(data-label);color:var(--ink);overflow-wrap:anywhere;padding-top:1.95rem;font-size:.74rem;font-weight:600;display:block}.today-row{display:block}.tick .wd{display:none}.tick{font-size:.72rem}.gantt-new{margin-left:0}.row label{width:100%}}.made-key textarea{word-break:break-all;resize:none;width:100%;font-family:ui-monospace,Menlo,Consolas,monospace}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.role-badge{padding:.25rem .85rem .25rem .65rem;font-weight:600}.role-icon{flex:none}.unset{color:var(--muted)}.crumbs{color:var(--muted);align-items:center;gap:.5rem;margin:0 0 1.1rem;font-size:.95rem;display:flex}.crumb-back{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-weight:600;display:inline-flex}.crumb-back:hover{text-decoration:underline}.crumb-here{color:var(--muted);font-variant-numeric:tabular-nums}.detail-head{grid-template-columns:1fr auto;grid-template-areas:"meta actions""title actions";align-items:start;gap:.35rem 1rem;margin-bottom:1.25rem;display:grid}.detail-meta{flex-wrap:wrap;grid-area:meta;align-items:center;gap:.45rem .7rem;display:flex}.detail-actions{flex-wrap:wrap;grid-area:actions;justify-content:flex-end;gap:.5rem;display:flex}.detail-title{grid-area:title;margin:.35rem 0 0;font-size:2rem;font-weight:800;line-height:1.3}.key-chip{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:.15rem .6rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.95rem}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.15rem .75rem;font-size:.92rem;font-weight:700;display:inline-flex}.status-pill .dot{background:currentColor;border-radius:999px;width:.55rem;height:.55rem}.status-pill.status-0{color:#8a6400;background:#fff4c2}.status-pill.status-1{color:#2b5d99;background:#e3effc}.status-pill.status-2{color:#2f6b4f;background:#dcf1e2}.status-pill.status-3{color:#9a3d68;background:#fbe4ef}.status-pill.status-4{color:#6b5d40;background:#ece7dd}.status-pill.status-5,.status-pill.status-6{color:var(--muted);background:#e8e8e8}.meta-text{color:var(--muted);font-size:.95rem}button.ghost{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;align-items:center;gap:.45rem;padding:.6rem 1.1rem;font-weight:600;display:inline-flex;box-shadow:0 1px 2px #3c321e0a}.info-banner{color:var(--ink);border-radius:var(--radius);background:#fdf5e8;border:1px solid #f1dcbc;align-items:flex-start;gap:.7rem;margin:0 0 1.25rem;padding:.9rem 1.1rem;display:flex}.info-icon{color:var(--warm-ink);flex:none;margin-top:.15rem}.cust-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:22px;margin:0 0 1.25rem;overflow:hidden}.cust-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;padding:1.4rem 1.75rem 1.2rem;display:flex}.cust-head h2{margin:0;font-size:1.3rem}.cust-sub{color:var(--muted);margin:.3rem 0 0}.public-badge{background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.9rem;font-weight:600;display:inline-flex}.cust-warn{border-radius:var(--radius-s);background:var(--danger-soft);color:var(--danger);border:1px solid #f3c5bf;align-items:flex-start;gap:.6rem;margin:0 1.75rem 1rem;padding:.75rem 1rem;display:flex}.cust-warn .info-icon{color:var(--danger)}.cust-status{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fdf8ee;flex-wrap:wrap;align-items:center;gap:.6rem 1.25rem;padding:1.1rem 1.75rem;display:flex}.cust-label{color:var(--muted)}.cust-pill{color:#6b3f06;background:#fde5bd;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem 1.1rem;font-size:1.05rem;font-weight:800;display:inline-flex}.cust-missing{color:var(--muted);font-size:.95rem}.cust-grid{grid-template-columns:1fr 1fr;gap:0 2.5rem;margin:0;padding:.4rem 1.75rem 1.2rem;display:grid}.cust-item{border-bottom:1px solid var(--line);min-width:0;padding:.9rem 0}.cust-item dt{color:var(--muted);font-size:.92rem}.cust-item dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:.25rem 0 0;font-size:1.05rem}.cust-internal{border-top:1px dashed var(--line-strong);background:var(--surface-2)}.cust-internal-head{flex-wrap:wrap;align-items:center;gap:.5rem .9rem;padding:1rem 1.75rem 0;display:flex}.cust-internal-head h3{margin:0;font-size:1rem}.internal-badge{color:var(--warm-ink);background:var(--warm);border-radius:999px;padding:.1rem .65rem;font-size:.82rem}.cust-internal .cust-item{border-bottom-color:var(--line-strong)}.facts-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 1.25rem;padding:.4rem 1.5rem}.facts-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:0 1.5rem;margin:0;display:grid}.fact{min-width:0;padding:.75rem 0}.fact dt{color:var(--muted);font-size:.88rem}.fact dd{overflow-wrap:anywhere;margin:.15rem 0 0}.key-make{margin:.75rem 0 1rem}.key-make label{flex:18rem}.key-list{grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:.9rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.key-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.6rem;min-width:0;padding:1rem 1.1rem;display:flex}.key-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;display:flex}.key-name{overflow-wrap:anywhere}.key-id{color:var(--muted);font-size:.85rem}.key-facts{grid-template-columns:max-content 1fr;gap:.15rem .9rem;margin:0;font-size:.9rem;display:grid}.key-facts dt{color:var(--muted)}.key-facts dd{font-variant-numeric:tabular-nums;margin:0}.key-card button{align-self:flex-start}@media (width<=600px){.detail-head{grid-template-columns:1fr;grid-template-areas:"meta""title""actions"}.detail-actions{justify-content:flex-start}.detail-title{font-size:1.5rem}.cust-head,.cust-status,.cust-internal-head{padding-left:1.1rem;padding-right:1.1rem}.cust-grid{grid-template-columns:1fr;padding-left:1.1rem;padding-right:1.1rem}.cust-warn{margin-left:1.1rem;margin-right:1.1rem}.facts-card{padding:.3rem 1.1rem}.facts-grid{grid-template-columns:1fr 1fr;gap:0 1rem}}a.button.secondary{background:var(--surface);border:1px solid var(--accent);color:var(--accent-ink);border-radius:999px;align-items:center;padding:.6rem 1.3rem;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}a.button.secondary:hover{background:var(--accent-soft)}.project-make{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:40rem;box-shadow:var(--shadow);margin:.75rem 0 1rem;padding:1rem 1.1rem}.project-make input,.project-edit input{width:100%;min-width:0}.project-make button{align-self:flex-start}.project-list{grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.9rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:.6rem;min-width:0;padding:1rem 1.1rem;display:flex}.project-card[data-current]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow)}.project-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;display:flex}.project-name{overflow-wrap:anywhere;font-size:1.05rem}.project-current{background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap;border-radius:999px;padding:.05rem .6rem;font-size:.78rem;font-weight:700}.project-purpose{overflow-wrap:anywhere;margin:0}.project-purpose.muted{color:var(--muted);font-size:.9rem}.project-facts{grid-template-columns:max-content 1fr;gap:.15rem .9rem;margin:0;font-size:.88rem;display:grid}.project-facts dt{color:var(--muted)}.project-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.project-actions{align-items:center}.project-edit{width:100%}a.where{color:var(--muted);border-bottom:1px dashed var(--line-strong);text-decoration:none}a.where:hover,a.where[aria-current=page]{color:var(--accent-ink);border-bottom-color:var(--accent)}.datepicker{flex-direction:column;gap:.3rem;font-size:.92rem;display:flex;position:relative}.datepicker-field{align-items:stretch;display:flex}.datepicker-field input{font-variant-numeric:tabular-nums;border-top-right-radius:0;border-bottom-right-radius:0;width:9.5rem;min-width:0}.datepicker-open{color:var(--accent-ink);border-left:none;border-top-left-radius:0;border-bottom-left-radius:0;place-items:center;padding:0 .6rem;display:inline-grid}.datepicker-note{color:var(--muted);min-height:1em;margin:0;font-size:.8rem}.datepicker-pop{z-index:30;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);flex-direction:column;gap:.5rem;width:min(19.5rem,100vw - 32px);padding:.75rem;display:flex;position:absolute;top:calc(100% + .3rem);left:0;box-shadow:0 10px 30px #3c321e2e}.datepicker-head{justify-content:space-between;align-items:center;display:flex}.datepicker-grid{border-collapse:collapse;table-layout:fixed;width:100%}.datepicker-grid th,.datepicker-grid td{background:0 0;border:none}.datepicker-grid th{color:var(--muted);text-align:center;padding:.15rem 0;font-size:.75rem;font-weight:600}.datepicker-grid th.sun{color:var(--danger)}.datepicker-grid th.sat{color:#2b5ea8}.datepicker-grid td{text-align:center;vertical-align:middle;padding:1px}.datepicker-grid button.day{aspect-ratio:1;font-variant-numeric:tabular-nums;background:0 0;border:1px solid #0000;border-radius:8px;width:100%;min-height:2rem;padding:0;font-size:.9rem;display:block;position:relative}.datepicker-grid button.day.sat{color:#2b5ea8}.datepicker-grid button.day.off{color:var(--danger);background:var(--danger-soft)}.datepicker-grid button.day.company{color:var(--warm-ink);background:var(--warm)}.datepicker-grid button.day.workday{color:var(--accent-ink);background:var(--accent-soft)}.datepicker-grid button.day.other{opacity:.4}.datepicker-grid button.day.is-today{border-color:var(--accent);font-weight:700}.datepicker-grid button.day.selected{background:var(--accent);color:#fff;font-weight:700}.datepicker-grid button.day:disabled{opacity:.25;cursor:not-allowed}.datepicker-grid button.day.holiday:after,.datepicker-grid button.day.company:after,.datepicker-grid button.day.workday:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:3px;left:50%}.datepicker-marks{border-top:1px solid var(--line);flex-direction:column;gap:.15rem;margin:0;padding:.4rem 0 0;font-size:.8rem;list-style:none;display:flex}.datepicker-marks li.off{color:var(--danger)}.datepicker-marks li.workday{color:var(--accent-ink)}.datepicker-none,.datepicker-predicted{color:var(--muted);margin:0;font-size:.78rem}.datepicker-predicted{color:var(--warm-ink)}.datepicker-foot{border-top:1px solid var(--line);justify-content:space-between;padding-top:.4rem;display:flex}.link-btn{color:var(--accent);background:0 0;border:none;padding:.2rem .3rem;font-weight:600}.gantt-day.holiday{background:#fdecead9}.gantt-holidays{color:var(--danger)}.cal-settings h3{margin:.75rem 0 0;font-size:1rem}.cal-week{border:1px solid var(--line);border-radius:var(--radius-s);flex-wrap:wrap;gap:.25rem 1rem;margin:0;padding:.5rem .9rem .7rem;display:flex}.cal-week legend{padding:0 .4rem;font-weight:600}.cal-list{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.3rem 1rem;margin:0;padding:0;list-style:none;display:grid}.cal-list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-s);font-variant-numeric:tabular-nums;justify-content:space-between;gap:.5rem;padding:.3rem .6rem;display:flex}.cal-add{align-items:flex-start}.cal-add>button{margin-top:1.55rem}.project-actions .project-archive{margin-left:auto}.project-list.shelved .project-card{opacity:.8;background:var(--bg);box-shadow:none}.note-link{margin-top:.35rem;font-size:.88rem;display:inline-block}.cal-dirty{color:var(--warm-ink);background:var(--warm);border-radius:var(--radius-s);padding:.35rem .75rem;font-size:.88rem}
