:root{ --navy:#082A49;--navy-dark:#061F35;--navy-mid:#0D3A62;--green:#27C77F;--green2:#18AA69; --ink:#0A2440;--muted:#6A7E91;--soft:#F3F6F7;--line:#DFE7EB;--white:#fff; --sidebar-w:286px;--top-h:74px;--shadow:0 12px 34px rgba(8,42,73,.08) } *{box-sizing:border-box} html{background:var(--soft)} body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--soft);color:var(--ink);min-width:0} body.admin-menu-open{overflow:hidden} a{text-decoration:none;color:inherit} button,input,textarea,select{font:inherit} svg{display:block} .admin-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr)} .sidebar{ position:sticky;top:0;height:100dvh;min-height:0;display:flex;flex-direction:column; background:linear-gradient(180deg,#062844 0%,#073454 100%);color:#fff; padding:20px 16px 14px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin; scrollbar-color:rgba(255,255,255,.18) transparent;z-index:80 } .sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:99px} .sidebar-head{position:relative;border-bottom:1px solid rgba(255,255,255,.11);padding:0 4px 16px} .side-brand{display:flex;align-items:center;padding:0 6px 12px} .side-brand img{width:210px;height:auto} .sidebar-head>strong{display:block;padding:0 6px;color:#fff;font-size:1.06rem;letter-spacing:-.02em} .sidebar-close{display:none;position:absolute;right:0;top:0;width:36px;height:36px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:1.6rem;cursor:pointer} .side-menu{display:flex;flex-direction:column;gap:4px;padding-top:12px} .side-link,.side-group__toggle{ min-height:46px;width:100%;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px; padding:8px 12px;border:0;border-radius:11px;background:transparent;color:rgba(255,255,255,.82); font-size:.86rem;font-weight:750;text-align:left;cursor:pointer;transition:.18s ease } .side-link:hover,.side-group__toggle:hover{background:rgba(255,255,255,.07);color:#fff} .side-link.active,.side-group__toggle.active{ background:linear-gradient(90deg,#1EA96F,#1BBF7A);color:#fff; box-shadow:0 8px 20px rgba(20,170,108,.16) } .side-icon{width:30px;height:30px;display:grid;place-items:center;color:currentColor} .side-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round} .side-section{ margin:10px 10px 3px;padding:11px 0 6px;border-bottom:1px solid rgba(255,255,255,.1); color:#7DB0D0;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em } .side-group{display:block} .side-group__toggle{grid-template-columns:32px minmax(0,1fr) 20px} .side-chevron{display:grid;place-items:center;transition:transform .18s ease} .side-chevron svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2} .side-group.is-open .side-chevron{transform:rotate(90deg)} .side-submenu{ max-height:0;overflow:hidden;display:grid;gap:2px;padding-left:42px; transition:max-height .2s ease,padding .2s ease } .side-group.is-open .side-submenu{max-height:220px;padding-top:5px;padding-bottom:6px} .side-submenu a{ padding:8px 10px;border-radius:8px;color:rgba(255,255,255,.72);font-size:.78rem;font-weight:650 } .side-submenu a:hover,.side-submenu a.active{color:#fff;background:rgba(255,255,255,.07)} .side-submenu a.active{box-shadow:inset 3px 0 0 var(--green)} .sidebar-user{ margin-top:18px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:10px;align-items:center; padding:11px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(2,23,39,.20) } .avatar{ width:38px;height:38px;display:grid;place-items:center;border-radius:50%; background:#E7EEF2;color:#33536B;font-weight:900;border:2px solid rgba(255,255,255,.45) } .sidebar-user__meta{min-width:0}.sidebar-user__meta b{display:block;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user__meta small{display:block;margin-top:2px;color:#95B5CA;font-size:.66rem} .sidebar-version{display:flex;justify-content:space-between;gap:8px;padding:10px 4px 0;color:#7FA2B9;font-size:.63rem} .sidebar-backdrop{display:none} .admin-main{min-width:0;min-height:100vh} .admin-top{ position:sticky;top:0;z-index:50;height:var(--top-h);display:flex;align-items:center;justify-content:space-between; gap:20px;padding:0 30px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px); border-bottom:1px solid var(--line) } .admin-top__left,.admin-top__right{display:flex;align-items:center;gap:14px} .admin-top__left>strong{font-size:.92rem} .admin-menu-toggle,.top-icon-btn{ width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px; background:#fff;color:var(--navy);cursor:pointer } .admin-menu-toggle{display:none}.admin-menu-toggle svg,.top-icon-btn svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round} .userbox{display:flex;align-items:center;gap:9px;font-size:.75rem}.userbox__text b{display:block}.userbox__text small{display:block;color:var(--muted);margin-top:1px} .admin-content{width:min(100%,1320px);padding:32px 32px 50px} .page-head{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px} .page-head h1{margin:0;font-size:1.7rem;letter-spacing:-.035em} .page-head p{margin:6px 0 0;color:var(--muted);font-size:.84rem;line-height:1.55} .btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:0;border-radius:9px;font-weight:800;cursor:pointer;transition:.16s} .btn:hover{transform:translateY(-1px)} .btn--navy{background:var(--navy);color:#fff}.btn--green{background:var(--green2);color:#fff}.btn--danger{background:#B93636;color:#fff}.btn--ghost{background:#fff;color:var(--navy);border:1px solid var(--line)} .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px} .stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 6px 18px rgba(8,42,73,.035)} .stat strong{display:block;font-size:1.85rem;color:var(--navy);letter-spacing:-.04em}.stat span{font-size:.74rem;color:var(--muted)} .panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);overflow:hidden} .panel-head{padding:19px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px} .panel-head h2{font-size:1.02rem;margin:0} .table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;min-width:760px} .table th,.table td{text-align:left;padding:14px 17px;border-bottom:1px solid #EDF1F2;font-size:.77rem;vertical-align:middle} .table th{color:#63798B;background:#FBFCFC;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em} .table tbody tr:hover{background:#FBFDFD} .status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.64rem;font-weight:900;text-transform:uppercase} .status.published{background:#E6F8EF;color:#14764B}.status.draft{background:#EEF2F5;color:#687A87}.status.pending{background:#FFF3E7;color:#A95A1A} .actions{display:flex;gap:7px}.actions a,.actions button{border:0;background:#F0F5F6;border-radius:7px;padding:7px 9px;font-size:.7rem;cursor:pointer} .form-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(8,42,73,.04)} .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px;margin-bottom:16px} .field label{font-size:.75rem;font-weight:800}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid #D6E0E4;border-radius:9px;outline:0;background:#fff} .field input:focus,.field textarea:focus,.field select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(39,199,127,.12)} .field small{color:var(--muted);font-size:.7rem}.editor-toolbar{display:flex;flex-wrap:wrap;gap:4px;padding:8px;border:1px solid #D6E0E4;border-bottom:0;border-radius:9px 9px 0 0;background:#F8FAF9} .editor-toolbar button{width:34px;height:32px;border:0;border-radius:6px;background:#fff;font-weight:800;cursor:pointer}.editor{min-height:300px;border:1px solid #D6E0E4;border-radius:0 0 9px 9px;padding:14px;outline:0;line-height:1.7} .form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px} .flash{padding:12px 14px;margin-bottom:14px;border-radius:10px;font-size:.82rem}.flash.success{background:#E9F8F1;color:#126D47}.flash.error{background:#FFEDED;color:#9E2828} .login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:#061F35}.login-visual{display:flex;align-items:center;justify-content:center;padding:50px;color:#fff;background:linear-gradient(135deg,#061F35,#0B3455)} .login-copy{max-width:520px}.login-brand-link{display:inline-flex;align-items:center}.login-copy img{width:270px;height:auto;margin-bottom:44px}.login-copy h1{font-size:clamp(2.5rem,5vw,4.4rem);line-height:.95;letter-spacing:-.05em;margin:0 0 18px} .login-copy p{color:rgba(255,255,255,.75);max-width:460px}.login-panel{display:grid;place-items:center;padding:38px;background:#F5F7F8}.login-card{width:min(100%,480px);background:#fff;padding:34px;border-radius:18px;box-shadow:0 24px 60px rgba(0,0,0,.2)} .login-card h2{margin:0 0 6px}.login-card>p{margin:0 0 24px;color:var(--muted);font-size:.83rem}.quick-links{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)} .quick-links a{padding:14px 8px;text-align:center;border:1px solid var(--line);border-radius:10px;font-size:.72rem;font-weight:800}.login-footer{margin-top:24px;text-align:center;color:#7D8D9B;font-size:.72rem} .comment-box{padding:16px;border-bottom:1px solid var(--line)}.comment-box p{margin:8px 0;color:#40566A;font-size:.83rem}.comment-meta{font-size:.7rem;color:var(--muted)} @media(max-width:1120px){ :root{--sidebar-w:260px}.stats{grid-template-columns:repeat(2,1fr)}.admin-content{padding-inline:24px} } @media(max-width:980px){ .admin-shell{grid-template-columns:1fr} .sidebar{ position:fixed;left:0;top:0;bottom:0;width:min(88vw,300px);height:100dvh;transform:translateX(-105%); transition:transform .22s ease;box-shadow:18px 0 44px rgba(0,0,0,.22) } .sidebar.is-open{transform:translateX(0)} .sidebar-close{display:grid;place-items:center} .sidebar-backdrop{position:fixed;inset:0;z-index:70;background:rgba(4,20,33,.46);backdrop-filter:blur(2px)} body.admin-menu-open .sidebar-backdrop{display:block} .admin-menu-toggle{display:grid} .admin-top{padding-inline:18px} .admin-content{width:100%;padding:24px 18px 42px} } @media(max-width:640px){ .admin-top__left>strong{display:none}.userbox__text{display:none}.top-icon-btn{display:none} .stats{grid-template-columns:1fr}.page-head{display:block}.page-head .btn{margin-top:14px}.form-grid{grid-template-columns:1fr} .login-page{grid-template-columns:1fr}.login-visual{min-height:330px;padding:28px}.login-copy img{margin-bottom:24px}.login-card{padding:24px} }