:root{--navy:#0b2247;--ink:#17243b;--muted:#69758a;--line:#d9e1eb;--bg:#f5f7fa;--teal:#008995;--red:#d92d3b;--amber:#d97706;--surface:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Inter,"Noto Sans JP","Microsoft YaHei",Arial,sans-serif}a{color:#075a76;text-decoration:none}button,.button{border:0;border-radius:6px;background:var(--teal);color:#fff;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer}.button{display:inline-block}.outline{background:#fff;color:var(--teal);border:1px solid #b9d1d7}.dangerbutton{background:var(--red)}button:disabled{opacity:.45;cursor:not-allowed}header{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 max(20px,calc((100vw - 1260px)/2));gap:26px}.brand{font-size:21px;font-weight:800;color:var(--navy);white-space:nowrap}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:500;margin-top:-3px}nav{height:100%;display:flex;gap:20px;align-items:center;flex:1}nav a{height:100%;display:flex;align-items:center;font-weight:700;color:var(--navy);border-bottom:3px solid transparent}nav a:hover{border-color:var(--teal)}.user{font-weight:700}.link{background:none;color:var(--navy);padding:6px}main{max-width:1260px;margin:auto;padding:30px 20px 60px}.pagehead,.detailhead{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:22px}.pagehead h1,.detailhead h1{font-size:29px;line-height:1.15;margin:0;color:var(--navy)}.pagehead p,.detailhead p{margin:5px 0 0;color:var(--muted)}h2{font-size:17px;margin:0 0 14px;color:var(--navy)}.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}.kpis div{background:#fff;border:1px solid var(--line);border-radius:7px;padding:17px}.kpis b{display:block;font-size:28px;color:var(--navy)}.kpis span{color:var(--muted);font-size:13px}.kpis .danger b{color:var(--red)}.kpis .warning b{color:var(--amber)}.columns,.detailgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.columns article,.detailgrid article,.tablebox,.taskgroup,.timeline,.preview,.importForm{background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px}.alerts{margin:0;padding-left:20px}.alerts li{margin:9px 0;color:#9f1c28}.changes p{border-top:1px solid var(--line);margin:0;padding:9px 0}.changes time,.task small,td small,time{display:block;color:var(--muted);font-size:12px}.tablebox{overflow:auto;margin-top:20px}.month h2{border-bottom:1px solid var(--line);padding-bottom:10px}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;color:var(--muted);font-weight:700;background:#f7f9fc}th,td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.status{display:inline-block;font-size:12px;font-weight:700;padding:3px 7px;border-radius:4px;background:#e9f7f8;color:#06717b}.status.waiting,.status.overdue{background:#fff0f0;color:#bd2230}.status.partial,.status.answered{background:#fff6e7;color:#b65c00}.taskgroup{padding:0;margin:15px 0;overflow:hidden}.taskgroup h2{padding:13px 17px;margin:0;border-bottom:1px solid var(--line);font-size:15px}.taskgroup h2 span{font-size:13px;color:var(--muted)}.task{display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:15px;padding:14px 17px;border-left:4px solid var(--amber);border-bottom:1px solid var(--line);color:var(--ink)}.task:last-child{border-bottom:0}.task.overdue,.task.waiting,.task.defect{border-left-color:var(--red)}.task b{font-size:25px;color:var(--muted)}.count{background:var(--navy);border-radius:50%;color:#fff;min-width:42px;height:42px;display:grid;place-items:center;font-size:20px;font-weight:800}.search{display:block;background:#fff;border:1px solid var(--line);border-radius:6px;max-width:430px;padding:9px 12px;margin-bottom:12px}.search input{border:0;outline:0;width:90%;font:inherit}.toggle{font-size:13px}.back{display:inline-block;margin-bottom:18px}.detailhead{background:#fff;border:1px solid var(--line);padding:18px;border-radius:7px;margin-bottom:0}.detailhead label{font-size:13px}.detailhead select{display:block;margin-top:4px}.detailgrid article{min-width:0}label{display:block;font-weight:700;font-size:13px;margin:8px 0}input,select,textarea{width:100%;border:1px solid #bfcada;border-radius:5px;padding:8px;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:62px;resize:vertical}.plan{display:grid;grid-template-columns:1.1fr .65fr 1.4fr 34px;gap:7px;margin:8px 0}.plan .remove{padding:0;background:#f1f3f7;color:var(--ink)}#scheduleForm>button:last-child{margin-top:10px}.defect{border-top:1px solid var(--line);padding:10px 0}.defect p{margin:5px 0}.defectform{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.defectform>*{margin:5px 0}.file,.dropzone{border:2px dashed #a7bbc8;border-radius:7px;padding:20px;text-align:center;color:var(--teal);cursor:pointer}.file input,.dropzone input{display:none}.preview{margin-top:12px;overflow:auto}.preview>label{display:inline-block;width:46%;margin-right:2%}.preview table input,.preview table select{min-width:100px;padding:5px}.formgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.importForm{margin:15px 0;overflow:auto}.importForm table input{min-width:90px;padding:5px}.timeline article{border-left:3px solid var(--teal);padding:0 0 15px 15px;margin:12px 0}.timeline p{margin:3px 0}.empty,.emptyline{text-align:center;color:var(--muted);padding:26px}.login{min-height:100vh;display:grid;place-items:center;padding:20px;background:linear-gradient(140deg,#f4f8fb,#e6edf5)}.login section{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;padding:36px;box-shadow:0 12px 40px #1d36521a;text-align:center}.logo{width:45px;height:45px;display:grid;place-items:center;border-radius:10px;margin:auto;background:var(--navy);color:#fff;font-size:24px;font-weight:800}.login h1{color:var(--navy);margin:15px 0 3px}.login form{text-align:left;margin:25px 0}.login button{width:100%;margin-top:10px}.muted{color:var(--muted);font-size:13px}.warningtext{color:#a95a00}.toast{position:fixed;right:18px;bottom:18px;z-index:3;background:#0d654e;color:#fff;padding:12px 16px;border-radius:6px;box-shadow:0 4px 16px #0003}.toast.error{background:#b4232d}.adminactions{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:15px;background:#fff;border:1px solid var(--line);border-radius:7px}@media(max-width:700px){header{height:auto;min-height:58px;padding:8px 14px;gap:11px;flex-wrap:wrap}.brand{font-size:18px}.brand small{display:none}nav{order:3;width:100%;height:34px;gap:16px}nav a{font-size:13px}.user{margin-left:auto}main{padding:20px 12px 45px}.pagehead,.detailhead{align-items:flex-start}.pagehead h1,.detailhead h1{font-size:24px}.pagehead .button{padding:8px;font-size:12px}.kpis{grid-template-columns:repeat(2,1fr)}.kpis div{padding:12px}.columns,.detailgrid{grid-template-columns:1fr;gap:12px}.tablebox{padding:10px}.responsive-table{overflow:auto}.responsive-table table{min-width:620px}.task{padding:13px 12px}.formgrid{grid-template-columns:1fr 1fr}.formgrid label:last-child{grid-column:span 2}.plan{grid-template-columns:1fr 70px 1fr 30px}.preview{padding:10px}.preview table{min-width:700px}.adminactions{align-items:flex-start;gap:10px;flex-direction:column}.login section{padding:28px 22px}}
