:root{--bg: #f5f6f8;--card: #fff;--text: #1d2330;--muted: #6b7280;--border: #dfe3ea;--primary: #1f5fbf;--primary-text: #fff;--error: #c62828;--warn: #b26a00;--ok: #2e7d32;--info: #1f5fbf;font-family:Hiragino Sans,Noto Sans JP,Yu Gothic UI,Meiryo,system-ui,sans-serif;color:var(--text);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:var(--primary)}h1{font-size:20px}h2{font-size:20px;margin:0}h3{font-size:15px;margin:0 0 8px}.topbar{display:flex;align-items:center;gap:24px;padding:10px 20px;background:#fff;border-bottom:1px solid var(--border);flex-wrap:wrap}.brand{font-weight:700}.topbar nav{display:flex;gap:4px;flex:1;flex-wrap:wrap}.topbar nav a{padding:6px 12px;border-radius:6px;text-decoration:none;color:var(--text)}.topbar nav a.active{background:#e8f0fc;color:var(--primary);font-weight:600}.who{display:flex;gap:12px;align-items:center}.tenant{font-weight:600}main{max-width:1280px;margin:0 auto;padding:20px 16px 60px}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.muted{color:var(--muted)}.small{font-size:12px}.mono{font-family:ui-monospace,Menlo,Consolas,monospace}.center{display:grid;place-items:center;height:100vh}button,.button{font:inherit;padding:7px 14px;border-radius:6px;border:1px solid var(--border);background:#fff;cursor:pointer;color:var(--text);text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:not-allowed}button.primary,.button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}button.link{border:none;background:none;color:var(--primary);padding:0}input,select,textarea{font:inherit;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);width:100%}input[type=checkbox]{width:auto}label{display:flex;flex-direction:column;gap:4px;font-weight:600}label.inline{flex-direction:row;align-items:center;gap:8px;font-weight:400}label.inline input[type=month]{width:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}th{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}td input,td select{min-width:90px}.num{text-align:right}.scroll{overflow-x:auto}tr.bad td{background:#fff4f4}.text-error{color:var(--error)}.alert{padding:10px 12px;border-radius:6px;border:1px solid}.alert.error{color:var(--error);border-color:#f2c4c4;background:#fff5f5}.alert.warn{color:var(--warn);border-color:#f1d9a8;background:#fffaf0}.alert.info{color:var(--info);border-color:#c6d7f2;background:#f4f8ff}.badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;background:#eef0f3;color:var(--muted);font-weight:600}.s-completed{background:#e7f4e8;color:var(--ok)}.s-ready{background:#e8f0fc;color:var(--primary)}.s-failed,.s-partial_failed,.sev-stop{background:#fdeaea;color:var(--error)}.s-analyzing,.s-applying,.s-uploaded{background:#fff4e0;color:var(--warn)}.sev-error{background:#fdeaea;color:var(--error)}.sev-warning{background:#fff4e0;color:var(--warn)}.stat{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;margin:0}.stat div{background:#f8f9fb;border-radius:6px;padding:8px}.stat dt{font-size:12px;color:var(--muted)}.stat dd{margin:0;font-size:18px;font-weight:700}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);flex-wrap:wrap}.tabs button{border:none;border-bottom:2px solid transparent;border-radius:0;background:none}.tabs button.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.drop{border:2px dashed var(--border);border-radius:10px;padding:28px;text-align:center}.drop.over{border-color:var(--primary);background:#f4f8ff}.confirm{border-color:var(--primary)}ul.plain{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.login{min-height:100vh;display:grid;place-items:center;padding:16px}.login form{width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px}pre{background:#f8f9fb;padding:8px;border-radius:6px;overflow:auto;max-height:300px}details summary{cursor:pointer;font-weight:600}.who,.badge,td.mono,td a{white-space:nowrap}.row select,.row input:not([type=checkbox]){width:auto}
