:root{--teal: #0f766e;--teal-d: #0b5a54;--pink: #be185d;--bg: #f6f7f8;--card: #ffffff;--line: #e3e6e8;--text: #1c2526;--muted: #6b7679;--ok: #15803d;--warn: #b45309;font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%}code,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.small{font-size:12px}.muted{color:var(--muted)}.num{text-align:right;font-variant-numeric:tabular-nums}.app{max-width:980px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--teal);color:#fff;position:sticky;top:0;z-index:10}.brand{font-weight:700}.brand.big{font-size:20px}.spacer{flex:1}.who{display:flex;align-items:center;gap:8px;font-size:13px}.role-pill{background:#fff3;padding:2px 8px;border-radius:999px}.who .name{opacity:.9}button.link{background:none;border:none;color:#fff;text-decoration:underline;cursor:pointer}.tabs{display:flex;gap:4px;padding:8px 12px;background:var(--card);border-bottom:1px solid var(--line);overflow-x:auto}.tab{padding:8px 14px;border-radius:8px;text-decoration:none;color:var(--muted);white-space:nowrap;font-weight:600;font-size:14px}.tab.on{background:var(--teal);color:#fff}.content{flex:1;padding:16px}.foot{padding:10px 16px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}.splash{display:grid;place-items:center;height:100vh;font-size:28px;color:var(--muted)}h2{margin:4px 0 14px;font-size:19px}h3{margin:22px 0 10px;font-size:15px}.lang-toggle{display:inline-flex;border:1px solid rgba(255,255,255,.4);border-radius:8px;overflow:hidden}.lang-toggle button{background:transparent;color:inherit;border:none;padding:4px 9px;cursor:pointer;font-size:12px}.lang-toggle button.on{background:#ffffff40;font-weight:700}.login .lang-toggle,.login-head .lang-toggle{border-color:var(--line);color:var(--text)}.login-head .lang-toggle button.on{background:var(--bg)}.scroll-x{overflow-x:auto}table.grid{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}.grid th,.grid td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}.grid th{background:#eef2f1;color:var(--teal-d);font-size:12px;text-transform:none}.grid tr:last-child td{border-bottom:none}.grid tr.total td{font-weight:700;background:#f0f4f3}.cat{font-size:11px;background:#eef2f1;color:var(--teal-d);padding:2px 6px;border-radius:6px}.banner{background:#fff7ed;border:1px solid #fed7aa;color:var(--warn);padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:14px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}.card-val{font-size:22px;font-weight:700;color:var(--teal-d)}.card-label{font-size:12px;color:var(--muted);margin-top:4px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;width:100%;max-width:420px;box-shadow:0 10px 40px #0000000f}.login-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.login h1{font-size:22px;margin:8px 0 2px}.login form{display:flex;flex-direction:column;gap:6px;margin-top:16px}.login label{font-size:13px;font-weight:600}.login input{padding:11px 12px;border:1px solid var(--line);border-radius:9px;font-size:15px}button.primary{background:var(--teal);color:#fff;border:none;padding:12px;border-radius:9px;font-size:15px;font-weight:700;cursor:pointer;margin-top:4px}button.primary:disabled{opacity:.4;cursor:not-allowed}.ok{color:var(--ok);font-size:13px}.err-text{color:#b91c1c;font-size:13px}.link-btn{background:none;border:none;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:13px;padding:4px}.demo{margin-top:22px;border-top:1px dashed var(--line);padding-top:16px}.demo h3{margin:0 0 4px}.demo-btns{display:flex;flex-direction:column;gap:8px;margin-top:10px}button.ghost{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:#f3f6f5;border:1px solid var(--line);border-radius:9px;padding:10px 12px;cursor:pointer;font-weight:700;color:var(--teal-d)}button.ghost .sub{font-weight:400;font-size:12px;color:var(--muted)}.daily-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.sync-state{display:flex;gap:6px;flex-wrap:wrap}.pill{font-size:11px;padding:3px 9px;border-radius:999px;background:#eef2f1;color:var(--teal-d);font-weight:700}.pill.warn{background:#fff7ed;color:var(--warn)}.pill.ok{background:#ecfdf3;color:var(--ok)}.daily .row{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0 4px}.daily label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--muted)}.daily input,.daily select,.daily textarea{padding:9px 10px;border:1px solid var(--line);border-radius:8px;font-size:15px;background:#fff;color:var(--text)}.daily textarea{width:100%;resize:vertical;font-family:inherit}.entry-group{border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:12px;background:var(--card)}.entry-group-head{display:flex;align-items:center;gap:10px}.entry-group-head strong{font-size:15px}.entry-group-head .count{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.entry-group-head .add{margin-left:auto;background:var(--teal);color:#fff;border:none;padding:7px 12px;border-radius:8px;font-weight:700;cursor:pointer;font-size:13px}.entry-group-head .add:disabled{background:#c7d2cf;cursor:not-allowed}.cap-note{font-size:12px;color:var(--warn);margin-top:6px}.entry-card{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:10px;background:#fafbfb}.entry-card-head{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:8px}.entry-card-head .route input{width:80px}.entry-card-head .x{margin-left:auto;background:none;border:1px solid var(--line);color:var(--muted);border-radius:7px;padding:6px 10px;cursor:pointer;font-size:12px}.sku-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px}.sku-line{flex-direction:row!important;align-items:center;gap:8px;font-weight:400!important;color:var(--text)!important}.sku-line .sku-name{flex:1;font-size:13px}.sku-line input{width:64px;text-align:right}.prod-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.numfield{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px}.numfield input{width:100%;text-align:right}.photos{display:flex;gap:10px;flex-wrap:wrap}.thumb{position:relative;width:84px;height:84px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .x{position:absolute;top:2px;right:2px;background:#0009;color:#fff;border:none;border-radius:50%;width:22px;height:22px;cursor:pointer}.photo-add{width:84px;height:84px;border:1px dashed var(--line);border-radius:10px;display:grid;place-items:center;text-align:center;font-size:12px;color:var(--muted);cursor:pointer}.card.warn{border-color:#fed7aa;background:#fff7ed}.card.warn .card-val{color:var(--warn)}.banner.err{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.actions{display:flex;gap:10px;margin-top:18px}button.wide{flex:1;padding:13px;border-radius:10px;font-size:15px;font-weight:700;cursor:pointer}button.ghost.wide{background:#f3f6f5;border:1px solid var(--line);color:var(--teal-d)}.center{text-align:center}.weeknav{display:flex;align-items:center;gap:10px;margin:10px 0 6px}.weeknav button{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 12px;cursor:pointer;font-weight:700;color:var(--teal-d)}.weeklabel{flex:1;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;display:flex;gap:8px;align-items:center;justify-content:center}.mini{background:var(--teal);color:#fff;border:none;border-radius:8px;padding:6px 11px;cursor:pointer;font-size:12px;font-weight:700}.mini.ghost{background:#f3f6f5;color:var(--muted);border:1px solid var(--line)}.card-sub{font-size:11px;color:var(--muted);margin-top:2px}.cell-warn{color:var(--warn);font-weight:700;background:#fff7ed}.approval{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}.appr-status{display:flex;align-items:center;gap:10px;margin-bottom:10px}.approval textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-family:inherit;font-size:14px;resize:vertical}@media (max-width: 520px){.who .name{display:none}.sku-grid{grid-template-columns:1fr}}
