*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,"Segoe UI",Arial;color:#24324a;background:#f3f6fb}a{text-decoration:none;color:#245ec7}
.portal{min-height:100vh;display:grid;grid-template-columns:245px 1fr}.nav{position:fixed;width:245px;inset:0 auto 0 0;background:linear-gradient(180deg,#082a52,#0b3971 55%,#082b55);color:#fff;padding:22px 15px;display:flex;flex-direction:column;box-shadow:8px 0 28px #1235}
.brand{display:flex;align-items:center;gap:11px;padding:0 8px 22px;border-bottom:1px solid #ffffff1f}.brandmark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#ffbf2f,#ff7a1a);display:grid;place-items:center;color:white;font-size:23px;font-weight:900;box-shadow:0 8px 20px #0003}.brand b{font-size:18px;letter-spacing:.05em}.brand small{display:block;color:#a9c8eb;margin-top:2px}
nav{padding-top:18px;flex:1}nav a{display:flex;gap:12px;align-items:center;color:#d7e8fb;padding:11px 13px;border-radius:9px;margin:4px 0;font-size:14px}nav a:hover,nav a.active{background:#ffffff16;color:#fff}nav a.active{box-shadow:inset 3px 0 #ffb52a}.nav-title{font-size:10px;letter-spacing:.14em;color:#7fa8d2;padding:18px 13px 5px}
.nav-user{background:#ffffff10;border:1px solid #ffffff12;border-radius:11px;padding:12px}.nav-user b,.nav-user small{display:block}.nav-user small{color:#9fc2e8;margin:3px 0 8px}.nav-user a{font-size:12px;color:#ffd178}
.content{grid-column:2}.topbar{height:92px;background:#fff;border-bottom:1px solid #e1e8f1;display:flex;align-items:center;padding:0 34px}.topbar>div{flex:1}.topbar h1{font-size:23px;margin:0;color:#14233c}.topbar p{margin:5px 0 0;color:#7d8ca2;font-size:13px}.top-action,.btn-main{background:linear-gradient(135deg,#145dbd,#0d7ad4);color:#fff;border:0;border-radius:9px;padding:11px 16px;box-shadow:0 7px 17px #1767bd2b;cursor:pointer}.small{padding:8px 12px}
.page{padding:28px 34px}.hero{background:linear-gradient(120deg,#0c4c91,#0b72b8);border-radius:18px;color:white;padding:30px 34px;display:flex;align-items:center;box-shadow:0 15px 35px #174e8b24;overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:260px;height:260px;border:55px solid #ffffff0d;border-radius:50%;right:-50px;top:-85px}.hero>div{flex:1;z-index:1}.eyebrow{font-size:10px;letter-spacing:.18em;color:#9ed5ff}.hero h2{font-size:29px;line-height:1.25;margin:8px 0}.hero h2 em{font-style:normal;color:#ffc94f}.hero p{max-width:690px;color:#d6eaff;line-height:1.6}.hero-btn{z-index:1;background:#ffb62e;color:#183253;padding:13px 18px;border-radius:9px;font-weight:700}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:22px 0}.stat{background:white;border-radius:13px;padding:18px;border:1px solid #e4eaf2;box-shadow:0 7px 22px #1c35560b}.stat small{color:#8492a5;font-size:10px;letter-spacing:.08em}.stat strong{display:block;font-size:31px;color:#12365f;margin:7px 0}.stat span{font-size:12px;color:#8492a5}
.section-head{display:flex;align-items:end;margin:26px 0 13px}.section-head>div{flex:1}.section-head h2{margin:0;color:#1a2b44;font-size:19px}.section-head p{margin:5px 0 0;color:#8391a3;font-size:13px}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{background:#fff;border:1px solid #e2e9f2;border-radius:14px;overflow:hidden;box-shadow:0 7px 20px #213a5a0c}.cover{height:115px;background:linear-gradient(145deg,#dceaff,#edf4ff);display:flex;align-items:center;justify-content:center;position:relative}.cover b{font-size:47px;color:#2a69b7}.cover span{position:absolute;top:10px;right:10px;background:#fff;padding:4px 7px;border-radius:5px;font-size:10px}.pc-body{padding:15px}.pc-body h3{margin:8px 0 5px;color:#20314b}.pc-body p{font-size:12px;color:#8491a2}.badge{font-size:10px;background:#e6f2ff;color:#1764b9;border-radius:20px;padding:4px 8px}.tablebox,.panel{background:#fff;border:1px solid #e2e9f1;border-radius:13px;padding:17px;overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#76869a;background:#f7f9fc}th,td{padding:11px;border-bottom:1px solid #edf0f4}td small{display:block;color:#8795a8}.role{font-size:10px;border-radius:20px;padding:4px 7px;background:#e8eef6}.role.superadmin{background:#ffe7bd;color:#9a5b00}.role.admin{background:#dcecff;color:#175ba3}.role.editor{background:#def5e8;color:#207348}.two-col{display:flex;gap:18px}.two-col .panel{width:330px}.two-col .grow{flex:1}.panel h2{margin-top:0}label{display:block;font-size:12px;color:#66778d;margin:9px 0}input,select{width:100%;padding:9px;border:1px solid #d5deea;border-radius:7px;margin-top:4px}.alert{padding:10px;background:#ffe1e1;color:#8b3030;border-radius:7px}
.login-body{background:radial-gradient(circle at top,#174f8a,#071a31 65%);min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(410px,100%);background:#fff;border-radius:19px;padding:32px;box-shadow:0 30px 80px #0007;text-align:center}.login-card .brandmark{margin:auto}.login-card h1{color:#153356;margin-bottom:4px}.login-card h1 span{color:#176cc4}.login-card p{color:#8290a2;font-size:13px;margin-bottom:22px}.login-card label{text-align:left}.login-card .btn-main{width:100%;margin-top:10px;padding:12px}.login-foot{font-size:10px;color:#9aa6b4;margin-top:22px}
@media(max-width:1000px){.cards{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}}