.route-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);width:100%}.route-fallback__spinner{width:36px;height:36px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:route-fallback-spin .8s linear infinite}.route-fallback__label{font-size:var(--font-sm);color:var(--color-text-secondary)}@keyframes route-fallback-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.route-fallback__spinner{animation-duration:1.8s}}.shamsa-landing{--ink: #0F1012;--surface: #141618;--surface-2: #191c1f;--text: #F0F2F5;--muted: #8B8F96;--faint: #5c6067;--bronze: #C39366;--bronze-deep: #7A5C3E;--bronze-soft: rgba(195, 147, 102, .14);--hairline: rgba(240, 242, 245, .08);--hairline-strong: rgba(240, 242, 245, .14);--serif: "Fraunces", Georgia, "Times New Roman", serif;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--max: 1120px;--radius: 14px;background:var(--ink);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.7;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:clip;min-height:100vh}.shamsa-landing *,.shamsa-landing *:before,.shamsa-landing *:after{margin:0;padding:0;box-sizing:border-box}.shamsa-landing ::selection{background:var(--bronze);color:var(--ink)}.shamsa-landing img,.shamsa-landing svg{display:block;max-width:100%}.shamsa-landing a{color:inherit}.shamsa-landing h1,.shamsa-landing h2,.shamsa-landing h3{text-wrap:balance}.shamsa-landing .wrap{width:min(var(--max),100% - 3rem);margin-inline:auto}.shamsa-landing .eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze)}.shamsa-landing .display{font-family:var(--serif);font-weight:300;line-height:1.08;letter-spacing:-.01em}.shamsa-landing .display em{font-style:italic;font-weight:400;color:var(--bronze)}.shamsa-landing .lede{color:var(--muted);max-width:34em}.shamsa-landing .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--sans);font-size:.9375rem;font-weight:600;letter-spacing:.01em;text-decoration:none;border-radius:999px;padding:.8em 1.7em;cursor:pointer;border:1px solid transparent;transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease;min-height:44px;white-space:nowrap}.shamsa-landing .btn-primary{background:var(--bronze);color:#16110b}.shamsa-landing .btn-primary:hover{background:#d3a97e;transform:translateY(-1px)}.shamsa-landing .btn-ghost{background:transparent;color:var(--text);border-color:var(--hairline-strong)}.shamsa-landing .btn-ghost:hover{border-color:var(--bronze);color:var(--bronze)}.shamsa-landing .text-link{color:var(--muted);text-decoration:none;font-size:.9375rem;font-weight:500;white-space:nowrap;transition:color .2s ease}.shamsa-landing .text-link:hover{color:var(--text)}.shamsa-landing a:focus-visible,.shamsa-landing button:focus-visible,.shamsa-landing input:focus-visible,.shamsa-landing .btn:focus-visible{outline:2px solid var(--bronze);outline-offset:3px;border-radius:4px}.shamsa-landing .btn:focus-visible,.shamsa-landing input:focus-visible{border-radius:999px}.shamsa-landing .nav{position:fixed;top:0;left:0;right:0;z-index:50;background:#0f10128c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .35s ease,background-color .35s ease}.shamsa-landing .nav.scrolled{background:#0f1012d1;border-bottom-color:var(--hairline)}.shamsa-landing .nav-inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:76px}.shamsa-landing .brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--text)}.shamsa-landing .brand svg{width:30px;height:30px;color:var(--bronze)}.shamsa-landing .brand .wordmark{font-family:var(--serif);font-weight:400;font-size:1.45rem;letter-spacing:.01em;line-height:1}.shamsa-landing .nav-actions{display:flex;align-items:center;gap:1.6rem}.shamsa-landing .nav-links{display:flex;align-items:center;gap:2.2rem;list-style:none}.shamsa-landing .nav .btn{padding:.62em 1.4em}.shamsa-landing .hero{position:relative;padding:calc(76px + clamp(4rem,10vh,7.5rem)) 0 clamp(5rem,12vh,9rem);text-align:center;overflow:clip}.shamsa-landing .hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 62% 46% at 50% 30%,rgba(195,147,102,.17),transparent 70%),radial-gradient(ellipse 90% 60% at 50% -10%,rgba(122,92,62,.2),transparent 65%);pointer-events:none}.shamsa-landing .hero:after{content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%);width:min(680px,82vw);height:1px;background:linear-gradient(90deg,transparent,rgba(195,147,102,.45),transparent)}.shamsa-landing .hero-inner{position:relative}.shamsa-landing .hero-mark-wrap{width:clamp(120px,17vw,176px);margin:0 auto 2.75rem;color:var(--bronze)}.shamsa-landing .hero-mark{display:block;width:100%;height:auto}.shamsa-landing .hero-mark .rays{transform-origin:48px 48px;animation:sl-sun-turn 240s linear infinite}@keyframes sl-sun-turn{to{transform:rotate(360deg)}}.shamsa-landing .hero h1{font-size:clamp(2.7rem,7.2vw,5.4rem);max-width:13em;margin-inline:auto}.shamsa-landing .hero .lede{margin:1.75rem auto 0;font-size:clamp(1.05rem,1.6vw,1.2rem);max-width:36em}.shamsa-landing .hero-cta{display:flex;justify-content:center;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2.75rem}.shamsa-landing .hero-beta{margin-top:2.5rem;font-size:.8125rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}.shamsa-landing .hero-beta:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--bronze);margin-right:.7em;vertical-align:1px}.shamsa-landing .rise{opacity:0;transform:translateY(18px);animation:sl-rise .9s cubic-bezier(.22,1,.36,1) forwards}.shamsa-landing .rise-1{animation-delay:.05s}.shamsa-landing .rise-2{animation-delay:.22s}.shamsa-landing .rise-3{animation-delay:.38s}.shamsa-landing .rise-4{animation-delay:.54s}.shamsa-landing .rise-5{animation-delay:.7s}@keyframes sl-rise{to{opacity:1;transform:none}}.shamsa-landing .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.shamsa-landing .reveal.in{opacity:1;transform:none}.shamsa-landing .strip{padding:clamp(5rem,11vh,8.5rem) 0;text-align:center}.shamsa-landing .strip p{font-family:var(--serif);font-weight:300;font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.45;max-width:26em;margin-inline:auto;color:var(--muted);text-wrap:balance}.shamsa-landing .strip p strong{font-weight:400;color:var(--text)}.shamsa-landing .strip p em{font-style:italic;color:var(--bronze)}.shamsa-landing .section{padding:clamp(4rem,9vh,7rem) 0}.shamsa-landing .section-head{max-width:42em;margin-bottom:clamp(3rem,7vh,5rem)}.shamsa-landing .section-head h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-top:1.1rem}.shamsa-landing .section-head .lede{margin-top:1.25rem}.shamsa-landing .divider{display:flex;align-items:center;gap:1.25rem;width:min(var(--max),100% - 3rem);margin-inline:auto}.shamsa-landing .divider:before,.shamsa-landing .divider:after{content:"";flex:1;height:1px;background:var(--hairline)}.shamsa-landing .divider svg{width:22px;height:22px;color:var(--bronze-deep);flex:none}.shamsa-landing .moment{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2.5rem,6vw,5.5rem);align-items:center;padding:clamp(2.5rem,6vh,4.5rem) 0}.shamsa-landing .moment+.moment{border-top:1px solid var(--hairline)}.shamsa-landing .moment.flip .moment-copy{order:2}.shamsa-landing .moment.flip .moment-visual{order:1}.shamsa-landing .moment-copy h3{font-family:var(--serif);font-weight:300;font-size:clamp(1.7rem,3.4vw,2.5rem);line-height:1.15;margin-top:1rem}.shamsa-landing .moment-copy h3 em{font-style:italic;font-weight:400;color:var(--bronze)}.shamsa-landing .moment-copy p{color:var(--muted);margin-top:1.15rem;max-width:32em}.shamsa-landing .moment-copy ul{list-style:none;margin-top:1.5rem;display:grid;gap:.65rem}.shamsa-landing .moment-copy li{color:var(--muted);font-size:.9375rem;padding-left:1.4rem;position:relative}.shamsa-landing .moment-copy li:before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1.5px;background:var(--bronze)}.shamsa-landing .moment-copy li strong{color:var(--text);font-weight:500}.shamsa-landing .moment-visual{background:radial-gradient(120% 100% at 50% 0%,rgba(195,147,102,.06),transparent 60%),var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:clamp(1.25rem,2.5vw,2rem);box-shadow:0 30px 70px -30px #000000b3}.shamsa-landing .visual-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600;margin-bottom:1.1rem}.shamsa-landing .visual-title .dot-live{display:inline-flex;align-items:center;gap:.5em;color:var(--bronze);letter-spacing:.12em}.shamsa-landing .visual-title .dot-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bronze)}.shamsa-landing .gantt{width:100%;height:auto}.shamsa-landing .portal-stages{display:flex;align-items:center;gap:.5rem;margin-bottom:1.4rem;flex-wrap:wrap}.shamsa-landing .stage-chip{font-size:.75rem;font-weight:500;color:var(--muted);border:1px solid var(--hairline);border-radius:999px;padding:.32em .9em;white-space:nowrap}.shamsa-landing .stage-chip.done{color:var(--faint)}.shamsa-landing .stage-chip.done:before{content:"✓";color:var(--bronze)}.shamsa-landing .stage-chip.current{color:var(--bronze);border-color:#c3936680;background:var(--bronze-soft)}.shamsa-landing .portal-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface-2);border:1px solid var(--hairline);border-radius:10px;padding:.95rem 1.15rem}.shamsa-landing .portal-row+.portal-row{margin-top:.7rem}.shamsa-landing .portal-row .file{display:flex;flex-direction:column;gap:.15rem;min-width:0}.shamsa-landing .portal-row .file b{font-weight:500;font-size:.9375rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shamsa-landing .portal-row .file span{font-size:.78rem;color:var(--faint)}.shamsa-landing .chip-approve{flex:none;font-size:.78rem;font-weight:600;color:#16110b;background:var(--bronze);border-radius:999px;padding:.42em 1.1em}.shamsa-landing .chip-approved{flex:none;font-size:.78rem;font-weight:600;color:var(--bronze);border:1px solid rgba(195,147,102,.45);border-radius:999px;padding:.42em 1.1em}.shamsa-landing .chip-view{flex:none;font-size:.78rem;font-weight:600;color:var(--muted);border:1px solid var(--hairline-strong);border-radius:999px;padding:.42em 1.1em}.shamsa-landing .ledger{display:grid;gap:.7rem}.shamsa-landing .ledger-row{display:flex;align-items:center;gap:1rem;background:var(--surface-2);border:1px solid var(--hairline);border-radius:10px;padding:.85rem 1.15rem;font-size:.9rem}.shamsa-landing .ledger-row .who{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:600;color:var(--bronze);border:1px solid rgba(195,147,102,.4)}.shamsa-landing .ledger-row .bar-wrap{flex:1;min-width:0}.shamsa-landing .ledger-row .bar-label{display:flex;justify-content:space-between;font-size:.78rem;color:var(--faint);margin-bottom:.38rem}.shamsa-landing .ledger-row .bar-label b{color:var(--muted);font-weight:500}.shamsa-landing .ledger-row .bar{height:6px;border-radius:999px;background:#f0f2f512;overflow:hidden}.shamsa-landing .ledger-row .bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--bronze-deep),var(--bronze))}.shamsa-landing .ledger-co{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.9rem;background:var(--surface-2);border:1px solid var(--hairline);border-radius:10px;padding:.85rem 1.15rem}.shamsa-landing .ledger-co .co-name{color:var(--text);font-weight:500;font-size:.9375rem}.shamsa-landing .ledger-co .co-sub{color:var(--faint);font-size:.78rem;display:block}.shamsa-landing .ledger-co .amount{font-variant-numeric:tabular-nums;color:var(--bronze);font-weight:600;white-space:nowrap}.shamsa-landing .grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.shamsa-landing .card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.75rem 1.5rem;transition:border-color .3s ease,transform .3s ease}.shamsa-landing .card:hover{border-color:#c3936659;transform:translateY(-3px)}.shamsa-landing .card svg{width:26px;height:26px;color:var(--bronze);margin-bottom:1.2rem}.shamsa-landing .card h4{font-family:var(--serif);font-weight:400;font-size:1.2rem;line-height:1.3;margin-bottom:.6rem}.shamsa-landing .card p{font-size:.9rem;color:var(--muted);line-height:1.65}.shamsa-landing .why{position:relative;overflow:clip;text-align:center}.shamsa-landing .why:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 55% 55% at 50% 45%,rgba(122,92,62,.14),transparent 70%);pointer-events:none}.shamsa-landing .why-inner{position:relative;max-width:46em;margin-inline:auto}.shamsa-landing .why .arabic{font-size:clamp(2.2rem,5vw,3.4rem);line-height:1;color:var(--bronze);opacity:.85;margin-bottom:1.6rem}.shamsa-landing .why h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.2}.shamsa-landing .why h2 em{font-style:italic;font-weight:400;color:var(--bronze)}.shamsa-landing .why .story{color:var(--muted);margin:1.75rem auto 0;max-width:38em;font-size:1.03rem}.shamsa-landing .outcomes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3.5rem);margin-top:clamp(3.5rem,7vh,5.5rem);text-align:left}.shamsa-landing .outcome{border-top:1px solid var(--hairline-strong);padding-top:1.5rem}.shamsa-landing .outcome h4{font-family:var(--serif);font-weight:400;font-size:1.35rem;margin-bottom:.7rem}.shamsa-landing .outcome p{font-size:.9375rem;color:var(--muted)}.shamsa-landing .cta{position:relative;overflow:clip;padding:clamp(5rem,12vh,9rem) 0;text-align:center}.shamsa-landing .cta:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 70% at 50% 100%,rgba(195,147,102,.13),transparent 70%);pointer-events:none}.shamsa-landing .cta-inner{position:relative;max-width:40em;margin-inline:auto}.shamsa-landing .cta-mark{width:56px;height:56px;margin:0 auto 1.9rem;color:var(--bronze)}.shamsa-landing .cta h2{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.12}.shamsa-landing .cta h2 em{font-style:italic;font-weight:400;color:var(--bronze)}.shamsa-landing .cta .lede{margin:1.4rem auto 0}.shamsa-landing .waitlist{display:flex;gap:.6rem;max-width:480px;margin:2.5rem auto 0}.shamsa-landing .waitlist input[type=email]{flex:1;min-width:0;font-family:var(--sans);font-size:.9375rem;color:var(--text);background:#f0f2f50d;border:1px solid var(--hairline-strong);border-radius:999px;padding:0 1.4em;min-height:48px;transition:border-color .25s ease,background-color .25s ease}.shamsa-landing .waitlist input[type=email]::placeholder{color:var(--faint)}.shamsa-landing .waitlist input[type=email]:focus{outline:none;border-color:var(--bronze);background:#f0f2f512}.shamsa-landing .waitlist input[aria-invalid=true]{border-color:#c96f5e}.shamsa-landing .waitlist .btn{flex:none}.shamsa-landing .waitlist-note{margin-top:1.1rem;font-size:.8125rem;color:var(--faint)}.shamsa-landing .waitlist-error{margin-top:1.1rem;font-size:.8125rem;color:#c96f5e}.shamsa-landing .waitlist-success{display:flex;margin:2.5rem auto 0;max-width:480px;align-items:center;justify-content:center;gap:.8rem;border:1px solid rgba(195,147,102,.4);border-radius:999px;padding:.95rem 1.6rem;color:var(--text);font-size:.9375rem}.shamsa-landing .waitlist-success svg{width:20px;height:20px;color:var(--bronze);flex:none}.shamsa-landing .waitlist-signin{margin:2.5rem auto 0;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:1.1rem}.shamsa-landing .waitlist-signin p{color:var(--text);font-size:.9375rem}.shamsa-landing footer{border-top:1px solid var(--hairline);padding:clamp(3rem,7vh,4.5rem) 0 2.5rem}.shamsa-landing .foot-top{display:flex;align-items:flex-start;justify-content:space-between;gap:2.5rem;flex-wrap:wrap}.shamsa-landing .foot-brand .brand{margin-bottom:.9rem}.shamsa-landing .foot-brand p{font-family:var(--serif);font-style:italic;font-weight:300;color:var(--muted);font-size:1.05rem}.shamsa-landing .foot-nav{display:flex;gap:clamp(2rem,5vw,4.5rem);flex-wrap:wrap}.shamsa-landing .foot-nav ul{list-style:none;display:grid;gap:.65rem}.shamsa-landing .foot-nav .col-label{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-bottom:.9rem}.shamsa-landing .foot-nav a{font-size:.9rem;color:var(--muted);text-decoration:none;transition:color .2s ease}.shamsa-landing .foot-nav a:hover{color:var(--bronze)}.shamsa-landing .foot-bottom{margin-top:clamp(2.5rem,6vh,4rem);padding-top:1.75rem;border-top:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8125rem;color:var(--faint)}@media (prefers-reduced-motion: reduce){.shamsa-landing .rise,.shamsa-landing .reveal{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.shamsa-landing .hero-mark .rays{animation:none}.shamsa-landing *,.shamsa-landing *:before,.shamsa-landing *:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (max-width: 768px){.shamsa-landing{font-size:1rem}.shamsa-landing .nav-inner{height:66px;gap:.75rem}.shamsa-landing .nav-links{display:none}.shamsa-landing .nav-actions{gap:.9rem}.shamsa-landing .nav .btn{padding:.58em 1.05em;font-size:.875rem}.shamsa-landing .nav .text-link{font-size:.875rem}.shamsa-landing .brand svg{width:26px;height:26px}.shamsa-landing .brand .wordmark{font-size:1.3rem}.shamsa-landing .hero{padding-top:calc(66px + 3.5rem);text-align:center}.shamsa-landing .hero-cta{flex-direction:column;align-items:stretch}.shamsa-landing .hero-cta .btn{width:100%}.shamsa-landing .moment,.shamsa-landing .moment.flip{grid-template-columns:minmax(0,1fr);gap:2rem}.shamsa-landing .moment.flip .moment-copy{order:1}.shamsa-landing .moment.flip .moment-visual{order:2}.shamsa-landing .grid-4{grid-template-columns:minmax(0,1fr)}.shamsa-landing .outcomes{grid-template-columns:minmax(0,1fr);gap:2rem;text-align:left}.shamsa-landing .waitlist{flex-direction:column}.shamsa-landing .waitlist .btn{width:100%}.shamsa-landing .foot-top{flex-direction:column}.shamsa-landing .portal-row{flex-wrap:wrap}}@media (max-width: 420px){.shamsa-landing .stage-chip{font-size:.7rem}}.modal-body{max-height:50vh;overflow-y:auto}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background-color:var(--color-bg-primary);background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:40px 40px;position:relative;overflow:hidden}.auth-card{width:100%;max-width:420px;padding:var(--space-8);border:1px solid var(--color-border);background:var(--color-bg-card);box-shadow:var(--shadow-xl);position:relative;z-index:1}.auth-brand{text-align:center;margin-bottom:var(--space-8)}.auth-logo{width:60px;height:60px;object-fit:contain;margin:0 auto var(--space-4)}.auth-title{font-size:24px;font-weight:800;margin-bottom:var(--space-1);color:var(--color-text-primary);letter-spacing:-.5px}.auth-subtitle{font-size:13px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.1em;font-weight:500}.auth-form{margin-bottom:var(--space-6)}.auth-form .input-group{margin-bottom:var(--space-4)}.auth-form .input-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:var(--color-text-secondary);margin-bottom:6px;display:block}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .icon-lucide{position:absolute;left:12px;color:var(--color-text-tertiary);pointer-events:none}.input-with-icon .input-field{padding-left:40px!important;background:var(--color-bg-tertiary);border-color:var(--color-border);transition:all .3s ease}.input-with-icon .input-field:focus{background:var(--color-bg-secondary);border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-subtle)}.auth-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--color-text-tertiary);font-size:11px;text-transform:uppercase;letter-spacing:.1em}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#c393661a}.auth-google{width:100%;gap:var(--space-3);background:transparent!important;border:1px solid rgba(195,147,102,.2)!important;color:var(--color-text-primary)!important;font-size:14px!important;font-weight:600!important}.auth-google:hover{background:#c393660d!important;border-color:var(--color-accent)!important}.auth-footer{text-align:center;font-size:13px;color:var(--color-text-tertiary);margin-top:var(--space-8)}.auth-footer a{color:var(--color-accent);font-weight:700;text-decoration:none;transition:color .2s}.auth-footer a:hover{color:#d4a77a;text-decoration:underline}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-xs: .75rem;--font-sm: .8125rem;--font-base: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.375rem;--font-2xl: 1.75rem;--font-3xl: 2.25rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--sidebar-collapsed: 72px;--topbar-height: 60px;--content-max-width: 1400px;--color-bg-primary: #0F1012;--color-bg-sidebar: #141618;--color-bg-card: #181A1C;--color-bg-secondary: #1C1E20;--color-bg-tertiary: #242629;--color-surface: #181A1C;--color-surface-hover: #1F2124;--color-border: rgba(255, 255, 255, .06);--color-border-subtle: rgba(255, 255, 255, .03);--color-grid-line: rgba(255, 255, 255, .02);--color-accent: #C39366;--color-accent-dark: #A67D56;--color-accent-light: #D4B69A;--color-accent-subtle: rgba(195, 147, 102, .12);--color-accent-glow: rgba(195, 147, 102, .2);--color-primary: var(--color-accent);--color-success: #2D4A3E;--color-success-rgb: 45, 74, 62;--color-success-text: #86EFAC;--color-warning: #4A3F2D;--color-warning-rgb: 74, 63, 45;--color-warning-text: #FDE047;--color-danger: #a63232;--color-danger-rgb: 166, 50, 50;--color-danger-text: #FCA5A5;--color-info: #2D3E4A;--color-accent-rgb: 195, 147, 102;--color-primary-rgb: 195, 147, 102;--color-text-primary: #F0F2F5;--color-text-secondary: #909499;--color-text-tertiary: #606468;--color-text-inverse: #0F1012;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .5);--shadow-md: 0 4px 12px rgba(0, 0, 0, .6);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .7);--shadow-xl: 0 20px 48px rgba(0, 0, 0, .8)}html,body{max-width:100vw;overflow-x:hidden;position:relative;-webkit-text-size-adjust:100%}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.theme-light{--color-bg-primary: #F8F9FA;--color-bg-sidebar: #FFFFFF;--color-bg-card: #FFFFFF;--color-bg-secondary: #F1F3F5;--color-bg-tertiary: #E9ECEF;--color-surface: #FFFFFF;--color-surface-hover: #F8F9FA;--color-border: rgba(0, 0, 0, .08);--color-border-subtle: rgba(0, 0, 0, .04);--color-grid-line: rgba(0, 0, 0, .03);--color-accent: #C39366;--color-accent-dark: #A67D56;--color-accent-light: #D4B69A;--color-accent-subtle: rgba(195, 147, 102, .1);--color-accent-glow: rgba(195, 147, 102, .15);--color-primary: var(--color-accent);--color-success: #DEF2E6;--color-success-text: #166534;--color-warning: #FEF9C3;--color-warning-text: #854D0E;--color-danger: #a63232;--color-danger-text: #991B1B;--color-info: #E1F5FE;--color-text-primary: #1A1C20;--color-text-secondary: #5F6368;--color-text-tertiary: #9AA0A6;--color-text-inverse: #FFFFFF;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .08);--shadow-xl: 0 20px 48px rgba(0, 0, 0, .1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased;background:var(--color-bg-primary)}body{font-family:var(--font-family);background:var(--color-bg-primary);background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:40px 40px;color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-light)}button{font-family:var(--font-family);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font-family);font-size:var(--font-base)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.glass-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.glass-card:hover{background:var(--color-bg-secondary);border-color:#c3936633;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-base);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;line-height:1;height:42px}.btn-primary{background:var(--color-accent);color:var(--color-bg-primary);font-weight:700}.btn-primary:hover{background:var(--color-accent-light);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-border-hover)}.btn-ghost{color:var(--color-text-secondary)}.btn-ghost:hover{color:var(--color-text-primary);background:var(--color-surface)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626;transform:translateY(-1px)}.btn-sm{height:30px;font-size:var(--font-sm);padding:var(--space-1) var(--space-3)}.btn-lg{height:46px;font-size:var(--font-md);padding:var(--space-3) var(--space-6)}.btn:disabled{opacity:.5;pointer-events:none}input[type=checkbox]{accent-color:var(--color-accent);cursor:pointer}.input-field{width:100%;padding:var(--space-2) var(--space-3);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-base);transition:all var(--transition-fast);height:40px}.input-field:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.input-field::placeholder{color:var(--color-text-tertiary)}.input-field::-webkit-calendar-picker-indicator{filter:invert(.7);opacity:.6;cursor:pointer}.theme-light .input-field::-webkit-calendar-picker-indicator{filter:none;opacity:.45}textarea.input-field{height:auto;min-height:100px;resize:vertical}.input-label{display:block;font-size:var(--font-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-1)}.input-group{margin-bottom:var(--space-4)}.input-error{border-color:var(--color-danger)!important}.error-text{font-size:var(--font-xs);color:var(--color-danger);margin-top:var(--space-1)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 10px;font-size:var(--font-xs);font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.badge-active{background:var(--color-accent-glow);color:var(--color-accent-light)}.badge-completed{background:var(--color-success-glow);color:var(--color-success)}.badge-locked{background:#64748b26;color:var(--color-text-tertiary)}.badge-warning{background:var(--color-warning-glow);color:var(--color-warning)}.badge-danger{background:var(--color-danger-glow);color:var(--color-danger)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:6px var(--space-4);font-size:var(--font-xs);font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--color-border)}.data-table td{padding:6px var(--space-4);font-size:var(--font-base);color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}.data-table tbody tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--color-bg-elevated)}.page-container{padding:var(--space-6) var(--space-8);max-width:var(--content-max-width);animation:fadeIn .3s ease}.page-header{margin-bottom:var(--space-6)}.page-title{font-size:var(--font-2xl);font-weight:700;color:var(--color-text-primary);line-height:1.2;letter-spacing:-.02em}.page-subtitle{font-size:var(--font-base);color:var(--color-text-secondary);margin-top:var(--space-1)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.grid-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-6)}.stat-card{padding:var(--space-5);container-type:inline-size}.icon-lucide{vertical-align:middle;stroke-width:1.25px;display:inline-block;line-height:1}.stat-card .stat-label{font-size:10px;font-weight:700;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--space-2)}.stat-card .stat-value{font-size:clamp(1rem,16cqi,var(--font-3xl));font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:baseline}.stat-card .stat-trend{font-size:var(--font-xs);color:var(--color-text-secondary);margin-top:var(--space-1)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-16) var(--space-8);text-align:center}.empty-state .empty-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}.empty-state .empty-title{font-size:var(--font-lg);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-state .empty-description{font-size:var(--font-base);color:var(--color-text-secondary);max-width:400px;margin-bottom:var(--space-6)}.view-toggle,.scale-toggle{display:flex;background:var(--color-bg-secondary);padding:4px;border-radius:10px;border:1px solid var(--color-border);width:fit-content}.view-toggle .btn,.scale-toggle .btn{padding:6px 16px;border-radius:8px;font-size:var(--font-xs);font-weight:600;transition:all var(--transition-fast)}.scale-toggle .btn{padding:6px 12px}.view-toggle .btn.btn-primary,.scale-toggle .btn.btn-primary{background:var(--color-accent)!important;color:var(--color-text-inverse)!important}.view-toggle .btn.btn-ghost:hover,.scale-toggle .btn.btn-ghost:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}@media (max-width: 768px){.hide-on-mobile{display:none!important}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);width:90%;max-width:560px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.modal-title{font-size:var(--font-xl);font-weight:700}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--color-text-tertiary);font-size:var(--font-lg);transition:all var(--transition-fast)}.modal-close:hover{background:var(--color-surface);color:var(--color-text-primary)}.modal-footer{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.progress-bar{width:100%;height:4px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-full);background:var(--color-accent);box-shadow:0 0 8px #c3936666;transition:width var(--transition-base)}.progress-fill.warning{background:var(--color-warning-text)}.progress-fill.danger{background:var(--color-danger-text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton{background:linear-gradient(90deg,var(--color-bg-tertiary) 25%,var(--color-surface) 50%,var(--color-bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:4px 10px;background:var(--color-bg-tertiary);color:var(--color-text-primary);font-size:var(--font-xs);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast)}[data-tooltip]:hover:after{opacity:1}@media (max-width: 768px){.input-field{font-size:16px!important}.modal-container{width:95%!important;padding:var(--space-4)!important}.responsive-grid{grid-template-columns:1fr!important;gap:var(--space-3)!important}.page-container{padding:var(--space-4)}.grid-stats{grid-template-columns:repeat(2,1fr)}.grid-cards{grid-template-columns:1fr}.page-title{font-size:var(--font-xl)}.flex-between{flex-wrap:wrap;gap:var(--space-2)}}.date-picker-wrapper{width:100%}.react-datepicker-wrapper .input-field{width:100%;box-sizing:border-box;padding:4px;height:32px}.weekend-highlight,.react-datepicker__day.weekend-highlight{background-color:#ef44441a!important;color:var(--color-danger)!important;border-radius:4px;font-weight:600}.weekend-highlight:hover{background-color:var(--color-danger)!important;color:#fff!important}.react-datepicker__day--today{font-weight:700;color:var(--color-accent)!important;border:1px solid var(--color-accent);border-radius:4px}.react-datepicker__day--today.react-datepicker__day--selected{color:#fff!important}.react-datepicker-popper{z-index:9999!important}.react-datepicker__close-icon:after{background-color:var(--color-accent)!important;color:#fff!important}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--color-accent)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;border-radius:4px;background:var(--color-border);outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--color-accent);border:none;cursor:pointer}input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--color-accent);border:none;cursor:pointer}@media screen{.print-only{display:none!important}}@media print{@page{size:auto;margin:15mm}:root,.theme-dark,.theme-light,[class*=theme-]{--color-bg-primary: #ffffff !important;--color-bg-secondary: #f8fafc !important;--color-bg-tertiary: #f1f5f9 !important;--color-bg-card: #ffffff !important;--color-surface: #ffffff !important;--color-border: #cbd5e1 !important;--color-border-subtle: #e2e8f0 !important;--color-grid-line: #f1f5f9 !important;--color-text-primary: #0f172a !important;--color-text-secondary: #334155 !important;--color-text-tertiary: #475569 !important;--color-text-inverse: #ffffff !important;--color-primary: #1d4ed8 !important;--color-success: #059669 !important;--color-success-text: #059669 !important;--color-danger: #dc2626 !important;--color-accent: #1d4ed8 !important;--shadow-sm: none !important;--shadow-md: none !important;--shadow-lg: none !important;--shadow-xl: none !important}body{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;background-color:#fff!important;color:#0f172a!important}.print-only{display:block!important}.print-page-break{page-break-after:always!important;break-after:page!important}.sidebar,.topbar,.hide-on-print,nav,.modal-overlay,.btn:not(.btn-print-only){display:none!important}.app-layout{display:block!important}.main-content{margin:0!important;padding:0!important;width:100%!important;max-width:100%!important}.glass-card{border:none!important;background:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;padding:0!important}.page-container{padding:0!important;margin:0!important}.timeline-view,.progress-fill,.progress-bar,.badge{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}h1,h2,h3,.stage-section__title{color:#1d4ed8!important;page-break-after:avoid}.page-title{color:#0f172a!important}*{text-shadow:none!important;box-shadow:none!important}}.history-card{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.history-card:hover{transform:translateY(-4px);background:#ffffff0a!important;box-shadow:0 8px 24px #0000004d;border-color:rgba(var(--color-accent-rgb),.2)!important}.history-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(var(--color-accent-rgb),.03),transparent);transform:translate(-100%);transition:transform .6s}.history-card:hover:before{transform:translate(100%)}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6)}@media (max-width: 1024px){.detail-grid{grid-template-columns:1fr}}@media (max-width: 640px){.pipeline-container{padding:16px!important}}.date-input-wrapper{display:flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;margin-left:-8px;border-radius:6px;transition:all .2s ease;width:fit-content}.date-input-wrapper.is-editable:hover{background-color:var(--color-bg-secondary)}.date-input-minimal{position:relative;cursor:pointer}.date-input-minimal::-webkit-calendar-picker-indicator{background:transparent;bottom:0;color:transparent;cursor:pointer;height:auto;left:0;position:absolute;right:0;top:0;width:auto;margin:0;padding:0}.custom-checkbox-container{display:inline-flex;align-items:center;gap:8px;margin-bottom:4px;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none}.custom-checkbox-box{width:18px;height:18px;border-radius:4px;border:1.5px solid var(--color-text-tertiary);background:transparent;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.custom-checkbox-box.checked{border-color:var(--color-primary);background:var(--color-accent-subtle);box-shadow:0 0 8px var(--color-accent-glow)}.custom-checkbox-container:focus-visible .custom-checkbox-box{outline:2px solid var(--color-primary);outline-offset:2px}.custom-checkbox-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);display:flex;align-items:center;gap:6px;transition:color .2s ease}.custom-checkbox-label.checked{color:var(--color-text-primary)}.status-text-block{padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;display:flex;align-items:flex-start;gap:12px}.status-text-block__icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px}.status-text-block.success .status-text-block__icon{color:var(--color-success-text)}.status-text-block.danger .status-text-block__icon{color:#ef4444}.status-text-block__body{display:flex;flex-direction:column;gap:4px}.status-text-block__header{font-weight:600;font-size:13px;color:var(--color-text-primary)}.status-text-block__content{color:var(--color-text-secondary);font-size:12px;display:flex;flex-direction:column;gap:4px}.status-text-block__text-highlight{color:var(--color-text-primary);font-weight:500}.status-text-block__error-desc{color:var(--color-text-secondary);font-weight:500}
