body{color:#1c2837;background:#f2f5f9;margin:0;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}#root{min-height:100vh}:root{--bg:#f4f7fb;--card:#fff;--line:#e3eaf4;--text:#1f2b3d;--text-sub:#6c7c90;--primary:#3a6ff8;--primary-dark:#2d57c5;--danger:#e14d4d}.login-page{background:radial-gradient(circle at 15% 20%, #d8e7ff 0, transparent 35%), radial-gradient(circle at 85% 0, #dff7f4 0, transparent 30%), var(--bg);place-items:center;min-height:100vh;display:grid}.login-card{background:var(--card);border:1px solid #d9e3f3;border-radius:22px;width:min(460px,92vw);padding:34px 32px;box-shadow:0 24px 55px #1e345a29}.login-card h1{color:var(--text);margin:0;font-size:27px}.login-logo{width:170px;height:auto;margin-bottom:10px}.login-card p{color:var(--text-sub);margin:10px 0 22px}.login-card form{gap:9px;display:grid}.login-card label{color:#5a6f8a;font-size:13px;font-weight:600}.input-shell{background:#fbfdff;border:1px solid #c9d7ea;border-radius:12px;transition:border-color .2s,box-shadow .2s}.input-shell:focus-within{border-color:#7ea4f2;box-shadow:0 0 0 3px #407cff1f}.login-card input{background:0 0;border:0;border-radius:12px;outline:0;width:100%;padding:12px 14px}.login-card button{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;cursor:pointer;border:0;border-radius:12px;margin-top:8px;padding:13px 14px;font-weight:700;box-shadow:0 10px 20px #3a6ff847}.admin-page{background:var(--bg);grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .2s;display:grid}.admin-page.collapsed{grid-template-columns:88px 1fr}.admin-page aside{color:#dbe8ff;background:linear-gradient(#10192d 0%,#0e1526 100%);border-right:1px solid #ffffff14;align-content:start;gap:14px;padding:22px 14px;transition:padding .2s;display:grid}.admin-page aside h1{color:#fff;margin:0;font-size:20px}.sidebar-brand{gap:8px;display:grid}.sidebar-logo{width:132px;height:auto}.admin-page.collapsed .sidebar-logo{width:46px}.admin-page aside p{opacity:.75;margin:0;font-size:13px}.admin-page nav{gap:14px;display:grid}.sidebar-group{gap:8px;display:grid;position:relative}.sidebar-group+.sidebar-group{padding-top:14px}.sidebar-group+.sidebar-group:before{content:"";background:linear-gradient(90deg,#ffffff0d,#ffffff4d,#ffffff0d);height:1px;position:absolute;top:0;left:4px;right:4px}.sidebar-group h2{letter-spacing:.4px;color:#dbe8ffb8;margin:0;padding:0 4px;font-size:12px;font-weight:700}.sidebar-group-links{gap:8px;display:grid}.sidebar-link{color:#dbe8ff;border-radius:10px;align-items:center;gap:10px;padding:11px 12px;font-size:13px;text-decoration:none;transition:all .2s;display:flex}.sidebar-link-icon{opacity:.88;flex-shrink:0;width:20px;height:20px}.sidebar-link.active .sidebar-link-icon{opacity:1}.sidebar-link-text{min-width:0}.admin-page.collapsed .sidebar-link{justify-content:center;padding:10px 0}.sidebar-link:hover{background:#ffffff14;transform:translate(2px)}.sidebar-link.active{color:#fff;background:linear-gradient(135deg,#365ec7,#243f88);box-shadow:inset 0 0 0 1px #ffffff2e}.admin-content{grid-template-rows:66px 1fr;min-width:0;display:grid}.topbar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:6;background:#ffffffe6;justify-content:space-between;align-items:center;gap:12px;padding:0 22px;display:flex;position:sticky;top:0}.topbar-left{color:var(--text);align-items:center;gap:10px;font-size:14px;display:flex}.sidebar-toggle-button{color:#35578f;cursor:pointer;background:#f7faff;border:1px solid #d3dff4;border-radius:8px;min-width:34px;height:34px;padding:0 8px}.topbar-logo{width:96px;height:auto}.topbar-actions{align-items:center;gap:8px;display:flex}.topbar-link{color:#2757cc;background:#eaf1ff;border-radius:999px;padding:8px 13px;font-size:13px;font-weight:600;text-decoration:none}.logout-button{color:#fff;cursor:pointer;background:#f15757;border:0;border-radius:999px;padding:8px 13px}.content-body{min-width:0}.global-loading{color:#2f4e8c;background:#eef4ff;border:1px solid #d3e1f7;border-radius:10px;margin:14px 26px 0;padding:10px 12px;font-size:14px}.panel{align-content:start;gap:16px;padding:26px;display:grid}.panel-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-header h2{color:var(--text);margin:0;font-size:24px}.add-button{background:linear-gradient(135deg, var(--primary), var(--primary-dark));color:#fff;cursor:pointer;border:0;border-radius:10px;padding:10px 15px;font-weight:600;box-shadow:0 8px 16px #3a6ff840}.editor-form{gap:12px;padding:16px;display:grid}.editor-form label{color:#314156;gap:6px;font-size:14px;display:grid}.editor-form input,.editor-form textarea{font:inherit;border:1px solid #c9d7ea;border-radius:10px;padding:10px 12px}.option-button-list{flex-wrap:wrap;gap:8px;display:flex}.option-button{color:#415269;cursor:pointer;background:#fff;border:1px solid #c9d7ea;border-radius:999px;padding:8px 12px;transition:all .2s}.option-button:hover{color:#2a4f9d;border-color:#9db7ef}.option-button.active{color:#234da7;background:#eaf1ff;border-color:#2f66df;font-weight:600}.checkbox-field{color:#314156;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label{line-height:1}.checkbox-field input[type=checkbox]{accent-color:#2f66df;width:17px;height:17px}.actions{gap:8px;display:flex}.actions button{color:#fff;background:linear-gradient(135deg, var(--primary), var(--primary-dark));cursor:pointer;border:0;border-radius:10px;padding:10px 13px}.actions .secondary{background:#7d8998}.table-wrap{border:1px solid var(--line);background:var(--card);border-radius:14px;overflow:hidden;box-shadow:0 10px 26px #1e345a0f}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:top;color:#2f3f54;border-bottom:1px solid #edf2f8;padding:11px 12px;font-size:14px}th{color:#4a5b73;background:#f6f9ff;font-weight:600}.row-actions{white-space:nowrap;width:110px}.icon-button{color:#fff;cursor:pointer;background:#2b6fe8;border:0;border-radius:8px;place-items:center;width:34px;height:34px;margin-right:8px;display:inline-grid;box-shadow:0 6px 12px #2b6fe83d}.icon-button.danger{background:var(--danger);box-shadow:0 6px 12px #e14d4d3d}.icon-button svg{fill:currentColor;width:16px;height:16px}.group-row{cursor:pointer}.group-row.active td{color:#234da7;background:#eaf1ff;font-weight:600}.rich-editor{background:#fff;border:1px solid #c9d7ea;border-radius:10px;overflow:hidden}.rich-editor .toolbar{background:#f6f9ff;border-bottom:1px solid #dce7f5;flex-wrap:wrap;gap:6px;padding:8px;display:flex}.rich-editor .toolbar select,.rich-editor .toolbar button{cursor:pointer;background:#fff;border:1px solid #c9d7ea;border-radius:7px;padding:5px 9px}.rich-content{outline:0;width:100%;min-height:190px;padding:12px;overflow:auto}.rich-content img{border-radius:8px;max-width:220px;height:auto}.image-preview{border:1px solid var(--line);border-radius:8px;width:180px;margin-top:8px}.list-thumbnail{border:1px solid var(--line);border-radius:8px;width:76px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40;background:radial-gradient(circle at 20% 10%,#5f84ff2e,#0000 36%),#080e189e;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal{background:linear-gradient(#fff 0%,#fdfefe 100%);border:1px solid #d7e3f6;border-radius:20px;width:min(860px,96vw);max-height:90vh;animation:.22s ease-out modal-fade-up;overflow:auto;box-shadow:0 28px 60px #09132452,inset 0 2px #ffffffb3}.modal .editor-form{gap:14px;padding:18px 18px 12px}.modal-header{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 8% 20%,#ffffff6b,#0000 32%),linear-gradient(120deg,#5f86ff 0%,#5a63f8 38%,#7857f5 68%,#b14ef0 100%);border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;padding:16px 18px;display:flex;position:sticky;top:0}.modal-header h3{color:#fff;letter-spacing:-.2px;text-shadow:0 2px 8px #1e1c3c47;margin:0;font-size:20px}.modal .actions{z-index:3;background:linear-gradient(#fff0,#fff 22%);border-top:1px solid #e6edf9;margin-top:10px;padding:13px 0 4px;position:sticky;bottom:0}.close-button{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffff38;border:1px solid #ffffff73;border-radius:10px;width:34px;height:34px}.close-button:hover{background:#ffffff57}.modal .editor-form label{color:#2a3f5e;gap:7px;font-weight:600}.modal .editor-form input,.modal .editor-form textarea{background:#fcfdff;border:1px solid #c6d7f1;border-radius:11px;padding:11px 13px}.modal .editor-form input:focus,.modal .editor-form textarea:focus{border-color:#7fa5f6;outline:0;box-shadow:0 0 0 3px #4a81ff24}.modal .actions button{min-width:88px;box-shadow:0 10px 18px #3a6ff82e}.modal .actions .secondary{box-shadow:none}@keyframes modal-fade-up{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.notice-shortcut{color:#3f4f66;padding:18px;font-size:14px}.logo-fallback{letter-spacing:.3px;color:#f8b800;font-weight:800}@media (width<=980px){.admin-page{grid-template-columns:1fr}.admin-page aside{z-index:8;position:sticky;top:0}.admin-content{grid-template-rows:auto 1fr}.topbar{flex-wrap:wrap;padding:12px}.panel{padding:16px}.modal{width:96vw}}
