*{box-sizing:border-box} :root{font:15px/1.5 system-ui,sans-serif;color:#172536;background:#f1f5f8;--nav:#102132;--teal:#11665e;--muted:#506274;--line:#dbe4eb} body{margin:0;display:grid;grid-template-columns:238px minmax(0,1fr);min-height:100vh} aside{background:var(--nav);color:#fff;display:flex;flex-direction:column;padding:26px 16px;gap:36px} .brand{display:grid;gap:3px;padding:0 12px} .brand b{font-size:34px;line-height:1;letter-spacing:-2px}.brand b span{color:#6be0cb}.brand small{font-size:9px;letter-spacing:.12em;color:#b3c6d5}nav{display:grid;gap:6px}nav a{color:#c7d5e1;text-decoration:none;padding:10px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;white-space:nowrap}nav a span{width:20px;text-align:center;font-size:19px}nav a:hover,nav a[aria-current]{background:#234454;color:white}nav a[aria-current] span{color:#7aebd5}.local{margin-top:auto;font-size:12px;color:#8cd8cb;padding:0 12px}main{min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px clamp(16px,4vw,52px);background:#fff;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}header span{padding:0 5px}#view{max-width:1380px;margin:auto;padding:32px clamp(16px,4vw,52px) 20px}.heading,.section-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px}.heading p,.widget p,.empty p{margin:4px 0 0;color:var(--muted)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:var(--teal)}h1,h2,p{margin:0}h1{font-size:clamp(27px,4vw,42px);letter-spacing:-.04em;line-height:1.2;margin-top:5px}h2{font-size:20px;line-height:1.25}button,input,select{font:inherit}button{border:1px solid var(--line);background:#fff;color:#172536;border-radius:9px;padding:8px 12px;cursor:pointer;font-weight:650}button:hover{border-color:#56a89e}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid #329f92;outline-offset:2px}.primary{background:var(--teal);color:#fff;border-color:var(--teal)}.banner{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(110deg,#122b3d,#174e53);color:#fff;border-radius:18px;padding:28px clamp(18px,4vw,38px);margin-bottom:26px}.banner .eyebrow{color:#8be7d6}.banner h2{font-size:clamp(23px,3.3vw,38px);letter-spacing:-.035em;margin:9px 0}.banner p{color:#c4d9e2}.tracks{position:absolute;z-index:-1;right:-48px;top:-80%;width:42%;height:260%;transform:rotate(33deg);opacity:.18;background:linear-gradient(90deg,transparent 12%,#83e4d3 12% 14%,transparent 14% 78%,#83e4d3 78% 80%,transparent 80%),repeating-linear-gradient(0deg,transparent 0 27px,#83e4d3 27px 30px,transparent 30px 37px)}.section-bar{margin-bottom:12px}.section-bar span{color:var(--muted);font-size:12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;grid-auto-rows:minmax(152px,auto)}.widget,.empty,.table,.entry{background:white;border:1px solid var(--line);border-radius:14px}.widget{padding:13px;display:flex;flex-direction:column;gap:5px;min-width:0}.widget.wide{grid-column:span 2}.widget.tall{grid-row:span 2}.widget.collapsed{align-self:start;width:max-content;max-width:100%}.widget[draggable=true]{cursor:grab}.widget.drop{outline:2px dashed var(--teal)}.widget-top,.widget-foot,.entry,.dialog-head{display:flex;align-items:center;gap:8px}.widget-top,.dialog-head,.entry{justify-content:space-between}.widget h2{font-size:17px}.widget p,.widget-foot{font-size:12px}.widget-foot{margin-top:auto;padding-top:8px;color:var(--muted);flex-wrap:wrap}.widget-foot strong{font-size:21px;color:#142a3d}.widget-foot button{margin-left:auto;padding:5px 8px}.symbol{background:#e6f5f2;color:var(--teal);border:0;font-size:20px;line-height:1;padding:8px;min-width:36px}.controls,.add-widgets{display:flex;gap:4px;flex-wrap:wrap}.controls button{padding:3px 6px}.add-widgets{margin-bottom:12px}.empty{padding:24px;margin:12px 0}.table{overflow:auto;margin:12px 0}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:10px 12px;border-bottom:1px solid var(--line);min-width:105px}th{background:#f7fafc;font-size:12px;color:var(--muted)}tbody tr:last-child td{border-bottom:0}.pill{display:inline-block;padding:3px 8px;background:#e8f3f1;color:#205d55;border-radius:20px;font-size:12px}.link{border:0;padding:0;color:var(--teal);text-decoration:underline}.list{display:grid;gap:8px;margin:12px 0}.entry{padding:12px}.entry small,.entry b{display:block;overflow-wrap:anywhere}#notice{padding:0 clamp(16px,4vw,52px) 16px;font-size:13px;color:var(--teal)}dialog{border:1px solid var(--line);border-radius:16px;width:min(590px,calc(100% - 24px));max-height:90dvh;padding:20px;color:inherit}dialog::backdrop{background:#102132aa}.dialog-head{margin-bottom:12px}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}label{display:grid;gap:4px;font-size:13px;font-weight:650}input,select{width:100%;border:1px solid #aebdca;border-radius:8px;padding:7px;background:#fff;color:inherit}fieldset{grid-column:1/-1;border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;flex-wrap:wrap}fieldset label{display:flex;align-items:center}input[type=checkbox]{width:auto}.error{color:#a41d31;margin:8px 0}
@media(max-width:1050px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){body{display:block}aside{padding:12px;gap:10px}.brand{display:flex;align-items:center;gap:10px;padding:0}.brand b{font-size:26px}nav{display:flex;overflow:auto}nav a{padding:7px 9px;font-size:13px;gap:4px}.local{display:none}#view{padding-top:20px}.heading{align-items:flex-start;flex-wrap:wrap}}@media(max-width:490px){.grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.widget.wide,.widget.tall{grid-area:auto}.widget.tall{min-height:200px}.widget.wide{min-height:160px}.fields{grid-template-columns:1fr}.section-bar{align-items:flex-start;flex-direction:column;gap:4px}header .primary{padding:6px 8px;font-size:12px}}
[hidden]{display:none!important}
.grid.free-layout{display:block;position:relative}.free-layout .widget{position:absolute;min-height:0}.widget{position:relative}.widget.moving{z-index:2;box-shadow:0 10px 28px #10213235}.resize-grip{position:absolute;right:0;bottom:0;padding:3px 6px;color:var(--teal);cursor:nwse-resize;touch-action:none;user-select:none}.widget:has(.resize-grip){padding-bottom:22px}.widget:has(.controls) .symbol{cursor:grab;touch-action:none;user-select:none}@media(max-width:760px){.resize-grip{display:none}}
.task-status.todo{background:#edf2f7}.task-status.doing{background:#e6f3f7}.task-status.waiting{background:#faf2e1}.task-status.done{background:#e7f3eb}.entry-actions{display:flex;gap:6px;flex-wrap:wrap}.entry-actions select{width:auto}.archive{margin-top:20px}.archive summary{cursor:pointer;font-weight:700}.supplier-role{display:block;color:var(--muted)}.widget-preview{list-style:none;margin:0;padding:0;font-size:12px;min-height:0;overflow:hidden}.widget-preview li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-preview small{color:var(--muted)}@media(max-width:490px){.entry{align-items:flex-start;flex-direction:column}}
.widget-preview{display:grid;gap:4px}.widget-preview li{border:1px solid var(--line);border-radius:7px;padding:3px 6px}.preview-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.preview-top b{min-width:0;overflow:hidden;text-overflow:ellipsis}.preview-status{border-radius:5px;padding:1px 4px;font-size:10px;flex:none}.widget:has(.widget-preview) .widget-foot{padding-top:3px}
.widget-preview{overflow:auto}
.widget-preview time{display:inline-block;color:var(--muted);font-size:11px;margin-right:6px}
.login-screen{position:fixed;inset:0;background:#102132;z-index:50;display:grid;place-items:center;overflow:auto;padding:20px}.login-card{background:#fff;border-radius:18px;padding:28px;width:min(420px,100%);display:grid;gap:14px}.login-message{font-size:13px;color:#11665e}header{flex-wrap:wrap}dialog p{overflow-wrap:anywhere}
