@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#07111f;--panel:#0d1b2c;--panel2:#10243a;--line:rgba(167,197,224,.12);--text:#edf6ff;--muted:#90a7bd;--cyan:#12d7e5;--blue:#347cff;--green:#37d6a2;--red:#ff7584;--amber:#f3c66c;--shadow:0 18px 55px #02071170;font-family:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 95% -5%,#0c2843 0,transparent 34%),var(--bg);color:var(--text);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,.page-title{font-family:Manrope,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(27px,4vw,40px);margin:12px 0}h2{font-size:24px;margin:0}.muted{color:var(--muted)}.tiny{font-size:12px;line-height:1.6}.eyebrow,.sidebar-label{font-size:10px;font-weight:700;letter-spacing:.15em;color:#84a5c1}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,1040px);min-height:620px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,#10243ade,#0b1729f2);box-shadow:var(--shadow);display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden}.login-art{display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#124c7a66,transparent 60%),linear-gradient(135deg,#091626,#06101c)}.login-art img{width:100%;height:100%;max-height:700px;object-fit:cover;mix-blend-mode:screen}.login-content{padding:clamp(28px,5vw,58px);display:flex;flex-direction:column;justify-content:center}.login-top,.topbar,.top-actions,.language-switch,.row-between,.toolbar,.card-heading,.stat-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.language-switch{gap:3px;border:1px solid var(--line);padding:3px;border-radius:99px;background:#081421}.language-switch button{border:0;background:transparent;color:var(--muted);font-weight:700;font-size:11px;padding:7px 9px;border-radius:99px}.language-switch button.active{background:#153b56;color:var(--cyan)}.stack{display:grid;gap:16px;margin-top:24px}.stack.compact{gap:12px;margin-top:16px}label{display:grid;gap:8px;font-size:13px;font-weight:600;color:#c7d9e9}input,select,textarea{width:100%;background:#081523;border:1px solid #27415a;border-radius:11px;color:var(--text);padding:12px 14px;outline:none;transition:border .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #12d7e51a}input::placeholder,textarea::placeholder{color:#65819a}textarea{min-height:96px;resize:vertical}.button{border:1px solid transparent;border-radius:11px;padding:11px 16px;font-weight:700;transition:transform .18s,filter .18s}.button:hover{transform:translateY(-1px);filter:brightness(1.08)}.button.primary{background:linear-gradient(110deg,#13cddd,#4388ff);color:#03111c}.button.secondary{border-color:#35536c;background:#10243a;color:#dcecff}.button.ghost{border-color:var(--line);background:transparent;color:#c8d8e7}.button.danger{background:#4c1c2b;color:#ffdce1;border-color:#84394a}.full{width:100%}.connection-box{margin-top:26px;border-top:1px solid var(--line);padding-top:18px}.connection-box summary{cursor:pointer;color:#b5c9da;font-weight:600;font-size:13px}.footnote{margin-top:auto;padding-top:26px}.form-error{color:#ff9eaa;font-size:13px}.app-layout{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:252px;padding:22px 16px;background:#091522eF;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:5;backdrop-filter:blur(20px)}.brand{display:flex;align-items:center;gap:11px;padding:0 8px 25px;font:800 18px Manrope}.brand img{width:39px;height:39px;border-radius:12px}.brand small{display:block;font:700 9px 'DM Sans';letter-spacing:.16em;color:#7393ad;margin-top:2px}.sidebar-label{padding:10px 11px 12px}.sidebar nav{display:grid;gap:5px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid transparent;background:transparent;border-radius:11px;color:#9eb4c8;text-align:left;font-size:13px;font-weight:600}.nav-item:hover{background:#102135;color:#ecf7ff}.nav-item.active{background:linear-gradient(100deg,#123047,#10263a);color:#f3fbff;border-color:#17475d;box-shadow:inset 3px 0 var(--cyan)}.nav-icon{width:22px;text-align:center;color:#74bbd4;font-size:19px}.badge{margin-left:auto;border-radius:99px;padding:2px 7px;background:#d75b71;color:white;font-size:10px}.sidebar-bottom{margin-top:auto;display:grid;gap:4px}.connection-status{display:flex;align-items:center;gap:9px;padding:11px;color:#88a1b6;font-size:11px}.connection-status i{width:7px;height:7px;background:var(--green);box-shadow:0 0 10px #37d6a2;border-radius:50%}.main-area{margin-left:252px;min-height:100vh}.topbar{height:80px;padding:0 clamp(20px,3vw,42px);border-bottom:1px solid var(--line);background:#07111fc9;backdrop-filter:blur(14px);position:sticky;top:0;z-index:3}.page-title{font-size:19px;font-weight:800;margin-top:2px}.user-avatar{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,#12d7e5,#287bff);color:#06101c;font-weight:900;font-family:Manrope}.page-content{max-width:1420px;margin:auto;padding:30px clamp(20px,3vw,42px) 60px}.mobile-only{display:none}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:21px}.section-heading p{margin:7px 0 0;color:var(--muted);font-size:13px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:20px}.stat-card,.panel,.data-card{background:linear-gradient(145deg,#102137,#0c1929);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 32px #00000012}.stat-card{padding:17px}.stat-label{font-size:12px;color:#93abc0}.stat-value{font:800 clamp(21px,2.4vw,29px) Manrope;margin-top:13px;letter-spacing:-.04em}.stat-foot{font-size:11px;color:#65849d;margin-top:8px}.stat-icon{height:34px;width:34px;border-radius:11px;background:#12344a;color:var(--cyan);display:grid;place-items:center}.dashboard-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:15px}.panel{padding:19px}.panel h3{font-size:15px;margin:0}.panel-subtitle{font-size:12px;color:var(--muted);margin-top:5px}.chart-wrap{height:245px;margin-top:15px}.chart-wrap canvas{width:100%;height:100%}.quick-list{display:grid;gap:10px;margin-top:15px}.quick-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:#0a1725;display:flex;align-items:center;justify-content:space-between;gap:12px}.quick-item strong{display:block;font-size:13px}.quick-item small{color:var(--muted);font-size:11px}.toolbar{justify-content:flex-start;flex-wrap:wrap;margin-bottom:15px}.toolbar input{max-width:300px}.toolbar select{max-width:220px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--line);font-size:12px;vertical-align:middle}.data-table th{font-size:10px;color:#89a4bb;letter-spacing:.09em;text-transform:uppercase;background:#091624}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#ffffff04}.table-primary{font-weight:700;font-size:13px}.table-secondary{display:block;color:var(--muted);margin-top:4px}.status{display:inline-flex;border:1px solid #285364;background:#103244;color:#8be8e7;padding:5px 9px;border-radius:99px;font-size:10px;font-weight:700;white-space:nowrap}.status.green{color:#87edc7;border-color:#286b5d;background:#11362f}.status.amber{color:#ffdfa0;border-color:#66512a;background:#332914}.status.red{color:#ffafb8;border-color:#713c49;background:#391c26}.row-actions{display:flex;gap:6px}.icon-button{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#102238;border:1px solid var(--line);color:#b6cee2}.icon-button:hover{color:var(--cyan);border-color:#2c7182}.empty-state{padding:48px 18px;text-align:center;color:var(--muted)}.empty-state img{width:190px;max-width:55%;border-radius:18px;margin-bottom:14px}.empty-state h3{color:#e8f3ff;margin:8px 0}.empty-state p{margin:0;font-size:13px}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.data-card{padding:16px}.data-card h3{font-size:15px;margin:0}.data-card p{font-size:12px;color:var(--muted);margin:6px 0}.card-heading{align-items:flex-start}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.detail{border-top:1px solid var(--line);padding-top:10px}.detail small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.detail strong{font-size:13px;overflow-wrap:anywhere}.progress{height:6px;border-radius:9px;background:#1d3247;overflow:hidden;margin-top:9px}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:9px}.modal-backdrop{position:fixed;inset:0;background:#010610c9;z-index:20;display:grid;place-items:center;padding:18px;backdrop-filter:blur(7px)}.modal{width:min(100%,720px);max-height:min(90vh,900px);overflow:auto;border:1px solid #34516a;border-radius:19px;background:#0b1929;box-shadow:var(--shadow)}.modal-header{position:sticky;top:0;background:#0b1929ef;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:space-between;padding:17px 20px;border-bottom:1px solid var(--line);z-index:2}.modal-header h2{font-size:18px}.modal-body{padding:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-grid .wide{grid-column:1/-1}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast-root{position:fixed;right:20px;bottom:20px;z-index:30;display:grid;gap:9px}.toast{padding:12px 15px;border:1px solid #2b5a69;background:#102a39;border-radius:12px;box-shadow:var(--shadow);font-size:13px;max-width:360px}.toast.error{border-color:#783b4b;background:#321c26}.pagination-note{padding:12px;color:var(--muted);font-size:11px;text-align:center}.danger-zone{padding:13px;border:1px solid #6f3948;background:#301a24;border-radius:12px;color:#ffc4cd;font-size:12px;margin-top:14px}
@media(max-width:1050px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.sidebar{width:220px}.main-area{margin-left:220px}}@media(max-width:720px){.login-card{grid-template-columns:1fr;min-height:0}.login-art{height:190px}.login-art img{max-height:100%;object-fit:contain}.login-content{padding:25px}.sidebar{transform:translateX(-105%);transition:transform .25s;width:260px;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.main-area{margin-left:0}.mobile-only{display:grid}.topbar{height:68px;padding:0 16px}.page-content{padding:22px 15px 45px}.stats-grid{gap:9px}.stat-card{padding:13px}.stat-value{font-size:20px}.section-heading{align-items:flex-start;flex-direction:column}.toolbar{display:grid;grid-template-columns:1fr 1fr}.toolbar input,.toolbar select{max-width:none}.toolbar .button{grid-column:1/-1}.cards-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.modal-backdrop{padding:8px}.modal{max-height:96vh}.user-avatar{display:none}.data-table{min-width:690px}.chart-wrap{height:200px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Keep hidden login, error, and badge elements truly out of view even when component classes set display. */
[hidden] { display: none !important; }
.notification-button{white-space:nowrap;padding:8px 11px;font-size:11px}
.notification-button.notification-enabled{border-color:#286b5d;background:#11362f;color:#87edc7}
@media(max-width:720px){.notification-button{font-size:0;padding:8px}.notification-button span{display:none}.notification-button::after{content:'🔔';font-size:15px}}
