:root{--ai:#1e3a5f;--ai-dark:#132844;--ai-light:#3a5a82;--kaki:#c6572a;--kaki-dark:#9c4420;--paper:#faf7f1;--surface:#ffffff;--sunken:#f1ebe0;--border:#ddd4c3;--ink:#172033;--muted:#6f675d;--safe:#2f7a4f;--safe-bg:#e7f3ea;--caution:#b8862b;--caution-bg:#fbf1dd;--danger:#b23a2e;--danger-bg:#fae6e2;--critical:#7a1f1f;--critical-bg:#f3d9d6;--info-bg:#eaf0f6}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:Noto Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px}body{line-height:1.55}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:232px 1fr}.sidebar{background:var(--ai);color:white;padding:22px 18px;border-right:1px solid var(--ai-dark)}.brand{font-size:22px;font-weight:800;letter-spacing:0;margin-bottom:6px}.tenant{color:#dce5ef;font-size:13px;margin-bottom:28px}.nav{display:grid;grid-gap:8px;gap:8px}.nav a{min-height:44px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:6px}.nav a:focus-visible,.nav a:hover{background:rgba(255,255,255,.12);outline:2px solid rgba(255,255,255,.3)}.main{padding:28px;max-width:1180px;width:100%}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}h1{font-size:24px;line-height:1.25;margin:0}h1,h2{color:var(--ai-dark)}h2{font-size:18px;margin:0 0 12px}.caption,.muted{color:var(--muted);font-size:13px}.grid{display:grid;grid-gap:14px;gap:14px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px}.number{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap}.display-number{color:var(--ai-dark);font-size:clamp(32px,5vw,40px);line-height:1.08;font-weight:800}.metric-label{color:var(--muted);font-size:12px;font-weight:700}.status{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 8px;border-radius:4px;border:1px solid;font-size:13px;font-weight:700}.status.safe{color:var(--safe);background:var(--safe-bg)}.status.caution{color:var(--caution);background:var(--caution-bg)}.status.danger{color:var(--danger);background:var(--danger-bg)}.status.critical{color:var(--critical);background:var(--critical-bg)}.status.info{color:var(--ai-light);background:var(--info-bg)}.button{min-height:44px;border-radius:6px;border:1px solid var(--ai);background:transparent;color:var(--ai);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font-weight:800;cursor:pointer}.button.primary{background:var(--kaki);border-color:var(--kaki);color:white}.button.primary:hover{background:var(--kaki-dark)}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:6px;overflow:hidden}.table td,.table th{border-bottom:1px solid var(--border);padding:11px 12px;text-align:left;vertical-align:top}.table th{background:var(--sunken);color:var(--ai-dark);font-size:12px}.form{display:grid;grid-gap:14px;gap:14px}.field label{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ai-dark);font-weight:800;margin-bottom:6px}.field input{width:100%;min-height:50px;border:1px solid var(--border);border-radius:6px;background:white;padding:10px 12px;font-size:18px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart{height:250px;width:100%}.calendar{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));border-top:1px solid var(--border);border-left:1px solid var(--border);overflow-x:auto}.day-cell{min-height:142px;background:white;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:9px}.day-cell.today{outline:2px solid var(--ai);outline-offset:-2px}.day-cell.caution{background:var(--caution-bg)}.day-cell.danger{background:white;box-shadow:inset 0 0 0 2px var(--danger)}.day-cell.critical{background:var(--critical-bg)}.empty,.error-box{border:1px solid var(--border);background:white;border-radius:6px;padding:18px}.error-box{border-color:var(--critical);background:var(--critical-bg);color:var(--critical)}.sticky-save{position:-webkit-sticky;position:sticky;bottom:0;background:var(--paper);padding:12px 0 0}@media (max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:static}.nav{grid-template-columns:repeat(2,minmax(0,1fr))}.main{padding:18px 14px 28px}.page-head{display:grid}.grid.three,.grid.two{grid-template-columns:1fr}}