*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#f4f7fb;color:#102a4c}button,input,select{font:inherit}button{cursor:pointer;border:0}.loading{min-height:100vh;display:grid;place-items:center;background:#eef4fb;color:#123c69;font-size:20px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e9f2fc,#f8fbff)}.login-card{width:440px;background:#fff;border:1px solid #dbe5f0;border-radius:18px;padding:32px;box-shadow:0 20px 60px #173c6520}.brand{display:flex;gap:14px;align-items:center}.brand-mark{width:52px;height:52px;border-radius:14px;background:#0d3e72;color:#fff;display:grid;place-items:center;font-size:28px}.brand b{display:block;font-size:22px}.brand span,.brand small{display:block;color:#607792;margin-top:3px}.brand small{font-size:12px}.login h1{margin:30px 0 6px;font-size:28px}.login p{color:#70849c}.login form{display:grid;gap:8px}.login label{font-weight:600;margin-top:10px}.login input:not([type=checkbox]),.editorgrid input,.editorgrid select,.toolbar input,.toolbar select,.filters input,.settings input{width:100%;padding:11px 12px;border:1px solid #cbd8e6;border-radius:9px;background:#fff;outline:none}.login input:focus,.editorgrid input:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d215}.captcha{display:flex!important;align-items:center;gap:8px;background:#f5f8fb;padding:11px;border-radius:8px;font-weight:500!important}.captcha input{width:18px;height:18px}.error,.errorbox{background:#fff0f0;color:#b42318;border:1px solid #ffc9c9;padding:11px;border-radius:9px}.success{background:#ecfdf3;color:#067647;padding:10px;border-radius:8px;margin-top:12px}.login footer{text-align:center;margin-top:25px;color:#73859a;font-size:13px}.app{min-height:100vh}.top{height:92px;background:linear-gradient(100deg,#0a315b,#14558c);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px 0 28px;position:sticky;top:0;z-index:5}.topbrand .brand-mark{background:#ffffff1a}.topbrand b{font-size:24px}.topright{display:flex;align-items:center;gap:24px}.slogan{font-style:italic;opacity:.95}.user{font-weight:700}.user small{display:block;font-weight:400;opacity:.8;margin-top:3px}.logout{display:flex;align-items:center;gap:7px;background:#ffffff15;border:1px solid #ffffff55;color:#fff;padding:10px 14px;border-radius:9px}aside{position:fixed;left:0;top:92px;bottom:0;width:230px;background:#fff;border-right:1px solid #dce5ef;padding:16px 10px;z-index:4}aside a{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:3px 0;color:#17395d;text-decoration:none;border-radius:9px}aside a.active{background:#e4f0ff;color:#075ec4;font-weight:700}aside a:hover{background:#f2f7fc}.sidebrand{position:absolute;bottom:24px;left:20px;right:20px;padding:18px;background:#edf5ff;border-radius:14px;font-size:20px;font-weight:800;color:#124579}.sidebrand span{font-size:14px;font-weight:500}main{margin-left:230px;min-height:calc(100vh - 92px)}.page{padding:28px;max-width:1600px;margin:auto}.pagehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.pagehead h2{font-size:31px;margin:0;color:#123e6f}.pagehead p{margin:5px 0;color:#73869d}.sub{color:#71869e;margin-bottom:20px}.actions{display:flex;gap:8px}.primary,.secondary,.danger,.smallbtn,.linkbtn,.iconbtn,.countbtn,.datebtn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border-radius:8px}.primary{background:#1267b1;color:#fff}.primary:hover{background:#0d5798}.secondary{background:#fff;color:#164b7c;border:1px solid #c9d8e7}.danger{background:#c92a2a;color:#fff}.smallbtn{padding:6px 9px;background:#fff;border:1px solid #cbd8e6;color:#315778}.linkbtn,.datebtn{background:transparent;color:#0565c4;padding:5px}.countbtn{background:#e7f1ff;color:#075ec4;min-width:46px;padding:5px 10px;font-weight:700}.iconbtn{background:#eef5fc;color:#1766a9;padding:7px}.full{width:100%;margin-top:12px}.toolbar,.filters{display:flex;gap:10px;align-items:center;margin:16px 0}.search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #cad8e6;border-radius:9px;padding:0 10px;flex:1}.search input{border:0!important;box-shadow:none!important}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin:20px 0}.kpi{border:1px solid #d7e3ef;text-align:left;border-radius:14px;padding:18px;background:#fff;min-height:126px;box-shadow:0 6px 20px #153f6610}.kpi b{display:block;font-size:30px;color:#123f6f}.kpi span{display:block;font-weight:700;margin-top:5px}.kpi small{display:block;margin-top:15px;color:#6b7f96}.kpi.blue{background:#eef6ff}.kpi.green{background:#effbf5}.kpi.amber{background:#fff9ea}.kpi.purple{background:#f5f1ff}.kpi.red{background:#fff2f2}.kpi.violet{background:#f4f2ff}.grid2{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.grid3{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:18px}.panel{background:#fff;border:1px solid #d9e4ef;border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:0 5px 18px #173c6509}.panel h3{margin:0 0 15px;display:flex;align-items:center;gap:8px;color:#153f6d}.panel table{width:100%}.overview{display:flex;align-items:center;justify-content:center;gap:30px;min-height:260px}.donut{width:180px;height:180px;border-radius:50%;background:conic-gradient(#18a974 calc(var(--p)*1%),#f2ad21 0,#f2ad21 80%,#7656d6 0,#7656d6 92%,#ef4444 0);display:grid;place-items:center;position:relative}.donut:after{content:"";position:absolute;width:112px;height:112px;border-radius:50%;background:#fff}.donut strong,.donut span{position:absolute;z-index:1}.donut strong{font-size:25px}.donut span{margin-top:55px;font-size:12px;color:#718198}.legend p{display:flex;justify-content:space-between;gap:20px}.quick{background:#fff;border:1px solid #d8e3ed;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:12px;align-items:center;color:#17466f}.quick svg{width:30px;height:30px}.tablewrap{overflow:auto;background:#fff;border:1px solid #d9e3ed;border-radius:12px}table{border-collapse:collapse;width:100%;font-size:14px}th{background:#edf4fb;text-align:left;color:#274d72;padding:11px;white-space:nowrap}td{padding:10px;border-top:1px solid #e5ebf1;vertical-align:top}tr:hover td{background:#fbfdff}.titlecell{min-width:260px}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:14px}.pagination button{background:#fff;border:1px solid #cbd8e6;border-radius:7px;padding:6px 11px}.loadingbox,.empty{padding:40px;text-align:center;color:#71839a}.notice{padding:13px 15px;background:#eef7ff;border:1px solid #cfe4f7;color:#19517d;border-radius:10px;margin:14px 0;display:flex;align-items:center;gap:8px}.casehead{display:flex;justify-content:space-between;align-items:center;background:#edf5ff;border-radius:12px;padding:18px;margin-bottom:16px}.casehead h3{margin:0;font-size:24px}.casehead p{margin:4px 0;color:#627992}.casehead>span{background:#fff;padding:7px 12px;border-radius:20px;color:#1762a4}.detailgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.field{background:#fff;border:1px solid #dce5ed;border-radius:9px;padding:12px}.field label{display:block;text-transform:capitalize;color:#72859a;font-size:12px;margin-bottom:6px}.field div{word-break:break-word}.editorgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:#fff;padding:18px;border:1px solid #dbe5ef;border-radius:12px}.editorgrid label{font-size:13px;font-weight:700;color:#395978}.formactions{display:flex;justify-content:flex-end;margin-top:16px}.importgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.center{text-align:center;min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center}.center svg{color:#1767aa}.filters label{display:flex;align-items:center;gap:7px;font-weight:600}.reportday h3{margin-bottom:10px}.settings{max-width:700px}.settings label{display:flex;align-items:center;gap:20px;font-weight:700}.settings input{width:130px}.checks{line-height:2}.sitefooter{padding:20px 28px;color:#718198;display:flex;justify-content:space-between;font-size:13px}@media(max-width:1200px){.kpis,.grid3{grid-template-columns:repeat(3,1fr)}.detailgrid,.editorgrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){aside{width:65px}aside a span,.sidebrand{display:none}main{margin-left:65px}.top{padding:10px;height:auto}.slogan{display:none}.topright{gap:8px}.user{display:none}.kpis,.grid2,.importgrid,.detailgrid,.editorgrid{grid-template-columns:1fr}.grid3{grid-template-columns:repeat(2,1fr)}.page{padding:16px}}@media print{aside,.top,.toolbar,.sitefooter,.actions{display:none!important}main{margin:0}.page{padding:10px}.panel{box-shadow:none}.kpis{grid-template-columns:repeat(3,1fr)}}
