@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--primary:#635bff;--secondary:#14b8a6;--bg:#f4f6fb;--surface:#fff;--text:#182033;--muted:#6f7890;--line:#e8ebf2;--sidebar:#101526;--shadow:0 12px 35px rgba(24,32,51,.07);--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,sans-serif;font-size:14px}.btn{border-radius:10px;font-weight:600}.btn-primary{background:var(--primary);border-color:var(--primary)}.form-control,.form-select,.input-group-text{border-color:var(--line);border-radius:10px;min-height:44px}.form-control:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(99,91,255,.12)}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;z-index:1020;inset:0 auto 0 0;width:250px;background:var(--sidebar);color:#fff;padding:24px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:17px;font-weight:800;padding:0 8px 25px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary),#9b8cff);color:#fff;font-size:20px;box-shadow:0 8px 20px rgba(99,91,255,.3)}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{color:#aab2c8;text-decoration:none;padding:11px 13px;border-radius:10px;display:flex;align-items:center;gap:12px}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:rgba(255,255,255,.09)}.sidebar nav a.active{box-shadow:inset 3px 0 var(--primary)}.sidebar-user{margin-top:auto;padding:15px;background:rgba(255,255,255,.06);border-radius:14px}.sidebar-user small,.sidebar-user strong{display:block}.sidebar-user small{color:#9ca5bd;margin-bottom:3px}.main{margin-left:250px;width:calc(100% - 250px)}.topbar{height:88px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:0 32px;position:sticky;top:0;z-index:1000}.topbar h1{font-size:21px;margin:0;font-weight:750}.topbar small{font-size:11px}.topbar>:last-child{margin-left:auto}.menu-toggle{display:none}.page-content{padding:30px;max-width:1500px;margin:auto}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.welcome-card{background:linear-gradient(120deg,#635bff,#7664ff 55%,#9b75ff);color:#fff;border-radius:22px;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;overflow:hidden;position:relative}.welcome-card h2{font-size:28px;font-weight:800;margin:4px 0}.welcome-card p{margin:0;opacity:.82}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--primary)}.welcome-card .eyebrow,.client-hero .eyebrow{color:#dedaff}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:19px;display:flex;align-items:center;gap:15px;box-shadow:var(--shadow)}.stat-card>span{width:44px;height:44px;border-radius:13px;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);display:grid;place-items:center;font-size:20px}.stat-card strong,.stat-card small{display:block}.stat-card strong{font-size:23px}.stat-card small{color:var(--muted)}.panel-head,.toolbar,.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.panel-head h3,.section-title h2{margin:0;font-size:19px;font-weight:750}.panel-head p,.section-title p{margin:3px 0 0;color:var(--muted)}.filter-form{display:flex;gap:10px;flex:1;max-width:750px}.filter-form .input-group{flex:1}.table{--bs-table-bg:transparent}.table thead th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;border-bottom-color:var(--line)}.table td{border-bottom-color:var(--line);padding-top:14px;padding-bottom:14px}.client-cell{display:flex;align-items:center;gap:12px}.client-cell img,.avatar{width:42px;height:42px;border-radius:12px;object-fit:cover}.avatar{display:grid;place-items:center;background:#eceaff;color:var(--primary);font-weight:800}.client-cell small,.client-cell strong{display:block}.client-cell small{color:var(--muted);margin-top:2px}.status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;background:#eef1f6;color:#637087;font-size:11px;font-weight:700;text-transform:capitalize}.status.success,.status.active{background:#e4f8ef;color:#087a4e}.status.development{background:#e8f1ff;color:#2563eb}.status.maintenance{background:#fff3dc;color:#a55d03}.status.suspended{background:#fee8e8;color:#bd2929}.actions{display:flex;gap:5px;justify-content:flex-end}.actions form{display:inline-flex}.form-panel{max-width:1000px}.form-panel>*+*{margin-top:18px}.form-section h3{font-size:18px;margin-bottom:3px}.form-section p{color:var(--muted)}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:18px;border-top:1px solid var(--line)}.card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.project-admin-card{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--project);border-radius:16px;padding:20px;box-shadow:var(--shadow)}.project-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--project) 12%,white);color:var(--project);font-size:20px}.project-admin-card h3{font-size:17px;margin:3px 0}.project-admin-card p{color:var(--muted);margin:0 0 10px}.two-column{display:grid;grid-template-columns:minmax(320px,400px) 1fr;gap:22px;align-items:start}.sticky-panel{position:sticky;top:110px}.note-card h3,.announcement h3{font-size:17px;margin:4px 0 10px}.note-card p,.announcement p{color:var(--muted)}.note-card.important{border-left:4px solid #f59e0b}.announcement{display:flex;gap:14px;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-left:4px solid #3b82f6;border-radius:14px;padding:18px;box-shadow:var(--shadow)}.announcement.important{border-left-color:#f59e0b}.announcement.maintenance{border-left-color:#8b5cf6}.announcement.urgent{border-left-color:#ef4444;background:#fff8f8}.empty{text-align:center;color:var(--muted);padding:50px}.client-hero{background:linear-gradient(120deg,var(--primary),#8b7bff);color:#fff;border-radius:24px;padding:30px;display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.client-identity{display:flex;align-items:center;gap:20px}.client-identity img,.client-logo{width:82px;height:82px;border-radius:19px;background:#fff;object-fit:contain;padding:8px}.client-logo{display:grid;place-items:center;color:var(--primary);font-size:36px;font-weight:800}.client-hero h2{font-size:28px;font-weight:800;margin:4px 0}.client-hero p{margin:0;opacity:.85}.managed-by{text-align:right;opacity:.8}.client-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.client-project{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;transition:.2s}.client-project:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(24,32,51,.12)}.project-image,.project-placeholder{width:100%;height:145px;object-fit:cover}.project-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--project) 12%,white),#f6f7fb);color:var(--project);font-size:36px}.project-body{padding:20px}.project-body h3{font-size:18px;margin:14px 0 7px}.project-body p{color:var(--muted);height:42px;overflow:hidden}.latest-note{display:block;background:#f5f6fa;padding:9px;border-radius:9px;margin-bottom:13px;color:#59637a}.note-timeline{border-left:2px solid var(--line);margin-left:7px}.note-timeline article{position:relative;padding:0 0 25px 25px}.timeline-dot{position:absolute;left:-7px;top:4px;width:12px;height:12px;background:var(--primary);border-radius:50%;box-shadow:0 0 0 5px var(--bg)}.note-timeline h3{font-size:16px;margin:4px 0}.note-timeline p,.note-timeline small{color:var(--muted)}.guest-body{background:#101526}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.login-visual{padding:70px;display:flex;align-items:flex-end;color:#fff;background:linear-gradient(135deg,rgba(16,21,38,.55),rgba(99,91,255,.85)),radial-gradient(circle at 20% 20%,#5b55bc,#11162a)}.login-visual h1{font-size:48px;max-width:720px;font-weight:800;line-height:1.08}.login-visual p{font-size:17px;max-width:600px;color:#d0d4e2}.login-panel{background:#fff;display:grid;place-items:center;padding:40px}.login-card{max-width:430px;width:100%}.brand-login{display:flex;gap:12px;align-items:center;margin-bottom:60px}.brand-login strong,.brand-login small{display:block}.brand-login small{color:var(--muted)}.login-card h2{font-size:32px;font-weight:800}.security-note{display:block;text-align:center;color:var(--muted);margin-top:25px}[data-theme=dark]{--bg:#0e1320;--surface:#161d2d;--text:#e8ebf4;--muted:#929bb0;--line:#283146;--shadow:none}.sidebar-backdrop{display:none}
@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(3,1fr)}.client-project-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:none}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1010}.sidebar-open .sidebar-backdrop{display:block}.main{margin:0;width:100%}.menu-toggle{display:block}.topbar{height:72px;padding:0 18px}.page-content{padding:18px}.stat-grid{grid-template-columns:repeat(2,1fr)}.card-grid,.two-column,.client-project-grid{grid-template-columns:1fr}.sticky-panel{position:static}.login-wrap{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh;padding:24px}.filter-form{width:100%;max-width:none}.toolbar{align-items:stretch;gap:10px;flex-direction:column}.client-hero{align-items:flex-start;gap:20px}.managed-by{display:none}}@media(max-width:500px){.stat-grid{grid-template-columns:1fr}.welcome-card{padding:23px;align-items:flex-start;gap:18px;flex-direction:column}.client-identity{align-items:flex-start}.client-identity img,.client-logo{width:60px;height:60px}.client-hero{padding:22px}.client-hero h2{font-size:22px}.filter-form{flex-direction:column}.login-card .brand-login{margin-bottom:40px}}
