*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Poppins,sans-serif;background:linear-gradient(180deg,#eef2ff,#f5f7fb);color:#0f172a;font-size:14px}
a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:0;background:none}
/* Sidebar */
.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;background:linear-gradient(180deg,#1e3a8a,#1e40af 60%,#312e81);color:#fff;display:flex;flex-direction:column;z-index:40;transition:transform .25s}
.side-brand{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid #ffffff1f}
.side-brand b{font-size:20px;display:block;line-height:1.1}.side-brand span{font-size:11px;opacity:.75}
.side-nav{display:flex;flex-direction:column;gap:4px;padding:14px 12px;flex:1}
.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:10px;font-size:14px;font-weight:500;opacity:.85;transition:.15s}
.side-nav a i{width:20px;text-align:center}
.side-nav a:hover{background:#ffffff1a;opacity:1}
.side-nav a.on{background:#fff;color:#1e3a8a;opacity:1;box-shadow:0 4px 12px #0003}
.side-foot{padding:14px;border-top:1px solid #ffffff1f;display:grid;gap:12px}
.side-foot .user b{color:#fff}.side-foot .user span{opacity:.7;color:#fff}
.side-logout{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:#ef4444;color:#fff;font-weight:500;justify-content:center}
.side-overlay{display:none;position:fixed;inset:0;background:#0f172a80;z-index:35}
.main{margin-left:250px;min-height:100vh}
.burger{display:none;font-size:20px;color:#1e3a8a;padding:6px}
/* Topbar */
.topbar{display:flex;align-items:center;gap:20px;padding:12px 24px;background:#fff;box-shadow:0 2px 12px #1e3a8a12;position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px}.brand b{font-size:24px;color:#1e3a8a;display:block;line-height:1}.brand span{font-size:12px;color:#475569}
.logo-ic{width:50px;height:50px;border-radius:14px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 6px 16px #2563eb55}
.logo-ic.big{width:70px;height:70px;font-size:30px;margin:0 auto 10px}
.search{flex:1;max-width:460px;display:flex;align-items:center;gap:10px;border:1px solid #c7d2fe;border-radius:10px;padding:0 14px;background:#f8faff}
.search input{border:0;outline:0;background:none;padding:11px 0;width:100%;font-family:inherit}.search i{color:#334155}
.search.sm{max-width:260px}
.top-right{margin-left:auto;display:flex;align-items:center;gap:18px}
.ic-btn{position:relative;font-size:20px;color:#1e3a8a}.ic-btn em{position:absolute;top:-6px;right:-8px;background:#ef4444;color:#fff;font-size:10px;font-style:normal;border-radius:50%;width:16px;height:16px;display:grid;place-items:center}
.user{display:flex;align-items:center;gap:10px}.user b{display:block;font-size:13px}.user span{font-size:12px;color:#64748b}.user a{color:#64748b}
.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;display:grid;place-items:center;font-weight:700;font-size:18px}
.wrap{max-width:1180px;margin:auto;padding:18px;display:grid;gap:16px}
.hero{position:relative;overflow:hidden;display:flex;align-items:center;gap:24px;padding:26px 34px;border-radius:16px;color:#fff;background:linear-gradient(110deg,#1e3a8a,#2563eb 45%,#7c3aed 85%,#a855f7)}
.hero-ic{width:96px;height:96px;flex:none;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:3px solid #ffffff40;display:grid;place-items:center;font-size:44px}
.hero-txt p{font-size:20px}.hero-txt h1{font-size:38px;font-weight:800;line-height:1.1}.hero-txt span{opacity:.9}
.hero-art{position:relative;margin-left:auto;width:250px;height:110px}
.browser{position:absolute;left:0;top:15px;background:#fff;color:#1e3a8a;padding:22px 18px;border-radius:12px;font-weight:600;transform:rotate(-8deg);box-shadow:0 10px 30px #0004}
.cube{position:absolute;right:10px;top:20px;width:76px;height:76px;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);display:grid;place-items:center;font-size:34px;box-shadow:0 10px 25px #0005}
.hero-list{list-style:none;display:grid;gap:8px}.hero-list i{margin-right:8px}.g{color:#4ade80}.o{color:#fb923c}.p{color:#e9d5ff}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.stat{position:relative;display:flex;align-items:center;gap:16px;padding:20px;border-radius:14px;color:#fff;overflow:hidden}
.stat b{font-size:30px;display:block;line-height:1}.stat span{font-size:16px}
.st-ic{width:58px;height:58px;border-radius:12px;display:grid;place-items:center;font-size:26px;background:#ffffff30}
.bars{position:absolute;right:18px;bottom:14px;display:flex;align-items:flex-end;gap:5px;opacity:.35}.bars i{width:10px;background:#fff;border-radius:2px}.bars i:nth-child(1){height:15px}.bars i:nth-child(2){height:30px}.bars i:nth-child(3){height:48px}
.blue{background:linear-gradient(135deg,#1d4ed8,#38bdf8)}.green{background:linear-gradient(135deg,#16a34a,#86efac)}.orange{background:linear-gradient(135deg,#f97316,#fbbf24)}.pink{background:linear-gradient(135deg,#db2777,#f472b6)}
.card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 20px #1e3a8a0d}
.card-h{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}.card-h h2{font-size:20px;color:#0f172a}.card-h p{color:#475569;font-size:13px}
.card-h>.btn:first-of-type,.filters{margin-left:auto}
.h-ic{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-size:18px}.folder{background:#fef3c7;color:#f59e0b}.bolt{color:#f59e0b;font-size:30px}.list{background:#4f46e5;color:#fff}.shield{background:#dcfce7;color:#16a34a}
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-weight:500;font-size:14px}
.btn-green{background:#16a34a;color:#fff}.btn-blue{background:#2563eb;color:#fff}.btn-out{background:#fff;border:1px solid #cbd5e1;color:#0f172a}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ql{--c:#2563eb;position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:10px;background:color-mix(in srgb,var(--c) 9%,#fff);transition:.2s}
.ql:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0001}
.q-ic{width:46px;height:46px;flex:none;border-radius:10px;background:var(--c);color:#fff;display:grid;place-items:center;font-size:22px}
.q-t{min-width:0}.q-t b{display:block;font-weight:600}.q-t small{color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.ext{position:absolute;right:14px;top:14px;color:var(--c);font-size:13px}
.q-body{min-width:0;flex:1;display:flex;flex-direction:column;gap:9px}
.q-btns{display:flex;flex-wrap:wrap;gap:6px}
.copy-btn{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1px solid #cbd5e1;color:#334155;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap;cursor:pointer;font-family:inherit}
.copy-btn:hover{background:#f1f5f9;border-color:#94a3b8}
.copy-btn.copied{background:#16a34a;border-color:#16a34a;color:#fff}
.filters{display:flex;gap:10px}
.tbl-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}
th{background:#f1f5f9;text-align:left;padding:10px;font-size:11px;text-transform:uppercase;color:#334155}td{padding:9px 10px;border-bottom:1px solid #eef2f7;white-space:nowrap}
.t-ic{margin-right:8px;font-size:16px}.url a{color:#fff}.m-url{display:none}
.url-line{display:flex;align-items:center;gap:8px}
.open-btn{display:inline-flex;align-items:center;gap:5px;background:#2563eb;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap}
.open-btn:hover{background:#1d4ed8}
.adm-btn{display:inline-flex;align-items:center;gap:5px;background:#16a34a;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;border-radius:20px;white-space:nowrap}
.adm-btn:hover{background:#15803d}
.badge{padding:3px 10px;border-radius:20px;font-size:12px}.badge::before{content:"●";margin-right:5px}.ok{background:#dcfce7;color:#15803d}.off{background:#fee2e2;color:#b91c1c}
.acts{display:flex;gap:6px}.acts form{display:inline}.a{width:30px;height:26px;border-radius:5px;color:#fff;display:grid;place-items:center;font-size:12px}
.a.blue{background:#2563eb}.a.green{background:#16a34a}.a.red{background:#ef4444}
.clk{font-weight:600}.empty{text-align:center;color:#64748b;padding:30px}
.modal{position:fixed;inset:0;background:#0f172a80;display:none;align-items:center;justify-content:center;z-index:50;padding:16px}.modal.show{display:flex}
.m-box{background:#fff;border-radius:14px;padding:22px;width:100%;max-width:440px;display:grid;gap:12px}.m-box h3{font-size:18px}
.m-box label{display:grid;gap:4px;font-size:13px;font-weight:500}.m-box input,.m-box select,.login-card input{border:1px solid #cbd5e1;border-radius:8px;padding:10px;font-family:inherit;width:100%}
.m-box input[type=color]{height:42px;padding:3px}.row{display:grid;grid-template-columns:2fr 1fr;gap:10px}.m-act{display:flex;justify-content:flex-end;gap:10px}
/* Login & PIN */
.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#1e3a8a,#7c3aed);padding:16px}
.login-card{background:#fff;border-radius:16px;padding:30px;width:100%;max-width:360px;display:grid;gap:14px;text-align:center;box-shadow:0 20px 50px #0004}
.login-card h1{font-size:24px;color:#1e3a8a}.login-card p{color:#64748b;font-size:13px}
.login-card small{color:#94a3b8}
.err{background:#fee2e2;color:#b91c1c;padding:9px;border-radius:8px;font-size:13px}
.pin-input{text-align:center;font-size:26px;letter-spacing:14px;font-weight:700}
@media(max-width:1100px){.quick{grid-template-columns:repeat(3,1fr)}.hero-art{display:none}}
@media(max-width:900px){
 .sidebar{transform:translateX(-100%)}
 body.side-open .sidebar{transform:translateX(0)}
 body.side-open .side-overlay{display:block}
 .main{margin-left:0}
 .burger{display:block}
 .stats{grid-template-columns:repeat(2,1fr)}.quick{grid-template-columns:repeat(2,1fr)}
 .hero{flex-wrap:wrap}.hero-list{display:none}
}
@media(max-width:600px){
 .topbar{padding:10px 14px;gap:10px;flex-wrap:wrap}.topbar .search{order:3;max-width:none;flex-basis:100%}.hide-sm{display:none!important}.logo-ic{width:42px;height:42px}
 .wrap{padding:10px;gap:12px}.hero{padding:18px;gap:0}.hero-ic{display:none}.hero-txt h1{font-size:26px}.hero-txt p{font-size:16px}
 .stats{grid-template-columns:repeat(4,1fr);gap:6px}.stat{flex-direction:column;padding:12px 4px;gap:2px;text-align:center}.st-ic,.bars{display:none}.stat b{font-size:22px}.stat span{font-size:11px}
 .quick{grid-template-columns:repeat(2,1fr);gap:8px}.ql{flex-direction:column;align-items:center;padding:10px 6px;gap:8px;text-align:center}.q-t small,.ext{display:none}.q-t b{font-size:11px;font-weight:500}.q-ic{width:36px;height:36px;font-size:16px}.q-body{width:100%}.q-btns{justify-content:center;gap:4px}.open-btn,.adm-btn,.copy-btn{padding:4px 7px;font-size:10px;gap:4px}
 .filters{width:100%;margin:0}
 th:nth-child(1),th:nth-child(5),th:nth-child(6),td:nth-child(1),td:nth-child(5),td:nth-child(6){display:none}
 thead{display:none}.clk{background:#eef2ff;color:#1e3a8a;padding:3px 9px;border-radius:6px}.url-line{gap:4px}
}
.row-link{cursor:pointer}.row-link:hover td{background:#f8faff}
