:root{--bg:#f6f7f9;--surface:#fff;--border:#d8dce2;--text:#1b1f24;--muted:#5c6773;--accent:#1f5eff;--danger:#b3261e;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0;font-size:16px;line-height:1.5}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;display:flex}.app-brand{color:var(--text);font-weight:600;text-decoration:none}.app-nav{flex:1;gap:1rem;display:flex}.app-nav a{color:var(--muted);border-bottom:2px solid #0000;padding:.35rem 0;text-decoration:none}.app-nav a.active{color:var(--text);border-bottom-color:var(--accent)}.app-user{align-items:center;gap:.75rem;display:flex}.app-user-name{flex-direction:column;font-size:.875rem;line-height:1.2;display:flex}.app-user-role{color:var(--muted);font-size:.75rem}.app-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1.5rem}.page-message{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;max-width:32rem;margin:3rem auto;padding:2rem}.page-message h1{margin-top:0;font-size:1.25rem}.error{color:var(--danger)}button{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);cursor:pointer;min-height:44px;padding:.5rem .9rem}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}@media (width<=640px){.app-header{gap:.75rem}.app-main{padding:1rem .75rem}}.muted{color:var(--muted)}.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}.table-scroll{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.6rem .75rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.8125rem}tbody tr:last-child td{border-bottom:none}.row-inactive{opacity:.55}.badge{background:var(--bg);border:1px solid var(--border);color:var(--muted);border-radius:999px;margin-left:.5rem;padding:.05rem .4rem;font-size:.75rem;display:inline-block}select{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-height:44px;padding:.4rem .5rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.page-header h1{margin:0 0 .25rem;font-size:1.4rem}.button{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);align-items:center;padding:.5rem .9rem;text-decoration:none;display:inline-flex}.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.filters{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;display:flex}.field{flex-direction:column;gap:.25rem;min-width:0;display:flex}.field label{color:var(--muted);font-size:.8125rem}.field input,.field textarea,.field select{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);min-height:44px;color:var(--text);padding:.5rem .6rem}.field textarea{min-height:6rem}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row .field{flex:12rem}.hint{color:var(--muted);font-size:.8125rem}.checkbox{align-items:center;gap:.4rem;min-height:44px;font-size:.9rem;display:flex}.form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:1rem;max-width:40rem;padding:1.25rem;display:flex}.form-actions{gap:.75rem;display:flex}.card-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1rem}.card-title{color:var(--text);font-weight:600;text-decoration:none}.card-title:hover{text-decoration:underline}.card-meta{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin-top:.25rem;font-size:.875rem;display:flex}.card-tags{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.status{border:1px solid var(--border);border-radius:999px;padding:.05rem .5rem;font-size:.75rem;display:inline-block}.status-planning{background:#eef2ff}.status-active{background:#e6f6ec}.status-complete{background:#eef0f2}.status-cancelled{background:#fdecea}.detail-grid{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;gap:1.5rem;padding:1rem;display:flex}.detail-item{flex-direction:column;gap:.25rem;display:flex}.detail-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:.75rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1.25rem;padding:1rem}.panel h2{margin-top:0;font-size:1rem}.danger-zone{border-color:#e6c9c6}.editor-columns{grid-template-columns:minmax(0,20rem) minmax(0,1fr);align-items:start;gap:1.25rem;display:grid}.editor-authoring{max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow-y:auto}.editor-authoring .form,.editor-authoring .panel{max-width:none;margin-top:0}.editor-content>.panel:first-child{margin-top:0}.header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.notes{margin-top:1.25rem}.notes h2{font-size:1rem}.empty{color:var(--muted)}.warning{color:#8a5a00}@media (width<=640px){.filters{flex-direction:column;align-items:stretch}.form{padding:1rem}}.inline-form{flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin:.75rem 0 1rem;display:flex}.notice{border-radius:var(--radius);background:#eef2ff;border:1px solid #cdd7ff;padding:.6rem .8rem;font-size:.9rem}.status-draft{background:#fff6e5}.status-published{background:#e6f6ec}.link-button{min-height:auto;color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.progress{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.progress-track{background:var(--bg);border:1px solid var(--border);border-radius:999px;flex:10rem;min-width:8rem;height:8px;overflow:hidden}.progress-fill{background:#2e7d4f;height:100%}.progress-fill.at-risk{background:#c98a00}.progress-text{color:var(--muted);white-space:nowrap;font-size:.85rem}.overdue{color:var(--danger)}.at-risk-text{color:#8a5a00}.badge.complete{background:#e6f6ec}.badge.overdue{color:var(--danger);background:#fdecea}.phase-filter{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;min-height:44px;padding:.35rem .75rem;font-size:.875rem}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.fieldset{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.fieldset legend{color:var(--muted);padding:0 .35rem;font-size:.8125rem}.danger-action{margin-top:.75rem}.item-panel{background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);max-height:70vh;margin-top:1.25rem;padding:1rem;position:sticky;bottom:0;overflow-y:auto}.item-panel h2{margin:0;font-size:1.1rem}.item-panel h3{margin:.75rem 0 .35rem;font-size:.9rem}.note-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.note-list p{margin:0}button.card-title{text-align:left;min-height:auto;padding:0}.app-settings-link{color:var(--muted);font-size:.875rem;text-decoration:none}.pending-banner{background:#fff6e5;border-bottom:1px solid #f0dcb4;padding:.5rem 1.25rem;font-size:.9rem}button.pending{opacity:.7}.retry-box{border-radius:var(--radius);border:1px solid #e6c9c6;padding:.6rem .8rem}.retry-box p{margin:0 0 .5rem}.card.resolved{opacity:.6}.resolved-group{margin-bottom:.75rem}.resolved-group>summary{cursor:pointer;color:var(--muted);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem .75rem;font-weight:600}.resolved-group[open]>summary{margin-bottom:.5rem}.item-panel h2:focus-visible,.chip:focus-visible,summary:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (width<=640px){.app-main{padding:.75rem .6rem}.phase-filter.narrow{z-index:2;background:var(--bg);flex-wrap:nowrap;margin:0 0 .75rem;padding:.5rem 0;position:sticky;top:0;overflow-x:auto}.phase-filter.narrow .chip{flex:none}.card{padding:1rem}.card-title{font-size:1.05rem}.card-tags button,.card-tags .checkbox{min-height:48px;padding-inline:.9rem}.field input,.field select,.field textarea,button,.button{min-height:48px;font-size:1rem}.item-panel{border-radius:var(--radius) var(--radius) 0 0;z-index:3;border-width:1px 0 0;max-height:85vh;position:fixed;inset:auto 0 0;box-shadow:0 -4px 16px #0000001f}.detail-grid,.field-row{flex-direction:column}.page-header{gap:.5rem}.editor-columns{grid-template-columns:1fr}.editor-authoring{max-height:none;position:static;overflow-y:visible}}
