:root{--primary:#168653;--primary-dark:#0d653e;--primary-soft:#e9f7ef;--ink:#17251e;--muted:#6f7d75;--surface:#fff;--canvas:#f4f7f5;--line:#e3eae6;--danger:#d04454;--sidebar-width:264px;--shadow:0 8px 24px rgba(25,62,42,.06);--shadow-lg:0 22px 55px rgba(18,49,32,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--canvas);font:14px/1.55 Manrope,Inter,system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}.admin-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:1030;width:var(--sidebar-width);display:flex;flex-direction:column;padding:18px 14px;color:#d7e7de;background:radial-gradient(circle at 0 0,rgba(71,194,127,.18),transparent 32%),linear-gradient(180deg,#113a29,#0b2c20);box-shadow:10px 0 35px rgba(12,43,30,.1)}
.admin-brand{display:flex;align-items:center;gap:12px;min-height:62px;padding:8px 10px 22px;color:#fff}.brand-mark{width:44px;height:44px;display:grid;flex:0 0 44px;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:14px;background:linear-gradient(135deg,#36b877,#17945b);box-shadow:0 10px 24px rgba(0,0,0,.16);font-size:20px}.brand-copy b,.brand-copy small{display:block}.brand-copy b{font-size:16px;font-weight:800;letter-spacing:.02em}.brand-copy small{margin-top:-2px;color:#9fb9aa;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.nav-caption{padding:8px 13px 9px;color:#789788;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.sidebar nav{flex:1}.sidebar nav a{position:relative;display:flex;align-items:center;gap:13px;margin:4px 0;padding:12px 13px;border-radius:12px;color:#a9c0b4;font-size:13px;font-weight:650;transition:.2s}.sidebar nav a i{width:22px;font-size:18px;text-align:center}.sidebar nav a:hover{color:#fff;background:rgba(255,255,255,.07);transform:translateX(2px)}.sidebar nav a.active{color:#fff;background:linear-gradient(135deg,#1d985f,#187d50);box-shadow:0 10px 22px rgba(0,0,0,.16)}.sidebar nav a.active::after{content:"";position:absolute;right:12px;width:5px;height:5px;border-radius:50%;background:#baf3d2}.sidebar-footer{padding-top:14px;border-top:1px solid rgba(255,255,255,.09)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px}.user-avatar{width:38px;height:38px;display:grid;flex:0 0 38px;place-items:center;border-radius:12px;color:#0c5e39;background:#c9f0da;font-weight:800}.sidebar-user span{min-width:0;flex:1}.sidebar-user b,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user b{color:#fff;font-size:11px}.sidebar-user small{color:#88a596;font-size:9px}.sidebar-user>a{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#9eb5aa}.sidebar-user>a:hover{color:#fff;background:rgba(255,255,255,.08)}
.main{min-height:100vh;margin-left:var(--sidebar-width)}.topbar{position:sticky;top:0;z-index:1020;min-height:72px;display:flex;align-items:center;gap:14px;padding:0 30px;border-bottom:1px solid rgba(227,234,230,.9);background:rgba(255,255,255,.9);backdrop-filter:blur(16px)}.topbar-title{flex:1}.topbar-title b,.topbar-title small{display:block}.topbar-title b{font-size:15px;font-weight:800}.topbar-title small{margin-top:2px;color:var(--muted);font-size:10px}.topbar-title small i{margin-right:4px}.topbar-title small span{margin:0 4px;color:#b3beb8}.store-link{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--line);border-radius:10px;color:#43534a;background:#fff;font-size:11px;font-weight:700;transition:.2s}.store-link:hover{color:var(--primary-dark);border-color:#b9d8c6;box-shadow:var(--shadow);transform:translateY(-1px)}.menu-btn{display:none;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:#fff;font-size:20px}.content{width:100%;max-width:1500px;margin:0 auto;padding:30px}
.page-title{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:22px}.page-title h1{margin:0;font-size:clamp(23px,2.2vw,29px);font-weight:800;letter-spacing:-.035em}.page-title p,.panel-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.btn{border-radius:10px;font-size:11px;font-weight:750}.btn-primary{border-color:var(--primary);background:var(--primary);box-shadow:0 8px 18px rgba(22,134,83,.18)}.btn-primary:hover,.btn-primary:focus{border-color:var(--primary-dark);background:var(--primary-dark)}.btn-light{border-color:var(--line);background:#f6f8f7}
.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.stat-grid article{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;min-height:106px;padding:19px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow);transition:.2s}.stat-grid article:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(25,62,42,.09)}.stat-grid article::after{content:"";position:absolute;right:-25px;bottom:-35px;width:90px;height:90px;border-radius:50%;background:currentColor;opacity:.035}.stat-grid i{width:48px;height:48px;display:grid;flex:0 0 48px;place-items:center;border-radius:14px;font-size:20px}.stat-grid span{color:var(--muted);font-size:10px;font-weight:650}.stat-grid b{display:block;margin-top:5px;color:var(--ink);font-size:clamp(17px,1.7vw,21px);font-weight:800;letter-spacing:-.025em}.stat-grid .blue{color:#2563b8;background:#eaf2ff}.stat-grid .green{color:#148354;background:#e8f7ef}.stat-grid .orange{color:#b36b08;background:#fff3dd}.stat-grid .red{color:#cc4554;background:#ffedf0}
.panel{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow)}.panel-head{min-height:70px;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}.panel h2{margin:0;font-size:14px;font-weight:800}.panel-head>a{font-size:10px;font-weight:750}.toolbar{padding:14px 18px;border-bottom:1px solid var(--line);background:#fbfcfb}.search{position:relative;max-width:470px}.search i{position:absolute;top:50%;left:13px;color:#89958e;transform:translateY(-50%)}.search input{width:100%;height:40px;padding:0 14px 0 39px;border:1px solid var(--line);border-radius:10px;outline:none;background:#fff;font-size:11px;transition:.2s}.search input:focus{border-color:#83bf9e;box-shadow:0 0 0 3px rgba(22,134,83,.09)}
.admin-table{min-width:760px;margin:0}.admin-table th{padding:12px 17px;border-bottom:1px solid var(--line);color:#849087;background:#fafcfa;font-size:8px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.admin-table td{padding:14px 17px;border-bottom-color:#edf1ee;color:#334139;vertical-align:middle;font-size:10px}.admin-table tbody tr{transition:background .15s}.admin-table tbody tr:hover{background:#fbfdfb}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table td b{color:var(--ink);font-weight:750}.admin-table td small{display:block;margin-top:2px;color:var(--muted);font-size:8px}.badge-soft{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;color:#68736d;background:#f0f3f1;font-size:8px;font-weight:750}.badge-soft.success{color:#08734b;background:#e5f6ed}.badge-soft.warning{color:#956008;background:#fff2d8}.badge-soft.danger{color:#b52d3d;background:#ffeaed}.badge-soft.info{color:#216ca4;background:#e8f3fb}.empty{padding:52px!important;color:var(--muted)!important;text-align:center}.actions{display:flex;justify-content:flex-end;gap:6px}.actions form{display:inline-flex}.btn-icon{width:33px;height:33px;display:inline-grid;place-items:center;padding:0;border:0;border-radius:9px;color:var(--primary);background:var(--primary-soft);transition:.18s}.btn-icon:hover{color:#fff;background:var(--primary);transform:translateY(-1px)}.btn-icon.danger{color:var(--danger);background:#ffeaed}.btn-icon.danger:hover{color:#fff;background:var(--danger)}
.modal-content{overflow:hidden;border:0;border-radius:18px;box-shadow:var(--shadow-lg)}.modal-header,.modal-footer{padding:17px 21px;border-color:var(--line)}.modal-header h5{margin:0;font-size:16px;font-weight:800}.modal-body{padding:21px}label{display:block;margin-bottom:6px;color:#526159;font-size:9px;font-weight:750}.form-control,.form-select{min-height:42px;border-color:#dce5df;border-radius:10px;color:var(--ink);font-size:11px}.form-control:focus,.form-select:focus{border-color:#7db998;box-shadow:0 0 0 3px rgba(22,134,83,.09)}textarea.form-control{min-height:90px}.total-preview{height:42px;display:flex;align-items:center;padding:0 12px;border-radius:10px;color:#087149;background:#e7f6ee;font-weight:800}.split{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:18px;align-items:start}.form-panel{padding:21px}.form-panel h2{margin-bottom:20px}.role-select{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line);background:#fbfcfb}.role-select label{margin:0;white-space:nowrap}.role-select select{max-width:260px}.permission-table td:not(:first-child),.permission-table th:not(:first-child){text-align:center}.form-check-input:checked{border-color:var(--primary);background-color:var(--primary)}.user-cell{display:flex;align-items:center;gap:10px}.user-cell>span{width:35px;height:35px;display:grid;flex:0 0 35px;place-items:center;border-radius:11px;color:var(--primary-dark);background:var(--primary-soft);font-weight:800}.alert{border:0;border-radius:12px;font-size:11px;box-shadow:var(--shadow)}.alert>i{margin-right:6px}.sidebar-overlay{display:none}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:960px){.sidebar{transform:translateX(-105%);transition:transform .25s}.main{margin-left:0}.menu-btn{display:grid;place-items:center}.sidebar-overlay{position:fixed;inset:0;z-index:1025;border:0;background:rgba(8,28,19,.48);backdrop-filter:blur(2px)}body.sidebar-open{overflow:hidden}body.sidebar-open .sidebar{transform:translateX(0)}body.sidebar-open .sidebar-overlay{display:block}.split{grid-template-columns:1fr}}@media(max-width:640px){.topbar{min-height:64px;padding:0 14px}.topbar-title b{font-size:13px}.store-link{width:40px;height:40px;justify-content:center;padding:0}.store-link span{display:none}.content{padding:20px 12px}.page-title{align-items:flex-start;flex-direction:column;margin-bottom:17px}.page-title .btn{width:100%}.stat-grid{grid-template-columns:1fr;gap:10px}.stat-grid article{min-height:88px}.panel,.stat-grid article{border-radius:14px}.role-select{align-items:stretch;flex-direction:column}.role-select select{max-width:none}}
