/* Unified Corporate Channel - shared styles (Hitachi palette: square corners, no outlines on containers) */
@font-face{font-family:'Hitachi Sans';src:url(/assets/fonts/HitachiSans-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Hitachi Sans';src:url(/assets/fonts/HitachiSans-Bold.ttf) format('truetype');font-weight:700;font-display:swap}
:root{
  --red:#fa000f; --red-deep:#cc0000; --red-dark:#a80000; --ink:#0c0c0c; --charcoal:#222222;
  --g700:#4d4d4d; --g500:#737373; --g300:#b3b3b3; --g200:#d9d9d9; --g150:#e8e8e8; --g100:#f4f4f4; --white:#ffffff;
  --ok:#1f7a3a; --ok-bg:#e4f1e8; --warn:#8a5a00; --warn-bg:#fdf1d3; --bad:#cc0000; --bad-bg:#fbe5e5; --info:#1d4f91; --info-bg:#e6edf7;
  --font:'Hitachi Sans','Helvetica Neue',Arial,sans-serif; --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--g100);color:var(--ink)}
body{font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;border:0;background:none;padding:0}
a{color:var(--red-deep)}a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--info);outline-offset:2px}
h1,h2,h3,h4{margin:0;text-wrap:balance}
p{margin:0}
[hidden]{display:none!important}
.mono{font-family:var(--mono);font-size:.9em}
.num{font-variant-numeric:tabular-nums}
.dim{color:var(--g700)}
.muted{color:var(--g500)}
.label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--g500);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;font-weight:700;background:var(--red-deep);color:var(--white);text-decoration:none;transition:background .15s}
.btn:hover{background:var(--red-dark);color:var(--white)}
.btn[disabled]{background:var(--g300);cursor:not-allowed}
.btn.ghost{background:var(--white);color:var(--ink);box-shadow:inset 0 0 0 1px var(--g300)}
.btn.ghost:hover{background:var(--g100);color:var(--ink)}
.btn.dark{background:var(--charcoal)}
.btn.dark:hover{background:#000}
.btn.sm{padding:7px 12px;font-size:13px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-weight:700;font-size:13px}
.field input,.field select{padding:11px 12px;border:1px solid var(--g500);background:var(--white);border-radius:0;width:100%;min-width:0}
.field input[readonly]{background:var(--g100);color:var(--g700)}
.field .help{font-size:12px;color:var(--g500)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:3px 8px;white-space:nowrap}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.t-ok{background:var(--ok-bg);color:var(--ok)}.t-warn{background:var(--warn-bg);color:var(--warn)}.t-bad{background:var(--bad-bg);color:var(--bad)}.t-info{background:var(--info-bg);color:var(--info)}.t-grey{background:var(--g100);color:var(--g700)}
.banner{padding:12px 14px;display:flex;gap:10px;align-items:flex-start}
.banner.warn{background:var(--warn-bg);color:#5c3c00}.banner.ok{background:var(--ok-bg);color:#14532a}.banner.bad{background:var(--bad-bg);color:#7a0000}.banner.info{background:var(--info-bg);color:#16365f}
.err{background:var(--bad-bg);color:#7a0000;padding:10px 12px;font-size:13px}
.toasts{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:6px;z-index:80;width:min(460px,calc(100% - 32px))}
.toast{background:var(--charcoal);color:var(--white);padding:12px 14px;font-size:13.5px;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.toast b{color:#ff9a9a}
.tbl-wrap{overflow-x:auto;min-width:0}
table{border-collapse:collapse;width:100%;font-size:13.5px}
th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--g500);font-weight:700;padding:9px 12px;background:var(--g100);white-space:nowrap}
td{padding:11px 12px;border-bottom:1px solid var(--g150);vertical-align:top}
td.r,th.r{text-align:right}
tr.click{cursor:pointer}tr.click:hover td{background:#fafafa}
.bar{height:8px;background:var(--g150);position:relative;min-width:60px}
.bar i{position:absolute;inset:0 auto 0 0;background:var(--red-deep)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
