:root{font-family:"Malgun Gothic","Segoe UI",sans-serif;color:#263238;background:#f7f8fa;font-size:14px;letter-spacing:0;--muted:#64717c;--line:#dce2e7;--green:#23664f;--red:#aa3741;--amber:#876019}
body{word-break:keep-all;overflow-wrap:anywhere}
.signup-prompt{margin:24px 0 10px;color:var(--muted)}#signup-entry>button{width:100%}#signup-form p{line-height:1.6}#signup-message{color:var(--red)}#signup-form{padding-top:8px}.login:has(#signup-form:not([hidden])){margin-top:4vh}
.setup-notice{display:grid;gap:16px;line-height:1.7;margin-bottom:24px}.setup-notice h2{font-size:18px}
.schedule-forecast{margin:16px 0;padding:12px 0;border-top:2px solid #c88c35;border-bottom:1px solid var(--line);line-height:1.6}.schedule-forecast h3{font-size:14px}.schedule-forecast p{margin:7px 0}.schedule-forecast small{display:block;font-size:11px}.schedule-risk-summary{border-top:2px solid #c37657;padding-bottom:14px}.schedule-risk-summary .section-title{margin-top:12px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;letter-spacing:0}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 14px;background:white;color:inherit;border:1px solid var(--line);border-radius:5px;cursor:pointer}button:hover{background:#edf3ef}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #77b3d4;outline-offset:2px}svg{width:18px;height:18px;flex-shrink:0}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#194d3c}.icon{width:42px;min-width:42px;padding:10px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:24px;line-height:1.4}h2{font-size:18px;line-height:1.5}h3{font-size:15px;line-height:1.5}small,.muted{color:var(--muted);font-size:12px}input,select{padding:10px;border:1px solid #c3cdd4;border-radius:4px;color:inherit;background:white;min-width:0}input{width:100%}label{font-size:13px;font-weight:600}label input{margin-top:7px}button,input,select{min-height:42px}button,dd,p,h1,h2,h3{overflow-wrap:anywhere}.preview{background:#fff2cc;border-bottom:1px solid #d1b45c;color:#705717;text-align:center;padding:9px 16px;font-size:12px;line-height:1.6}.brand{display:flex;align-items:center;gap:10px}.brand>span{display:grid;place-items:center;width:32px;height:36px;background:var(--green);color:white;font-size:18px;font-weight:700;border-radius:5px}.brand b{font-size:17px}.brand small{display:block;margin-top:2px;font-size:11px}.login{max-width:380px;padding:26px;margin:10vh auto}.login h1{margin:30px 0 24px}.login form{display:grid;gap:20px}.login-error,#login-error{color:var(--red);line-height:1.5;font-size:13px}header{display:flex;justify-content:space-between;align-items:center;gap:14px;max-width:1200px;padding:22px 24px 16px;margin:auto}.actions{display:flex;align-items:center;gap:8px}#updated{font-size:11px;color:var(--muted)}nav{display:flex;gap:6px;max-width:1152px;margin:auto;border-bottom:1px solid var(--line)}nav button{border:0;border-radius:0;background:transparent;border-bottom:3px solid transparent;padding:12px 24px}nav button.active{border-bottom-color:var(--green);color:var(--green);font-weight:700}main{max-width:1200px;margin:auto;padding:26px 24px 60px}.heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.heading p{font-size:12px;color:var(--muted);margin-bottom:5px}.badge{display:inline-block;padding:4px 7px;border-radius:4px;background:#e9edf0;color:#47555f;font-size:11px;line-height:1.5}.badge.todo{background:#eaf0f4;color:#375d72}.badge.in_progress{background:#e3eef9;color:#27659c}.badge.blocked,.badge.waiting{background:#fff0d0;color:#78581c}.badge.done{background:#e4f1e8;color:var(--green)}.red{color:var(--red)}.summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:24px}.summary span{color:var(--muted);font-size:12px}.summary b{display:block;font-size:28px;margin-top:7px}.filters{display:flex;align-items:center;gap:12px;margin-bottom:24px}.search{display:flex;align-items:center;border:1px solid #c3cdd4;border-radius:5px;background:white;padding:0 12px;flex:1;max-width:600px}.search input{border:0;background:transparent;margin:0;outline-offset:0;font-weight:400}#status-label{display:flex;align-items:center;gap:8px;font-weight:400}.section-title{display:flex;align-items:center;gap:12px;margin:28px 0 10px}.section-title h2{font-size:16px}.section-title span{font-size:12px;color:var(--muted)}.list{background:white;border-top:1px solid var(--line)}.task-row,.schedule-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,210px) 110px 24px;align-items:center;gap:16px;border-bottom:1px solid var(--line);width:100%;border-top:0;border-left:0;border-right:0;border-radius:0;padding:17px 14px;text-align:left;justify-content:initial}.task-row h3,.schedule-row h3{font-size:14px}.meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:6px;color:var(--muted);font-size:12px}.next,.due{font-size:12px;line-height:1.6}.next{color:#536879}.due{font-variant-numeric:tabular-nums}.schedule-row{grid-template-columns:150px minmax(0,1fr) 90px 24px}.empty{padding:40px 10px;text-align:center;color:var(--muted);line-height:1.6}.empty svg{width:30px;height:30px;margin-bottom:10px}.note-row{border-top:1px solid var(--line);padding:18px 14px;background:white;margin-bottom:12px}.note-row p{margin:12px 0;line-height:1.7;white-space:pre-wrap}.note-row button{font-size:12px}#notice{color:var(--red);background:#fcecee;padding:12px;margin-bottom:16px;line-height:1.6}dialog{width:min(720px,calc(100vw - 24px));max-height:90vh;border:1px solid var(--line);border-radius:8px;padding:0;color:inherit;box-shadow:0 10px 50px #17324530}dialog::backdrop{background:#17262f66}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:14px;padding:20px;border-bottom:1px solid var(--line)}#detail-body{padding:20px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0 0 22px}.facts dt{font-size:11px;color:var(--muted)}.facts dd{margin:5px 0 0;font-size:13px;line-height:1.6}.pre{white-space:pre-wrap;line-height:1.7}.next-action{border-left:3px solid var(--green);background:#eaf3ed;padding:14px;margin:20px 0}.next-action p{margin-top:7px;font-size:13px}.item{padding:16px 0;border-top:1px solid var(--line)}.item h3{margin:8px 0}.item .pre{margin-top:10px;font-size:13px}.item small{display:block;line-height:1.7}.issue{padding:10px 0;font-size:13px;line-height:1.6}.amendment{border-left:2px solid #a78234;padding-left:12px;margin-top:16px}.amendment p{margin-top:8px}
@media(max-width:700px){header{padding:16px 14px}.brand b{font-size:16px}.actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}#updated{flex-basis:100%;text-align:right;font-size:10px}nav{justify-content:space-around}nav button{padding:10px 12px;flex:1;font-size:12px;gap:6px}main{padding:24px 14px 40px}h1{font-size:22px}.filters{align-items:stretch;flex-wrap:wrap;gap:10px}.search{flex-basis:100%}.summary{gap:12px}.summary b{font-size:25px}.summary span{font-size:11px}.task-row{grid-template-columns:minmax(0,1fr) 24px;gap:10px;padding:16px 10px}.task-row .next,.task-row .due{grid-column:1}.task-row>svg{grid-column:2;grid-row:1/4}.schedule-row{grid-template-columns:minmax(0,1fr) 24px;gap:9px;padding:16px 10px}.schedule-row .due{grid-column:1/-1}.schedule-row .badge{justify-self:start}.schedule-row>svg{grid-column:2;grid-row:2/4}.facts{gap:12px}.dialog-head,#detail-body{padding:16px}.dialog-head h2{font-size:17px}.heading{margin-bottom:20px}}
