:root{font-family:system-ui,'Yu Gothic',sans-serif;color:#172b4b;background:#f2f6fc;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#1458d5;color:white;border:0;border-radius:9px;padding:11px 17px;font-weight:600}button.secondary{background:#e9f0fc;color:#205ab0}button.danger{background:#b33044}button:disabled{opacity:.45;cursor:default}input,select,textarea{border:1px solid #cbd6e6;border-radius:8px;padding:10px;background:white;color:#172b4b;width:100%}textarea{min-height:100px;resize:vertical}label{display:grid;gap:7px;font-size:13px;color:#4d6483}h1,h2,h3,p{margin-top:0}h1{font-size:27px}h2{font-size:19px}h3{font-size:16px}p{line-height:1.8}aside{position:fixed;width:220px;inset:0 auto 0 0;background:#0c254e;color:white;padding:32px 18px;display:flex;flex-direction:column;gap:8px}.brand{font-size:27px;letter-spacing:3px;font-weight:800;margin:0 0 6px}.brand small{display:block;font-size:11px;letter-spacing:1px;color:#9dbbe8;margin:9px 0 34px}aside button{background:transparent;text-align:left;color:#b9cceb}aside button.active{background:#205bd0;color:white}.account{margin-top:auto;padding:14px 5px;font-size:12px;color:#acc4e9}main{margin-left:220px;padding:35px;max-width:1600px}.top,.row,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.top{justify-content:space-between;margin-bottom:24px}.top select,.top input{width:auto}.muted{color:#6b7f9a;font-size:13px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.card,.panel{background:white;border:1px solid #e0e8f4;border-radius:14px;padding:22px;box-shadow:0 4px 18px #1a3d7410}.card strong{display:block;font-size:28px;margin-top:12px;color:#164ca4}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{margin-bottom:20px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:12px;color:#6a7c94;background:#f5f8fd}th,td{padding:13px;border-bottom:1px solid #e8eef7}td button{padding:7px 12px} .badge{background:#e9f1ff;color:#2360b9;padding:5px 9px;border-radius:6px;font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.day{border:1px solid #e5edf8;min-height:95px;padding:8px;border-radius:6px}.day small{display:block;background:#eaf2ff;color:#245ab3;margin-top:6px;padding:5px;overflow-wrap:anywhere}.weekday{text-align:center;color:#6b7f9a;font-size:12px;padding:8px}.empty{color:#8290a4;padding:25px;text-align:center}.login{max-width:420px;margin:12vh auto;background:white;border-radius:18px;padding:38px;box-shadow:0 16px 60px #173c7820}.login label{margin-bottom:18px}.login .brand{color:#1458d5;font-size:30px}.login button{width:100%}dialog{border:0;border-radius:16px;max-width:820px;width:calc(100% - 30px);max-height:90vh;padding:28px;box-shadow:0 20px 100px #0b204a40}dialog::backdrop{background:#13284680}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.full{grid-column:1/-1}.warning{background:#fff5da;color:#866021;border-radius:8px;padding:12px;line-height:1.6}.demo{background:#fff3cb;padding:12px;border-radius:9px;margin-bottom:20px;color:#74571c}#toast{position:fixed;bottom:25px;right:25px;background:#0c254e;color:white;padding:14px 22px;border-radius:10px;display:none;max-width:90vw}.bars{display:grid;gap:12px}.bar{height:8px;border-radius:8px;background:#dce8fa;overflow:hidden}.bar span{display:block;height:100%;background:#276bda}.error{color:#ad2541}a{color:#1458d5}@media(max-width:850px){aside{position:sticky;top:0;z-index:2;width:100%;padding:12px;flex-direction:row;overflow:auto;align-items:center}.brand{font-size:18px;letter-spacing:1px;white-space:nowrap;margin:0}.brand small,.account{display:none}aside button{white-space:nowrap;padding:10px}.cards{grid-template-columns:1fr 1fr}.columns{grid-template-columns:1fr}main{margin:0;padding:20px 14px}.calendar{gap:2px}.day{padding:4px;min-height:75px;font-size:11px}.day small{font-size:10px;padding:3px}h1{font-size:23px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.card{padding:17px}.card strong{font-size:23px}}
