.admin-sidebar{width:232px;flex-shrink:0;background:linear-gradient(180deg,#1a1a2e,#13131d);color:#e2e8f0;display:flex;flex-direction:column}.admin-brand{display:flex;align-items:center;gap:10px;padding:16px 16px 14px;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none!important}.admin-brand:hover{text-decoration:none;background:rgba(255,255,255,.04)}.admin-brand img{height:32px;width:auto;flex-shrink:0}.admin-brand-name{color:#fff;font-size:15px;font-weight:700;line-height:1.25}.admin-brand-sub{display:block;font-size:11px;font-weight:400;color:rgba(226,232,240,.55);margin-top:1px}.admin-nav{display:flex;flex-direction:column;padding:10px 0;flex:1 1}.admin-nav-item{display:flex;align-items:center;gap:8px;padding:11px 16px;font-size:14px;color:rgba(226,232,240,.72);text-decoration:none;border-left:3px solid transparent;transition:background .15s ease,color .15s ease}.admin-nav-item .nav-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0}.admin-nav-item:hover{background:rgba(255,255,255,.07);color:#fff;text-decoration:none}.admin-nav-item.active{color:#fff;font-weight:600;background:linear-gradient(90deg,rgba(208,0,0,.92),rgba(240,144,0,.62));border-left-color:#f09000}.admin-sidebar-footer{padding:12px 16px;font-size:12px;color:rgba(226,232,240,.45);border-top:1px solid rgba(255,255,255,.08)}.admin-sidebar-accent{height:3px;background:var(--brand-grad)}.admin-topbar{height:56px;flex-shrink:0;background:#fff;border-bottom:2px solid var(--brand-grad);display:flex;align-items:center;justify-content:space-between;padding:0 24px}.role-badge{display:inline-block;padding:3px 14px;border-radius:20px;background:var(--brand-grad);color:#fff;font-size:12px;font-weight:600;letter-spacing:.5px}.btn-logout{border:1px solid #f0c4b8;color:var(--brand);background:#fff;padding:5px 16px;border-radius:8px;font-size:13px;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn-logout:hover{background:var(--brand);border-color:var(--brand);color:#fff}.section-title{color:var(--brand-dark);font-weight:700}.section-sub{color:var(--muted)}.card{border:1px solid #f0dcd3;border-radius:var(--radius);background:#fff;box-shadow:0 2px 14px rgba(208,0,0,.07)}.card h3{color:var(--brand-dark)}.card>b{color:var(--brand)}.btn-primary{background:var(--brand-grad);color:#fff!important}.btn-primary:hover{background:var(--brand-grad-hover);text-decoration:none}.btn-secondary{background:var(--brand-accent);color:#fff!important}.btn-secondary:hover{background:#e07e00;text-decoration:none}.btn-success{background:var(--green);color:#fff!important}.btn-success:hover{background:#6da01a;text-decoration:none}.btn-outline{border:1px solid #f0c4b8;color:var(--ink)!important;background:#fff}.btn-outline:hover{border-color:var(--brand);color:var(--brand)!important;text-decoration:none}input,select,textarea{font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-accent)!important;box-shadow:0 0 0 3px rgba(240,144,0,.18)}thead th{background:var(--brand-grad);color:#fff;font-weight:600;padding:10px 12px!important;text-align:left;white-space:nowrap}tbody tr:hover{background:#fff8f4}.badge{display:inline-block;padding:2px 10px;border-radius:20px;font-size:12px;font-weight:600;line-height:1.7}.badge-red{background:#fdeaea;color:var(--brand);border:1px solid #f5b8ad}.badge-orange{background:#fff3e0;color:#e07e00;border:1px solid #f9cf9c}.badge-green{background:#f0f7e2;color:var(--green);border:1px solid #c9e69a}.badge-gray{background:#f1f5f9;color:#64748b;border:1px solid #dbe3ea}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(155deg,#fff7f2,#ffffff 42%,#ffe4d6);padding:40px 16px}.login-card{width:100%;max-width:400px;padding:36px 32px 32px;border-top:4px solid var(--brand)}.login-logo{text-align:center;margin-bottom:6px}.login-logo img{height:64px;width:auto}.login-logo h1{font-size:22px;color:var(--brand-dark);margin:14px 0 4px}.login-logo p{color:var(--muted);font-size:13px;margin:0 0 22px}.login-card label{display:block;margin-bottom:6px;font-size:14px;color:var(--ink)}.login-card input{width:100%;padding:10px 12px;margin-bottom:14px;border-radius:8px;border:1px solid var(--line);font-size:14px;font-family:inherit;background:#fff}.login-card input:focus{border-color:var(--brand-accent);box-shadow:0 0 0 3px rgba(240,144,0,.18);outline:none}.login-error{color:var(--brand);font-size:13px;margin:0 0 12px}.login-btn{width:100%}