html{height:100%;--mat-sys-background: light-dark(#fcf8fd, #131316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f3eff4, #303034);--mat-sys-inverse-primary: light-dark(#bec2ff, #343dff);--mat-sys-inverse-surface: light-dark(#303034, #e5e1e6);--mat-sys-on-background: light-dark(#1b1b1f, #e5e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #0001ac);--mat-sys-on-primary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-primary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-primary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-on-secondary: light-dark(#ffffff, #2e2f42);--mat-sys-on-secondary-container: light-dark(#444559, #e1e0f9);--mat-sys-on-secondary-fixed: light-dark(#191a2c, #191a2c);--mat-sys-on-secondary-fixed-variant: light-dark(#444559, #444559);--mat-sys-on-surface: light-dark(#1b1b1f, #e5e1e6);--mat-sys-on-surface-variant: light-dark(#46464f, #e4e1ec);--mat-sys-on-tertiary: light-dark(#ffffff, #013a00);--mat-sys-on-tertiary-container: light-dark(#015300, #77ff61);--mat-sys-on-tertiary-fixed: light-dark(#002200, #002200);--mat-sys-on-tertiary-fixed-variant: light-dark(#015300, #015300);--mat-sys-outline: light-dark(#777680, #91909a);--mat-sys-outline-variant: light-dark(#c7c5d0, #46464f);--mat-sys-primary: light-dark(#343dff, #bec2ff);--mat-sys-primary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-primary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-primary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#5c5d72, #c5c4dd);--mat-sys-secondary-container: light-dark(#e1e0f9, #444559);--mat-sys-secondary-fixed: light-dark(#e1e0f9, #e1e0f9);--mat-sys-secondary-fixed-dim: light-dark(#c5c4dd, #c5c4dd);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fcf8fd, #131316);--mat-sys-surface-bright: light-dark(#fcf8fd, #3a393c);--mat-sys-surface-container: light-dark(#f0edf1, #201f22);--mat-sys-surface-container-high: light-dark(#ebe7eb, #2a292d);--mat-sys-surface-container-highest: light-dark(#e5e1e6, #353438);--mat-sys-surface-container-low: light-dark(#f6f2f7, #1b1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0e0e11);--mat-sys-surface-dim: light-dark(#dcd9dd, #131316);--mat-sys-surface-tint: light-dark(#343dff, #bec2ff);--mat-sys-surface-variant: light-dark(#e4e1ec, #46464f);--mat-sys-tertiary: light-dark(#026e00, #02e600);--mat-sys-tertiary-container: light-dark(#77ff61, #015300);--mat-sys-tertiary-fixed: light-dark(#77ff61, #77ff61);--mat-sys-tertiary-fixed-dim: light-dark(#02e600, #02e600);--mat-sys-neutral-variant20: #303038;--mat-sys-neutral10: #1b1b1f;--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 DM Sans;--mat-sys-body-large-font: DM Sans;--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 DM Sans;--mat-sys-body-medium-font: DM Sans;--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 DM Sans;--mat-sys-body-small-font: DM Sans;--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 DM Sans;--mat-sys-display-large-font: DM Sans;--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 DM Sans;--mat-sys-display-medium-font: DM Sans;--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 DM Sans;--mat-sys-display-small-font: DM Sans;--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 DM Sans;--mat-sys-headline-large-font: DM Sans;--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 DM Sans;--mat-sys-headline-medium-font: DM Sans;--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 DM Sans;--mat-sys-headline-small-font: DM Sans;--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 DM Sans;--mat-sys-label-large-font: DM Sans;--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 DM Sans;--mat-sys-label-medium-font: DM Sans;--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 DM Sans;--mat-sys-label-small-font: DM Sans;--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 DM Sans;--mat-sys-title-large-font: DM Sans;--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 DM Sans;--mat-sys-title-medium-font: DM Sans;--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 DM Sans;--mat-sys-title-small-font: DM Sans;--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;--mat-sys-primary: #2547E6;--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: #EEF1FE;--mat-sys-on-primary-container: #1F3DD0;--mat-sys-primary-fixed: #EEF1FE;--mat-sys-primary-fixed-dim: #C9D2FA;--mat-sys-tertiary: #0E8A4F;--mat-sys-on-tertiary: #ffffff}body{color-scheme:light;margin:0;height:100%}:root{--bg: #FAFAF7;--surface: #FFFFFF;--surface-2: #F4F3EE;--surface-3: #EDECE6;--line: #E7E5DE;--line-2: #D9D6CD;--line-strong: #C2BEB2;--fg: #14140F;--fg-2: #3A3A33;--fg-dim: #6B6A60;--fg-mute: #97968B;--accent: #2547E6;--accent-2: #1F3DD0;--accent-soft: #EEF1FE;--accent-line: #C9D2FA;--ok: #0E8A4F;--ok-soft: #E6F4ED;--warn: #B6850A;--warn-soft: #FBF3DC;--warn-2: #C2570F;--warn-2-soft: #FBEADD;--bad: #B5341B;--bad-soft: #FBE9E4;--radius: 10px;--radius-lg: 14px;--radius-sm: 6px;--shadow-sm: 0 1px 2px rgba(20,20,15,.04), 0 1px 1px rgba(20,20,15,.03);--shadow-md: 0 1px 2px rgba(20,20,15,.04), 0 8px 24px -12px rgba(20,20,15,.1);--shadow-lg: 0 1px 2px rgba(20,20,15,.04), 0 24px 48px -24px rgba(20,20,15,.18);--font-display: "DM Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-serif: "Instrument Serif", Georgia, serif;--font-mono: ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}h1,h2,h3,h4,h5,h6{color:var(--fg);margin:0}body{font-family:var(--font-body);color:var(--fg);background:var(--bg);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:clip}app-root{position:relative;min-height:100vh;display:flex;flex-direction:column}.mono{font-family:var(--font-mono)}.display{font-family:var(--font-display);letter-spacing:-.015em}.label-tech{font-family:var(--font-body);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-mute);font-weight:500}.serif-accent{font-family:var(--font-serif);font-style:italic;font-weight:400}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;color:inherit}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:13px;color:var(--fg-2);font-weight:500}.input-wrap{position:relative;display:flex;align-items:center;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--radius);transition:border-color .15s ease,box-shadow .15s ease;box-shadow:var(--shadow-sm)}.input-wrap:hover{border-color:var(--line-strong)}.input-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input-wrap.error{border-color:#d85b43;box-shadow:0 0 0 3px #d85b431f}.input-wrap input,.input-wrap select{flex:1;min-width:0;background:transparent;border:0;outline:0;padding:11px 14px;font-size:14.5px;color:var(--fg)}.input-wrap input::placeholder{color:var(--fg-mute)}.input-wrap select{appearance:none;-webkit-appearance:none;padding-right:36px}.input-wrap .input-icon{padding:0 10px 0 14px;color:var(--fg-mute);display:flex;align-items:center}.input-wrap .input-icon+input{padding-left:4px}.input-wrap .input-suffix{padding:0 12px;color:var(--fg-mute);display:flex;align-items:center;background:transparent;border:0;cursor:pointer}.input-wrap .input-suffix:hover{color:var(--fg)}.field .err{font-size:12.5px;color:var(--bad);display:flex;align-items:center;gap:6px}.field .hint{font-size:12.5px;color:var(--fg-mute)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:var(--radius);border:1px solid transparent;font-family:var(--font-display);font-size:14px;font-weight:500;transition:transform .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent-2);box-shadow:var(--shadow-sm),inset 0 1px #ffffff29}.btn-primary:hover{background:var(--accent-2)}.btn-primary:disabled{background:#c5c2b6;color:#fff;border-color:#b6b3a7;box-shadow:none;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--fg);border-color:var(--line-2);box-shadow:var(--shadow-sm)}.btn-ghost:hover{border-color:var(--line-strong);background:var(--surface-2)}.btn-link{background:transparent;border:0;color:var(--accent);padding:4px 6px;font-size:13.5px;font-weight:500}.btn-link:hover{color:var(--accent-2);text-decoration:underline}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:32px 24px 80px;position:relative}.top-nav{width:100%;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;background:transparent}.top-nav .meta{font-size:12px;color:var(--fg-dim);display:inline-flex;align-items:center;gap:8px}.top-nav .meta .led{width:6px;height:6px;border-radius:50%;background:var(--ok);display:inline-block}.app-header{width:100%;border-bottom:1px solid var(--line);padding:12px 28px;display:flex;align-items:center;justify-content:space-between;background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{width:28px;height:28px;flex:none;display:inline-flex;align-items:center;justify-content:center}.brand-name{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;font-size:17px;color:var(--fg)}.brand-name b{color:var(--accent);font-weight:600}.stepper{display:flex;align-items:center;width:100%;max-width:560px}.step{display:flex;align-items:center;gap:10px;flex:0 0 auto}.step-dot{width:24px;height:24px;border-radius:50%;border:1px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;color:var(--fg-mute);background:var(--surface);font-weight:500;transition:all .2s ease}.step.active .step-dot{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.step.done .step-dot{border-color:var(--accent);background:var(--accent);color:#fff}.step-label{font-size:12.5px;color:var(--fg-mute);font-weight:500}.step.active .step-label{color:var(--fg)}.step.done .step-label{color:var(--fg-2)}.step-bar{flex:1;min-width:16px;height:1px;background:var(--line-2);margin:0 12px}.step-bar.done{background:var(--accent)}@media(max-width:600px){.step-label{display:none}.step-bar{margin:0 6px}}.view{width:100%;animation:viewIn .32s cubic-bezier(.2,.7,.2,1)}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.auth-shell{width:100%;max-width:420px;display:flex;flex-direction:column;gap:22px;margin-top:4vh}.auth-shell .brand-block{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:4px}.auth-shell .hero{text-align:center}.auth-shell .hero h1{font-family:var(--font-display);font-size:26px;font-weight:600;line-height:1.25;margin:0 0 8px;letter-spacing:-.02em}.auth-shell .hero h1 em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--accent);line-height:1}.auth-shell .hero p{color:var(--fg-dim);font-size:14px;margin:0}.auth-card{padding:28px}.auth-card h2{font-family:var(--font-display);font-size:18px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}.auth-card .sub{color:var(--fg-dim);font-size:13.5px;margin:0 0 22px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-foot{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px;margin-top:-4px}.switch-line{text-align:center;font-size:13.5px;color:var(--fg-dim)}.switch-line a{color:var(--accent);text-decoration:none;font-weight:500}.switch-line a:hover{text-decoration:underline}.persona-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.persona-grid{grid-template-columns:1fr}}.persona-card{padding:22px 18px;border:1px solid var(--line-2);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;text-align:left;transition:all .15s ease;position:relative;box-shadow:var(--shadow-sm)}.persona-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md)}.persona-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #2547e61a}.persona-card .p-icon{width:40px;height:40px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--fg-2);margin-bottom:14px}.persona-card.selected .p-icon{background:#fff;border-color:var(--accent-line);color:var(--accent)}.persona-card h3{font-family:var(--font-display);font-size:15.5px;margin:0 0 4px;font-weight:600;color:var(--fg)}.persona-card p{margin:0;color:var(--fg-dim);font-size:13px}.persona-card .check{position:absolute;top:14px;right:14px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;background:var(--surface);transition:all .15s ease}.persona-card.selected .check{background:var(--accent);border-color:var(--accent);color:#fff}.form-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}.form-grid .col-2{grid-column:span 2}@media(max-width:540px){.form-grid{grid-template-columns:1fr}.form-grid .col-2{grid-column:span 1}}.upload-grid{display:grid;gap:14px;grid-template-columns:1fr 1fr}@media(max-width:640px){.upload-grid{grid-template-columns:1fr}}.upload-zone{position:relative;border:1.5px dashed var(--line-2);border-radius:var(--radius-lg);background:var(--surface-2);padding:22px 16px;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;transition:all .15s ease}.upload-zone:hover,.upload-zone.drag{border-color:var(--accent);background:var(--accent-soft)}.upload-zone.loaded{border-style:solid;border-color:var(--ok);background:var(--ok-soft)}.upload-zone.readonly{cursor:default}.upload-zone.readonly:hover{border-color:var(--ok);background:var(--ok-soft)}.upload-zone .uz-title{font-family:var(--font-display);font-size:14px;font-weight:600;margin-top:12px;color:var(--fg)}.upload-zone .uz-sub{font-size:12.5px;color:var(--fg-mute);margin-top:4px}.upload-zone .uz-icon{width:44px;height:44px;border-radius:10px;background:var(--surface);border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;color:var(--fg-2);box-shadow:var(--shadow-sm)}.upload-zone.loaded .uz-icon{background:#fff;border-color:var(--ok);color:var(--ok)}.upload-zone .uz-file{margin-top:10px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:12.5px;color:var(--fg);display:inline-flex;align-items:center;gap:8px;max-width:100%}.upload-zone .uz-file .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.upload-zone .uz-file .check{color:var(--ok);flex:none}.upload-zone .uz-remove{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:var(--surface);border:1px solid var(--line-2);color:var(--fg-dim);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm)}.upload-zone .uz-remove:hover{color:var(--fg);border-color:var(--line-strong)}.face-stage{position:relative;aspect-ratio:4 / 3;border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(circle at 50% 40%,#1f2329,#0f1115 70%);border:1px solid var(--line-2)}.face-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.face-guide{width:56%;aspect-ratio:3 / 4;border:1.5px dashed rgba(255,255,255,.45);border-radius:50%;transition:all .3s ease}.face-guide.captured{border-color:#4ade80;border-style:solid;box-shadow:0 0 24px #4ade804d,inset 0 0 32px #4ade8014}.face-status{position:absolute;left:12px;top:12px;background:#ffffffeb;padding:5px 10px;border-radius:999px;font-size:11.5px;font-weight:500;color:var(--fg);border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px}.face-status .led{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 1.4s ease-in-out infinite;display:inline-block}.face-status.ok .led{background:var(--ok);animation:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.face-flash{position:absolute;inset:0;background:#fff;opacity:0;animation:flash .5s ease forwards}@keyframes flash{0%{opacity:.7}to{opacity:0}}.success-shield{width:80px;height:80px;margin:0 auto 20px;position:relative}.success-shield .core{position:absolute;inset:0;border-radius:50%;background:var(--ok-soft);border:1px solid #B7E0CC;display:flex;align-items:center;justify-content:center;color:var(--ok)}.check-anim{stroke-dasharray:60;stroke-dashoffset:60;animation:drawCheck .6s .15s ease forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.dash{width:100%;max-width:1040px;margin:0 auto;padding:32px 28px 80px;display:flex;flex-direction:column;gap:20px}.dash-row{display:grid;grid-template-columns:2fr 1fr;gap:18px}@media(max-width:820px){.dash-row{grid-template-columns:1fr}}.status-card{padding:24px;position:relative}.status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.status-title{font-family:var(--font-display);font-size:19px;font-weight:600;margin:0;letter-spacing:-.01em}.status-sub{color:var(--fg-dim);font-size:13.5px;margin:4px 0 0}.status-badge{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid;flex:none;width:120px;white-space:nowrap;overflow:hidden}.status-badge .led{width:6px;height:6px;border-radius:50%;display:inline-block}.b-draft{color:#6b7280;border-color:#d1d5db;background:#f3f4f6}.b-draft .led{background:#9ca3af;animation:none}.b-pending{color:#2563eb;border-color:#bfdbfe;background:#eff6ff}.b-pending .led{background:#3b82f6}.b-correct{color:var(--warn-2);border-color:#ecc79b;background:var(--warn-2-soft)}.b-correct .led{background:var(--warn-2)}.b-approved{color:var(--ok);border-color:#b7e0cc;background:var(--ok-soft)}.b-approved .led{background:var(--ok)}.b-novelty{color:#357a55;border-color:#c4dfcf;background:#ecf5f0}.b-novelty .led{background:#357a55}.b-rejected{color:var(--bad);border-color:#ecc0b5;background:var(--bad-soft)}.b-rejected .led{background:var(--bad)}.status-message{margin-top:18px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-2);font-size:13.5px;color:var(--fg-2)}.status-message strong{color:var(--fg);font-weight:600}.timeline{margin-top:20px;display:flex;gap:0;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface)}.tl-step{flex:1;padding:12px 14px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;position:relative}.tl-step:last-child{border-right:0}.tl-step.done{background:var(--accent-soft)}.tl-step .tl-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-mute);font-weight:500}.tl-step.done .tl-label{color:var(--accent)}.tl-step .tl-name{font-family:var(--font-display);font-size:13.5px;font-weight:500;color:var(--fg)}.tl-step .tl-time{font-size:12px;color:var(--fg-dim)}.tl-step .tl-tick{position:absolute;right:10px;top:10px;color:var(--accent)}.docs-card{padding:20px}.docs-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}.docs-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.docs-row .file-icon{width:34px;height:34px;border-radius:8px;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--fg-2);flex:none}.docs-row .name{flex:1;min-width:0}.docs-row .name .n1{font-size:13.5px;color:var(--fg)}.docs-row .name .n2{font-size:11.5px;color:var(--fg-mute)}.docs-row .ok{color:var(--ok)}.info-card{padding:20px;display:flex;flex-direction:column;gap:12px}.info-card .row{display:flex;justify-content:space-between;gap:12px;align-items:center}.info-card .row .k{font-size:12.5px;color:var(--fg-dim)}.info-card .row .v{font-size:13.5px;color:var(--fg);text-align:right;font-weight:500}.toast-snack-panel .mdc-snackbar__surface{background:transparent!important;box-shadow:none!important;padding:0!important;min-width:0!important}.user-pill{display:inline-flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13px;box-shadow:var(--shadow-sm)}.user-pill .av{width:26px;height:26px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--font-display);font-size:12px;font-weight:600}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:10px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--line-strong)}.reg-shell{width:100%;max-width:640px;display:flex;flex-direction:column;gap:24px}.reg-card{padding:28px}.reg-head{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.reg-head h2{font-family:var(--font-display);font-size:22px;font-weight:600;margin:0;letter-spacing:-.015em}.reg-head .sub{font-size:13.5px;color:var(--fg-dim);margin:0}.reg-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap}.pwd-meter{display:flex;gap:4px;margin-top:6px}.pwd-meter span{flex:1;height:3px;border-radius:2px;background:var(--line-2);transition:background .2s}.pwd-meter.s1 span:nth-child(-n+1){background:var(--bad)}.pwd-meter.s2 span:nth-child(-n+2){background:var(--warn)}.pwd-meter.s3 span:nth-child(-n+3){background:var(--warn-2)}.pwd-meter.s4 span:nth-child(-n+4){background:var(--ok)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.status-switcher{display:flex;gap:4px;flex-wrap:wrap;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow-sm)}.status-switcher button{padding:6px 12px;border-radius:999px;background:transparent;border:0;color:var(--fg-dim);font-size:12px;font-weight:500}.status-switcher button.active{color:var(--fg);background:var(--surface-2)}.status-switcher button:hover{color:var(--fg)}.info-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;list-style:none;padding:0;margin:18px 0 0;font-size:12.5px}.info-list li{display:flex;align-items:center;gap:8px;color:var(--fg-2);padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}@media(max-width:600px){.info-list{grid-template-columns:1fr}}.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.pf-shell{width:100%;max-width:640px;display:flex;flex-direction:column;gap:24px;margin:0 auto;padding:32px 20px 80px}.pf-header{text-align:center}.pf-header h1{font-family:var(--font-display);font-size:26px;font-weight:600;margin:6px 0 4px;letter-spacing:-.02em}.pf-header p{color:var(--fg-dim);font-size:14px;margin:0}.pf-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 20px;color:var(--fg-mute);font-size:14px}.pf-error{display:flex;flex-direction:column;align-items:center;gap:10px;padding:40px 28px;text-align:center;color:var(--bad)}.pf-error h2{color:var(--fg);font-size:18px}.pf-error p{color:var(--fg-dim);font-size:14px;margin:0}.autosave-notice{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ok);margin-bottom:4px}.docs-slots{display:flex;flex-direction:column;gap:20px}.doc-slot{display:flex;flex-direction:column;gap:8px}.doc-slot-label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--fg-2)}.doc-required{color:var(--bad)}.doc-optional{color:var(--fg-mute);font-weight:400}.doc-ok{display:inline-flex;align-items:center;gap:4px;color:var(--ok);font-size:12px}.doc-uploading{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-size:12px}.success-card{padding:40px 32px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.success-card h2{font-family:var(--font-display);font-size:22px;font-weight:600;margin:0}.success-card p{color:var(--fg-dim);font-size:14.5px;margin:0;max-width:380px}.success-note{font-size:13px;color:var(--fg-mute);margin-top:8px}.create-panel{padding:22px 24px;display:flex;flex-direction:column;gap:20px}.create-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.create-panel-head h3{font-family:var(--font-display);font-size:17px;font-weight:600;margin:0}.create-form{display:flex;flex-direction:column;gap:18px}.type-grid{display:flex;flex-wrap:wrap;gap:8px}.type-option{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);font-size:13.5px;cursor:pointer;transition:all .15s ease}.type-option:hover{border-color:var(--line-strong)}.type-option input[type=radio]{accent-color:var(--accent)}.type-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.link-info{display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:var(--radius);background:var(--ok-soft);font-size:13.5px;color:var(--fg-2)}.link-info app-icon{color:var(--ok);flex:none}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;color:var(--fg-mute)}.requests-list{display:flex;flex-direction:column;gap:10px}.request-row{display:grid;grid-template-columns:100px 1fr 170px 130px 180px;align-items:center;gap:16px;padding:14px 20px}.req-code{font-size:13.5px;font-weight:600;color:var(--fg);white-space:nowrap;min-width:0}.req-name{font-size:14px;font-weight:500;color:var(--fg-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.req-meta{display:flex;flex-direction:column;gap:2px;min-width:0;overflow:hidden}.req-type{font-size:13.5px;color:var(--fg);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.req-person{font-size:12px;color:var(--fg-mute);white-space:nowrap}.req-date{display:flex;flex-direction:column;gap:1px;min-width:0}.req-date-day{font-size:13px;color:var(--fg-2);font-weight:500;white-space:nowrap}.req-date-time{font-size:12px;color:var(--fg-mute);white-space:nowrap}.request-row .status-badge{justify-self:center}.search-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.results-count{font-size:13px;color:var(--fg-mute)}.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:4px 0}.pagination-info{font-size:13px;color:var(--fg-dim)}.pagination-btns{display:flex;gap:8px}.cdk-overlay-dark-backdrop{background:#0a0a0885!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mat-icon{font-family:Material Symbols Rounded!important;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 20}.mdc-button__label{display:inline-flex;align-items:center;gap:4px}.spin-icon{animation:icon-spin .9s linear infinite;display:inline-flex!important}@keyframes icon-spin{to{transform:rotate(360deg)}}.btn-inner{display:inline-flex;align-items:center;gap:6px;font-size:inherit;line-height:1}.btn-icon-end{font-size:18px;line-height:1}mat-form-field{display:block}.field-err{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--mat-sys-error, #b00020);margin-top:-6px;padding:0 16px 6px;line-height:1.4}.field-err .mat-icon{font-size:14px!important;width:14px!important;height:14px!important;line-height:14px!important;flex:none}.mat-select-search-inner .mat-select-search-input{font-family:var(--font-sans)!important;font-size:14px!important;color:var(--fg)!important}.mat-select-search-inner{border-bottom:1px solid var(--line)!important}.mat-select-search-no-entries-found{font-family:var(--font-sans)!important;font-size:13.5px!important;color:var(--fg-dim)!important;padding:12px 16px!important}
