:root{--bg:#061a31;--side:#0a213a;--card:#102a49;--card2:#173553;--line:#2c5276;--text:#dbe7ff;--muted:#98aac1;--blue:#329cf0;--green:#30dc99}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:15px Arial,sans-serif}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.admin-shell{display:grid;grid-template-columns:310px 1fr;min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;width:310px;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}
.side-brand{height:100px;display:flex;align-items:center;gap:13px;padding:0 28px;border-bottom:1px solid #173b5b}
.side-brand img{width:55px;height:55px;object-fit:contain}
.side-brand b{font-size:20px}
.side-brand small{display:block;letter-spacing:1.5px;margin-top:5px;font-size:10px}
.sidebar nav{padding:18px;overflow:auto}
.sidebar nav a{height:49px;display:flex;align-items:center;gap:14px;padding:0 18px;border-radius:9px;color:#c9d4e6;cursor:pointer}
.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#2e90e8,#40a8f2);color:white}
.sidebar nav a i{width:24px;text-align:center;font-size:20px;font-style:normal}
.sidebar nav h4{font-size:10px;letter-spacing:1.5px;margin:28px 18px 10px;color:#a5b2c4}
.side-user{margin-top:auto;border-top:1px solid var(--line);padding:21px 25px;display:flex;align-items:center;gap:12px}
.side-user>span,.top-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#4ab7ff,#20375a);border:2px solid #35a9ff;font-weight:bold}
.side-user small{display:block;color:var(--muted);margin-top:4px}
.side-user button{margin-left:auto;border:0;background:none;color:white;font-size:23px}
.main{grid-column:2}
.topbar{height:100px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 42px;position:sticky;top:0;background:#0b213beF;z-index:15;backdrop-filter:blur(12px)}
.topbar h1{margin:0;font-size:21px}
.topbar p{margin:6px 0 0;color:var(--muted)}
.top-actions{display:flex;align-items:center;gap:18px;margin-left:auto}
.top-actions>a,.top-actions>button{border:1px solid var(--line);background:var(--card2);border-radius:9px;color:var(--text);padding:12px 17px;text-decoration:none}
.top-actions>button{position:relative;font-size:20px}
.top-actions>button i{position:absolute;width:7px;height:7px;background:#40aaff;border-radius:50%;right:9px;top:8px}
.admin-search{border:1px solid var(--line);border-radius:22px;padding:10px 15px}
.admin-search input{background:none;border:0;outline:0;color:white;width:130px}
.hamburger{display:none;background:none;border:0;color:white;font-size:23px;margin-right:15px}
.content{padding:45px 42px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}
.stats article,.card,.table-card,.form-card{background:var(--card);border:1px solid var(--line);border-radius:14px}
.stats article{min-height:175px;padding:28px;position:relative;display:flex;flex-direction:column;justify-content:end}
.stats article>i{position:absolute;top:25px;left:28px;width:55px;height:55px;border-radius:10px;background:#1c3c61;display:grid;place-items:center;font-size:26px;font-style:normal}
.stats article span{margin-bottom:8px}
.stats article b{font-size:35px}
.stats article em{position:absolute;right:20px;top:35px;background:#114a49;color:#36eda2;border-radius:10px;padding:7px;font-style:normal}
.dash-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:25px;margin-top:28px}
.card{padding:28px}
.card-head{display:flex;justify-content:space-between;align-items:center}
.card-head h2,.card h2{font-size:19px}
.line-chart{height:290px;position:relative;overflow:hidden;margin-top:20px;border-bottom:1px solid #284969}
.line-chart:before{content:"";position:absolute;left:3%;right:3%;bottom:50px;height:140px;background:linear-gradient(155deg,transparent 0 15%,#309ef0 15.5% 16.5%,#1c78c455 17% 30%,#309ef0 30.5% 31.5%,#1c78c444 32% 43%,#309ef0 43.5% 44.5%,#163b5a55 45%);clip-path:polygon(0 72%,20% 53%,35% 30%,50% 43%,64% 77%,78% 69%,90% 14%,100% 0,100% 100%,0 100%)}
.line-chart span{position:absolute;bottom:15px;left:3%;word-spacing:35px;font-size:11px}
.donut-chart{width:180px;height:180px;border-radius:50%;margin:48px auto 30px;background:conic-gradient(#abc2ff 0 40%,#339ef2 40% 65%,#d8e4ff 65% 85%,#37526f 85%);display:grid;place-items:center}
.donut-chart:after{content:"";width:125px;height:125px;border-radius:50%;background:var(--card)}
.donut-chart b{position:absolute;z-index:2;font-size:24px;text-align:center}
.donut-chart small{display:block;font-size:10px}
.donut p{line-height:2;color:#bed0ff}
.donut p span{color:#4eb2ff}
.bottom-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:25px;margin-top:28px}
.table-card{overflow:hidden}
.table-card>.card-head{padding:22px 28px}
.primary{border:0;border-radius:8px;background:#2699ef;color:white;padding:12px 18px}
.data-table .tr{display:grid;grid-template-columns:2fr 1fr 1fr 1fr .7fr;align-items:center;gap:15px;min-height:72px;padding:0 28px;border-top:1px solid #294866}
.data-table .th{min-height:54px;background:#193756;font-size:10px;letter-spacing:1px}
.data-table span small{display:block;color:var(--muted);margin-top:5px}
.status{font-style:normal;border-radius:12px;padding:6px 9px;font-size:10px;background:#125243;color:#42e9a8}
.s1{background:#514b20;color:#ffe253}
.s2{background:#173d6a;color:#60a8ff}
.icon-btn{background:none;border:0;color:#a9c4e1;font-size:18px}
.danger{color:#ff7c86}
.quick{display:flex;flex-direction:column;gap:15px}
.quick button{height:58px;text-align:left;background:#153653;border:1px solid #34628a;border-radius:9px;color:white;padding:0 17px;font-size:15px}
.form-card{padding:30px;margin-bottom:25px}
.form-card h2{margin-top:0}
.form-card label{display:block;color:#b9c7da;margin:18px 0}
.form-card input,.form-card select,.form-card textarea{display:block;width:100%;margin-top:8px;background:#071c33;border:1px solid #315577;border-radius:8px;color:white;padding:13px}
.form-card textarea{min-height:120px;resize:vertical}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.form-grid .full{grid-column:span 2}
.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.toast{position:fixed;right:30px;bottom:30px;background:#1b7458;border:1px solid #3ce5a2;padding:15px 22px;border-radius:9px;transform:translateY(100px);opacity:0;transition:.3s;z-index:70}
.toast.show{transform:none;opacity:1}
.modal{position:fixed;inset:0;background:#020b17cf;display:none;place-items:center;z-index:60}
.modal.show{display:grid}
.modal form{width:min(500px,calc(100% - 30px));background:var(--card);border:1px solid var(--line);border-radius:14px;padding:30px;position:relative}
.modal label{display:block;margin:16px 0}
.modal input,.modal select,.modal textarea{width:100%;background:#071b31;border:1px solid #355777;color:white;border-radius:7px;padding:12px;margin-top:7px}
.modal textarea{height:90px}
.close{position:absolute;right:20px;top:15px;border:0;background:none;color:white;font-size:26px}

.login-page{min-height:100vh;background:linear-gradient(90deg,#03162de6,#03162d99),url('assets/hero.png') center/cover}
.login-scene{min-height:100vh;display:grid;place-items:center;position:relative}
.login-brand{position:absolute;left:42px;top:35px;display:flex;align-items:center}
.login-brand img{width:52px}
.login-brand h1{margin:0 8px}
.login-brand h1 span{color:#38aff4}
.login-brand p{font-size:8px;letter-spacing:2px;position:absolute;left:61px;top:34px;color:#8eabc6}
.login-card{width:min(430px,calc(100% - 30px));background:#0b2341ee;border:1px solid #315578;border-radius:18px;padding:38px;box-shadow:0 30px 80px #0009;backdrop-filter:blur(18px)}
.lock{width:60px;height:60px;margin:auto;border-radius:17px;background:#1b4e7b;display:grid;place-items:center;font-size:27px}
.login-card h2{text-align:center;font-size:27px;margin-bottom:8px}
.login-card>p{text-align:center;color:var(--muted);margin-bottom:28px}
.login-card label{display:block;margin:17px 0;font-size:12px}
.login-card input{width:100%;margin-top:8px;background:#06182d;border:1px solid #325575;border-radius:8px;color:white;padding:14px;outline:0}
.password{display:flex}
.password input{border-radius:8px 0 0 8px}
.password button{margin-top:8px;border:1px solid #325575;border-left:0;background:#06182d;color:white;border-radius:0 8px 8px 0;width:48px}
.login-options{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#a9bdd2}
.login-options label{margin:0}
.login-options input{width:auto}
.login-button{width:100%;border:0;background:linear-gradient(90deg,#218be0,#3db3f6);color:white;border-radius:8px;padding:15px;margin-top:25px;font-weight:bold}
.login-card>small{display:block;text-align:center;color:#718ca8;margin-top:20px}
.login-error{height:18px;text-align:center;color:#ff8e95;font-size:12px;margin-top:12px}
.login-footer{position:absolute;bottom:25px;color:#6c829b;font-size:11px}
.shake{animation:shake .4s}
@keyframes shake{25%{transform:translateX(-8px)}
75%{transform:translateX(8px)}
}

@media(max-width:1050px){.admin-shell{grid-template-columns:240px 1fr}
.sidebar{width:240px}
.stats{grid-template-columns:1fr 1fr}
.top-actions .admin-search{display:none}
.content{padding:30px 24px}
.topbar{padding:0 24px}
.bottom-grid,.dash-grid{grid-template-columns:1fr}
.settings-grid{grid-template-columns:1fr}
}

@media(max-width:760px){.admin-shell{display:block}
.sidebar{transform:translateX(-100%);transition:.3s;width:280px}
.sidebar.open{transform:none}
.main{width:100%}
.hamburger{display:block}
.topbar{height:80px}
.topbar p,.top-actions>a,.top-actions>button{display:none}
.stats{grid-template-columns:1fr}
.data-table{overflow:auto}
.data-table .tr{min-width:750px}
.form-grid{grid-template-columns:1fr}
.form-grid .full{grid-column:auto}
.login-brand{left:20px;top:18px}
.login-card{padding:28px}
}

.modal form{max-height:92vh;overflow:auto;width:min(780px,calc(100% - 30px))}
.modal .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.modal .form-grid .full{grid-column:1/-1}
.modal .check{display:flex;align-items:center;gap:8px}
.modal .check input{width:auto;margin:0}
.question-panel{margin-top:24px}
.question-panel .card-head p{color:var(--muted)}
.question-list{padding:0 24px 24px}
.question-list article{background:#081e38;border:1px solid var(--line);border-radius:10px;padding:20px;margin:14px 0}
.question-list li{padding:5px}
.question-list li.correct{color:#42e9a8;font-weight:bold}
.quiz-question-shortcut{margin:18px 0 8px;padding:18px;border:1px solid #3b6f99;border-radius:10px;background:#081e38}.quiz-question-shortcut p{color:var(--muted);margin:7px 0 14px}.quiz-question-shortcut button{width:100%}
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.media-grid article{margin:0}
.media-grid small{display:block;color:var(--muted);margin:8px 0}
.media-grid input{width:100%;margin:10px 0;padding:10px;background:#071c33;border:1px solid var(--line);color:#fff}
@media(max-width:950px){.media-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){.media-grid{grid-template-columns:1fr}
.modal .form-grid{grid-template-columns:1fr}
.modal .form-grid .full{grid-column:auto}
}

.field-help{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.5}
.rich-field{padding:14px;border:1px solid #315b80;border-radius:10px;background:#071c3344}.rich-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.rich-toolbar button{width:auto!important;padding:7px 10px;background:#163a59;color:#fff;border:1px solid #39698f;border-radius:6px;cursor:pointer}.modal .rich-editor{min-height:260px;padding:18px;background:#fff;color:#102337;border:1px solid #4b7598;border-radius:8px;line-height:1.7;overflow:auto}.modal .rich-editor:focus{outline:2px solid #3aa6ff}.modal .rich-editor img{display:block;max-width:100%;height:auto;margin:18px auto;border-radius:8px}.modal .rich-editor h2{color:#0a3760}
.media-field{padding:14px;border:1px dashed #3d6e98;border-radius:10px;background:#071c3344}
.media-field .inline-file{border-style:dashed;background:#0d2946}
.media-preview{display:none;width:100%;max-height:260px;object-fit:cover;margin-top:12px;border:1px solid var(--line);border-radius:9px}
.media-preview.show{display:block}
.modal button[type="submit"]:disabled{opacity:.6;cursor:wait}
.publication{border:0;border-radius:7px;padding:8px 11px;margin:3px;font-size:11px;font-weight:700}.publication.draft{background:#137a55;color:#dffff2}.publication.published{background:#76521f;color:#ffe4ae}.publication:disabled{opacity:.5}.back-context{border:1px solid var(--line);background:var(--card2);color:var(--text);border-radius:8px;padding:11px 16px}.children small,.questions small{display:inline!important;margin:0!important;background:#22547c;border-radius:10px;padding:2px 5px}.data-table .tr>span:last-child{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.data-table .tr{grid-template-columns:2fr 1fr 1fr 1fr 1.4fr}

/* v10.5 analytics and comment moderation, existing admin palette preserved */
.analytics-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;padding:18px 22px;background:var(--card);border:1px solid var(--line);border-radius:12px}.analytics-toolbar div{display:grid;gap:5px}.analytics-toolbar small{color:var(--muted)}.analytics-toolbar select{background:#071c33;border:1px solid var(--line);border-radius:8px;color:#fff;padding:11px 14px}.analytics-bars{height:290px;display:flex;align-items:end;gap:8px;padding:25px 8px 5px;border-bottom:1px solid var(--line);overflow-x:auto}.analytics-bars>span{height:100%;min-width:25px;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px}.analytics-bars i{display:block;width:100%;max-width:34px;min-height:4px;background:linear-gradient(#4bb7ff,#247ac7);border-radius:5px 5px 0 0}.analytics-bars small{font-size:9px;color:var(--muted);writing-mode:vertical-rl}.analytics-donut{position:relative}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:25px}.compact-list{padding:0 25px 18px}.compact-list>div{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 4px;border-top:1px solid #294866}.compact-list span{display:grid;gap:4px}.compact-list small{color:var(--muted)}.compact-list strong{color:#66bdff}.analytics-kpis{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:0 25px 25px}.analytics-kpis div{padding:20px;background:#081e38;border:1px solid var(--line);border-radius:10px}.analytics-kpis small{display:block;color:var(--muted);margin-bottom:8px}.analytics-kpis b{font-size:22px}.comment-stats{grid-template-columns:repeat(3,1fr)}.comment-admin-list{display:grid;gap:18px;margin-top:25px}.comment-admin-list article{margin:0}.comment-admin-list header,.comment-admin-list footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.comment-admin-list header div{display:grid;gap:5px}.comment-admin-list header small,.comment-admin-list>article>small{color:var(--muted)}.comment-admin-list p{font-size:16px;line-height:1.7}.comment-admin-list em{display:block;color:#ffbd66;margin:12px 0;font-style:normal}.comment-status{padding:6px 10px;border-radius:12px;background:#514b20;color:#ffe253}.comment-status.approved{background:#125243;color:#42e9a8}.comment-status.rejected{background:#5b2731;color:#ff9aa6}
@media(max-width:900px){.analytics-grid{grid-template-columns:1fr}.comment-stats{grid-template-columns:1fr 1fr}.analytics-toolbar{align-items:stretch;flex-direction:column}}
