:root{--navy:#213d61;--blue:#4d94cc;--rule:#d6dee8;--pale:#f3f7fb;--ink:#222;--muted:#6b7684;--warn:#b45309;color:var(--ink);background:#f6f8fb;font-family:Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;border:1px solid var(--rule);background:#fff;border-radius:4px;padding:5px 7px}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:-1px}.app{min-height:100vh;display:flex}.side{background:var(--navy);color:#fff;flex-direction:column;width:210px;height:100vh;padding:14px 10px;display:flex;position:sticky;top:0}.brand{letter-spacing:.08em;border-bottom:2px solid var(--blue);margin-bottom:10px;padding:4px 8px 16px;font-size:22px;font-weight:700}.side nav{flex-direction:column;gap:2px;display:flex}.side nav button{text-align:left;color:#dbe6f2;background:0 0;border:0;border-radius:4px;justify-content:space-between;padding:8px 10px;display:flex}.side nav button.on{color:#fff;background:#ffffff24;font-weight:700}.side nav button:disabled{color:#8ea3bd;cursor:default}.count{opacity:.8;font-size:12px}.side-foot{color:#c9d6e6;flex-direction:column;gap:6px;margin-top:auto;font-size:12px;display:flex}.main{flex:1;min-width:0;padding:18px 24px}.head{align-items:center;gap:12px;margin-bottom:12px;display:flex}.head h1{color:var(--navy);align-items:center;gap:10px;margin:0;font-size:20px;display:flex}.grow{flex:1}.btn{border:1px solid var(--rule);color:var(--navy);background:#fff;border-radius:4px;padding:6px 12px}.btn:hover:not(:disabled){background:var(--pale)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--navy);border-color:var(--navy);color:#fff}.btn.primary:hover:not(:disabled){background:#2c5080}.btn.link{color:var(--blue);background:0 0;border:0;padding:4px 0}.btn.small{padding:3px 8px;font-size:12px}.btn.wide{width:100%;padding:10px}.notice{cursor:pointer;background:#e8f2fb;border:1px solid #b9d6ef;border-radius:4px;margin-bottom:12px;padding:8px 12px}.msg{color:var(--navy);font-size:13px}.muted{color:var(--muted);font-size:13px}.sub{color:var(--muted);font-size:11.5px}.warn-text{color:var(--warn);font-size:12px}.tag.warn{color:#7a5200;background:#fff3cd;border-radius:3px;padding:3px 6px}.error{color:#b91c1c;margin-top:10px;font-size:13px}.empty{color:var(--muted);text-align:center;padding:30px}.mono{font-family:Consolas,monospace}.toolbar{gap:8px;margin-bottom:8px;display:flex}.toolbar input{flex:1;max-width:360px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.chip{border:1px solid var(--rule);background:#fff;border-radius:16px;padding:4px 12px;font-size:13px}.chip.on{background:var(--navy);color:#fff;border-color:var(--navy)}.bulk{border:1px solid var(--rule);background:#fff;border-radius:4px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:6px 10px;font-size:13px;display:flex}.bulk span{color:var(--muted);margin-right:6px}table.list{border-collapse:collapse;background:#fff;width:100%;font-size:13px}table.list th{background:var(--navy);color:#fff;text-align:left;padding:7px 8px;font-weight:600;position:sticky;top:0}table.list td{border-bottom:1px solid var(--rule);vertical-align:top;padding:6px 8px}table.list tr:nth-child(2n) td{background:#fafcfe}table.list tr.sel td{background:#e8f2fb}.num{text-align:right;white-space:nowrap}.link{cursor:pointer;color:var(--navy)}.link:hover{text-decoration:underline}.badge{white-space:nowrap;border:1px solid #0000;border-radius:10px;padding:2px 8px;font-size:11.5px;display:inline-block}.st-draft{color:#4b5563;background:#eef1f5}.st-edited{color:#1d4f8a;background:#e0efff}.st-hold{color:#7a5200;background:#fff3cd}.st-confirmed{color:#146c2e;background:#dff5e6}.st-sent{background:var(--navy);color:#fff}.chip.on.st-draft,.chip.on.st-edited,.chip.on.st-hold,.chip.on.st-confirmed,.chip.on.st-sent{outline:2px solid var(--navy)}.edit-body{grid-template-columns:minmax(520px,1fr) minmax(420px,46%);gap:16px;display:grid}.form{border:0;flex-direction:column;gap:12px;min-width:0;margin:0;padding:0;display:flex}.form:disabled{opacity:.7}.grid2{grid-template-columns:1fr 1fr;gap:10px 14px;display:grid}.grid2 label{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;display:flex}.grid2 label input,.grid2 label select,.grid2 label textarea{color:var(--ink);font-size:14px}.span2{grid-column:span 2}.row{gap:6px;display:flex}table.lines{border-collapse:collapse;background:#fff;width:100%;font-size:13px}table.lines th{background:var(--navy);color:#fff;padding:5px;font-size:12px;font-weight:600}table.lines td{border-bottom:1px solid var(--rule);padding:3px}table.lines input{width:100%;padding:4px 5px}table.lines input.n{width:56px}table.lines input.u{width:44px}table.lines input.p{width:90px}table.lines input[type=checkbox]{width:auto}table.lines .c{text-align:center}table.lines tr.heading td{background:var(--pale)}.ops{white-space:nowrap}.ops button{border:1px solid var(--rule);background:#fff;border-radius:3px;margin-left:2px;padding:1px 6px}.totals{border:1px solid var(--rule);background:#fff;border-radius:4px;padding:8px 12px;font-size:13px}.totals div{justify-content:space-between;padding:2px 0;display:flex}.totals .big{border-top:2px solid var(--navy);color:var(--navy);margin-top:4px;padding-top:6px;font-size:15px}.preview{border:1px solid var(--rule);background:#fff;border-radius:4px;flex-direction:column;align-self:start;height:calc(100vh - 90px);display:flex;position:sticky;top:12px}.preview-bar{border-bottom:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;font-size:13px;display:flex}.preview-bar span{margin-right:auto}.preview iframe{border:0;flex:1;width:100%}.locked{background:#fff3cd;border:1px solid #f0d78c;border-radius:4px;align-items:center;gap:12px;margin-bottom:12px;padding:8px 12px;display:flex}.login{background:linear-gradient(180deg, var(--navy) 0 8px, #f6f8fb 8px);place-items:center;min-height:100vh;display:grid}.login-card{border:1px solid var(--rule);text-align:center;background:#fff;border-radius:8px;flex-direction:column;gap:14px;width:380px;padding:36px 40px;display:flex}.brand-big{color:var(--navy);letter-spacing:.1em;font-size:34px;font-weight:700}@media (width<=900px){.app{flex-direction:column}.side{width:100%;height:auto;position:static}.edit-body{grid-template-columns:1fr}.preview{height:70vh;position:static}.main{padding:12px}table.list{font-size:12px}}table.lines td:first-child{width:100%;min-width:220px}.sync{background:#ffffff1a;border-radius:3px;padding:3px 6px}.sync-error{color:#8b1c1c;background:#fde2e2}.sync-saved{background:#78c88c40}.picker{position:relative}.picker input{width:100%}.picker-list{z-index:20;border:1px solid var(--rule);background:#fff;border-radius:4px;max-height:320px;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 6px 16px #0000001f}.picker-item{cursor:pointer;color:var(--ink);justify-content:space-between;gap:10px;padding:6px 10px;font-size:13px;display:flex}.picker-item.on{background:#e8f2fb}.picker-new{color:var(--muted);border-top:1px solid var(--rule);padding:6px 10px;font-size:12px}.login-form{text-align:left;flex-direction:column;gap:10px;display:flex}.login-form label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.login-form input{color:var(--ink);padding:8px 10px;font-size:15px}
