*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7fa;color:#17212b}.app{display:flex;min-height:100vh}aside{width:245px;background:#10243b;color:#fff;position:fixed;left:0;top:0;bottom:0;padding:18px 12px;z-index:5}aside button{width:100%;display:flex;align-items:center;gap:11px;background:none;border:0;color:#dbe5ee;padding:11px 12px;border-radius:7px;margin:2px 0;cursor:pointer;text-align:left}aside button:hover,aside button.active{background:#1a3a5a;color:#fff}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:14px;line-height:1.15;padding:8px 10px 22px}.brand small{display:block;color:#aebdcb;font-weight:400;font-size:10px;margin-top:5px}.collapse{justify-content:center!important;background:#173553!important;margin-bottom:10px!important}.logout{position:absolute;bottom:18px;left:12px;width:calc(100% - 24px)!important}.collapsed aside{width:70px}.collapsed aside span{display:none}.collapsed aside .brand span{display:none}.collapsed aside .brand{justify-content:center}.collapsed aside .logout{left:12px}.collapsed main{margin-left:70px}main{margin-left:245px;width:calc(100% - 245px)}header{height:68px;background:#fff;border-bottom:1px solid #e0e7ee;display:flex;align-items:center;padding:0 22px;gap:14px;position:sticky;top:0;z-index:3}.search{display:flex;align-items:center;gap:8px;width:min(560px,70%);border:1px solid #d5dee7;border-radius:7px;padding:8px 11px}.search input{border:0;outline:0;width:100%;font-size:14px}.headright{margin-left:auto;display:flex;align-items:center;gap:10px;color:#657487;font-size:13px}.mobileMenu{display:none}.content{padding:24px}.pagetitle{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.pagetitle h1{margin:0;font-size:24px}.pagetitle p{margin:5px 0 0;color:#6b7785;font-size:13px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-bottom:18px}.card{background:#fff;border:1px solid #dfe6ed;border-radius:9px;padding:17px}.card small{color:#6b7785;font-size:11px}.card b{display:block;font-size:28px;margin-top:7px}.panel{background:#fff;border:1px solid #dfe6ed;border-radius:9px;margin-bottom:18px;overflow:hidden}.panelhead{padding:14px 16px;border-bottom:1px solid #e8edf2}.panelhead h3{margin:0;font-size:15px}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px 12px;border-bottom:1px solid #edf1f4;text-align:left;font-size:13px;white-space:nowrap}th{background:#f8fafc;color:#596878;font-size:11px;text-transform:uppercase}tr:hover td{background:#fbfdff}.primary,.secondary,.icon{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:6px;padding:9px 12px;cursor:pointer;font-weight:600}.primary{background:#1677c8;color:#fff}.secondary{background:#e8eef4;color:#24384b}.icon{background:#edf2f6;padding:7px}.rowactions{display:flex;gap:5px}.rowactions button{border:0;background:#edf2f6;border-radius:5px;padding:6px;cursor:pointer}.badge{display:inline-block;border-radius:12px;padding:4px 8px;background:#e4f0fb;color:#1766a4;font-size:11px;font-weight:600}.ok{background:#e3f4eb;color:#197148}.warn{background:#fff0d8;color:#9b5e0d}.bad{background:#fde7e7;color:#a32d2d}.empty{padding:35px;text-align:center;color:#6b7785}.hint{color:#6b7785;font-size:12px;padding:0 15px 15px;line-height:1.5}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid .panel{padding-bottom:15px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b1c2e88;display:flex;align-items:center;justify-content:center;padding:18px;z-index:20}.modal{position:relative;background:#fff;border-radius:10px;padding:22px;width:min(650px,100%);max-height:90vh;overflow:auto}.modal h2{margin:0 0 17px}.modal label{display:flex;flex-direction:column;gap:5px;margin-bottom:11px;font-size:12px;font-weight:600;color:#536273}.modal input,.modal select{padding:9px;border:1px solid #d5dee7;border-radius:6px;font:inherit}.close{position:absolute;right:12px;top:12px;border:0;background:#edf2f6;border-radius:5px;padding:6px;cursor:pointer}.save{margin-top:8px;width:100%;justify-content:center}.toast{position:fixed;right:20px;bottom:20px;background:#10243b;color:#fff;padding:11px 14px;border-radius:7px;display:none;z-index:50}.toast.show{display:flex;gap:10px;align-items:center}.toast button{background:none;border:0;color:#fff;font-size:18px}.login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#10243b}.loginbox{background:#fff;width:min(410px,92%);border-radius:12px;padding:30px;text-align:center}.loginbox h1{font-size:20px;margin:12px 0 5px}.loginbox p{font-size:12px;color:#6b7785;margin-bottom:22px}.loginbox input{width:100%;padding:11px;margin:5px 0;border:1px solid #d5dee7;border-radius:6px}.loginbox>button:not(.link){width:100%;padding:11px;background:#1677c8;color:#fff;border:0;border-radius:6px;margin-top:8px;cursor:pointer}.loginbox .link{border:0;background:none;color:#1677c8;margin-top:12px;cursor:pointer}.loginnotice{margin-top:12px;background:#fff0d8;padding:8px;border-radius:5px;font-size:12px}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}}@media(max-width:650px){aside{transform:translate(-100%)}.app.collapsed aside{transform:translate(0);width:245px}.app.collapsed aside span{display:block}.app.collapsed aside .brand span{display:block}.main,.collapsed main{margin-left:0;width:100%}.mobileMenu{display:block;border:0;background:none}.cards{grid-template-columns:1fr}.content{padding:15px}.pagetitle{align-items:flex-start;gap:10px;flex-direction:column}.headright span{display:none}}
