@tailwind base;@tailwind components;@tailwind utilities;:root{--bg-main:#060e1a;--bg-sidebar:#060e1d;--bg-card:#0c1b2e;--bg-card-hover:#10233b;--bg-inner:#081424;--border-color:#172c47;--border-subtle:#122238;--text-main:#f1f5f9;--text-muted:#8ca2ba;--text-dim:#556c84;--text-strong:#fff;--text-primary:#e2e8f0;--text-secondary:#cbd5e1;--brand-blue:#2563eb;--brand-cyan:#06b6d4;--brand-teal:#059669;--accent-green:#10b981;--accent-amber:#f59e0b;--accent-orange:#ea580c;--accent-red:#ef4444;--accent-purple:#9333ea}html.light{--bg-main:#f1f5f9;--bg-sidebar:#fff;--bg-card:#fff;--bg-card-hover:#f8fafc;--bg-inner:#f8fafc;--border-color:#e2e8f0;--border-subtle:#eef2f7;--text-main:#0f172a;--text-muted:#64748b;--text-dim:#94a3b8;--text-strong:#0f172a;--text-primary:#1e293b;--text-secondary:#334155;--brand-blue:#2563eb;--brand-cyan:#06b6d4;--brand-teal:#059669;--accent-green:#16a34a;--accent-amber:#d97706;--accent-orange:#ea580c;--accent-red:#dc2626;--accent-purple:#7c3aed}html.light *{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.light .top-header{background:#fff}html.light .header-title h2,html.light .clock-time,html.light .user-info .user-name{color:#0f172a}html.light .avatar-img{color:#2563eb!important;background:#e2e8f0!important}html.light .kpi-card:hover{border-color:#cbd5e1}html.light .kpi-main-val,html.light .card-header-flex h3{color:#0f172a}html.light .kpi-foot-row{border-top-color:#0f172a0f}html.light .dashboard-greeting h1,html.light .subpage-title h2,html.light .users-title,html.light .section-title,html.light .roles-detail-head h3,html.light .donut-center-label .num{color:#0f172a}html.light .prod-volume{color:#0284c7}html.light .incident-item-left{color:#334155}html.light .incident-count{color:#0f172a}html.light .perf-top .name{color:#475569}html.light .perf-top .val{color:#0f172a}html.light .perf-bar-bg{background:#e2e8f0}html.light .donut-legend-item{color:#475569}html.light .donut-legend-left span{color:#64748b}html.light .donut-legend-right{color:#0f172a}html.light .alert-details h5{color:#1e293b}html.light ::-webkit-scrollbar-track{background:#f1f5f9}html.light ::-webkit-scrollbar-thumb{background:#cbd5e1}html.light .btn-emergency{background:#dc26261a}html.light .nav-item{color:#64748b}html.light .nav-item:hover{color:#1e293b;background:#0f172a0d}html.light .select-dark{color:#1e293b;background:#fff}html.light .dropdown-badge{color:#475569;background:#fff}html.light .card-footer-link{color:#0284c7}html.light .circle-progress-badge:after{background:#fff}html.light .notif-panel{background:#fff;border-color:#e2e8f0}html.light .notif-item-title{color:#0f172a}html.light .notif-item-msg{color:#475569}html.light .notif-item:hover{background:#f1f5f9}html.light .notif-filter-chip{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}html.light .notif-filter-chip.active{color:#0891b2;background:#06b6d41f;border-color:#06b6d480}html.light .notif-link-btn{color:#64748b}html.light .notif-link-btn:hover{color:#0284c7;background:#06b6d41a}html.light .notif-filter-chip:hover{color:#475569}html.light .notif-group-label{color:#64748b}html.light .notif-item-time{color:#94a3b8}html.light .dark-table th{color:#64748b;background:#f8fafc}html.light .dark-table td{color:#1e293b;border-bottom-color:#eef2f7}html.light .dark-table tr:hover td{background:#f8fafc}html.light .users-search{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}html.light .users-search input{color:#0f172a}html.light .users-card select,html.light .users-toolbar select{color:#0f172a;background:#f8fafc;border-color:#e2e8f0}html.light .row-actions button,html.light .btn-icon-back{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}html.light .row-actions button:hover{color:#dc2626;border-color:#dc2626}html.light .btn-icon-back:hover{color:#0f172a}html.light .users-pagination button{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}html.light .users-pagination{color:#64748b}html.light .btn-secondary{color:#1e293b;background:#f1f5f9;border-color:#e2e8f0}html.light .btn-ghost-sm{color:#2563eb;background:#f1f5f9;border-color:#e2e8f0}html.light .form-field input,html.light .form-field select{color:#0f172a;background:#f8fafc;border-color:#e2e8f0}html.light .form-field span{color:#475569}html.light .session-row{background:#f8fafc;border-color:#e2e8f0}html.light .role-card{background:#fff;border-color:#e2e8f0}html.light .role-card.active{background:#f1f5f9;border-color:#2563eb}html.light .role-card-head{color:#1e293b}html.light .role-card-head em{color:#fff;background:#f59e0b}html.light .roles-search{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}html.light .roles-search input{color:#0f172a}html.light .roles-detail-head code{color:#0891b2;background:#f8fafc;border-color:#e2e8f0}html.light .perm-check{background:#f8fafc;border-color:#e2e8f0}html.light .perm-check.on{background:#2563eb0f;border-color:#2563eb}html.light .perm-name{color:#1e293b}html.light .info-grid pre{color:#1d4ed8;background:#f8fafc;border-color:#e2e8f0}html.light .info-grid h4{color:#64748b}html.light .dashboard-filter-bar{background:#ffffffd9;border-color:#e2e8f0}html.light .dashboard-filter-bar select{color:#1e293b;background:#fff;border-color:#d1d9e6}html.light .filter-label{color:#64748b}html.light .chip-btn{color:#334155;background:#fff;border-color:#e2e8f0}html.light .chip-btn:hover{background:#f1f5f9;border-color:#0284c759}html.light .mini-stat{background:#f8fafc;border-color:#e2e8f0}html.light .mini-stat b{color:#0f172a}html.light .breadcrumb-pill{color:#0284c7;background:#f8fafc;border-color:#e2e8f0}html.light .btn-brand.ghost{color:#475569;border-color:#d1d9e6}html.light .btn-brand.ghost:hover{color:#0284c7}html.light .dark-upload-dropzone{background:radial-gradient(circle at 50% 30%,#f0f7ff 0%,#f8fafc 75%);border-color:#0284c759}html.light .dark-upload-dropzone:hover{background:radial-gradient(circle at 50% 30%,#e8f3ff 0%,#f1f5f9 75%);border-color:#0284c7}html.light .dark-alert-box{background:#dc26260d;border-color:#dc26264d}html.light .dark-alert-box.info{background:#0284c70d;border-color:#0284c74d}html.light .dark-alert-box.warning{background:#d977060f;border-color:#d977064d}html.light .news-ticker-bar{background:#f8fafc}html.light .ticker-items-flex{color:#475569}html.light .data-table th{color:#64748b}html.light .data-table tbody tr:hover{background:#0284c70d}html.light .users-table th{color:#64748b}html.light .users-table tbody tr:hover{background:#0f172a05}html.light .header-badge{border-color:#fff}html.light .header-icon-btn{color:#64748b}html.light .header-icon-btn:hover{color:#0f172a;background:#0f172a0d}html.light .logo-text h1{color:#0f172a}html.light .logo-text p,html.light .db-status{color:#64748b}html.light .db-error-banner{color:#b91c1c;background:#dc262614}html.light .db-success-banner{color:#15803d}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#060e1a}::-webkit-scrollbar-thumb{background:#172c47;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2563eb}.app-shell{background-color:var(--bg-main);min-height:100vh;display:flex}.sidebar-container{background:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:50;-webkit-user-select:none;user-select:none;flex-direction:column;width:240px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-header{border-bottom:1px solid var(--border-color);align-items:center;gap:10px;padding:16px 18px;display:flex}.logo-icon{background:linear-gradient(135deg,#0284c7 0%,#2563eb 100%);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;box-shadow:0 0 12px #2563eb66}.logo-text h1{letter-spacing:-.02em;color:#fff;font-size:17px;font-weight:800;line-height:1.1}.logo-text h1 span{color:#38bdf8;margin-left:3px;font-weight:700}.logo-text p{text-transform:uppercase;letter-spacing:.05em;color:#7997b6;margin-top:2px;font-size:8.5px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:10px 10px 14px;display:flex;overflow-y:auto}.nav-item{color:#8da5bf;cursor:pointer;border-radius:7px;align-items:center;gap:10px;padding:8px 12px;font-size:12.5px;font-weight:500;text-decoration:none;transition:all .15s ease-in-out;display:flex}.nav-item:hover{color:#e2e8f0;background:#ffffff0d}.nav-item.active{color:#fff;background:#1a56db;font-weight:600;box-shadow:0 4px 12px #1a56db59}.nav-item.active svg{color:#fff}.sidebar-section-label{text-transform:uppercase;letter-spacing:.08em;color:#556c84;padding:14px 12px 4px;font-size:10px;font-weight:700}.dashboard-greeting{margin-bottom:16px}.dashboard-greeting h1{color:#f1f5f9;margin:0;font-size:22px;font-weight:700}.dashboard-greeting p{color:var(--text-muted);margin-top:2px;font-size:12.5px}.sidebar-footer{border-top:1px solid var(--border-color);background:var(--bg-sidebar);padding:12px}.btn-emergency{color:#ef4444;cursor:pointer;background:#ef44441f;border:1px solid #ef444466;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:9px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.btn-emergency:hover{background:#ef444438;border-color:#ef4444;box-shadow:0 0 12px #ef44444d}.main-wrapper{flex-direction:column;width:calc(100% - 240px);min-height:100vh;margin-left:240px;padding-bottom:42px;display:flex}.top-header{border-bottom:1px solid var(--border-color);background:#071221;justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.header-title h2{color:#fff;letter-spacing:-.02em;font-size:20px;font-weight:700}.header-title p{color:var(--text-muted);margin-top:2px;font-size:12px}.header-right{align-items:center;gap:20px;display:flex}.header-clock{text-align:right}.clock-time{color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.05em;font-size:14px;font-weight:700}.clock-date{color:var(--text-dim);font-size:11px}.header-icon-btn{border:1px solid var(--border-color);color:#8da5bf;cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex;position:relative}.header-icon-btn:hover{color:#fff;background:#ffffff0f}.header-badge{color:#fff;background:#ef4444;border:2px solid #071221;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.user-profile{border-left:1px solid var(--border-color);align-items:center;gap:10px;padding-left:12px;display:flex}.avatar-img{object-fit:cover;background:#1e293b;border:1.5px solid #2563eb;border-radius:8px;width:36px;height:36px}.user-info{line-height:1.2}.user-info .user-name{color:#fff;font-size:12.5px;font-weight:700}.user-info .user-role{color:var(--text-muted);font-size:10.5px}.dashboard-content{flex-direction:column;gap:16px;padding:18px 24px 24px;display:flex}.kpi-grid-6{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;flex-direction:column;justify-content:space-between;padding:13px 14px;transition:transform .2s,border-color .2s;display:flex;box-shadow:0 4px 14px #00000040}.kpi-card:hover{border-color:#244369;transform:translateY(-2px)}.kpi-header{align-items:flex-start;gap:10px;display:flex}.kpi-icon-wrap{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.kpi-title-value{flex:1}.kpi-title{color:var(--text-muted);white-space:nowrap;font-size:11.5px;font-weight:500}.kpi-num-row{align-items:baseline;gap:5px;margin-top:3px;display:flex}.kpi-main-val{color:#fff;letter-spacing:-.02em;font-size:20px;font-weight:800}.kpi-total-val{color:var(--text-dim);font-size:11px;font-weight:500}.kpi-foot-row{border-top:1px solid #ffffff0a;justify-content:space-between;align-items:center;margin-top:10px;padding-top:6px;font-size:10.5px;display:flex}.kpi-trend{align-items:center;gap:3px;font-weight:700;display:flex}.kpi-trend.positive{color:#10b981}.kpi-trend.warning{color:#f59e0b}.kpi-trend.danger{color:#ef4444}.kpi-trend.info{color:#06b6d4}.kpi-period{color:var(--text-dim)}.middle-grid{grid-template-columns:2fr 1.08fr;gap:14px;display:grid}.dashboard-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;padding:16px;position:relative;box-shadow:0 4px 16px #00000040}.card-header-flex{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-header-flex h3{color:#fff;font-size:13.5px;font-weight:700}.dropdown-badge{border:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;background:#081525;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;display:flex}.map-card-container{flex-direction:column;min-height:480px;display:flex}.map-viewport{background:radial-gradient(circle at 45% 45%,#0d263a 0%,#081726 65%,#050e18 100%);border:1px solid #1e3c5a66;border-radius:8px;flex:1;width:100%;min-height:440px;position:relative;overflow:hidden}.map-controls{z-index:20;flex-direction:column;gap:4px;display:flex;position:absolute;top:12px;left:12px}.map-ctrl-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c1b2ed9;border:1px solid #28507880;border-radius:5px;justify-content:center;align-items:center;width:28px;height:28px;font-size:15px;transition:background .15s;display:flex}.map-ctrl-btn:hover{background:#1a3960}.map-summary-box{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;background:#081424e0;border:1px solid #38bdf840;border-radius:8px;width:190px;padding:10px 14px;position:absolute;top:12px;right:12px;box-shadow:0 4px 18px #0006}.map-summary-box h4{color:#38bdf8;align-items:center;gap:5px;margin-bottom:8px;font-size:11.5px;font-weight:700;display:flex}.summary-row{color:#cbd5e1;justify-content:space-between;align-items:center;margin:4px 0;font-size:11px;display:flex}.summary-dot{border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.map-legend-box{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:20;background:#081424d9;border:1px solid #1e3c5a80;border-radius:8px;flex-direction:column;gap:4px;padding:8px 12px;display:flex;position:absolute;bottom:12px;left:12px}.legend-item{color:#94a3b8;align-items:center;gap:7px;font-size:10px;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px}.right-column-stack{flex-direction:column;gap:14px;display:flex}.production-card{flex-direction:column;flex:1;display:flex}.prod-kpi-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.prod-volume{color:#38bdf8;letter-spacing:-.02em;font-size:22px;font-weight:800}.prod-target-badge{color:var(--text-muted);align-items:center;gap:8px;font-size:11px;display:flex}.circle-progress-badge{color:#fff;background:conic-gradient(#06b6d4 0% 86%,#1e3a5f 86% 100%);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:9.5px;font-weight:800;display:flex;position:relative}.circle-progress-badge:after{content:"";background:#0c1b2e;border-radius:50%;width:24px;height:24px;position:absolute}.circle-progress-text{z-index:2;position:relative}.donut-layout{grid-template-columns:130px 1fr;align-items:center;gap:12px;height:160px;display:grid}.donut-wrap{justify-content:center;align-items:center;width:130px;height:130px;display:flex;position:relative}.donut-center-label{text-align:center;pointer-events:none;position:absolute}.donut-center-label .sub{text-transform:uppercase;color:var(--text-dim);font-size:8.5px}.donut-center-label .num{color:#fff;font-size:14px;font-weight:800;line-height:1.1}.donut-legend-list{flex-direction:column;gap:5px;display:flex}.donut-legend-item{color:#cbd5e1;justify-content:space-between;align-items:center;font-size:11px;display:flex}.donut-legend-left{align-items:center;gap:6px;display:flex}.donut-legend-left span{color:#94a3b8;font-size:10.5px}.donut-legend-right{color:#fff;font-weight:700}.bottom-grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.chart-bars-wrap{width:100%;height:160px}.incidents-list{flex-direction:column;gap:7px;display:flex}.incident-item{border-bottom:1px solid #ffffff08;justify-content:space-between;align-items:center;padding:4px 0;display:flex}.incident-item-left{color:#e2e8f0;align-items:center;gap:8px;font-size:11.5px;display:flex}.incident-item-right{align-items:center;gap:8px;display:flex}.incident-count{color:#fff;font-size:12px;font-weight:800}.incident-trend-badge{border-radius:4px;padding:1px 4px;font-size:10px;font-weight:700}.incident-trend-badge.danger{color:#ef4444;background:#ef44441f}.incident-trend-badge.success{color:#10b981;background:#10b9811f}.alerts-list{flex-direction:column;gap:10px;display:flex}.alert-row{align-items:flex-start;gap:10px;display:flex}.alert-icon-box{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;margin-top:2px;display:flex}.alert-icon-box.critical{color:#ef4444;background:#ef444426}.alert-icon-box.warning{color:#f59e0b;background:#f59e0b26}.alert-icon-box.info{color:#3b82f6;background:#2563eb26}.alert-details{flex:1}.alert-details h5{color:#f1f5f9;font-size:11.5px;font-weight:700}.alert-details p{color:var(--text-dim);font-size:10px}.alert-time{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:10px}.card-footer-link{text-align:center;color:#38bdf8;cursor:pointer;margin-top:10px;font-size:11px;font-weight:600;text-decoration:none;display:block}.card-footer-link:hover{text-decoration:underline}.perf-list{flex-direction:column;gap:8px;display:flex}.perf-row{flex-direction:column;gap:3px;display:flex}.perf-top{justify-content:space-between;font-size:11px;display:flex}.perf-top .name{color:#cbd5e1}.perf-top .val{color:#fff;font-weight:700}.perf-bar-bg{background:#11263f;border-radius:999px;height:5px;overflow:hidden}.perf-bar-fill{background:linear-gradient(90deg,#1d4ed8 0%,#38bdf8 100%);border-radius:999px;height:100%}.news-ticker-bar{border-top:1px solid var(--border-color);z-index:40;background:#050d18;justify-content:space-between;align-items:center;height:34px;padding:0 16px;font-size:11.5px;display:flex;position:fixed;bottom:0;left:240px;right:0}.ticker-left{color:#38bdf8;white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:flex}.pulse-dot{background:#38bdf8;border-radius:50%;width:7px;height:7px;animation:2s infinite pulse-ring;box-shadow:0 0 8px #38bdf8}.ticker-center{flex:1;align-items:center;margin:0 20px;display:flex;overflow:hidden}.ticker-items-flex{color:#94a3b8;white-space:nowrap;align-items:center;gap:30px;animation:35s linear infinite ticker-scroll;display:flex}.ticker-items-flex:hover{animation-play-state:paused}.ticker-item span{color:#38bdf8;font-weight:600}.ticker-right{color:#10b981;white-space:nowrap;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.status-green-dot{background:#10b981;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #10b981}@keyframes pulse-ring{0%{opacity:.8;transform:scale(.95)}50%{opacity:1;transform:scale(1.3)}to{opacity:.8;transform:scale(.95)}}@keyframes ticker-scroll{0%{transform:translate(100%)}to{transform:translate(-100%)}}.subpage-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.subpage-title h2{color:#fff;letter-spacing:-.02em;align-items:center;gap:8px;font-size:20px;font-weight:800;display:flex}.subpage-title h2:before{content:"";background:#38bdf8;border-radius:2px;width:4px;height:18px;display:inline-block}.subpage-title p{color:var(--text-muted);margin-top:3px;font-size:12.5px}.subpage-filters{align-items:center;gap:8px;display:flex}.select-dark{border:1px solid var(--border-color);color:#cbd5e1;cursor:pointer;background:#081525;border-radius:8px;outline:none;padding:7px 12px;font-size:12px;font-weight:500;transition:border-color .15s}.select-dark:hover,.select-dark:focus{border-color:#38bdf8}.subpage-kpi-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.two-col-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (max-width:1100px){.two-col-grid{grid-template-columns:1fr}}.kpi-grid-6{grid-template-columns:repeat(6,1fr)}@media (max-width:1700px){.kpi-grid-6{grid-template-columns:repeat(3,1fr)}}@media (max-width:1100px){.kpi-grid-6{grid-template-columns:repeat(2,1fr)}}.dark-table{border-collapse:collapse;text-align:left;width:100%;font-size:12.5px}.dark-table th{color:#94a3b8;border-bottom:1px solid var(--border-color);text-transform:uppercase;letter-spacing:.04em;background:#081525;padding:11px 14px;font-size:11.5px;font-weight:600}.dark-table td{color:#e2e8f0;border-bottom:1px solid #172c4799;padding:12px 14px}.dark-table tr:hover td{background:#ffffff05}.badge-pill{border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:10.5px;font-weight:700;display:inline-flex}.badge-pill.cyan{color:#38bdf8;background:#06b6d426;border:1px solid #06b6d44d}.badge-pill.green{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.badge-pill.amber{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.badge-pill.red{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.badge-pill.purple{color:#c084fc;background:#9333ea26;border:1px solid #9333ea4d}.dark-alert-box{background:#ef444412;border:1px solid #ef44444d;border-left:4px solid #ef4444;border-radius:8px;padding:14px 16px}.dark-alert-box.info{background:#38bdf812;border-color:#38bdf84d #38bdf84d #38bdf84d #38bdf8}.dark-alert-box.warning{background:#f59e0b12;border-color:#f59e0b4d #f59e0b4d #f59e0b4d #f59e0b}.dark-upload-dropzone{text-align:center;cursor:pointer;background:radial-gradient(circle at 50% 30%,#0c233c 0%,#081628 75%);border:2px dashed #38bdf84d;border-radius:12px;padding:40px 24px;transition:all .2s}.dark-upload-dropzone:hover{background:radial-gradient(circle at 50% 30%,#0e2a4a 0%,#0a1b32 75%);border-color:#38bdf8;box-shadow:0 0 20px #38bdf826}.btn-brand{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1d4ed8 0%,#0284c7 100%);border:1px solid #38bdf866;border-radius:8px;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 4px 14px #0284c74d}.btn-brand:hover{opacity:.92;transform:translateY(-1px);box-shadow:0 6px 18px #0284c773}@media (max-width:1400px){.subpage-kpi-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid-6{grid-template-columns:repeat(3,1fr)}.bottom-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:1100px){.middle-grid{grid-template-columns:1fr}.sidebar-container{width:200px}.main-wrapper{width:calc(100% - 200px);margin-left:200px}.news-ticker-bar{left:200px}}@media (max-width:768px){.sidebar-container{display:none}.main-wrapper{width:100%;margin-left:0}.news-ticker-bar{left:0}.kpi-grid-6,.bottom-grid-4{grid-template-columns:1fr}}.dashboard-filter-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1b2eb8;border:1px solid #172c47;border-radius:10px;align-items:end;gap:12px;margin:0 0 14px;padding:10px 12px;display:flex}.dashboard-filter-bar>div{flex-direction:column;gap:5px;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:10px}.dashboard-filter-bar select{color:#dbeafe;background:#0b1b2d;border:1px solid #1e3a5f;border-radius:6px;outline:none;padding:7px 28px 7px 9px;font-size:11px}.db-status{color:#94a3b8;align-items:center;gap:7px;margin-left:auto;padding-bottom:7px;font-size:10px;display:flex}.db-status span{background:#64748b;border-radius:50%;width:7px;height:7px}.db-status.ok span{background:#10b981;box-shadow:0 0 8px #10b9818c}.db-status.error span{background:#ef4444}.db-status.loading span{background:#f59e0b;animation:1s infinite pulse-dot}.db-error-banner{color:#fca5a5;background:#7f1d1d2e;border:1px solid #ef444440;border-radius:8px;margin:-4px 0 14px;padding:9px 12px;font-size:11px}@keyframes pulse-dot{50%{opacity:.35}}@media (max-width:900px){.dashboard-filter-bar{flex-wrap:wrap}.db-status{width:100%;margin-left:0}}.btn-brand.ghost{box-shadow:none;color:#94a3b8;background:0 0;border:1px solid #1e3a5f;border-radius:6px}.btn-brand.ghost:hover{color:#38bdf8;border-color:#38bdf866;transform:none}.chip-btn{color:#cbd5e1;cursor:pointer;text-align:left;background:#0c1f36;border:1px solid #172c47;border-radius:8px;align-items:center;gap:6px;width:100%;padding:7px 10px;font-size:11.5px;font-weight:500;transition:all .15s;display:flex}.chip-btn:hover{background:#102c4a;border-color:#38bdf859}.mini-stat{background:#0a1a2e;border:1px solid #172c47;border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.mini-stat span{text-transform:uppercase;letter-spacing:.05em;color:#64748b;font-size:9.5px}.mini-stat b{color:#fff;font-size:13px}.breadcrumb-pill{letter-spacing:.04em;color:#38bdf8;background:#0a1a2e;border:1px solid #172c47;border-radius:6px;flex-wrap:wrap;align-items:center;gap:5px;padding:5px 8px;font-size:9px;display:flex}@media (max-width:1100px){.vue-nationale-grid-2{grid-template-columns:1fr!important}}.header-badge.badge-critical-pulse{animation:1.6s ease-in-out infinite notif-pulse}@keyframes notif-pulse{0%,to{box-shadow:0 0 #ef444499}50%{box-shadow:0 0 0 6px #ef444400}}.notif-panel{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1726;border:1px solid #1e3a5f;border-radius:12px;flex-direction:column;width:390px;max-width:92vw;display:flex;position:absolute;top:42px;right:0;overflow:hidden;box-shadow:0 18px 50px #00000080}.notif-panel-head{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.notif-link-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:4px 6px;font-size:11px;display:inline-flex}.notif-link-btn:hover{color:#38bdf8;background:#38bdf81a}.notif-filters{border-bottom:1px solid #ffffff0f;flex-wrap:wrap;gap:6px;padding:10px 14px;display:flex}.notif-filter-chip{color:#94a3b8;cursor:pointer;background:#0c1f36;border:1px solid #1e3a5f;border-radius:999px;padding:4px 9px;font-size:10.5px;transition:all .15s}.notif-filter-chip.active{color:#38bdf8;background:#38bdf82e;border-color:#38bdf880}.notif-filter-chip:hover{color:#cbd5e1}.notif-panel-list{flex-direction:column;max-height:420px;display:flex;overflow-y:auto}.notif-group-label{letter-spacing:.07em;text-transform:uppercase;padding:10px 14px 4px;font-size:9.5px;font-weight:800}.notif-item{text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #ffffff08;align-items:stretch;gap:9px;width:100%;padding:9px 14px;display:flex}.notif-item:hover{background:#38bdf80d}.notif-item.read{opacity:.6}.notif-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.notif-item-title{color:#e2e8f0;font-size:12px;font-weight:700}.notif-item-time{color:#64748b;white-space:nowrap;font-size:10px}.notif-item-msg{color:#94a3b8;margin-top:2px;font-size:11px;line-height:1.5}.notif-item-act{color:#38bdf8;align-items:center;gap:4px;margin-top:5px;font-size:10.5px;font-weight:700;display:inline-flex}.notif-unread-dot{background:#38bdf8;border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:4px;box-shadow:0 0 6px #38bdf8cc}.notif-empty{color:#64748b;text-align:center;padding:18px;font-size:12px}.notif-panel-foot{border-top:1px solid #ffffff0f;justify-content:center;padding:8px 14px;display:flex}.spin{animation:1s linear infinite spin-anim}@keyframes spin-anim{to{transform:rotate(360deg)}}.notif-row.read{opacity:.65}.data-table th{color:#8ca2ba}.data-table tbody tr:hover{background:#38bdf80d}@media (max-width:600px){.notif-panel{width:auto;position:fixed;top:52px;left:6px;right:6px}}.doc-tabs{flex-wrap:wrap;gap:6px;display:flex}.doc-tab{color:#94a3b8;cursor:pointer;background:#0c1f36;border:1px solid #172c47;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.doc-tab:hover{color:#cbd5e1;background:#102c4a;border-color:#38bdf859}.doc-tab.active{color:#38bdf8;background:#2563eb2e;border-color:#38bdf880;font-weight:700}.doc-tab-count{background:#ffffff14;border-radius:999px;padding:1px 7px;font-size:10.5px;font-weight:700}.doc-tab.active .doc-tab-count{background:#38bdf833}.doc-modal-overlay{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.doc-modal{background:var(--bg-card);border:1px solid var(--border-color);border-radius:14px;width:560px;max-width:92vw;max-height:85vh;padding:22px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.doc-modal-body{background:var(--bg-inner);border:1px solid var(--border-color);border-radius:10px;padding:16px}html.light .doc-tab{color:#64748b;background:#fff;border-color:#e2e8f0}html.light .doc-tab:hover{color:#475569;background:#f1f5f9;border-color:#cbd5e1}html.light .doc-tab.active{color:#2563eb;background:#2563eb14;border-color:#2563eb66}html.light .doc-tab-count{background:#0000000f}html.light .doc-modal{background:#fff;border-color:#e2e8f0}html.light .doc-modal-body{background:#f8fafc;border-color:#e2e8f0}.users-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.users-title{color:#f1f5f9;margin:0;font-size:18px;font-weight:700}.users-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.users-search{color:#556c84;background:#081424;border:1px solid #172c47;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;display:flex}.users-search input{color:#f1f5f9;background:0 0;border:none;outline:none;width:200px;font-size:12.5px}.users-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:18px}.users-table{border-collapse:collapse;width:100%}.users-table th{text-align:left;color:#556c84;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color);padding:8px 10px;font-size:11px}.users-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;padding:10px;font-size:13px}.users-table tr:last-child td{border-bottom:none}.users-table tbody tr:hover{background:#ffffff05}.row-actions{gap:6px;display:flex}.row-actions button,.row-action-link,.btn-icon-back{color:#8ca2ba;cursor:pointer;background:#10233b;border:1px solid #172c47;border-radius:6px;padding:6px;transition:all .15s;display:inline-flex}.row-actions button:hover,.row-action-link:hover{color:#ef4444;border-color:#ef4444}.btn-icon-back{align-items:center;text-decoration:none}.btn-icon-back:hover{color:#f1f5f9}.users-pagination{color:#8ca2ba;justify-content:space-between;align-items:center;margin-top:14px;font-size:12.5px;display:flex}.users-pagination div{align-items:center;gap:10px;display:flex}.users-pagination button{color:#8ca2ba;cursor:pointer;background:#10233b;border:1px solid #172c47;border-radius:6px;padding:5px 8px;display:inline-flex}.users-pagination button:disabled{opacity:.35;cursor:default}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#06b6d4);border:none;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{color:#e2e8f0;cursor:pointer;background:#10233b;border:1px solid #172c47;border-radius:8px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn-ghost-danger{color:#f87171;cursor:pointer;background:0 0;border:1px solid #7f1d1d;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.btn-ghost-sm{color:#60a5fa;cursor:pointer;background:#10233b;border:1px solid #172c47;border-radius:6px;padding:4px 10px;font-size:12px}.role-badge{color:#60a5fa;background:#2563eb26;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-block}.role-super_admin{color:#fbbf24;background:#f59e0b26}.role-admin{color:#60a5fa;background:#2563eb26}.role-lecteur{color:#94a3b8;background:#64748b33}.users-card select,.users-toolbar select{color:#f1f5f9;background:#081424;border:1px solid #172c47;border-radius:8px;outline:none;padding:7px 10px;font-size:12.5px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-field{flex-direction:column;gap:5px;display:flex}.form-field span{color:#8ca2ba;font-size:11.5px;font-weight:600}.form-field input,.form-field select{color:#f1f5f9;background:#081424;border:1px solid #172c47;border-radius:8px;outline:none;padding:9px 11px;font-size:13px}.form-field input:disabled,.form-field select:disabled{opacity:.55}.form-note{color:#556c84;margin:14px 0 4px;font-size:12px}.form-submit{margin-top:16px}.section-title{color:#e2e8f0;margin:0 0 12px;font-size:14px;font-weight:700}.profile-grid{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.session-list{flex-direction:column;gap:8px;display:flex}.session-row{background:#081424;border:1px solid #172c47;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.roles-layout{grid-template-columns:280px 1fr;align-items:start;gap:16px;display:grid}.roles-list{flex-direction:column;gap:8px;display:flex}.role-card{text-align:left;cursor:pointer;background:#0c1b2e;border:1px solid #172c47;border-radius:10px;padding:12px 14px;transition:all .15s}.role-card.active{background:#10233b;border-color:#2563eb;box-shadow:0 0 0 1px #2563eb}.role-card-head{color:#e2e8f0;align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}.role-card-head em{color:#060e1a;background:#f59e0b;border-radius:4px;padding:1px 5px;font-size:10px;font-style:normal;font-weight:800}.role-card-sub{color:#556c84;margin-top:4px;font-size:11.5px}.roles-detail-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.roles-detail-head h3{color:#f1f5f9;margin:0;font-size:16px}.roles-detail-head code{color:#38bdf8;background:#081424;border:1px solid #172c47;border-radius:6px;padding:2px 8px;font-size:11.5px}.role-note{color:#fbbf24;font-size:12px}.roles-search{color:#556c84;background:#081424;border:1px solid #172c47;border-radius:8px;align-items:center;gap:6px;margin-bottom:12px;padding:6px 10px;display:flex}.roles-search input{color:#f1f5f9;background:0 0;border:none;outline:none;width:100%;font-size:12.5px}.perm-module{color:#30b4e0;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--border-subtle);margin:16px 0 8px;padding-bottom:4px;font-size:11px}.perm-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;display:grid}.perm-check{cursor:pointer;background:#081424;border:1px solid #172c47;border-radius:8px;align-items:center;gap:9px;padding:8px 10px;transition:all .15s;display:flex}.perm-check.on{background:#2563eb14;border-color:#2563eb}.perm-check input{accent-color:#2563eb}.perm-name{color:#e2e8f0;font-size:12.5px;font-weight:500}.perm-code{color:#556c84;font-size:11px}.audit-action{color:#c4b5fd;background:#8b5cf61f;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:11.5px;font-weight:700;display:inline-flex}.audit-success{color:#34d399;background:#10b9811f}.audit-failed{color:#f87171;background:#ef444424}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.info-grid h4{color:#8ca2ba;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px;font-size:11.5px}.info-grid pre{color:#93c5fd;white-space:pre-wrap;word-break:break-word;background:#081424;border:1px solid #172c47;border-radius:8px;margin:0;padding:10px;font-size:11.5px;overflow:auto}.profile-card{align-items:center;gap:18px;display:flex}.profile-avatar-lg{border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:800;display:flex}.db-success-banner{color:#34d399;background:#10b9811a;border:1px solid #10b98166;border-radius:8px;margin-bottom:12px;padding:9px 12px;font-size:12.5px}@media (max-width:900px){.form-grid,.profile-grid,.roles-layout{grid-template-columns:1fr}}.donut-legend-list{max-height:160px;padding-right:6px;overflow-y:auto}.dg-clock{border:1px solid var(--border-color);color:var(--text-main);font:inherit;cursor:pointer;text-align:left;background:linear-gradient(135deg,#38bdf812,#38bdf805);border-radius:12px;align-items:center;gap:10px;padding:5px 12px 5px 5px;transition:border-color .18s,background .18s,box-shadow .18s;display:inline-flex}.dg-clock:hover,.dg-clock.is-open{background:linear-gradient(135deg,#38bdf824,#38bdf80a);border-color:#38bdf88c;box-shadow:0 0 0 3px #38bdf814}.dg-clock:focus-visible{outline-offset:2px;outline:2px solid #38bdf8}.dg-clock-leaf{background:#0f172a99;border:1px solid #38bdf859;border-radius:8px;flex-direction:column;flex-shrink:0;width:40px;display:flex;overflow:hidden}.dg-clock-leaf-month{color:#fff;letter-spacing:.08em;text-transform:uppercase;text-align:center;background:#0284c7;font-size:9px;font-weight:800;line-height:14px}.dg-clock-leaf-day{text-align:center;color:var(--text-main);font-size:17px;font-weight:800;line-height:24px}.dg-clock-text{flex-direction:column;gap:2px;min-width:0;display:flex}.dg-clock-time{letter-spacing:.02em;font-variant-numeric:tabular-nums;align-items:baseline;font-size:19px;font-weight:700;line-height:1.05;display:flex}.dg-clock-sec{color:var(--text-dim);margin-left:1px;font-size:12px;font-weight:600}.dg-clock-live{background:#10b981;border-radius:50%;align-self:center;width:6px;height:6px;margin-left:7px;animation:2s ease-out infinite dg-clock-pulse;box-shadow:0 0 #10b98199}@keyframes dg-clock-pulse{0%{box-shadow:0 0 #10b9818c}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.dg-clock-date{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.dg-clock-date-full:first-letter{text-transform:uppercase}.dg-clock-chip{color:#38bdf8;background:#38bdf829;border:1px solid #38bdf859;border-radius:999px;padding:0 6px;font-size:10px;font-weight:700;line-height:15px}.dg-clock-caret{color:var(--text-dim);transition:transform .18s}.dg-clock.is-open .dg-clock-caret{transform:rotate(180deg)}@media (max-width:760px){.dg-clock-date-full{display:none}.dg-clock{padding-right:8px}}@media (max-width:480px){.dg-clock-leaf{display:none}.dg-clock{padding:5px 8px}}@media (prefers-reduced-motion:reduce){.dg-clock-live{animation:none}}.dg-clock.is-intro{border-color:#38bdf8;animation:1.8s ease-in-out infinite dg-intro-glow}@keyframes dg-intro-glow{0%,to{box-shadow:0 0 #38bdf88c,0 0 10px #38bdf840}50%{box-shadow:0 0 0 7px #38bdf800,0 0 22px #38bdf88c}}.dg-clock-intro{z-index:60;cursor:pointer;background:var(--bg-card);text-align:left;width:min(320px,88vw);color:var(--text-main);border:1px solid #38bdf8;border-radius:12px;padding:13px 14px 12px;animation:.35s ease-out both dg-intro-in;position:absolute;top:calc(100% + 14px);right:0;box-shadow:0 0 0 1px #38bdf840,0 14px 38px #0009,0 0 28px #38bdf840}@keyframes dg-intro-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.dg-clock-intro-arrow{background:var(--bg-card);border-top:1px solid #38bdf8;border-left:1px solid #38bdf8;width:12px;height:12px;position:absolute;top:-7px;right:34px;transform:rotate(45deg)}.dg-clock-intro-badge{color:#04121f;letter-spacing:.08em;text-transform:uppercase;background:#38bdf8;border-radius:999px;margin-bottom:6px;padding:1px 8px;font-size:9.5px;font-weight:800;display:inline-block}.dg-clock-intro-title{margin-bottom:4px;font-size:14px;font-weight:700}.dg-clock-intro-text{color:var(--text-secondary);margin-bottom:5px;font-size:12px;line-height:1.45}.dg-clock-intro-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:8px;width:100%;margin-top:4px;padding:7px 10px;font-size:12.5px;font-weight:600}.dg-clock-intro-btn:hover{background:#0369a1}@media (prefers-reduced-motion:reduce){.dg-clock.is-intro,.dg-clock-intro{animation:none}}.dg-new-wrap.is-new>.nav-item{background:#38bdf81f;border-radius:8px;align-items:center;animation:1.8s ease-in-out infinite dg-intro-glow;display:flex;position:relative;box-shadow:inset 0 0 0 1px #38bdf88c}.dg-new-wrap.is-new>.nav-item:after{content:"NOUVEAU";color:#04121f;letter-spacing:.07em;background:#38bdf8;border-radius:999px;margin-left:auto;padding:1px 6px;font-size:8.5px;font-weight:800;line-height:14px}@media (prefers-reduced-motion:reduce){.dg-new-wrap.is-new>.nav-item{animation:none}}.app-shell{min-height:100dvh}.main-wrapper{min-width:0}.mnav-btn,.mnav-backdrop{display:none}@media (max-width:900px){.sidebar-container{z-index:80;height:100dvh;box-shadow:none;transition:transform .25s;transform:translate(-100%);width:min(280px,82vw)!important;display:flex!important}body.nav-open .sidebar-container{transform:translate(0);box-shadow:8px 0 30px #0000008c}.main-wrapper{width:100%!important;margin-left:0!important}.news-ticker-bar{left:0!important}.mnav-btn{z-index:90;border:1px solid var(--border-color);background:var(--bg-card);width:40px;height:40px;color:var(--text-main);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;transition:left .25s;display:flex;position:fixed;top:9px;left:10px}body.nav-open .mnav-btn{left:calc(min(280px,82vw) - 50px)}.mnav-backdrop{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0208149e;display:block;position:fixed;inset:0}body.nav-open{overflow:hidden}.top-header{gap:8px;padding-left:58px!important}.nav-item{padding:11px 12px!important}.header-icon-btn{min-width:40px;min-height:40px}.main-wrapper table{-webkit-overflow-scrolling:touch;max-width:100%;display:block;overflow-x:auto}[style*="repeat(6, 1fr)"],[style*="repeat(5, 1fr)"],[style*="repeat(4, 1fr)"]{grid-template-columns:repeat(2,1fr)!important}}@media (max-width:700px){.user-info{display:none!important}.header-title{min-width:0;overflow:hidden}.header-title>*{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}@media (max-width:600px){[style*="repeat(3, 1fr)"],[style*="repeat(4, 1fr)"],[style*="repeat(5, 1fr)"],[style*="repeat(6, 1fr)"]{grid-template-columns:1fr!important}input,select,textarea{font-size:16px!important}[role=dialog][aria-label="Calendrier du DG"]{width:auto!important;max-height:calc(100dvh - 76px)!important;position:fixed!important;top:62px!important;left:8px!important;right:8px!important}.dg-clock-intro{width:auto!important;position:fixed!important;top:62px!important;left:8px!important;right:8px!important}.dg-clock-intro-arrow{display:none}}@media (max-width:480px){.header-clock .clock-date{display:none}}.dg-avatar{flex-shrink:0;width:44px;height:44px;display:inline-block;position:relative}.dg-avatar-ring{box-sizing:border-box;background:#94a3b824;border-radius:14px;width:44px;height:44px;padding:4px;display:block;position:relative;overflow:hidden;box-shadow:0 0 14px #fcd1162e,0 0 22px #0094601f}.dg-avatar-spin{background:conic-gradient(from 0deg,#94a3b81f 0 52%,#ce1126 60%,#fcd116 77%,#009460 94%,#94a3b81f 100%);animation:3.2s linear infinite dg-ring-spin;position:absolute;inset:-50%}@keyframes dg-ring-spin{to{transform:rotate(360deg)}}.dg-avatar-ring .avatar-img{z-index:1;width:100%;height:100%;box-shadow:0 0 0 2px var(--bg-card,#0b1626);border:0;border-radius:11px;position:relative}.dg-avatar-dot{z-index:2;border:2px solid var(--bg-main,#07111f);background:#10b981;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 8px #10b981b3}.user-info{text-align:left;flex-direction:column;align-items:flex-start;gap:3px;line-height:1.15;display:flex}.user-info .user-name{letter-spacing:.01em;color:#fff;font-size:13.5px;font-weight:700}.user-info .user-role{letter-spacing:.09em;text-transform:uppercase;color:#fde68a;background:linear-gradient(90deg,#ce11262e,#fcd1161f,#0094602e);border:1px solid #fcd11659;border-radius:999px;align-items:center;padding:1px 9px 1px 7px;font-size:9.5px;font-weight:700;display:inline-flex}.user-info .user-role:before{content:"";background:linear-gradient(90deg,#ce1126 0 33.3%,#fcd116 33.3% 66.6%,#009460 66.6% 100%);border-radius:2px;flex-shrink:0;width:12px;height:8px;margin-right:6px}@media (prefers-reduced-motion:reduce){.dg-avatar-spin{animation:none;transform:rotate(25deg)}}.pf-page{max-width:1040px}.pf-head{margin-bottom:16px}.pf-head .users-title{margin:0 0 4px}.pf-head p{color:var(--text-muted);margin:0;font-size:13px}.pf-hero{border:1px solid var(--border-color);background:radial-gradient(120% 140% at 0% 0%,#38bdf81a,transparent 55%),var(--bg-card);border-radius:16px;flex-wrap:wrap;align-items:center;gap:24px;padding:26px 24px 20px;display:flex;position:relative;overflow:hidden}.pf-hero:before{content:"";background:linear-gradient(90deg,#ce1126 0 33.3%,#fcd116 33.3% 66.6%,#009460 66.6% 100%);height:3px;position:absolute;top:0;left:0;right:0}.pf-avatar-wrap{flex-shrink:0;position:relative}.pf-avatar{box-sizing:border-box;background:#94a3b824;border-radius:26px;width:104px;height:104px;padding:5px;position:relative;overflow:hidden;box-shadow:0 0 22px #fcd1162e,0 0 34px #00946024}.pf-avatar-spin{background:conic-gradient(from 0deg,#94a3b81f 0 52%,#ce1126 60%,#fcd116 77%,#009460 94%,#94a3b81f 100%);animation:3.2s linear infinite dg-ring-spin;position:absolute;inset:-50%}.pf-avatar-img{z-index:1;color:#38bdf8;width:100%;height:100%;box-shadow:0 0 0 3px var(--bg-card);border-radius:21px;justify-content:center;align-items:center;font-size:30px;font-weight:800;display:flex;position:relative;overflow:hidden}.pf-avatar-actions{z-index:3;gap:6px;display:flex;position:absolute;bottom:-6px;right:-6px}.pf-hero-body{flex:280px;min-width:0}.pf-name{letter-spacing:-.01em;color:var(--text-strong,#fff);margin:0;font-size:24px;font-weight:800;line-height:1.15}.pf-title{letter-spacing:.09em;text-transform:uppercase;color:#fde68a;background:linear-gradient(90deg,#ce11262e,#fcd1161f,#0094602e);border:1px solid #fcd11659;border-radius:999px;align-items:center;margin-top:8px;padding:3px 12px 3px 9px;font-size:11px;font-weight:700;display:inline-flex}.pf-flag{background:linear-gradient(90deg,#ce1126 0 33.3%,#fcd116 33.3% 66.6%,#009460 66.6% 100%);border-radius:2px;flex-shrink:0;width:14px;height:9px;margin-right:7px}.pf-meta{color:var(--text-muted);flex-wrap:wrap;gap:6px 18px;margin-top:12px;font-size:12.5px;display:flex}.pf-meta span{word-break:break-all;align-items:center;gap:6px;display:inline-flex}.pf-badges{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pf-badges:empty{display:none}.pf-stats{flex:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px;display:grid}.pf-stat{border:1px solid var(--border-color);background:#94a3b80f;border-radius:10px;padding:10px 12px}.pf-stat span{letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin-bottom:3px;font-size:10px;font-weight:700;display:block}.pf-stat b{color:var(--text-strong,#fff);font-size:13.5px;font-weight:700}.pf-status{align-items:center;gap:7px;display:inline-flex}.pf-status i{background:#10b981;border-radius:50%;width:8px;height:8px;box-shadow:0 0 8px #10b981b3}.pf-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:16px;margin-top:16px;display:grid}.pf-col{flex-direction:column;gap:16px;min-width:0;display:flex}.pf-col>.users-card{margin-top:0!important}.pf-page .users-card{border-radius:14px}.pf-page .section-title{border-bottom:1px solid var(--border-color);align-items:center;gap:8px;margin:0 0 14px;padding-bottom:10px;font-size:14px;display:flex}.pf-page input:focus{outline:none;box-shadow:0 0 0 3px #38bdf829;border-color:#38bdf8!important}.pf-page .btn-primary,.pf-page .btn-ghost-danger{min-height:40px}html.light .pf-title,html.light .user-info .user-role{color:#92400e}@media (max-width:1000px){.pf-grid{grid-template-columns:1fr}}@media (max-width:600px){.pf-hero{text-align:center;flex-direction:column;align-items:center;padding:24px 16px 16px}.pf-hero-body{flex-basis:auto;width:100%}.pf-meta,.pf-badges{justify-content:center}.pf-stats{grid-template-columns:1fr}.pf-name{font-size:21px}}@media (prefers-reduced-motion:reduce){.pf-avatar-spin{animation:none;transform:rotate(25deg)}}.bc-layout{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.bc-stage{flex:360px;min-width:0;max-width:560px}.bc-scene{perspective:1500px;aspect-ratio:7/4;cursor:pointer;-webkit-tap-highlight-color:transparent;outline:none;width:100%}.bc-scene:focus-visible{outline-offset:6px;border-radius:16px;outline:2px solid #38bdf8}.bc-card{width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.8,.2,1);position:relative}.bc-scene:hover .bc-card:not(.is-flipped){transform:rotateY(-7deg)rotateX(3deg)}.bc-card.is-flipped{transform:rotateY(180deg)}.bc-scene:hover .bc-card.is-flipped{transform:rotateY(173deg)rotateX(3deg)}.bc-face{object-fit:cover;backface-visibility:hidden;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;border-radius:16px;width:100%;height:100%;display:block;position:absolute;inset:0;box-shadow:0 18px 40px #00000073,0 0 0 1px #94a3b82e}.bc-back{transform:rotateY(180deg)}.bc-loading{background:var(--bg-card);color:var(--text-dim);justify-content:center;align-items:center;font-size:13px;display:flex}.bc-hint{color:var(--text-dim);justify-content:center;align-items:center;gap:6px;margin-top:14px;font-size:12px;display:flex}.bc-side{flex:260px;min-width:0}.bc-text{color:var(--text-muted);margin:0 0 12px;font-size:13px;line-height:1.5}.bc-options{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.bc-options label{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:12.5px;display:flex}.bc-actions{flex-wrap:wrap;gap:10px;display:flex}.bc-ghost{cursor:pointer;border:1px solid var(--border-color);min-height:40px;color:var(--text-main);background:0 0;border-radius:8px;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:600;display:inline-flex}.bc-ghost:hover:not(:disabled){color:#38bdf8;border-color:#38bdf8}.bc-ghost:disabled{opacity:.5;cursor:default}.bc-msg{color:#fbbf24;margin-top:12px;font-size:12px}@media (max-width:760px){.bc-stage{flex-basis:100%;max-width:none}}@media (prefers-reduced-motion:reduce){.bc-card{transition-duration:10ms}.bc-scene:hover .bc-card{transform:none}.bc-scene:hover .bc-card.is-flipped{transform:rotateY(180deg)}}.pf-checks{flex-direction:column;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.pf-checks li{border:1px solid var(--border-color);background:#94a3b80d;border-radius:10px;align-items:flex-start;gap:12px;padding:10px 12px;display:flex}.pf-checks b{color:var(--text-strong,#fff);font-size:13px;font-weight:700;display:block}.pf-checks small{color:var(--text-muted);margin-top:2px;font-size:11.5px;display:block}.pf-dot{background:#10b981;border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:4px;box-shadow:0 0 8px #10b98199}.pf-checks li.warn{border-color:#f59e0b66}.pf-checks li.warn .pf-dot{background:#f59e0b;box-shadow:0 0 8px #f59e0b99}.pf-tip{color:#7dd3fc;background:#38bdf80f;border:1px dashed #38bdf866;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5}html.light .pf-tip{color:#0369a1}.vn-pulse{transform-box:fill-box;transform-origin:50%;animation:2s ease-out infinite vn-pulse}@keyframes vn-pulse{0%{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(3.2)}}.vn-bounce{animation:1.3s ease-in-out infinite vn-bounce}@keyframes vn-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.vn-fade{animation:.35s ease-out both vn-fade}@keyframes vn-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.vn-pulse,.vn-bounce,.vn-fade{animation:none}}.dg-new-wrap.is-new>.vn-sit{border-color:#38bdf8;animation:1.8s ease-in-out infinite dg-intro-glow}@media (prefers-reduced-motion:reduce){.dg-new-wrap.is-new>.vn-sit{animation:none}}
