:root{color:#0e3159;--navy:#082e59;--navy2:#0c4279;--blue:#176cc5;--green:#07944f;--orange:#ef8b16;--red:#dc3434;--gold:#b9882f;background:#f5f8fb;font-family:Tahoma,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}.login{background:#fff;grid-template-columns:1.25fr .75fr;min-height:100vh;display:grid}.login-visual{color:#fff;background:radial-gradient(circle at 10% 80%,#0f538e 0,#082e59 42%,#061f3c 100%);padding:8vh 7vw;position:relative;overflow:hidden}.login-visual:after{content:"";border:1px solid #ffffff20;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-150px;left:-150px;box-shadow:0 0 0 70px #ffffff08,0 0 0 140px #ffffff05}.brandmark{letter-spacing:3px;color:#e0b34e;font-size:22px;font-weight:800}.login h1{max-width:900px;font-size:clamp(36px,4vw,70px);line-height:1.25}.login h1 b{color:#e4b249}.login-visual>p{opacity:.9;font-size:24px}.feature-grid{grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;max-width:850px;margin-top:55px;display:grid}.feature-grid span{background:#ffffff12;border:1px solid #fff2;border-radius:16px;padding:18px}.demo-badge{background:#07944f;border-radius:999px;margin-top:35px;padding:10px 18px;display:inline-block}.login-card{align-self:center;padding:55px 9%}.ministry{color:var(--navy);border-bottom:3px solid var(--green);padding-bottom:14px;font-size:34px;font-weight:800}.ministry small{color:var(--green);margin-top:7px;font-size:20px;display:block}.login-card h2{margin:45px 0 25px;font-size:32px}.login-card label{margin:18px 0;font-weight:700;display:block}.login-card input{border:1px solid #cbd8e5;border-radius:10px;width:100%;margin-top:9px;padding:15px}.login-card button{background:linear-gradient(90deg,var(--green),#0b6fa5);color:#fff;border:0;border-radius:10px;width:100%;padding:16px;font-size:18px;font-weight:800}.error{color:var(--red);margin-top:15px}.hint{color:#6b7f93;margin-top:20px;font-size:13px}.app{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.app aside{color:#fff;background:linear-gradient(#082e59,#061f3d);flex-direction:column;height:100vh;padding:25px 16px;display:flex;position:sticky;top:0}.logo b{color:#e1b34a;font-size:26px}.logo small,.entity small{opacity:.72;margin-top:5px;display:block}.entity{border-block:1px solid #ffffff18;margin:30px 4px 20px;padding:16px;font-weight:800}.app nav{gap:6px;display:grid}.app nav button{color:#dbe8f6;text-align:right;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:13px 16px}.app nav button.active,.app nav button:hover{color:#fff;background:#176cc5}.app aside footer{opacity:.65;margin-top:auto;font-size:11px;line-height:1.8}.app main{min-width:0}.app header{background:#fff;border-bottom:1px solid #dfe7ef;justify-content:space-between;align-items:center;height:98px;padding:0 35px;display:flex}.app header h1{margin:0;font-size:25px}.app header p{color:#70849b;margin:6px 0 0}.profile{grid-template-columns:auto auto;align-items:center;gap:2px 18px;display:grid}.profile b,.profile small{grid-column:1}.profile button{color:#4e6277;background:#fff;border:1px solid #d5e0e9;border-radius:8px;grid-area:1/2/3;padding:9px 13px}.online{color:#087641;background:#edf9f2;border:1px solid #bfe6cf;border-radius:8px;margin:18px 28px 0;padding:10px 16px}.content{padding:22px 28px 40px}.metrics{grid-template-columns:repeat(5,1fr);gap:15px;display:grid}.metric{border:1px solid #dfe7ef;border-top:4px solid var(--blue);background:#fff;border-radius:14px;padding:22px;box-shadow:0 2px 10px #1234560a}.metric.green{border-top-color:var(--green)}.metric.orange{border-top-color:var(--orange)}.metric.red{border-top-color:var(--red)}.metric small{color:#657b91;font-weight:700;display:block}.metric strong{margin-top:10px;font-size:34px;display:block}.metric.green strong{color:var(--green)}.metric.orange strong{color:var(--orange)}.metric.red strong{color:var(--red)}.metric em{color:#72879a;font-size:12px;font-style:normal}.grid3{grid-template-columns:1fr 2fr 1fr;gap:16px;margin-top:16px;display:grid}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panel,.report{background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:22px;box-shadow:0 2px 10px #1234560a}.panel h3{margin:0 0 18px}.center{text-align:center;color:#71849a}.ring{background:conic-gradient(var(--ring) var(--v),#e8eef3 0);border-radius:50%;place-items:center;width:170px;height:170px;margin:18px auto;display:grid;position:relative}.ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:20px}.ring b{z-index:1;font-size:32px}.linechart{width:100%;height:170px}.linechart line{stroke:#dce5ed;stroke-width:2px}.linechart polyline{fill:none;stroke:var(--blue);stroke-width:4px}.linechart circle{fill:#fff;stroke:var(--blue);stroke-width:3px}.months{color:#72869a;justify-content:space-around;gap:8px;font-size:11px;display:flex}.months span{text-align:center;display:grid}.months b{color:var(--navy);font-size:14px}.big-number{color:var(--orange);text-align:center;margin:35px 0 0;font-size:80px;font-weight:800}.bars{gap:15px;display:grid}.bars label{justify-content:space-between;font-size:14px;display:flex}.bars i{background:#edf2f5;border-radius:999px;height:10px;margin-top:7px;display:block;overflow:hidden}.bars i span{background:linear-gradient(90deg,var(--green),#2e87cc);border-radius:999px;height:100%;display:block}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{background:var(--navy);color:#fff;text-align:right;padding:13px}td{border-bottom:1px solid #e5ebf0;padding:13px}tr:nth-child(2n) td{background:#fafcfd}.report{color:var(--navy);justify-content:space-between;align-items:center;min-height:130px;text-decoration:none;display:flex}.report span{color:var(--green);font-weight:800}.loading{text-align:center;padding:80px}.loading.full{place-items:center;height:100vh;display:grid}@media (width<=1100px){.metrics{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:1fr}.app{grid-template-columns:220px 1fr}}@media (width<=760px){.login{grid-template-columns:1fr}.login-visual{display:none}.app{display:block}.app aside{height:auto;position:relative}.app aside nav{grid-template-columns:repeat(2,1fr)}.app aside footer{display:none}.app header{height:auto;padding:15px}.profile button{display:none}.metrics,.grid2{grid-template-columns:1fr}}
