:root{font-family:"Yu Gothic UI","Meiryo",sans-serif;color:#203348;background:#f3f6fa;font-size:16px}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #27a7ae;outline-offset:3px}aside{width:246px;background:#132c46;color:#fff;position:fixed;inset:0 auto 0 0;padding:30px 22px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:17px}.mark{display:grid;place-items:center;background:#fff;color:#153a5d;width:43px;height:43px;border-radius:10px;font-size:24px}.brand small{display:block;font-size:12px;color:#b7c8d9;margin-top:4px;font-weight:400}.nav-label{margin:48px 12px 15px;color:#a2b7cb;font-size:12px}nav button{display:flex;gap:14px;width:100%;border:0;text-align:left;background:transparent;color:#c7d5e4;padding:15px 14px;margin:5px 0;border-radius:7px;font-size:16px}nav button:hover,nav button.active{background:#254866;color:#fff}.aside-bottom{margin-top:auto;border-top:1px solid #385068;padding-top:24px;font-size:14px}.aside-bottom p{color:#b7c8d9;font-size:12px;line-height:1.8}.workspace{margin-left:246px}header{min-height:80px;background:#fff;border-bottom:1px solid #dde4ed;display:flex;align-items:center;justify-content:space-between;padding:16px 36px;gap:16px;font-size:14px}header label{display:flex;align-items:center;gap:12px;color:#617084}select,input{padding:10px 12px;border:1px solid #cbd6e0;border-radius:6px;color:#203348;background:#fff;max-width:100%}.badge{font-size:12px;letter-spacing:1px;background:#e9f2f8;color:#35647f;border-radius:4px;padding:4px 7px;margin-left:8px}main{max-width:1600px;margin:auto;padding:36px}.heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:2px;color:#587387;font-weight:700}h1{font-size:28px;margin:7px 0 10px;letter-spacing:.03em}p{line-height:1.7}h1+p,.muted{color:#647588;font-size:14px;margin:0}.heading label{font-size:14px}.heading select{margin-left:8px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.metric{background:white;border:1px solid #e0e7ef;border-top:3px solid #367c98;border-radius:8px;padding:22px}.metric label{font-size:14px;color:#5d7183}.number{font-size:32px;letter-spacing:-1px;font-weight:700;margin:13px 0}.number small{font-size:14px;font-weight:400;letter-spacing:0;margin-left:5px}.change{font-size:12px;color:#247b68}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.card{background:#fff;border:1px solid #e0e7ef;border-radius:9px;margin-bottom:22px;overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;padding:21px 24px;border-bottom:1px solid #eaf0f5;gap:12px}.card h2{font-size:17px;margin:0}.card-body{padding:24px}.text-button{border:0;background:none;color:#196782;font-size:14px;padding:5px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:14px}th{font-weight:500;color:#627489;background:#fafbfd;text-align:left}th,td{padding:17px 22px;border-bottom:1px solid #ebeff3}tr:last-child td{border-bottom:0}.status{display:inline-block;padding:5px 9px;font-size:12px;border-radius:4px;background:#e6f3ee;color:#22654f}.status.warn{background:#fff2d9;color:#8f5c0b}.status.blue{background:#eaf1fa;color:#33689f}.bar-row{margin-bottom:22px}.bar-label{display:flex;justify-content:space-between;font-size:14px;margin-bottom:10px}.bar{height:8px;background:#ecf1f5;border-radius:8px;overflow:hidden}.bar span{display:block;background:#34899a;height:100%;border-radius:8px}.bar.orange span{background:#dfa851}.alert{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #eaf0f5;align-items:start}.alert:first-child{padding-top:0}.alert:last-child{border:0;padding-bottom:0}.alert b{font-size:14px}.alert p{font-size:12px;color:#728294;margin:5px 0}.tag{background:#fff0df;color:#995f15;padding:5px 8px;border-radius:4px;font-size:12px;white-space:nowrap}.notice{display:flex;justify-content:space-between;gap:14px;margin-bottom:18px;font-size:14px}.notice time{color:#758495;font-size:12px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar input{min-width:260px}.primary{border:0;background:#1b6582;color:#fff;padding:11px 18px;border-radius:6px}.secondary{border:1px solid #d0dbe5;background:#fff;padding:10px 16px;border-radius:6px;color:#36526b}.tabs{display:flex;gap:8px;margin-bottom:20px}.tabs button{padding:10px 20px;border:1px solid #d7e1e9;background:white;border-radius:6px;color:#415970}.tabs button.active{background:#1b6582;color:#fff;border-color:#1b6582}.calendar td{min-width:170px;height:100px;vertical-align:top;background:#fff}.calendar th:first-child,.calendar td:first-child{min-width:110px}.event{display:block;width:100%;text-align:left;border:0;background:#e8f3f4;border-left:3px solid #3b9299;border-radius:4px;padding:10px;color:#225b67;font-size:14px;line-height:1.5}.event small{display:block;color:#627e89;font-size:12px}.empty{color:#768899;text-align:center;padding:40px}footer{padding:16px 36px 26px;color:#778899;font-size:12px;display:flex;justify-content:space-between;gap:15px}dialog{border:0;border-radius:12px;padding:30px;width:min(540px,90vw);color:#203348;box-shadow:0 24px 100px #102c4655}dialog::backdrop{background:#102a4666}dialog h2{font-size:22px}dialog dl{display:grid;grid-template-columns:130px 1fr;gap:16px;font-size:14px}dialog dt{color:#697d90}dialog dd{margin:0}dialog form{text-align:right;margin-top:26px}.note{font-size:12px;color:#687d90;background:#f1f5f8;padding:12px;margin-top:20px}@media(min-width:1600px){main{padding:45px}}@media(max-width:1100px){aside{width:205px;padding:25px 14px}.workspace{margin-left:205px}main{padding:24px}.metrics{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}header{padding:16px 24px}footer{flex-direction:column}}@media(max-width:680px){aside{position:static;width:auto;padding:18px}.brand small,.nav-label,.aside-bottom{display:none}nav{display:flex;margin-top:15px;gap:5px}nav button{font-size:14px;padding:10px 6px;gap:6px;justify-content:center}.workspace{margin:0}header{padding:14px 18px;align-items:start;flex-direction:column}main{padding:22px 16px}.heading{align-items:start;flex-direction:column}h1{font-size:24px}.metrics{gap:10px}.metric{padding:16px 12px}.number{font-size:27px}.card-head,.card-body{padding:18px}.toolbar input{min-width:0;width:100%}footer{padding:18px}.heading select{margin:0 0 0 8px}}

.grid>div,.card,.metric{min-width:0}.metrics{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1100px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
