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{--primary: #1f2a44;--primary-soft: #eef2ff;--accent: #0fa3a3;--accent-strong: #0b7f7f;--amber: #f5a524;--surface: #ffffff;--surface-muted: #f4f6fb;--background: #f7f8fb;--border: #e5e7eb;--border-strong: #d1d5db;--text: #111827;--text-muted: #4b5563;--text-soft: #6b7280;--danger: #b91c1c;--success: #15803d;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 26px;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .04);--shadow-md: 0 12px 32px rgba(31, 42, 68, .1);--shadow-lg: 0 24px 70px rgba(31, 42, 68, .16);--font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", Arial, sans-serif;--mat-sys-primary: #1f2a44;--mat-sys-on-primary: #ffffff;--mat-sys-secondary: #0fa3a3;--mat-sys-tertiary: #f5a524}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3,h4,p{margin-top:0}a{color:var(--accent-strong);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}::selection{background:#b2f5ea}.container{width:min(1280px,100% - 32px);margin-inline:auto}@media(min-width:900px){.container{width:min(1280px,100% - 64px)}}.page{padding:32px 0 72px}.section{margin-top:44px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.section-head h2{margin:0;font-size:clamp(20px,2.4vw,28px);letter-spacing:-.02em}.section-head p{margin:4px 0 0;color:var(--text-muted);font-size:14px}.section-head a{font-size:13px;font-weight:700;white-space:nowrap}.muted{color:var(--text-muted)}.soft{color:var(--text-soft)}.small{font-size:12.5px}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.spacer{flex:1}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}@media(min-width:1100px){.cards-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){.cards-grid{grid-template-columns:1fr}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:11px;border:1px solid transparent;font-size:14px;font-weight:700;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease;text-decoration:none;white-space:nowrap}.btn:hover{text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:#0f172a}.btn-accent{background:var(--accent);color:#041f1f}.btn-accent:hover{background:#0b8f8f}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{background:var(--surface-muted)}.btn-danger{background:var(--danger);color:#fff}.btn-small{min-height:36px;padding:7px 14px;font-size:12.5px;border-radius:9px}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--text);cursor:pointer}.icon-btn:hover{background:var(--surface-muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel-pad{padding:24px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.kpi{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:18px}.kpi .label{font-size:12px;color:var(--text-soft);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.kpi .value{font-size:28px;font-weight:800;letter-spacing:-.03em;margin-top:6px}.kpi .hint{font-size:12px;color:var(--text-muted);margin-top:4px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:#fff}table.data{width:100%;border-collapse:collapse;font-size:13.5px}table.data th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);background:#fafbfe;padding:12px 14px;border-bottom:1px solid var(--border);white-space:nowrap}table.data td{padding:13px 14px;border-bottom:1px solid #f1f3f7;vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data tr:hover td{background:#fbfcff}.table-actions{display:flex;gap:6px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12.5px;font-weight:700;color:var(--text-muted)}.field input,.field select,.field textarea{min-height:44px;border:1px solid var(--border-strong);border-radius:10px;padding:10px 12px;background:#fff;color:var(--text);width:100%}.field textarea{min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid #c7d2fe;border-color:#6366f1}.field .hint{font-size:12px;color:var(--text-soft)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid .full{grid-column:1/-1}@media(max-width:760px){.form-grid{grid-template-columns:1fr}}.error-text{color:var(--danger);font-size:12.5px}.success-text{color:var(--success);font-size:12.5px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);overflow-x:auto;margin-bottom:22px}.tabs button{border:0;background:transparent;padding:12px 14px;font-weight:700;font-size:13.5px;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.tabs button.active{color:var(--primary);border-bottom-color:var(--accent)}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.toolbar input,.toolbar select{min-height:42px;border:1px solid var(--border-strong);border-radius:10px;padding:9px 12px;background:#fff}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{border:1px solid var(--border-strong);background:#fff;color:var(--text-muted);border-radius:999px;padding:7px 14px;font-size:12.5px;font-weight:600;cursor:pointer;min-height:36px}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.badge{display:inline-flex;align-items:center;gap:4px;background:var(--primary-soft);color:var(--primary);border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}.notice{border:1px solid #fde68a;background:#fffbeb;color:#92400e;border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.6}.notice.info{border-color:#bfdbfe;background:#eff6ff;color:#1e40af}.notice.danger{border-color:#fecaca;background:#fef2f2;color:#991b1b}.skeleton{background:linear-gradient(90deg,#eef0f5 25%,#f7f8fb 37%,#eef0f5 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:10px}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.hero{position:relative;background:radial-gradient(1100px 500px at 88% -20%,rgba(15,163,163,.35),transparent 60%),radial-gradient(800px 420px at 0% 0%,rgba(245,165,36,.22),transparent 55%),linear-gradient(135deg,#111827,#1f2a44 55%,#16324a);color:#fff;border-radius:0 0 34px 34px;overflow:hidden}.hero:after{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 70%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 70%);pointer-events:none}.hero-inner{position:relative;z-index:1;padding:clamp(48px,8vw,84px) 0 clamp(40px,6vw,64px)}.eyebrow{display:inline-flex;align-items:center;gap:8px;background:#ffffff1a;border:1px solid rgba(255,255,255,.16);padding:7px 13px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em;color:#d1fae5}.hero h1{font-size:clamp(34px,5.4vw,62px);line-height:1.03;letter-spacing:-.04em;margin:18px 0 14px;max-width:760px}.hero p.lead{font-size:clamp(15px,1.8vw,18px);color:#d1d5db;max-width:620px;line-height:1.65}.hero-search{display:flex;gap:10px;max-width:640px;margin-top:26px}.hero-search input{flex:1;min-height:54px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:#fffffff2;padding:12px 18px;font-size:15px}.hero-stats{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px;color:#cbd5e1;font-size:12.5px}.hero-stats strong{display:block;color:#fff;font-size:18px}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.category-tile{display:flex;align-items:center;gap:10px;padding:13px 14px;background:#fff;border:1px solid var(--border);border-radius:13px;color:var(--text);font-size:13px;font-weight:600;transition:border-color .15s ease,transform .15s ease}.category-tile:hover{border-color:#a5b4fc;transform:translateY(-1px);text-decoration:none}.category-tile .glyph{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary)}.ad-banner{display:block;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:#fff;position:relative}.ad-banner img{width:100%;height:auto}.ad-banner .sponsored{position:absolute;top:10px;right:10px;background:#111827bf;color:#fff;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:700;letter-spacing:.04em}.toast-success .mdc-snackbar__surface{background:#065f46!important;color:#fff!important}.toast-error .mdc-snackbar__surface{background:#991b1b!important;color:#fff!important}.toast-info .mdc-snackbar__surface{background:#1f2a44!important;color:#fff!important}.mat-mdc-snack-bar-action{color:#fde68a!important}.mat-mdc-form-field{width:100%}.mat-mdc-dialog-container .mdc-dialog__surface{border-radius:18px!important}.mat-mdc-progress-spinner circle,.mat-mdc-progress-spinner{--mdc-circular-progress-active-indicator-color: var(--accent)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
