.login-shell{--login-navy-950: #050c1f;--login-navy-900: #0a1633;--login-navy-800: #0f2148;--login-gold: #c9a96a;--login-gold-bright: #e2c98f;--login-gold-deep: #7d6024;--login-ink: #0f1b3a;--login-ink-soft: #2a3862;--login-muted: #56627f;--login-line: #e3e6ee;--login-canvas: #f7f5f0;--login-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--login-card-w: 480px;--login-col-extra: 0px;--login-clear: 0px;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;background:var(--login-canvas);color:var(--login-ink);font-family:var(--font-body)}.login-brand{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:calc(env(safe-area-inset-top,0px) + 26px) 20px 76px;border-radius:0 0 28px 28px;background:radial-gradient(75% 55% at 50% 112%,#e2a0574d,#e2a05700 70%),linear-gradient(180deg,#050c1f,#0a1a40 55%,#1b2a5a)}.login-art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.login-art-city{position:absolute;left:0;right:0;bottom:0;width:100%;height:52%;display:block}.login-art-terrace{display:none}@media (max-width: 959px){.login-city-tall{display:none}}.login-brand-inner{position:relative;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo eyebrow" "logo title" "tagline tagline";column-gap:16px;align-items:center;max-width:560px;margin-inline:auto}.login-copy{display:contents}.login-logo-plate{position:relative;grid-area:logo;width:92px;aspect-ratio:767 / 736;border-radius:14px;overflow:hidden;background:#f4ecd8;box-shadow:0 0 0 1px #c9a96acc,0 0 0 4px #c9a96a1a,0 0 30px #e2be7838,0 14px 32px #02081880}.login-logo-plate img{display:block;width:100%;height:auto}.login-logo-plate:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #fffaeb99;pointer-events:none}.login-eyebrow{grid-area:eyebrow;align-self:end;margin:0 0 5px;font:600 10.5px/1 var(--font-body);letter-spacing:.28em;color:var(--login-gold-bright)}.login-brand-title{grid-area:title;align-self:start;margin:0;font:800 clamp(17px,5.2vw,22px)/1.1 var(--font-heading);letter-spacing:.03em;color:#fff;text-wrap:balance}.login-brand-tagline{grid-area:tagline;margin:16px 0 0;font:500 12px/1.5 var(--font-body);letter-spacing:.02em;color:#e8edfce0;text-wrap:balance}.login-dot{color:var(--login-gold)}.login-nowrap{white-space:nowrap}.login-main{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;margin-top:-44px;padding:0 16px 32px}.login-topline{display:none}.login-card{width:100%;max-width:440px;padding:26px 22px 22px;border-radius:18px;background:#fffdfa;border:1px solid rgba(15,27,58,.08);box-shadow:0 1px 2px #0f1b3a0a,0 18px 44px #0f1b3a1f}.login-card-eyebrow{display:none;align-items:center;gap:12px;margin:0 0 12px;font:700 11px/1 var(--font-body);letter-spacing:.22em;color:var(--login-ink-soft)}.login-card-eyebrow:after{content:"";width:34px;height:1px;background:var(--login-gold)}.login-title{margin:0;font:700 32px/1.08 var(--login-serif);letter-spacing:-.01em;color:var(--login-ink)}.login-subtitle{margin:8px 0 22px;font-size:15px;line-height:1.5;color:var(--login-muted)}.login-form{display:flex;flex-direction:column;gap:16px}.login-field label{display:block;margin-bottom:8px;font-size:13.5px;font-weight:600;color:var(--login-ink)}.login-input-wrap{position:relative}.login-input-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);display:flex;color:var(--login-ink-soft);pointer-events:none;transition:color .15s ease}.login-input-wrap:focus-within .login-input-icon{color:var(--color-accent-800)}.login-input{width:100%;height:52px;padding:0 14px 0 46px;font:400 16px/1.2 var(--font-body);color:var(--login-ink);caret-color:var(--color-accent-800);background:#fff;border:1px solid #d5dbe8;border-radius:10px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.login-input::placeholder{color:#66718c;opacity:1}.login-input:hover{border-color:#b9c3d9}.login-input:focus,.login-input:focus-visible{outline:none;border-color:var(--color-accent-800);box-shadow:0 0 0 1px var(--color-accent-800),0 0 0 5px #1f3a9021}.login-input--password{padding-right:52px}.login-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;padding:0;border:0;border-radius:8px;background:transparent;color:var(--login-ink-soft);cursor:pointer;transition:background .15s ease,color .15s ease}.login-toggle:hover{background:#eef1f8;color:var(--login-ink)}.login-toggle:focus-visible{outline:2px solid var(--color-accent-800);outline-offset:1px}.login-error{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-radius:10px;background:var(--color-danger-100);border:1px solid #f6c9c9;color:var(--color-danger-700);font-size:13.5px;line-height:1.45}.login-error .login-icon{flex:none;margin-top:1px}.login-submit{margin-top:4px;width:100%;height:54px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font:700 15.5px/1 var(--font-body);letter-spacing:.02em;color:#fff;border:0;border-radius:10px;cursor:pointer;background:linear-gradient(100deg,#0b1d4a,#1c3d95);box-shadow:inset 0 1px #ffffff29,0 8px 20px #0f21484d;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.login-submit .login-arrow{transition:transform .15s ease}.login-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.12);box-shadow:inset 0 1px #fff3,0 12px 26px #0f21485c}.login-submit:hover:not(:disabled) .login-arrow{transform:translate(3px)}.login-submit:active:not(:disabled){transform:translateY(0);filter:brightness(.96);box-shadow:inset 0 2px 6px #060e2252,0 3px 8px #0f214842}.login-submit:focus-visible{outline:3px solid rgba(31,58,144,.5);outline-offset:3px}.login-submit:disabled{cursor:not-allowed;opacity:.88;filter:saturate(.88);box-shadow:inset 0 1px #ffffff24,0 6px 14px #0f214829}.login-submit.is-loading:disabled{opacity:1;filter:none;cursor:progress;box-shadow:inset 0 1px #ffffff29,0 8px 20px #0f21484d}.login-spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:login-spin .7s linear infinite}@keyframes login-spin{to{transform:rotate(360deg)}}.login-secure{display:flex;align-items:center;justify-content:center;gap:7px;margin:18px 0 0;font-size:12.5px;font-weight:500;color:var(--login-muted)}.login-secure .login-icon{color:var(--login-ink-soft)}.login-note{display:flex;align-items:center;justify-content:center;gap:14px;margin:16px 0 0;padding-top:16px;border-top:1px solid var(--login-line);font-size:12.5px;line-height:1.55;color:var(--login-muted)}.login-note p{margin:0;text-align:left}.login-note span{display:block}.login-note .login-note-icon{flex:none;display:none;place-items:center;width:34px;height:34px;border-radius:50%;color:var(--login-gold-deep);background:#fbf3e0}@media (min-width: 600px) and (max-width: 959px),(min-width: 1200px){.login-note .login-note-icon{display:grid}}.login-features{list-style:none;width:100%;max-width:440px;margin:22px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.login-feature{display:flex;flex-direction:column;align-items:center;gap:6px;padding:2px 6px;text-align:center}.login-feature+.login-feature{border-left:1px solid var(--login-line)}.login-feature-icon{flex:none;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:var(--login-gold-deep);background:#fbf3e0;border:1px solid rgba(201,169,106,.5)}.login-feature-icon .login-icon{width:18px;height:18px}.login-feature-text{display:flex;flex-direction:column;gap:2px}.login-feature-title{font:700 12.5px/1.25 var(--font-body);color:var(--login-ink)}.login-feature-sub{display:none;font-size:11.5px;line-height:1.4;color:var(--login-muted);text-wrap:balance}@media (max-width: 599px) and (max-height: 700px){.login-brand{padding-top:calc(env(safe-area-inset-top,0px) + 16px);padding-bottom:66px}.login-logo-plate{width:78px}.login-brand-tagline{margin-top:12px}.login-main{margin-top:-40px}.login-card{padding:22px 20px 18px}.login-title{font-size:28px}.login-subtitle{margin-bottom:16px}.login-form{gap:13px}.login-input{height:48px}.login-submit{height:50px}.login-secure{margin-top:14px}.login-note{margin-top:12px;padding-top:12px}}@media (min-width: 600px){.login-brand{display:flex;align-items:center;min-height:clamp(240px,31vh,340px);padding:calc(env(safe-area-inset-top,0px) + 36px) 32px 96px}.login-art-city{height:50%}.login-brand-inner{display:flex;gap:22px}.login-copy{display:block;min-width:0}.login-logo-plate{flex:none;width:132px;border-radius:18px}.login-eyebrow{font-size:11.5px;margin-bottom:7px}.login-brand-title{font-size:28px}.login-brand-tagline{font-size:14.5px;margin:9px 0 0}.login-main{margin-top:-56px;padding:clamp(0px,calc((100dvh - 760px)/4),64px) 24px 44px}.login-card{max-width:480px;padding:36px 36px 30px;border-radius:20px}.login-title{font-size:36px}.login-features{max-width:480px;margin-top:26px}.login-feature-sub{display:block}}@media (min-width: 960px){.login-shell{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:1fr}.login-brand{display:flex;flex-direction:column;align-items:stretch;min-height:0;border-radius:0;padding:0 clamp(24px,3vw,56px);background:radial-gradient(62% 26% at 50% 80%,#e9a0584d,#e9a05800 72%),linear-gradient(180deg,#040a1c,#081431 28%,#0e1f47 48%,#1c2a58 62%,#45406b 74%,#9d6068 85%,#dd9a58)}.login-art-city{height:46%}.login-brand-inner{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:clamp(36px,6vh,72px);width:100%;max-width:none;margin:0;padding-top:clamp(32px,7vh,84px);padding-bottom:clamp(150px,34vh,380px)}.login-logo-plate{width:clamp(140px,min(13.5vw,22vh),220px);border-radius:22px;box-shadow:0 0 0 1px #c9a96acc,0 0 0 8px #c9a96a17,0 0 60px #e2be7847,0 26px 56px #0208188c}.login-copy{display:block;width:min(100%,640px);padding-left:var(--login-clear)}.login-eyebrow{display:flex;align-items:center;gap:18px;margin:0 0 clamp(14px,2.2vh,22px);font-size:13px;letter-spacing:.36em}.login-eyebrow:after{content:"";flex:0 0 clamp(60px,8vw,130px);height:1px;background:linear-gradient(90deg,var(--login-gold),rgba(201,169,106,.15))}.login-brand-title{font-size:clamp(30px,3.5vw,56px);letter-spacing:.02em;white-space:nowrap}.login-brand-tagline{margin-top:clamp(12px,2vh,20px);font-size:clamp(14px,1.25vw,20px);max-width:none}.login-main{display:grid;grid-template-columns:minmax(0,calc(var(--login-card-w) + var(--login-col-extra)));grid-template-rows:auto 1fr auto;justify-content:center;align-items:center;margin-top:0;padding:clamp(20px,3.4vh,36px) clamp(28px,4vw,72px);background:radial-gradient(60% 48% at 50% 46%,#c9a96a1a,#c9a96a00 72%),linear-gradient(135deg,#fffefb,#f4f7fc)}.login-main:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:repeating-linear-gradient(118deg,rgba(15,27,58,.035) 0 1px,transparent 1px 76px);-webkit-mask-image:radial-gradient(75% 65% at 100% 0%,#000 0%,transparent 78%);mask-image:radial-gradient(75% 65% at 100% 0%,#000 0%,transparent 78%);pointer-events:none}.login-main>*{position:relative;z-index:1}.login-topline{display:block;justify-self:end;margin:0;font:500 13px/1.2 var(--font-body);letter-spacing:.02em;color:var(--login-ink-soft)}.login-card{max-width:none;width:min(100%,var(--login-card-w));justify-self:center;padding:44px 44px 34px;border-radius:20px;box-shadow:0 1px 2px #0f1b3a0a,0 24px 60px #0f1b3a1a}.login-card-eyebrow{display:flex}.login-title{font-size:clamp(36px,3vw,44px)}.login-subtitle{margin:8px 0 26px;font-size:15.5px}.login-field label{font-size:14px}.login-input{height:52px}.login-features{max-width:none;margin-top:18px}}@media (min-width: 1200px){.login-shell{--login-clear: clamp(0px, 9vw, 168px)}.login-art-terrace{display:block;position:absolute;left:0;bottom:0;height:88%;width:auto;-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 62%,transparent 100%)}}@media (min-width: 1440px){.login-shell{--login-card-w: 500px}.login-input{height:54px}.login-submit{height:56px}}@media (min-width: 1600px){.login-shell{--login-card-w: 520px;--login-col-extra: 120px}.login-feature{flex-direction:row;align-items:center;gap:10px;padding:2px 12px;text-align:left}.login-feature-sub{font-size:11px;text-wrap:pretty}.login-card{padding:50px 50px 40px}.login-input{height:56px}.login-submit{height:58px}}@media (min-width: 1920px){.login-shell{--login-card-w: 540px}}@media (min-width: 2200px){.login-shell{--login-card-w: 560px}.login-copy{width:min(100%,820px)}.login-logo-plate{width:300px}.login-brand-title{font-size:66px}.login-brand-tagline{font-size:22px}}@media (min-width: 960px) and (max-height: 800px){.login-card{padding:30px 40px 24px}.login-card-eyebrow{margin-bottom:8px}.login-title{font-size:34px}.login-subtitle{margin:4px 0 16px;font-size:15px}.login-form{gap:12px}.login-field label{margin-bottom:6px}.login-input{height:50px}.login-submit{height:52px}.login-secure{margin-top:12px}.login-note{margin-top:12px;padding-top:12px}.login-features{margin-top:12px}}@media (prefers-reduced-motion: reduce){.login-input,.login-input-icon,.login-toggle,.login-submit,.login-submit .login-arrow{transition:none}.login-submit:hover:not(:disabled),.login-submit:active:not(:disabled){transform:none}.login-submit:hover:not(:disabled) .login-arrow{transform:none}}:root{--color-bg: #f7f9fc;--color-surface: #ffffff;--color-surface-2: #f8fafc;--color-text: #1a2233;--color-divider: #e7eaf1;--color-accent: #2f56d9;--color-accent-100: #eef2fe;--color-accent-200: #dbe4fd;--color-accent-300: #b9caf9;--color-accent-400: #8ea9f2;--color-accent-500: #5c81e6;--color-accent-600: #2f56d9;--color-accent-700: #2445b4;--color-accent-800: #1f3a90;--color-accent-900: #182c68;--color-accent-2: #f97316;--color-accent-2-100: #fff2e8;--color-accent-2-200: #ffe1cc;--color-accent-2-300: #fdc79f;--color-accent-2-400: #fba869;--color-accent-2-500: #f98c3d;--color-accent-2-600: #ea6d0c;--color-accent-2-700: #c2560a;--color-accent-2-800: #9a440c;--color-accent-2-900: #7c380f;--color-success: #16a34a;--color-success-100: #e7f6ec;--color-success-700: #157f3c;--color-purple: #7c3aed;--color-purple-100: #f1eafe;--color-purple-700: #6425c7;--color-danger: #dc2626;--color-danger-100: #fdeaea;--color-danger-700: #b91c1c;--color-neutral-100: #f6f8fb;--color-neutral-200: #eef1f6;--color-neutral-300: #e3e7ef;--color-neutral-400: #c8cfdc;--color-neutral-500: #98a2b3;--color-neutral-600: #667085;--color-neutral-700: #4a5468;--color-neutral-800: #333d4f;--color-neutral-900: #1a2233;--font-heading: "Manrope", "Inter", system-ui, -apple-system, sans-serif;--font-heading-weight: 700;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;--space-1: 5px;--space-2: 10px;--space-3: 15px;--space-4: 20px;--space-6: 30px;--space-8: 40px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .05);--shadow-md: 0 2px 6px rgba(16, 24, 40, .05), 0 4px 16px rgba(16, 24, 40, .05);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .1), 0 4px 10px rgba(16, 24, 40, .05)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:14px;line-height:1.55;font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);line-height:1.15;letter-spacing:-.014em;margin:0 0 var(--space-2);color:var(--color-text)}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}.text-muted{color:var(--color-neutral-600)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;text-decoration:none;font-family:var(--font-body);font-weight:600;font-size:13.5px;line-height:1.2;color:var(--color-text);background:transparent;border:1px solid transparent;padding:9px 15px;border-radius:var(--radius-sm);transition:background .12s ease,border-color .12s ease,box-shadow .12s ease,transform 60ms ease}.btn svg{display:block}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:translateY(.5px)}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider);background:var(--color-surface)}.btn-secondary:hover:not(:disabled){background:var(--color-neutral-100);border-color:var(--color-neutral-300)}.btn-ghost{color:var(--color-accent);padding-inline:8px}.btn-ghost:hover:not(:disabled){background:var(--color-accent-100)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{display:block;font-size:12px;font-weight:500;margin-bottom:5px;color:var(--color-neutral-700)}.input{width:100%;min-height:38px;padding:8px 11px;font:inherit;font-size:13.5px;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:var(--radius-sm);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.input::placeholder{color:var(--color-neutral-500);opacity:1}.input:hover{border-color:var(--color-neutral-400)}.input:focus-visible{border-color:var(--color-accent);outline:none;background:var(--color-surface);box-shadow:0 0 0 3px var(--color-accent-100)}textarea.input{min-height:90px;resize:vertical}.radio{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.radio input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.radio .dot{width:16px;height:16px;flex:none;border-radius:50%;border:1.5px solid var(--color-neutral-400)}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-surface)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.card{display:flex;flex-direction:column;gap:var(--space-2);padding:18px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-divider);transition:box-shadow .14s ease,border-color .14s ease,transform .14s ease}.card-kicker{font-family:var(--font-body);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-600);font-weight:600}.card-title{font-family:var(--font-heading);font-weight:700;font-size:15px;line-height:1.25;color:var(--color-text)}.card-body{margin:0;font-size:13px;color:var(--color-neutral-600);flex:1}.card-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--color-neutral-500)}.elev-sm{box-shadow:var(--shadow-sm)}.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;letter-spacing:.01em;padding:3px 9px;border-radius:999px;white-space:nowrap}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-200);color:var(--color-neutral-700)}.tag-outline{border:1px solid var(--color-accent-300);color:var(--color-accent-700)}.tag-success{background:var(--color-success-100);color:var(--color-success-700)}.tag-danger{background:var(--color-danger-100);color:var(--color-danger-700)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:100;padding:var(--space-4);background:#10182873;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog{width:min(440px,100%);display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}.dialog-title{font-family:var(--font-heading);font-weight:700;font-size:18px}.dialog-body{font-size:13.5px;color:var(--color-neutral-700)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}html,body,#root{height:100%}*{box-sizing:border-box}.app-shell{display:flex;min-height:100dvh;background:var(--color-bg)}.app-body{flex:1;min-width:0;display:flex;flex-direction:column}.app-main{flex:1;min-width:0;padding:22px 26px 60px}.app-sidebar{width:236px;flex:none;background:var(--color-surface);border-right:1px solid var(--color-divider);display:flex;flex-direction:column;padding:14px 12px;position:sticky;top:0;height:100dvh;overflow-y:auto;z-index:40}.app-brand{display:flex;align-items:center;gap:10px;padding:6px 8px 14px;margin-bottom:2px}.app-brand-mark{width:34px;height:34px;flex:none;border-radius:9px;background:linear-gradient(140deg,var(--color-accent-600),var(--color-accent-800));color:#fff;display:grid;place-items:center;font:800 15px var(--font-heading);letter-spacing:-.04em;box-shadow:0 2px 6px #2445b447}.app-brand-name{font:800 15.5px var(--font-heading);letter-spacing:-.02em;color:var(--color-text)}.app-brand-sub{font:500 10.5px var(--font-body);color:var(--color-neutral-500);letter-spacing:.01em}.app-nav-section{font:700 10px var(--font-body);letter-spacing:.13em;text-transform:uppercase;color:var(--color-neutral-400);padding:15px 11px 7px}.app-nav-link{display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:var(--radius-sm);font:500 13px var(--font-body);color:var(--color-neutral-700);text-decoration:none;cursor:pointer;border:none;background:none;width:100%;text-align:left;margin-bottom:2px;position:relative;transition:background .13s ease,color .13s ease}.app-nav-link i{font-size:18px;width:20px;text-align:center;color:var(--color-neutral-500);transition:color .13s ease}.app-nav-link:hover{background:var(--color-neutral-100);color:var(--color-text)}.app-nav-link:hover i{color:var(--color-neutral-700)}.app-nav-link.active{background:var(--color-accent-100);color:var(--color-accent-800);font-weight:600}.app-nav-link.active i{color:var(--color-accent-700)}.app-nav-link.active:before{content:"";position:absolute;left:-12px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent-600)}.app-sidebar-spacer{flex:1;min-height:12px}.app-profile{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-md);border:1px solid var(--color-divider);background:var(--color-surface-2);text-decoration:none;color:inherit;margin-top:8px;transition:border-color .13s ease,background .13s ease}.app-profile:hover{border-color:var(--color-neutral-300);background:var(--color-neutral-100)}.app-avatar{width:32px;height:32px;flex:none;border-radius:50%;background:var(--color-accent-100);color:var(--color-accent-800);display:grid;place-items:center;font:700 12px var(--font-heading)}.app-profile-name{font:600 12.5px var(--font-body);color:var(--color-text);line-height:1.3}.app-profile-role{font:500 10.5px var(--font-body);color:var(--color-neutral-500);text-transform:capitalize}.app-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;height:58px;padding:0 22px;background:color-mix(in srgb,var(--color-surface) 86%,transparent);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--color-divider)}.app-header-search{position:relative;flex:1;max-width:460px}.app-header-search i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--color-neutral-500);font-size:16px}.app-header-search input{width:100%;height:38px;padding:0 14px 0 36px;font:13px var(--font-body);color:var(--color-text);background:var(--color-surface-2);border:1px solid var(--color-divider);border-radius:999px;transition:border-color .13s ease,box-shadow .13s ease,background .13s ease}.app-header-search input::placeholder{color:var(--color-neutral-500)}.app-header-search input:focus-visible{outline:none;border-color:var(--color-accent);background:var(--color-surface);box-shadow:0 0 0 3px var(--color-accent-100)}.app-header-actions{display:flex;align-items:center;gap:9px;margin-left:auto}.app-icon-btn{position:relative;width:37px;height:37px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-neutral-600);cursor:pointer;font-size:17px;transition:background .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.app-icon-btn:hover{background:var(--color-neutral-100);color:var(--color-text);border-color:var(--color-neutral-300)}.app-icon-btn.primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 2px 6px #2445b43d}.app-icon-btn.primary:hover{background:var(--color-accent-700);border-color:var(--color-accent-700);color:#fff}.app-icon-btn .dot{position:absolute;top:6px;right:7px;min-width:15px;height:15px;padding:0 3px;border-radius:999px;background:var(--color-danger);color:#fff;font:700 9px var(--font-body);display:grid;place-items:center;border:2px solid var(--color-surface)}.app-menu-hamburger{display:none}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.app-pop{position:absolute;right:0;top:calc(100% + 8px);width:320px;max-width:86vw;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:50;overflow:hidden;animation:pop-in .12s ease}.app-pop-head{padding:11px 14px;border-bottom:1px solid var(--color-divider);font:700 11px var(--font-body);text-transform:uppercase;letter-spacing:.06em;color:var(--color-neutral-500)}.app-pop-item{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;width:100%;text-align:left;border:none;background:none;cursor:pointer;border-bottom:1px solid var(--color-divider);color:var(--color-text);text-decoration:none;font:13px var(--font-body);transition:background .1s ease}.app-pop-item:last-child{border-bottom:none}.app-pop-item:hover{background:var(--color-neutral-100)}.app-pop-item i{font-size:16px;color:var(--color-neutral-500)}.app-topbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}.app-page-title{font:700 21px var(--font-heading);letter-spacing:-.02em;color:var(--color-text)}.deal-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.deal-kpi{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.deal-kpi span{font:600 10px var(--font-body);letter-spacing:.045em;text-transform:uppercase;color:var(--color-neutral-500)}.deal-kpi strong{font:800 20px var(--font-heading);letter-spacing:-.02em;color:var(--color-text)}@media (max-width: 900px){.deal-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 420px){.deal-kpis{grid-template-columns:1fr}}.data-table{width:100%;border-collapse:collapse;font-size:13px;background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);overflow:hidden}.data-table th{text-align:left;font:600 10.5px var(--font-body);letter-spacing:.05em;text-transform:uppercase;color:var(--color-neutral-500);padding:11px 14px;background:var(--color-surface-2);border-bottom:1px solid var(--color-divider);white-space:nowrap}.data-table td{padding:12px 14px;border-bottom:1px solid var(--color-divider);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr{cursor:pointer;transition:background .1s ease}.data-table tbody tr:hover{background:var(--color-accent-100)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.crm-chip{border:1px solid var(--color-divider);background:var(--color-surface);border-radius:999px;padding:6px 13px;font:600 12px var(--font-body);color:var(--color-neutral-600);cursor:pointer;white-space:nowrap;flex:none;transition:background .12s ease,color .12s ease,border-color .12s ease}.crm-chip:hover{border-color:var(--color-accent-300);color:var(--color-accent-700)}.crm-chip.active{background:var(--color-accent-600);color:#fff;border-color:var(--color-accent-600)}.dash-greeting-date{font:500 12px var(--font-body);letter-spacing:.02em;color:var(--color-neutral-500);margin-bottom:3px}.dash-greeting-title{font:800 23px var(--font-heading);letter-spacing:-.025em;color:var(--color-text)}.dash-greeting-sub{font:13px var(--font-body);color:var(--color-neutral-600);margin-top:3px}.dash-range{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 13px;border-radius:var(--radius-sm);border:1px solid var(--color-divider);background:var(--color-surface);font:600 12.5px var(--font-body);color:var(--color-neutral-700);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.dash-range:hover{border-color:var(--color-neutral-300);box-shadow:var(--shadow-sm)}.stat-card{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:15px 16px;display:flex;flex-direction:column;gap:9px;min-height:128px;transition:box-shadow .15s ease,transform .15s ease,border-color .15s ease}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--color-neutral-300)}.stat-icon{width:40px;height:40px;border-radius:11px;flex:none;display:grid;place-items:center;font-size:19px}.stat-label{font:600 10px var(--font-body);letter-spacing:.045em;text-transform:uppercase;color:var(--color-neutral-500);padding-top:3px;line-height:1.35}.stat-value{font:800 30px var(--font-heading);letter-spacing:-.035em;color:var(--color-text);line-height:1;margin-top:auto}.stat-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-height:20px}.stat-delta{display:inline-flex;align-items:center;gap:3px;font:700 11px var(--font-body);padding:2px 7px;border-radius:6px}.stat-delta i{font-size:11px}.stat-delta.up{color:var(--color-success-700);background:color-mix(in srgb,var(--color-success) 12%,transparent)}.stat-delta.down{color:var(--color-danger-700);background:color-mix(in srgb,var(--color-danger) 12%,transparent)}.stat-delta.flat{color:var(--color-neutral-600);background:var(--color-neutral-200)}.stat-compare{font:11.5px var(--font-body);color:var(--color-neutral-500)}.dash-grid-2{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-bottom:14px;align-items:start}.dash-grid-3{display:grid;grid-template-columns:1.35fr 1fr;gap:14px;align-items:start}.dash-grid-3>.dash-col{display:grid;gap:14px}.dash-panel{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:16px;transition:border-color .15s ease}.dash-panel:hover{border-color:var(--color-neutral-300)}.dash-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:14px}.dash-panel-title{display:block;font:700 13.5px var(--font-heading);letter-spacing:-.01em;color:var(--color-text)}.dash-panel-sub{display:block;font:11.5px var(--font-body);color:var(--color-neutral-500);margin-top:3px}.dash-panel-link{font:600 12px var(--font-body);color:var(--color-accent);cursor:pointer;text-decoration:none;padding:3px 8px;border-radius:6px;white-space:nowrap;transition:background .11s ease}.dash-panel-link:hover{background:var(--color-accent-100)}.bar-row{display:grid;grid-template-columns:92px 1fr 34px;align-items:center;gap:12px;padding:5px 6px;margin:0 -6px;border-radius:7px;transition:background .11s ease}.bar-row:hover{background:var(--color-neutral-100)}.bar-label{font:600 12px var(--font-body);color:var(--color-neutral-700)}.bar-track{display:block;height:13px;border-radius:999px;background:var(--color-neutral-200);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:999px;transition:width .6s cubic-bezier(.2,.8,.2,1)}.bar-value{font:700 13px var(--font-body);color:var(--color-text);text-align:right}.donut-wrap{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.donut-legend{display:grid;gap:10px;flex:1;min-width:170px;max-width:320px}.donut-legend-row{display:grid;grid-template-columns:10px 1fr auto auto;align-items:center;gap:10px;font:12.5px var(--font-body)}.donut-legend-dot{width:10px;height:10px;border-radius:3px}.donut-legend-name{color:var(--color-neutral-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.donut-legend-val{font-weight:700;color:var(--color-text)}.donut-legend-pct{color:var(--color-neutral-500);min-width:30px;text-align:right;font-variant-numeric:tabular-nums}.recent-table{width:100%;border-collapse:collapse;table-layout:fixed}.recent-table thead th{font:600 10px var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--color-neutral-400);text-align:left;padding:0 16px 9px;border-bottom:1px solid var(--color-divider)}.recent-table tbody tr{cursor:pointer;transition:background .1s ease}.recent-table tbody tr:hover{background:var(--color-neutral-100)}.recent-table tbody td{padding:10px 16px;border-bottom:1px solid var(--color-divider);vertical-align:middle;overflow:hidden}.recent-table tbody tr:last-child td{border-bottom:none}.rt-lead{display:flex;align-items:center;gap:10px}.rt-name{display:block;font:600 13px var(--font-body);color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rt-phone{display:block;font:11px var(--font-mono);color:var(--color-neutral-500);margin-top:1px}.rt-action{display:inline-grid;place-items:center;width:26px;height:26px;margin-left:3px;border-radius:7px;border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-neutral-600);cursor:pointer;font-size:13px;text-decoration:none;transition:background .11s ease,color .11s ease,border-color .11s ease}.rt-action:hover{background:var(--color-accent-100);color:var(--color-accent-700);border-color:var(--color-accent-300)}.activity-row{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--color-divider);align-items:center;transition:background .1s ease}.activity-row:last-child{border-bottom:none}.activity-row:hover{background:var(--color-neutral-100);margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:6px}.activity-ico{width:32px;height:32px;border-radius:9px;flex:none;display:grid;place-items:center;font-size:15px}.activity-title{font:600 12.5px var(--font-body);color:var(--color-text);overflow:hidden;text-overflow:ellipsis}.activity-meta{font:11.5px var(--font-body);color:var(--color-neutral-500);margin-top:1px;line-height:1.35}.task-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--color-divider)}.task-row:last-child{border-bottom:none}.task-check{width:18px;height:18px;flex:none;border-radius:6px;border:1.5px solid var(--color-neutral-400);cursor:pointer;background:var(--color-surface);display:grid;place-items:center;color:transparent;font-size:11px;transition:background .13s ease,border-color .13s ease,color .13s ease}.task-check:hover{border-color:var(--color-accent)}.task-check.done{background:var(--color-success);border-color:var(--color-success);color:#fff}.task-title{font:500 12.5px var(--font-body);color:var(--color-text);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-title.done{text-decoration:line-through;color:var(--color-neutral-500)}.task-time{font:11px var(--font-mono);color:var(--color-neutral-500);white-space:nowrap}.pri-dot{width:7px;height:7px;border-radius:50%;flex:none}.dash-avatar{width:30px;height:30px;border-radius:50%;flex:none;background:var(--color-accent-100);color:var(--color-accent-800);display:grid;place-items:center;font:700 12px var(--font-heading)}@media (max-width: 1080px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 1180px){.dash-grid-2,.dash-grid-3{grid-template-columns:1fr}}@media (max-width: 1024px){.app-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .22s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow-lg)}.app-sidebar.open{transform:translate(0)}.app-nav-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:39;background:#10182866}.app-menu-hamburger{display:grid}.app-header{padding-left:14px;padding-right:14px}.app-main{padding:18px 14px 52px}}@media (max-width: 640px){.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.app-header-search{max-width:none}.dash-greeting-title{font-size:20px}}@media (max-width: 560px){.app-header .app-icon-btn.hide-sm{display:none}.recent-table{table-layout:auto}.recent-table col:nth-child(1){width:auto}.recent-table col:nth-child(3){width:1%}.recent-table col:nth-child(2),.recent-table col:nth-child(4),.recent-table thead th:nth-child(2),.recent-table thead th:nth-child(4),.recent-table tbody td:nth-child(2),.recent-table tbody td:nth-child(4){display:none}}@media (max-width: 370px){.stat-grid{grid-template-columns:1fr}.stat-card{min-height:0}}
