:root{--green:#176b52;--dark:#153d33;--ink:#18342d;--muted:#697872;--line:#dce5e0;--bg:#f3f6f4}*{box-sizing:border-box}body{margin:0;font-family:Arial,"Noto Sans JP",sans-serif;color:var(--ink);background:var(--bg)}button,input,select,textarea{font:inherit}.app{min-height:100vh;display:grid;grid-template-columns:235px 1fr}aside{background:var(--dark);color:white;padding:26px 18px;display:flex;flex-direction:column;position:fixed;width:235px;top:0;bottom:0}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 28px}.brand i{width:38px;height:38px;border:1px solid #ffffff55;border-radius:9px;display:grid;place-items:center;font-style:normal}.brand small{display:block;font-size:8px;letter-spacing:.13em;color:#b9d2ca;margin-top:3px}aside nav{display:grid;gap:5px}aside nav button{display:flex;justify-content:space-between;border:0;text-align:left;color:#c8d9d4;background:transparent;padding:12px;border-radius:8px;cursor:pointer}aside nav button.active,aside nav button:hover{color:white;background:#ffffff18}aside nav b{background:#d59655;color:white;border-radius:12px;padding:1px 7px;font-size:10px}.logout{margin-top:auto;background:transparent;color:#dbe8e4;border:1px solid #ffffff33;padding:10px;border-radius:8px}main{grid-column:2}header{height:70px;background:white;border-bottom:1px solid var(--line);padding:0 34px;display:flex;justify-content:space-between;align-items:center}header div{display:flex;gap:8px;align-items:center}header small{color:var(--muted)}.online{font-size:11px;color:var(--green);background:#eaf5ef;padding:7px 10px;border-radius:20px}.page{display:none;max-width:1180px;margin:auto;padding:38px 34px 80px}.page.active{display:block}.title{display:flex;justify-content:space-between;align-items:center}.title p{font-size:10px;letter-spacing:.18em;color:var(--green);font-weight:bold}.title h1{font-family:serif;font-size:32px;margin:8px 0 26px}.today,.count{font-size:11px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metrics article,.panel,.review{background:white;border:1px solid var(--line);border-radius:12px;padding:22px}.metrics small,.metrics span{display:block;color:var(--muted);font-size:11px}.metrics strong{display:block;font-size:27px;margin:13px 0}.metrics em{font-size:11px;font-style:normal;margin-left:4px}.metrics button{border:0;background:transparent;padding:0;color:var(--green);font-size:11px;cursor:pointer}.columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}.panel h2{font-size:15px;margin-top:0}.panel dl{margin:0}.panel dl div{display:flex;justify-content:space-between;border-bottom:1px solid #edf1ef;padding:12px 0}.panel dt,.panel dd{margin:0;font-size:12px}.good{color:#16805f!important}.bad{color:#bd493d!important}.logs div{border-bottom:1px solid #edf1ef;padding:10px 0}.logs b,.logs span{display:block;font-size:11px}.logs span{color:var(--muted);margin-top:4px}.secondary{background:white;color:var(--green);border:1px solid #bad0c7;padding:10px 14px;border-radius:7px;margin-top:16px}.review{display:grid;grid-template-columns:auto 1fr auto;gap:15px;margin-bottom:14px}.avatar{width:48px;height:48px;border-radius:50%;background:#dfeee8;color:var(--green);display:grid;place-items:center;font-size:18px}.person h2{margin:0}.person p{margin:6px 0;font-size:12px}.person small{color:var(--muted)}.pending{font-size:10px;color:#9a641e;background:#fff4e2;padding:7px 10px;border-radius:20px;align-self:start}.review dl{grid-column:2/-1;display:grid;grid-template-columns:100px 1fr;margin:0}.review dt,.review dd{padding:8px;margin:0;border-bottom:1px solid #edf1ef;font-size:12px}.reviewActions{grid-column:2/-1;display:flex;justify-content:flex-end;gap:8px}.reviewActions button{padding:10px 14px;border-radius:7px}.reject{background:white;border:1px solid #dfbdb7;color:#a4463d}.approve{background:var(--green);border:0;color:white}.filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:9px;background:white;border:1px solid var(--line);padding:15px;border-radius:10px;margin-bottom:14px}.filters input,.filters select{border:1px solid #d5dfda;border-radius:7px;padding:10px;background:white}.filters button{border:0;background:var(--green);color:white;border-radius:7px;padding:0 18px}.table{background:white;border:1px solid var(--line);border-radius:11px;overflow:hidden}.thead,.row{display:grid;grid-template-columns:2fr .8fr .8fr .8fr;gap:12px;align-items:center;padding:13px 18px}.thead{background:#edf3f0;font-size:10px;color:var(--muted);font-weight:bold}.row{border-top:1px solid #edf1ef;font-size:12px}.row b,.row small{display:block}.row small{color:var(--muted);margin-top:4px}.emergency{background:white;border:1px solid var(--line);border-left:5px solid var(--green);padding:26px;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:35px}.emergency.stopped{border-left-color:#b8443b;background:#fffafa}.shield{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#b8443b;background:#fff0ed}.emergency p{color:var(--muted);line-height:1.7}.emergency label{font-size:12px;font-weight:bold}.emergency textarea{display:block;width:100%;min-height:90px;border:1px solid #d5dfda;border-radius:8px;padding:10px;margin:8px 0 12px}.emergency button{border:0;border-radius:8px;background:#b8443b;color:white;padding:11px 15px;font-weight:bold}.emergency.stopped button{background:var(--green)}.info{max-width:650px;margin-top:18px}#toast{position:fixed;right:24px;bottom:24px;background:var(--dark);color:white;padding:13px 18px;border-radius:9px;opacity:0;transform:translateY(10px);transition:.2s}#toast.show{opacity:1;transform:none}@media(max-width:900px){.app{grid-template-columns:1fr}aside{position:static;width:auto;height:auto;padding:14px}.brand{padding-bottom:12px}aside nav{display:flex;overflow:auto}aside nav button{white-space:nowrap}.logout{display:none}main{grid-column:1}.metrics{grid-template-columns:1fr 1fr}.columns,.emergency{grid-template-columns:1fr}}@media(max-width:580px){header{padding:0 18px}.online{display:none}.page{padding:28px 16px}.metrics{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.thead{display:none}.row{grid-template-columns:1fr 1fr}.row span:first-child{grid-column:1/-1}.review{grid-template-columns:auto 1fr}.pending{grid-column:2}.review dl,.reviewActions{grid-column:1/-1}.title h1{font-size:26px}}
