html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--bg: #eaf0f7;--bg-deep: #d7e4f2;--surface: #ffffff;--surface-soft: #f7faff;--line: #d5dfeb;--line-strong: #b8c7da;--text: #173357;--muted: #5d7391;--navy: #1b4f8d;--navy-dark: #0e315f;--navy-soft: #3b73b6;--green: #3d9957;--green-dark: #2b7641;--cyan: #2d7ec4;--red: #d45849;--amber: #e59a2f;--shadow: 0 24px 48px rgba(17, 44, 83, .14);--shadow-soft: 0 10px 24px rgba(17, 44, 83, .08)}*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;font-family:Trebuchet MS,Gill Sans,sans-serif;color:var(--text);background:linear-gradient(180deg,#f7f8fb,#eef2f7)}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.24) 1px,transparent 1px);background-size:34px 34px;opacity:.16}.layout{position:relative;display:grid;grid-template-columns:290px 1fr;min-height:100vh}.sidebar{position:relative;z-index:1;padding:22px 18px;color:#fff;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 18%),linear-gradient(180deg,#163d73,#102d54 48%,#0b2342);box-shadow:inset -1px 0 #ffffff14}.sidebar:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at top,rgba(255,255,255,.12),transparent 26%),linear-gradient(180deg,transparent,rgba(7,21,42,.35))}.sidebar>*{position:relative;z-index:1}.brand-block{display:flex;align-items:center;gap:14px;padding:10px 12px 18px;margin-bottom:18px;border-bottom:1px solid rgba(255,255,255,.14)}.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:linear-gradient(145deg,#57a4f8,#d9f0ff);color:var(--navy-dark);font-weight:900;font-size:18px;letter-spacing:.06em;box-shadow:inset 0 1px #ffffff8c,0 10px 24px #04102342}.brand-title{font-size:24px;font-weight:800;letter-spacing:.02em}.brand-subtitle{color:#e1ecf9d1;font-size:12px;text-transform:uppercase;letter-spacing:.16em}.sidebar-nav a,.sidebar-nav button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;margin-bottom:8px;border:1px solid transparent;border-radius:16px;background:transparent;color:#e6effae0;cursor:pointer;text-decoration:none;font-size:14px;font-weight:700;letter-spacing:.01em;transition:transform .12s ease,background .12s ease,border-color .12s ease,color .12s ease}.sidebar-nav a:hover,.sidebar-nav a.active,.sidebar-nav button:hover,.sidebar-nav button.active{color:#fff;border-color:#9cc8ff33;background:linear-gradient(180deg,#4c85cb57,#113059b8);box-shadow:inset 0 1px #ffffff14;transform:translate(2px)}.sidebar-group{margin-bottom:10px}.sidebar-toggle{font-size:14px}.sidebar-submenu{margin:2px 0 8px 14px;padding:10px 0 2px 12px;border-left:1px solid rgba(164,194,230,.34)}.sidebar-submenu a{font-size:13px;margin-bottom:6px;padding:10px 12px;border-radius:14px}.sidebar-subtoggle{margin-bottom:6px!important;padding:9px 12px!important;border-radius:10px!important;font-size:12px!important;font-weight:700!important;letter-spacing:.08em;text-transform:uppercase}.sidebar-submenu-nested{margin-left:10px;margin-top:0;padding-top:2px;border-left-color:#ffffff1a}.sidebar-submenu-label{padding:4px 10px 6px;color:#cadbf0b8;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.topbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;background:#ffffffdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,199,218,.8);box-shadow:0 10px 30px #1228490f}.topbar-title-block{display:flex;flex-direction:column;gap:3px}.topbar-kicker{color:var(--navy-soft);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.18em}.topbar-title{font-size:21px;font-weight:800;letter-spacing:.01em}.topbar-actions{display:flex;align-items:center;gap:12px}.topbar-user-link{padding:10px 14px;border-radius:999px;background:linear-gradient(180deg,#f8fbff,#ecf3fb);border:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:700;box-shadow:var(--shadow-soft)}.topbar-user-link:hover{color:var(--navy)}.container{padding:28px}.hero-panel{display:grid;grid-template-columns:minmax(0,1.2fr) auto;gap:18px;align-items:center;padding:24px 26px;border:1px solid rgba(191,203,220,.9);border-radius:18px;background:radial-gradient(circle at right top,rgba(95,161,239,.18),transparent 26%),linear-gradient(135deg,#183d70,#24599b 48%,#2f6caf);color:#fff;box-shadow:0 20px 40px #12284929}.hero-panel h2{margin:0 0 8px;font-size:32px;line-height:1.05}.hero-panel p{margin:0;max-width:760px;color:#eaf2fceb;font-size:15px;line-height:1.6}.hero-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.module-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.section-grid-2{display:grid;gap:16px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.section-grid-3{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px}.page-header h1{margin:0 0 4px;color:var(--navy-dark);font-size:34px;line-height:1.05}.page-header p{margin:0}.grid{display:grid;gap:16px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.65fr) minmax(300px,.95fr)}.stats-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{position:relative;overflow:hidden;padding:18px;border:1px solid rgba(191,203,220,.9);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f9fbfffa);box-shadow:0 12px 26px #22385c14}.card:before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(90deg,var(--navy-dark),var(--navy-soft) 50%,#5fa1ef)}.card h3{margin:-18px -18px 16px;padding:14px 18px 13px;color:#fff;font-size:18px;font-weight:800;letter-spacing:.02em;background:linear-gradient(180deg,#2f6caf,#205998);border-bottom:1px solid rgba(10,37,74,.22);box-shadow:inset 0 -1px #ffffff1f}.panel-subtitle{margin:-6px 0 14px;color:var(--muted);font-size:14px}.kpi-caption{position:relative;z-index:1;margin-top:10px;color:#ffffffe6;font-size:13px;line-height:1.45}.filters-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}.mini-stats{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.mini-stat{padding:14px 14px 12px;border-radius:10px;color:#fff;box-shadow:inset 0 1px #ffffff1a}.mini-stat-title{font-size:12px;font-weight:700;opacity:.92}.mini-stat-value{margin-top:6px;font-size:22px;font-weight:900;line-height:1}.mini-stat-blue{background:linear-gradient(135deg,#3074be,#21528f)}.mini-stat-green{background:linear-gradient(135deg,#4aa055,#34793d)}.mini-stat-amber{background:linear-gradient(135deg,#f1a52f,#d88818)}.mini-stat-red{background:linear-gradient(135deg,#de6551,#c04a35)}.section-rule{margin:14px 0;border-top:1px solid var(--line)}.detail-list{display:grid;gap:10px}.detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-row:last-child{border-bottom:none}.quick-links{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.quick-link{display:grid;gap:6px;padding:16px;text-decoration:none;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#fcfdff,#f1f6fc);color:var(--text);transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease}.quick-link:hover{transform:translateY(-2px);border-color:#3b73b66b;box-shadow:var(--shadow-soft)}.quick-link-title{color:var(--navy-dark);font-size:16px;font-weight:800}.quick-link-subtitle{color:var(--muted);font-size:13px;line-height:1.5}.stat-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-radius:22px;padding:18px 18px 20px;color:#fff;min-height:138px;box-shadow:var(--shadow)}.card.stat-card:before{display:none}.stat-card:before{content:"";position:absolute;right:-18px;bottom:-18px;width:96px;height:96px;border-radius:24px;background:#ffffff1f;transform:rotate(16deg)}.stat-card:after{content:"";position:absolute;inset:auto 0 0;height:10px;background:linear-gradient(90deg,rgba(255,255,255,.16),transparent)}.stat-card-blue{background:linear-gradient(135deg,#2e76c4,#214f8d)}.stat-card-green{background:linear-gradient(135deg,#47a35e,#2e7d44)}.stat-card-red{background:linear-gradient(135deg,#e26658,#bc4536)}.stat-card-amber{background:linear-gradient(135deg,#f0a52f,#d88412)}.stat-card-cyan{background:linear-gradient(135deg,#3d92d6,#2967ae)}.stat-label{position:relative;z-index:1;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;opacity:.88}.stat-value{position:relative;z-index:1;margin-top:12px;font-size:34px;line-height:1;font-weight:900;letter-spacing:-.03em}.stat-meta{position:relative;z-index:1;margin-top:10px;font-size:14px;font-weight:700;opacity:.92}.summary-list{display:grid;gap:12px}.summary-item{display:grid;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#fbfdff,#f1f6fc)}.summary-label{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.insight-list{display:grid;gap:12px}.insight-item{display:grid;gap:6px;padding:16px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(180deg,#fbfdff,#f1f6fc)}.insight-title{color:var(--navy-dark);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.insight-value{color:var(--navy);font-size:28px;font-weight:900;line-height:1}.insight-caption{color:var(--muted);font-size:13px;line-height:1.5}.table{width:100%;border-collapse:separate;border-spacing:0}.table th,.table td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(201,214,229,.88)}.table th{color:var(--navy-dark);font-size:12px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:#edf3fb}.table th:first-child{border-top-left-radius:14px}.table th:last-child{border-top-right-radius:14px}.table tr:hover td{background:#eaf2fcb3}input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line-strong);border-radius:14px;background:linear-gradient(180deg,#fff,#f7fbff);color:var(--text);font-size:15px;box-shadow:inset 0 1px 2px #102d540d}input:focus,select:focus,textarea:focus{outline:none;border-color:#5b9ae4;box-shadow:0 0 0 4px #3a75b61f}textarea{min-height:110px;resize:vertical}.field-label{display:block;margin-bottom:6px;color:var(--navy-dark);font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.project-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.profile-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.users-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.reports-menu-card{margin-bottom:16px}.reports-menu-toggle{width:100%;border:none;background:transparent;display:flex;justify-content:space-between;align-items:center;padding:0;font-size:15px;font-weight:700;color:#1f2937;cursor:pointer}.reports-subnav{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.reports-subnav a{color:#475569;text-decoration:none;padding:8px 12px;border-radius:999px;background:#eef2ff;font-size:13px;font-weight:600}.reports-subnav a.active,.reports-subnav a:hover{background:#2563eb;color:#fff}.btn{padding:10px 15px;border:1px solid transparent;border-radius:10px;background:linear-gradient(180deg,#2d73bb,#184c88);color:#fff;cursor:pointer;font-size:13px;font-weight:800;letter-spacing:.03em;box-shadow:0 12px 22px #184c8838}.btn:hover{filter:brightness(1.03);transform:translateY(-1px)}.btn-secondary{border-color:var(--line);background:linear-gradient(180deg,#f7fbff,#ebf2fa);color:var(--navy-dark);box-shadow:none}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:linear-gradient(180deg,#e7f1ff,#d5e7fb);color:var(--navy-dark);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.checkbox{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:linear-gradient(180deg,#fbfdff,#eff5fc);font-weight:700}.checkbox input{width:auto}.muted{color:var(--muted)}.error{color:#b53f34;font-weight:700}.feedback-banner{margin:0 0 16px;padding:14px 16px;border-radius:14px;border:1px solid transparent;font-weight:700;box-shadow:var(--shadow-soft)}.feedback-banner-success{color:#1f5f35;background:linear-gradient(180deg,#eefaf1,#e2f4e7);border-color:#b8dec2}.feedback-banner-error{color:#8f2e26;background:linear-gradient(180deg,#fff3f1,#fde8e4);border-color:#efc1bb}.global-loading-bar{position:fixed;inset:0 0 auto;z-index:1000;height:4px;background:linear-gradient(90deg,#2f6caf,#5fa1ef 45%,#2f6caf);background-size:200% 100%;animation:loading-bar-shift 1.1s linear infinite;box-shadow:0 8px 18px #2f6caf47}.global-loading-chip{position:fixed;top:14px;right:18px;z-index:1001;padding:10px 14px;border-radius:999px;background:#0e315feb;color:#fff;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 16px 30px #0a1f3c42}.page-loader{display:grid;place-items:center;gap:12px;min-height:240px;padding:32px 24px;text-align:center;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fbfdff,#f1f6fc)}.page-loader-spinner{width:48px;height:48px;border-radius:999px;border:4px solid rgba(59,115,182,.18);border-top-color:var(--navy);animation:spinner-rotate .9s linear infinite}.page-loader-title{color:var(--navy-dark);font-size:20px;font-weight:900}.page-loader-description{max-width:540px;color:var(--muted);font-size:14px;font-weight:700;line-height:1.6}.empty-state{display:grid;place-items:center;min-height:180px;padding:24px;text-align:center;border:1px dashed var(--line-strong);border-radius:16px;background:linear-gradient(180deg,#fbfdff,#f3f7fc);color:var(--muted);font-weight:700}.empty-state-rich{gap:10px;place-items:start;min-height:220px;text-align:left}.empty-state-eyebrow{color:var(--navy-soft);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em}.empty-state-title{color:var(--navy-dark);font-size:22px;font-weight:900;line-height:1.1}.empty-state-description{max-width:640px;color:var(--muted);font-size:14px;font-weight:700;line-height:1.6}.empty-state-hint{color:var(--navy);font-size:13px;font-weight:700}@media(max-width:1200px){.layout{grid-template-columns:250px 1fr}.hero-panel,.section-grid-2,.section-grid-3,.quick-links,.grid-4,.grid-3,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{padding-bottom:12px}.topbar,.page-header,.users-header{flex-direction:column;align-items:flex-start}.hero-panel{grid-template-columns:1fr}.container{padding:18px}.dashboard-grid,.module-grid,.dashboard-kpi-row,.section-grid-2,.section-grid-3,.quick-links,.filters-grid,.mini-stats,.grid-4,.grid-3,.form-grid{grid-template-columns:1fr}}@media(max-width:640px){.topbar{padding:16px 18px}.page-header h1{font-size:28px}.card{padding:16px;border-radius:18px}.card h3{margin:-16px -16px 14px;padding:14px 16px 12px;font-size:20px}.stat-value{font-size:28px}}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@keyframes loading-bar-shift{0%{background-position:200% 0}to{background-position:-200% 0}}
