:root{--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--color-bg:#ebf8ff;--color-bg-soft:#f0f9ff;--color-surface:#fff;--color-surface-elevated:#fff;--color-border:#dbeafe;--color-border-strong:#bfdbfe;--color-text:#1a365d;--color-text-secondary:#4a5568;--color-text-muted:#718096;--color-primary:#3182ce;--color-primary-hover:#2b6cb0;--color-primary-soft:#4299e1;--color-primary-subtle:#ebf8ff;--color-primary-ring:#90cdf4;--color-primary-gradient:linear-gradient(90deg,#4299e1,#3182ce);--color-primary-gradient-hover:linear-gradient(90deg,#3182ce,#2b6cb0);--color-header-from:#fff;--color-header-to:#fff;--color-header-text:#1a365d;--color-header-muted:#4a5568;--color-success:#38a169;--color-success-hover:#2f855a;--color-success-subtle:#f0fff4;--color-danger:#e53e3e;--color-danger-hover:#c53030;--color-danger-subtle:#fff5f5;--color-warning:#dd6b20;--color-info:#3182ce;--primary:var(--color-primary);--secondary:#718096;--success:var(--color-success);--danger:var(--color-danger);--muted:var(--color-border);--ring:var(--color-primary-ring);--light-gray:#f7fafc;--gray-200:#e2e8f0;--gray-600:#4a5568;--radius-sm:10px;--radius:12px;--radius-lg:16px;--radius-xl:24px;--shadow-sm:0 1px 2px #3182ce0f;--shadow:0 4px 14px #3182ce14,0 2px 4px #1a365d0a;--shadow-md:0 10px 28px #3182ce1f,0 4px 8px #1a365d0a;--shadow-lg:0 20px 40px #3182ce24,0 8px 16px #1a365d0f;--transition:0.2s cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background:radial-gradient(ellipse 80% 50% at 0 -10%,#4299e138,#0000 55%),radial-gradient(ellipse 60% 40% at 100% 0,#3182ce1a,#0000 50%),linear-gradient(180deg,#ebf8ff,#fff 45%,#f7fafc);background-attachment:fixed;color:#1a365d;color:var(--color-text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-sans);font-size:14px;line-height:1.5}#root,body{min-height:100vh}.btn{align-items:center;border:1px solid #0000;border-radius:10px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;font-weight:600;gap:8px;justify-content:center;line-height:1.25;padding:10px 16px;text-decoration:none;transition:background .2s cubic-bezier(.4,0,.2,1),border-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1);transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform var(--transition);white-space:nowrap}.btn:focus-visible{outline:2px solid #90cdf4;outline:2px solid var(--color-primary-ring);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.55;transform:none!important}.btn-primary{background:linear-gradient(90deg,#4299e1,#3182ce);background:var(--color-primary-gradient);border-color:#0000;box-shadow:0 4px 14px #3182ce47;color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(90deg,#3182ce,#2b6cb0);background:var(--color-primary-gradient-hover);box-shadow:0 6px 18px #3182ce59;transform:translateY(-1px)}.btn-secondary{background:#fff;background:var(--color-surface);border-color:#bfdbfe;border-color:var(--color-border-strong);color:#4a5568;color:var(--color-text-secondary)}.btn-secondary:hover:not(:disabled){background:#ebf8ff;background:var(--color-primary-subtle);border-color:#90cdf4;border-color:var(--color-primary-ring);color:#3182ce;color:var(--color-primary)}.btn-success{background:linear-gradient(90deg,#4299e1,#3182ce);background:var(--color-primary-gradient);box-shadow:0 4px 14px #3182ce47;color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(90deg,#3182ce,#2b6cb0);background:var(--color-primary-gradient-hover);box-shadow:0 6px 18px #3182ce59}.btn-danger{background:#e53e3e;background:var(--color-danger);box-shadow:0 1px 2px #3182ce0f;box-shadow:var(--shadow-sm);color:#fff}.btn-danger:hover:not(:disabled){background:#c53030;background:var(--color-danger-hover)}.btn-outline{background:#fff;background:var(--color-surface);border-color:#90cdf4;border-color:var(--color-primary-ring);color:#3182ce;color:var(--color-primary)}.btn-outline:hover:not(:disabled){background:#ebf8ff;background:var(--color-primary-subtle);border-color:#3182ce;border-color:var(--color-primary);color:#2b6cb0;color:var(--color-primary-hover)}.btn-link{background:none;border:none;color:#3182ce;color:var(--color-primary);font-weight:500;padding:0}.btn-link:hover:not(:disabled){color:#2b6cb0;color:var(--color-primary-hover);text-decoration:underline}.form-group{margin-bottom:16px}.form-label{color:#4a5568;color:var(--color-text-secondary);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-control{background:#fff;background:var(--color-surface);border:1px solid #bfdbfe;border:1px solid var(--color-border-strong);border-radius:10px;border-radius:var(--radius-sm);color:#1a365d;color:var(--color-text);font-family:inherit;font-size:14px;padding:10px 14px;transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-control:focus{border-color:#3182ce;border-color:var(--color-primary);box-shadow:0 0 0 3px #3182ce2e;outline:none}.form-control::placeholder{color:#718096;color:var(--color-text-muted)}.header,.topbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid #dbeafe;border-bottom:1px solid var(--color-border);box-shadow:0 1px 0 #dbeafe,0 1px 2px #3182ce0f;box-shadow:0 1px 0 var(--color-border),var(--shadow-sm);display:flex;gap:16px;justify-content:space-between;padding:16px 24px;position:sticky;top:0;z-index:100}.header,.header h1,.topbar,.topbar h1,.topbar-brand{align-items:center;color:#1a365d;color:var(--color-header-text)}.header h1,.topbar h1,.topbar-brand{display:inline-flex;flex-shrink:0;font-size:1.25rem;font-weight:800;gap:10px;letter-spacing:-.02em;line-height:1;margin:0;text-decoration:none}.header h1 svg,.topbar h1 svg,.topbar-brand svg{color:#3182ce;color:var(--color-primary);display:block;flex-shrink:0}.header-right{align-items:center;display:flex;gap:12px}.header-user{background:#ebf8ff;background:var(--color-primary-subtle);border:1px solid #dbeafe;border:1px solid var(--color-border);border-radius:999px;color:#4a5568;color:var(--color-header-muted);font-size:13px;font-weight:500;padding:6px 12px}.header .btn-primary,.header .btn-success,.topbar .btn-primary,.topbar .btn-success{box-shadow:0 4px 14px #3182ce47}.header .btn-outline,.topbar .btn-outline{background:#fff;border-color:#90cdf4;border-color:var(--color-primary-ring);color:#3182ce;color:var(--color-primary)}.header .btn-outline:hover:not(:disabled),.topbar .btn-outline:hover:not(:disabled){background:#ebf8ff;background:var(--color-primary-subtle);border-color:#3182ce;border-color:var(--color-primary);color:#2b6cb0;color:var(--color-primary-hover)}.field-hint,.text-muted{color:#718096}.Toastify__toast{border:1px solid #0000!important;border-radius:12px!important;border-radius:var(--radius)!important;box-shadow:0 10px 28px #3182ce1f,0 4px 8px #1a365d0a!important;box-shadow:var(--shadow-md)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif!important;font-family:var(--font-sans)!important;font-size:14px;font-weight:600;min-height:52px;padding:12px 16px!important}.Toastify__toast-body{color:inherit!important;line-height:1.4;padding:0!important}.Toastify__close-button{align-self:center!important;opacity:.65!important}.Toastify__close-button:hover{opacity:1!important}.Toastify__progress-bar{height:3px!important;opacity:.85}.Toastify__toast--success{background:#c6f6d5!important;border-color:#9ae6b4!important;color:#276749!important}.Toastify__toast--success .Toastify__toast-icon svg{fill:#276749!important}.Toastify__toast--success .Toastify__close-button{color:#276749!important}.Toastify__toast--success .Toastify__progress-bar{background:#38a169!important}.Toastify__toast--error{background:#fed7d7!important;border-color:#feb2b2!important;color:#9b2c2c!important}.Toastify__toast--error .Toastify__toast-icon svg{fill:#9b2c2c!important}.Toastify__toast--error .Toastify__close-button{color:#9b2c2c!important}.Toastify__toast--error .Toastify__progress-bar{background:#e53e3e!important}.Toastify__toast--warning{background:#fefcbf!important;border-color:#f6e05e!important;color:#975a16!important}.Toastify__toast--warning .Toastify__toast-icon svg{fill:#975a16!important}.Toastify__toast--warning .Toastify__close-button{color:#975a16!important}.Toastify__toast--warning .Toastify__progress-bar{background:#d69e2e!important}.Toastify__toast--info{background:#ebf8ff!important;border-color:#90cdf4!important;color:#2b6cb0!important}.Toastify__toast--info .Toastify__toast-icon svg{fill:#2b6cb0!important}.Toastify__toast--info .Toastify__close-button{color:#2b6cb0!important}.Toastify__toast--info .Toastify__progress-bar{background:#3182ce!important}.Toastify__toast--default{background:#fff!important;border-color:#dbeafe!important;border-color:var(--color-border)!important;color:#1a365d!important;color:var(--color-text)!important}html{scroll-behavior:smooth}.landing{background:#0000;color:var(--color-text);min-height:100vh}.landing-nav{transition:box-shadow .25s ease,padding .25s ease;z-index:100}.landing-nav--scrolled{box-shadow:0 8px 24px #3182ce1a;padding-bottom:12px;padding-top:12px}.landing-brand{align-items:center;color:var(--color-text);display:inline-flex;font-size:1.1rem;font-weight:800;gap:10px;letter-spacing:-.02em;line-height:1;text-decoration:none}.landing-brand svg{color:var(--color-primary);display:block;flex-shrink:0}.landing-nav-links{display:flex;gap:24px;margin-right:auto}.landing-nav-links a{color:var(--color-text-secondary);font-size:14px;font-weight:600;text-decoration:none;transition:color .2s}.landing-nav-links a:hover{color:var(--color-primary)}.landing-nav-links a:focus-visible{border-radius:4px;outline:2px solid var(--color-primary-ring);outline-offset:4px}.landing-cta-nav{background:var(--color-primary-gradient);border:none;box-shadow:0 4px 14px #3182ce47;color:#fff;padding:10px 18px}.landing-cta-nav:hover:not(:disabled){background:var(--color-primary-gradient-hover);color:#fff}.landing-hero{background:#0000;padding:96px 24px 88px}.landing-hero-inner{grid-gap:56px;align-items:center;display:grid;gap:56px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px}.landing-eyebrow{background:#0000;border-radius:0;color:var(--color-primary);display:inline-block;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:16px;padding:0;text-transform:uppercase}.landing-hero h1{color:var(--color-text);font-size:clamp(2.1rem,4.2vw,3.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.12;margin-bottom:20px}.landing-highlight{background:none;color:var(--color-primary)}.landing-hero-text{color:var(--color-text-secondary);font-size:1.1rem;line-height:1.65;margin-bottom:28px;max-width:520px}.landing-hero-actions{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:36px}.landing-hero-btn{font-size:15px;padding:13px 24px}.landing-hero-link{align-items:center;color:var(--color-primary);display:inline-flex;font-size:15px;font-weight:600;gap:6px;text-decoration:none;transition:gap .2s ease,color .2s ease}.landing-hero-link:hover{color:var(--color-primary-hover);gap:10px}.landing-hero-link:focus-visible{border-radius:4px;outline:2px solid var(--color-primary-ring);outline-offset:4px}.landing-hero-stats-bar{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;max-width:520px;padding:14px 8px}.landing-stat-item{align-items:center;color:var(--color-text-secondary);display:flex;flex:1 1;font-size:12px;font-weight:600;gap:8px;justify-content:center;padding:6px 12px;text-align:center}.landing-stat-item svg{color:var(--color-primary);flex-shrink:0}.landing-stat-divider{background:var(--color-border);flex-shrink:0;height:28px;width:1px}.landing-hero-visual{min-height:340px;position:relative}.landing-mock-glow{background:radial-gradient(ellipse at center,#2563eb38,#0000 70%);filter:blur(24px);inset:10% 5% 15% 10%;pointer-events:none;position:absolute;z-index:0}.landing-mock-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.landing-mock-card--primary{box-shadow:0 24px 60px #2563eb24,0 8px 24px #0f172a14;overflow:hidden;padding:0;position:relative;z-index:1}.landing-mock-header{background:var(--light-gray);border-bottom:1px solid var(--color-border);display:flex;gap:7px;padding:12px 16px}.landing-mock-dot{border-radius:50%;height:11px;width:11px}.landing-mock-dot--close{background:#ff5f57}.landing-mock-dot--min{background:#febc2e}.landing-mock-dot--max{background:#28c840}.landing-mock-body{display:flex;flex-direction:column;gap:14px;padding:22px}.landing-mock-row{align-items:center;display:flex;font-size:14px;gap:12px;justify-content:space-between}.landing-mock-label{color:var(--color-text-muted);font-weight:500}.landing-mock-value{color:var(--color-text);font-weight:600}.landing-mock-card--secondary{animation:landing-float 4.5s ease-in-out infinite;bottom:0;box-shadow:0 16px 40px #0f172a1f;display:flex;gap:24px;min-width:220px;padding:20px;position:absolute;right:0;z-index:2}@keyframes landing-float{0%,to{transform:translate(8%,12%)}50%{transform:translate(8%,4%)}}.landing-mock-mini-stat{display:flex;flex-direction:column;gap:2px}.landing-mock-mini-stat strong{color:var(--color-primary);font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.landing-mock-mini-stat span{color:var(--color-text-muted);font-size:12px;font-weight:500}.landing-section{padding:72px 24px}.landing-section--alt{background:var(--color-surface);border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border)}.landing-section-inner{margin:0 auto;max-width:1200px}.landing-section-head{margin:0 auto 48px;max-width:600px;text-align:center}.landing-section-head h2{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;letter-spacing:-.03em;margin-bottom:12px}.landing-section-head p{color:var(--color-text-secondary);font-size:1.05rem;line-height:1.6}.landing-features{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.landing-feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;transition:transform .2s,box-shadow .2s}.landing-section--alt .landing-feature-card{background:var(--light-gray)}.landing-feature-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.landing-feature-icon{align-items:center;background:var(--color-primary-subtle);border-radius:var(--radius-sm);color:var(--color-primary);display:flex;height:44px;justify-content:center;margin-bottom:16px;width:44px}.landing-feature-card h3{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.landing-feature-card p{color:var(--color-text-secondary);font-size:14px;line-height:1.6;margin:0}.landing-timeline{grid-gap:0;display:grid;gap:0;grid-template-columns:repeat(4,1fr);padding:24px 0 8px;position:relative}.landing-timeline-track{background:linear-gradient(90deg,#2563eb,#d97706 33%,#7c3aed 66%,#059669);border-radius:999px;height:3px;left:12.5%;opacity:.35;position:absolute;right:12.5%;top:44px}.landing-timeline-step{align-items:center;display:flex;flex-direction:column;padding:0 12px;position:relative;text-align:center;z-index:1}.landing-timeline-marker{align-items:center;background:var(--color-surface);border:3px solid var(--color-border);border-radius:50%;box-shadow:var(--shadow-sm);display:flex;height:40px;justify-content:center;margin-bottom:16px;width:40px}.landing-timeline-number{color:var(--color-text);font-size:14px;font-weight:800}.landing-timeline-step--inward .landing-timeline-marker{background:#eff6ff;border-color:#2563eb}.landing-timeline-step--inward .landing-timeline-number{color:#1d4ed8}.landing-timeline-step--in_progress .landing-timeline-marker{background:#fffbeb;border-color:#d97706}.landing-timeline-step--in_progress .landing-timeline-number{color:#b45309}.landing-timeline-step--outward .landing-timeline-marker{background:#f5f3ff;border-color:#7c3aed}.landing-timeline-step--outward .landing-timeline-number{color:#6d28d9}.landing-timeline-step--completed .landing-timeline-marker{background:#ecfdf5;border-color:#059669}.landing-timeline-step--completed .landing-timeline-number{color:#047857}.landing-timeline-content{background:var(--light-gray);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius);padding:16px 14px;width:100%}.landing-timeline-step--inward .landing-timeline-content{border-left-color:#2563eb}.landing-timeline-step--in_progress .landing-timeline-content{border-left-color:#d97706}.landing-timeline-step--outward .landing-timeline-content{border-left-color:#7c3aed}.landing-timeline-step--completed .landing-timeline-content{border-left-color:#059669}.landing-timeline-content p{color:var(--color-text-muted);font-size:13px;font-weight:500;margin:10px 0 0}.landing-cta{background:radial-gradient(ellipse 70% 80% at 50% 0,#4299e133,#0000),linear-gradient(180deg,#ebf8ff,#dbeafe);color:var(--color-text);padding:80px 24px}.landing-cta-inner{margin:0 auto;max-width:640px;text-align:center}.landing-cta h2{color:var(--color-text);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:800;letter-spacing:-.03em;margin-bottom:12px}.landing-cta p{color:var(--color-text-secondary);font-size:1.05rem;line-height:1.6;margin-bottom:28px;opacity:1}.landing-cta-btn{background:var(--color-primary-gradient);border:none;box-shadow:0 6px 20px #3182ce4d;color:#fff;font-size:16px;padding:14px 28px}.landing-cta-btn:hover{background:var(--color-primary-gradient-hover);color:#fff}.landing-footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:32px 24px}.landing-footer-inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin:0 auto;max-width:1200px}.landing-footer p{color:var(--color-text-muted);font-size:13px;margin:0}.landing .status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.landing .status-badge.status-inward{background:#ebf8ff;color:#2b6cb0}.landing .status-badge.status-in_progress{background:#fefcbf;color:#b7791f}.landing .status-badge.status-outward{background:#e9d8fd;color:#6b46c1}.landing .status-badge.status-completed{background:#c6f6d5;color:#276749}@media (max-width:900px){.landing-hero{padding:72px 24px 64px}.landing-hero-inner{gap:40px;grid-template-columns:1fr}.landing-hero-visual{margin:0 auto;max-width:420px}.landing-mock-card--secondary{animation:landing-float-mobile 4.5s ease-in-out infinite}@keyframes landing-float-mobile{0%,to{transform:translateY(8%)}50%{transform:translate(0)}}.landing-nav-links{display:none}.landing-features{grid-template-columns:repeat(2,1fr)}.landing-timeline{gap:32px 16px;grid-template-columns:1fr 1fr}.landing-timeline-track{display:none}}@media (max-width:600px){.landing-hero{padding:48px 16px 56px}.landing-section{padding:48px 16px}.landing-hero-actions{align-items:stretch;flex-direction:column;gap:12px}.landing-hero-btn{width:100%}.landing-hero-btn,.landing-hero-link{justify-content:center}.landing-features{grid-template-columns:1fr}.landing-hero-stats-bar{flex-direction:column;gap:4px;padding:12px}.landing-stat-divider{height:1px;width:80%}.landing-stat-item{justify-content:flex-start;padding:8px 12px;width:100%}.landing-timeline{gap:20px;grid-template-columns:1fr;padding-top:0}.landing-timeline-step{align-items:flex-start;flex-direction:row;gap:14px;text-align:left}.landing-timeline-marker{flex-shrink:0;margin-bottom:0}.landing-footer-inner{flex-direction:column;text-align:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing-mock-card--secondary{animation:none;transform:translate(8%,12%)}.landing-nav,.landing-nav--scrolled{transition:none}}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.App{background:#0000}.App,.app-shell{min-height:100vh}.app-main,.app-shell{display:flex}.app-main{flex:1 1;flex-direction:column;min-width:0}.app-topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;gap:12px;justify-content:space-between;padding:14px 20px;position:sticky;top:0;z-index:90}.app-topbar-title{color:var(--color-text);font-size:1.15rem;font-weight:800;letter-spacing:-.02em;margin:0}.app-topbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.sidebar-toggle{display:inline-flex}.app-sidebar{background:#fff;border-right:1px solid var(--color-border);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;flex-shrink:0;height:100vh;padding:18px 14px;position:sticky;top:0;width:260px;z-index:120}.sidebar-backdrop{display:none}.sidebar-brand{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;gap:8px;justify-content:space-between;margin-bottom:16px;padding:6px 8px 18px}.sidebar-brand-main{align-items:center;color:var(--color-primary);display:flex;gap:10px}.sidebar-brand-main strong{color:var(--color-text);display:block;font-size:.95rem;line-height:1.2}.sidebar-brand-main span{color:var(--color-text-muted);display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin-top:2px;text-transform:uppercase}.sidebar-close{align-items:center;background:var(--color-primary-subtle);border:none;border-radius:8px;color:var(--color-primary);cursor:pointer;display:none;height:32px;justify-content:center;width:32px}.sidebar-nav{display:flex;flex:1 1;flex-direction:column;gap:4px}.sidebar-section-label{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.1em;margin:0 8px 8px;text-transform:uppercase}.sidebar-link{align-items:center;background:#0000;border:none;border-radius:10px;color:var(--color-text-secondary);cursor:pointer;display:flex;font:inherit;font-size:14px;font-weight:600;gap:10px;padding:11px 12px;text-align:left;transition:background var(--transition),color var(--transition);width:100%}.sidebar-link:hover{background:var(--color-primary-subtle);color:var(--color-primary)}.sidebar-link.is-active{background:var(--color-primary-gradient);box-shadow:0 4px 14px #3182ce40;color:#fff}.sidebar-link--danger{color:var(--color-danger)}.sidebar-link--danger:hover{background:var(--color-danger-subtle);color:var(--color-danger-hover)}.sidebar-footer{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:14px}.sidebar-user{align-items:center;background:var(--color-primary-subtle);border-radius:12px;display:flex;gap:10px;padding:8px 10px}.sidebar-user-avatar{align-items:center;background:var(--color-primary-gradient);border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-weight:700;height:36px;justify-content:center;width:36px}.sidebar-user-meta{min-width:0}.sidebar-user-meta strong{color:var(--color-text);display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-meta span{color:var(--color-text-muted);display:block;font-size:11px;text-transform:capitalize}.container{margin:0 auto;max-width:1400px;padding:24px 20px 40px;width:100%}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow);overflow:hidden}@media (max-width:899px){.app-sidebar{box-shadow:var(--shadow-lg);left:0;position:fixed;top:0;transform:translateX(-105%);transition:transform .25s ease}.app-sidebar.is-open{transform:translateX(0)}.sidebar-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1a365d47;display:block;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:110}.sidebar-backdrop.is-open{opacity:1;pointer-events:auto}.sidebar-close{display:inline-flex}}@media (min-width:900px){.sidebar-toggle{display:none}}.stats-panel{background:linear-gradient(180deg,#ebf8ffa6,#fff);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:0;padding:24px}.stats-section{padding:4px 0}.stats-section+.stats-section{border-top:1px solid var(--color-border);margin-top:24px;padding-top:24px}.stats-section-title{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.1em;margin:0 0 14px;text-transform:uppercase}.stats-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}@media (max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;gap:16px;padding:18px 20px;text-align:left;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.stat-card:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.stat-card-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.stat-card-body{min-width:0}.stat-card-label{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.05em;line-height:1.3;margin:0 0 4px;text-transform:uppercase}.stat-card-value{color:var(--color-primary);font-size:1.65rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0}.stat-card--primary .stat-card-icon{background:var(--color-primary-subtle);color:var(--color-primary)}.stat-card--inward .stat-card-icon{background:#ebf8ff;color:#2b6cb0}.stat-card--in_progress .stat-card-icon{background:#fefcbf;color:#b7791f}.stat-card--outward .stat-card-icon{background:#e9d8fd;color:#6b46c1}.stat-card--completed .stat-card-icon{background:#c6f6d5;color:#276749}.search-container{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:24px}.search-form{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.search-input{flex:1 1;min-width:280px}.filter-controls{align-items:flex-end;border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:16px;padding-top:16px}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:140px}.filter-group label{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.filter-select{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);font-family:inherit;font-size:14px;padding:9px 12px;transition:border-color var(--transition),box-shadow var(--transition)}.filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f;outline:none}.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.status-badge.status-inward{background:#ebf8ff;color:#2b6cb0}.status-badge.status-in_progress{background:#fefcbf;color:#b7791f}.status-badge.status-outward{background:#e9d8fd;color:#6b46c1}.status-badge.status-completed{background:#c6f6d5;color:#276749}.table-container{background:var(--color-surface)}.table-header{background:var(--light-gray);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:12px;justify-content:space-between;padding:18px 24px}.table-header,.table-title{align-items:center;display:flex}.table-title{color:var(--color-text);font-size:15px;font-weight:600;gap:8px}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.table-wrapper{max-height:620px;overflow:auto}.table-wrapper::-webkit-scrollbar{height:8px;width:8px}.table-wrapper::-webkit-scrollbar-track{background:var(--light-gray)}.table-wrapper::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:4px}.table{border-collapse:initial;border-spacing:0;min-width:1280px;width:100%}.table th{background:#eff6ff;border-bottom:1px solid var(--color-border-strong);color:var(--color-text);font-size:11px;font-weight:700;letter-spacing:.06em;padding:14px 12px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:10}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{background:#dbeafe;color:var(--color-primary)}.table td{background:var(--color-surface);border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);font-size:13px;padding:14px 12px;vertical-align:middle;white-space:nowrap}.table tbody tr{transition:background var(--transition)}.table tbody tr:hover td{background:#f8fbff}.table tbody tr:last-child td{border-bottom:none}.table td.col-actions,.table th.col-actions{background:#eff6ff;box-shadow:-6px 0 12px #3182ce0f;position:sticky;right:0;z-index:11}.table td.col-actions{background:var(--color-surface);z-index:5}.table tbody tr:hover td.col-actions{background:#f8fbff}.cell-content{align-items:center;color:var(--color-text);display:flex;font-weight:500;gap:8px}.cell-content svg{color:var(--color-text-muted);flex-shrink:0}.actions{align-items:center;display:flex;gap:6px;justify-content:flex-end}.actions .btn{box-shadow:none;height:34px;min-width:34px;padding:8px}.actions .btn-primary{background:var(--color-primary)}.actions .btn-outline{background:#fff}.link-cell{color:var(--color-primary);font-weight:500}.link-cell:hover{color:var(--color-primary-hover)}.no-link{font-size:13px}.loading,.no-link{color:var(--color-text-muted)}.loading{align-items:center;display:flex;font-weight:500;justify-content:center;padding:64px}.loading:after{animation:spin .7s linear infinite;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);content:"";height:22px;margin-left:12px;width:22px}@keyframes spin{to{transform:rotate(1turn)}}.empty-state{color:var(--color-text-muted);padding:64px 24px;text-align:center}.empty-state svg{color:var(--color-border-strong);margin-bottom:12px}.empty-state h3{color:var(--color-text);font-size:1.1rem;margin:0 0 8px}.empty-state p{font-size:14px;margin:0}.modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a8c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.modal-content{animation:modalIn .25s ease-out;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:90vh;max-width:640px;overflow-y:auto;width:100%}@keyframes modalIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:var(--light-gray);border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:20px 24px}.modal-title{color:var(--color-text);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.close-btn{align-items:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;transition:background var(--transition),color var(--transition);width:36px}.close-btn:hover{background:var(--light-gray);color:var(--color-text)}.modal-form{padding:24px}.modal-actions{gap:10px;justify-content:flex-end}.modal-actions,.pagination-bar{background:var(--light-gray);border-top:1px solid var(--color-border);display:flex;padding:16px 24px}.pagination-bar{align-items:center;gap:16px;justify-content:center}.pagination-info{color:var(--color-text-muted);font-size:13px;font-weight:500}.attachment-list{background:var(--light-gray);border:1px solid var(--color-border);border-radius:var(--radius-sm);list-style:none;margin:10px 0 0;max-height:200px;overflow-y:auto;padding:0}.attachment-list-item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:10px 12px}.attachment-list-item:last-child{border-bottom:none}.attachment-list-meta{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.attachment-list-icon{color:var(--color-text-muted);flex-shrink:0}.attachment-label-input{flex:1 1;font-size:13px;min-width:0;padding:6px 10px}.attachment-file-name,.attachment-pending-tag{color:var(--color-text-muted);flex-shrink:0;font-size:11px}.attachment-file-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-list-actions{display:flex;flex-shrink:0;gap:6px}.attachment-cell .btn-link{align-items:center;display:inline-flex;gap:6px}.manage-users{max-width:960px}.manage-users .toolbar{align-items:center;display:flex;gap:12px;margin:0 20px 12px}.manage-users .search-input{flex:1 1;position:relative}.manage-users .search-input input{padding-left:40px}.manage-users .search-icon{color:var(--color-text-muted);left:12px;position:absolute;top:50%;transform:translateY(-50%)}.manage-users .create-card{background:var(--light-gray);border:1px solid var(--color-border);border-radius:var(--radius);margin:0 20px 16px;padding:16px}.manage-users .suggestions-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:none;box-shadow:var(--shadow-md);left:0;max-height:240px;overflow:auto;position:absolute;right:0;top:100%;z-index:20}.manage-users .suggestion{grid-gap:10px;align-items:center;cursor:pointer;display:grid;font-size:14px;gap:10px;grid-template-columns:70px 1fr 80px;padding:10px 12px}.manage-users .suggestion:hover{background:var(--color-primary-subtle)}.manage-users .badge{border-radius:999px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.manage-users .badge-primary{background:var(--color-primary-subtle);color:var(--color-primary)}.manage-users .badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.manage-users .badge-warning{background:#fff4e5;color:#b76e00}.manage-users .table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius);margin:0 20px 12px;max-height:calc(95vh - 260px);overflow:auto}.manage-users .footer-tips{background:var(--light-gray);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:13px;padding:12px 20px}@media (max-width:768px){.container{padding:16px 12px 32px}.header,.topbar{flex-wrap:wrap;padding:14px 16px}.header h1,.topbar h1,.topbar-brand{font-size:1.15rem}.stats-panel{padding:16px}.stats-section+.stats-section{margin-top:16px;padding-top:16px}.stats-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.stat-card{gap:12px;padding:14px 16px}.stat-card-icon{height:40px;width:40px}.stat-card-value{font-size:1.4rem}.search-container{padding:16px}.search-form{flex-direction:column}.search-input{min-width:0}.filter-controls{align-items:stretch;flex-direction:column}.filter-group{width:100%}.table-header{align-items:stretch;flex-direction:column;padding:14px 16px}.table-actions{justify-content:stretch}.table-actions .btn{flex:1 1}.table-wrapper{max-height:480px}.modal-content{margin:0;max-height:95vh}.modal-actions,.modal-form,.modal-header{padding:16px}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.stat-card-value{font-size:1.5rem}}@media (display-mode:standalone){.topbar{padding-top:calc(14px + env(safe-area-inset-top))}.container{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.btn{min-height:44px}}.notif-bell,.notif-bell-btn{position:relative}.notif-bell-btn{justify-content:center;min-width:42px}.notif-bell-count{background:#e53e3e;border-radius:999px;color:#fff;font-size:10px;font-weight:700;height:18px;line-height:18px;min-width:18px;padding:0 5px;position:absolute;right:-6px;text-align:center;top:-6px}.notif-panel{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--color-border,#e2e8f0);border-radius:12px;box-shadow:0 12px 40px #0f172a1f;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:min(360px,calc(100vw - 24px));z-index:80}.notif-panel-head{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--color-border,#e2e8f0);display:flex;gap:8px;justify-content:space-between;padding:12px 14px}.notif-panel-body{max-height:360px;overflow:auto}.notif-empty{color:#718096;font-size:13px;margin:0;padding:24px 16px;text-align:center}.notif-item{align-items:flex-start;background:#fff;border:0;border-bottom:1px solid #edf2f7;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:12px 14px;text-align:left;width:100%}.notif-item:hover{background:#f7fafc}.notif-item.is-unread{background:#ebf8ff}.notif-item-title{color:#1a202c;font-size:13px;font-weight:700}.notif-item-body{color:#4a5568;font-size:12px;line-height:1.4}.notif-item-time{color:#a0aec0;font-size:11px}.login-wrap{background:#0000;display:flex;flex-direction:column;min-height:100vh}.login-topbar{align-items:center;border-radius:0;display:flex;gap:16px;justify-content:space-between;margin:0}.login-nav-back{border-radius:var(--radius);color:var(--color-primary);font-size:14px;font-weight:600;padding:8px 12px;text-decoration:none;transition:background .15s ease,color .15s ease;white-space:nowrap}.login-nav-back:hover{background:var(--color-primary-subtle);color:var(--color-primary-hover);text-decoration:none}.login-body{align-items:center;display:flex;flex:1 1;justify-content:center;padding:32px 20px 48px}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);padding:32px;width:min(400px,100%)}.login-brand{align-items:center;color:var(--color-primary);display:flex;gap:10px;justify-content:center;margin-bottom:8px}.login-title{color:var(--color-text);font-size:1.5rem;font-weight:700;letter-spacing:-.03em;margin:0 0 4px;text-align:center}.login-subtitle{font-size:14px;margin:0 0 20px}.login-otp-hint,.login-subtitle{color:var(--color-text-muted);text-align:center}.login-otp-hint{font-size:13px;line-height:1.5;margin:0 0 16px}.login-otp-input{font-size:1.25rem;font-weight:700;letter-spacing:.25em;text-align:center}.login-otp-resend{margin:12px 0 0;text-align:center}.login-otp-resend-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:13px;font-weight:600;padding:0}.login-otp-resend-btn:hover:not(:disabled){text-decoration:underline}.login-otp-resend-btn:disabled{cursor:not-allowed;opacity:.6}.login-actions-single{width:100%}.login-password-row{display:flex;gap:8px}.login-password-row .form-control{flex:1 1}.login-forgot{font-size:13px;margin:4px 0 0;text-align:right}.login-forgot a{color:var(--color-primary);font-weight:600;text-decoration:none}.login-forgot a:hover{text-decoration:underline}.login-link-btn{align-items:center;display:inline-flex;justify-content:center;text-decoration:none}.login-actions{display:flex;gap:10px;margin-top:8px}.login-actions .btn{flex:1 1;min-height:44px}.login-card .form-control{min-height:44px}.field-hint{color:var(--color-text-muted)}.field-error,.field-hint{display:block;font-size:12px;margin-top:6px}.field-error{color:var(--color-danger);font-weight:500}@media (max-width:480px){.login-card{padding:24px 20px}.login-actions{flex-direction:column}}.manage-users-page{background:#0000;min-height:100vh}.manage-users-page .page-content{margin:0 auto;max-width:1200px;padding:24px 20px 40px}.manage-users-page .content-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.manage-users-page .toolbar{align-items:center;display:flex;gap:12px;padding:20px 24px 0}.manage-users-page .search-input{flex:1 1;position:relative}.manage-users-page .search-input input.form-control{padding-left:40px}.manage-users-page .search-icon{color:var(--color-text-muted);left:12px;position:absolute;top:50%;transform:translateY(-50%)}.manage-users-page .create-card{background:var(--light-gray);border:1px solid var(--color-border);border-radius:var(--radius);margin:16px 24px;padding:20px}.manage-users-page .create-card h4{color:var(--color-text);font-size:15px;font-weight:700;margin:0 0 14px}.manage-users-page .create-grid{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:1fr 1fr 1fr auto auto auto}.manage-users-page .password-row{align-items:center;display:flex;gap:6px;min-width:180px}.manage-users-page .password-row .edit-input{flex:1 1}.manage-users-page .create-user-modal{max-width:440px}.manage-users-page .create-user-modal .form-group{margin-bottom:16px}.manage-users-page .create-user-modal .form-control{min-height:44px}.manage-users-page .create-user-modal .password-row .form-control{flex:1 1}.manage-users-page .field-hint{color:var(--color-text-muted);display:block;font-size:12px;margin-top:6px}.manage-users-page .field-hint--ok{color:#276749;font-weight:600}.manage-users-page .field-error{color:var(--color-danger);display:block;font-size:12px;font-weight:600;margin-top:6px}.manage-users-page .list-meta{color:var(--color-text-muted);font-size:13px;font-weight:500;padding:12px 24px 8px}.manage-users-page .table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius);height:auto;margin:0 24px 16px;max-height:calc(100vh - 320px);overflow:auto;position:relative}.manage-users-page .table-wrapper.is-loading{min-height:140px;overflow:hidden}.manage-users-page .table-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f8fafcd1;color:var(--color-text-secondary);display:flex;flex-direction:column;font-size:14px;font-weight:600;gap:12px;inset:0;justify-content:center;position:absolute;z-index:5}.manage-users-page .table-loading-spinner{animation:spin .7s linear infinite;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:28px;width:28px}.manage-users-page .table-empty-cell{color:var(--color-text-muted);font-weight:500;padding:48px 16px!important;text-align:center}.manage-users-page .table tbody tr.is-editing{background:#f0f7ff}.manage-users-page .table tbody tr.is-editing:hover{background:#e8f2ff}.manage-users-page .edit-input,.manage-users-page .edit-select{font-size:13px;min-height:38px;min-width:0;padding:8px 10px;width:100%}.manage-users-page .edit-select{min-width:130px}.manage-users-page .table td.actions{white-space:nowrap}.manage-users-page .table td.actions .btn{margin-right:6px}.manage-users-page .table td.actions .btn:last-child{margin-right:0}.manage-users-page .table{margin:0;min-width:800px}.manage-users-page .table thead th{background:#eff6ff;border-bottom:1px solid var(--color-border-strong);color:var(--color-text);font-size:11px;font-weight:700;letter-spacing:.06em;position:sticky;text-transform:uppercase;top:0;z-index:1}.manage-users-page .table tbody tr:hover{background:#f8fbff}.manage-users-page .badge{border-radius:999px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;text-transform:uppercase}.manage-users-page .badge-primary{background:var(--color-primary-subtle);color:var(--color-primary)}.manage-users-page .badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.manage-users-page .badge-success{background:#c6f6d5;color:#276749}.manage-users-page .badge-warning{background:#fefcbf;color:#975a16}.manage-users-page .suggestions-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:none;box-shadow:var(--shadow-md);left:0;max-height:240px;overflow:auto;position:absolute;right:0;top:100%;z-index:20}.manage-users-page .suggestion{grid-gap:10px;align-items:center;cursor:pointer;display:grid;font-size:14px;gap:10px;grid-template-columns:70px 1fr 80px;padding:10px 12px}.manage-users-page .suggestion:hover{background:var(--color-primary-subtle)}.manage-users-page .suggestion .s-id{color:var(--color-text-muted)}.manage-users-page .suggestion .s-role{color:var(--color-text-secondary);font-size:11px;font-weight:600;text-align:right;text-transform:uppercase}.manage-users-page .password-row .btn-outline{min-width:44px;padding:10px}.manage-users-page .username-cell{color:var(--color-text);font-weight:600}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:12px}.manage-users-page .footer-tips{background:var(--light-gray);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:13px;padding:14px 24px}@media (max-width:1024px){.manage-users-page .create-grid{grid-template-columns:1fr 1fr}}@media (max-width:768px){.manage-users-page .page-content{padding:16px 12px 32px}.manage-users-page .toolbar{flex-direction:column;padding:16px 16px 0}.manage-users-page .toolbar .btn{display:none}.manage-users-page .create-card{margin:12px 16px}.manage-users-page .create-grid{grid-template-columns:1fr}.manage-users-page .table-wrapper{border:none;margin:0 16px 12px;max-height:none}.manage-users-page .table{border-collapse:initial;border-spacing:0 10px;min-width:0}.manage-users-page .table thead{display:none}.manage-users-page .table tbody,.manage-users-page .table td,.manage-users-page .table tr{display:block;width:100%}.manage-users-page .table tr{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:4px}.manage-users-page .table td{align-items:center;border-bottom:1px dashed var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:12px 16px;white-space:normal}.manage-users-page .table td:last-child{border-bottom:none}.manage-users-page .table td:before{color:var(--color-text-muted);content:attr(data-label);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.manage-users-page .table td.actions{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.manage-users-page .table td.actions:before{display:none}.manage-users-page .table td.actions .btn{width:100%}}.client-detail-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px}.client-detail-toolbar-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.client-detail-card{border-radius:var(--radius-xl);margin-bottom:20px;padding:28px}.client-detail-header{align-items:flex-start;border-bottom:1px solid var(--color-border);display:flex;gap:16px;justify-content:space-between;margin-bottom:28px;padding-bottom:20px}.client-detail-eyebrow{color:var(--color-primary);font-size:11px;font-weight:700;letter-spacing:.12em;margin:0 0 6px;text-transform:uppercase}.client-detail-header h2{color:var(--color-text);font-size:1.75rem;font-weight:700;letter-spacing:-.03em;margin:0 0 6px}.client-detail-subtitle{color:var(--color-text-secondary);font-size:14px;margin:0}.client-detail-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.client-detail-field{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 16px}.client-detail-field-label{align-items:center;color:var(--color-text-muted);display:flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.client-detail-field-value{color:var(--color-text);font-size:15px;font-weight:600;word-break:break-word}.client-detail-attachments-head{margin-bottom:18px}.client-detail-attachments-head h3{font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0 0 4px}.client-detail-attachments-head p{color:var(--color-text-muted);font-size:13px;margin:0}.client-detail-empty-attachments{padding:32px 16px}.client-attachment-list{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.client-attachment-item{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);display:flex;gap:16px;justify-content:space-between;padding:14px 16px}.client-attachment-item-block{align-items:stretch;flex-direction:column}.client-attachment-row{align-items:center;display:flex;gap:16px;justify-content:space-between}.client-attachment-info{align-items:center;display:flex;gap:12px;min-width:0}.client-attachment-icon{align-items:center;background:var(--color-primary-subtle);border-radius:10px;color:var(--color-primary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.client-attachment-name{color:var(--color-text);font-size:14px;font-weight:600;margin:0 0 4px;word-break:break-word}.client-attachment-meta{color:var(--color-text-muted);font-size:12px;margin:0}.attach-type-badge{border-radius:999px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.02em;padding:2px 8px}.attach-type-drawing{background:#ebf8ff;color:#2b6cb0}.attach-type-application,.attach-type-document{background:#edf2f7;color:#4a5568}.approval-badge{border-radius:999px;display:inline-block;font-size:11px;font-weight:700;padding:2px 8px}.approval-pending{background:#fefcbf;color:#975a16}.approval-needs_revision{background:#fed7d7;color:#c53030}.approval-approved{background:#c6f6d5;color:#276749}.client-attachment-actions{display:flex;flex-shrink:0;gap:8px}.client-attachment-remark{border-top:1px solid var(--color-border);margin-top:12px;padding-top:12px}.client-attachment-remark-label{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:.06em;margin-bottom:8px;text-transform:uppercase}.client-attachment-remark-input{min-height:72px;resize:vertical;width:100%}.client-attachment-remark-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.client-attachment-remark-readonly{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius);padding:12px 14px}.client-attachment-remark-readonly p{color:var(--color-text);font-size:14px;margin:0 0 8px;white-space:pre-wrap}.client-attachment-remark-empty{color:var(--color-text-muted);font-size:13px;margin:0}.client-attachment-remark-meta{color:var(--color-text-muted);font-size:12px}@media (max-width:900px){.client-detail-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.client-detail-card{padding:20px 16px}.client-detail-header{flex-direction:column}.client-detail-grid{grid-template-columns:1fr}.client-attachment-item,.client-attachment-row{align-items:stretch;flex-direction:column}.client-attachment-actions{width:100%}.client-attachment-actions .btn{flex:1 1;justify-content:center}}.tasks-page{display:flex;flex-direction:column;gap:16px}.tasks-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.tasks-summary-card{align-items:center;background:#ebf8ff;border:1px solid #bee3f8;border-radius:12px;color:#2b6cb0;display:flex;gap:12px;padding:16px 18px}.tasks-summary-card--warn{background:#fff5f5;border-color:#feb2b2;color:#c53030}.tasks-summary-card--muted{background:#f7fafc;border-color:#e2e8f0;color:#4a5568}.tasks-summary-card strong{color:inherit;display:block;font-size:1.4rem;line-height:1.1}.tasks-summary-card span{font-size:12px;font-weight:600}.tasks-section{padding:20px 22px}.tasks-section-head{align-items:flex-start;color:#2b6cb0;display:flex;gap:12px;margin-bottom:16px}.tasks-section-head h2{color:#1a202c;font-size:1.1rem;margin:0 0 4px}.tasks-section-head p{color:#718096;font-size:13px;margin:0}.tasks-empty{color:#718096;font-size:14px;margin:0}.tasks-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.tasks-item{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;gap:12px;justify-content:space-between;padding:12px 14px}.tasks-item strong{color:#1a202c;display:block;margin-bottom:4px}.tasks-item span{color:#718096;display:block;font-size:12px}.tasks-item-actions{display:flex;flex-shrink:0;gap:8px}@media (max-width:800px){.tasks-summary{grid-template-columns:1fr}.tasks-item{align-items:stretch;flex-direction:column}}.activity-page .container{padding-bottom:24px}.activity-card{border-radius:12px;overflow:hidden;padding:20px 22px 0}.activity-head{align-items:flex-start;color:#2b6cb0;display:flex;gap:12px;margin-bottom:16px}.activity-head h2{color:#1a202c;font-size:1.15rem;font-weight:700;margin:0 0 4px}.activity-head p{color:#718096;font-size:13px;margin:0}.activity-filters{grid-gap:10px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) 220px;margin-bottom:16px}.activity-filters .form-control{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#2d3748;font-size:14px;height:42px;min-height:42px;padding:0 12px}.activity-filters select.form-control{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23718096' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.activity-empty,.activity-loading{color:#718096;font-size:14px;margin:0;padding:28px 8px 32px;text-align:center}.activity-table-wrap{border-top:1px solid #edf2f7;margin:0 -22px;overflow-x:auto;padding:0 22px}.activity-table{border-collapse:collapse;min-width:0!important;table-layout:fixed;width:100%}.activity-table td,.activity-table th{background:#fff;border-bottom:1px solid #edf2f7;padding:12px 14px;text-align:left;vertical-align:top;white-space:normal}.activity-table th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#4a5568;font-size:11px;font-weight:700;letter-spacing:.05em;position:static;text-transform:uppercase}.activity-table tbody tr:hover td{background:#f8fbff}.activity-table tbody tr:last-child td{border-bottom:none}.activity-table .col-when{width:18%}.activity-table .col-actor{width:14%}.activity-table .col-action{width:16%}.activity-table .col-client{width:10%}.activity-table .col-details{width:42%}.activity-when{color:#4a5568;font-size:13px;line-height:1.35}.activity-actor-name{color:#1a202c;display:block;font-size:13px;font-weight:700}.activity-role{color:#a0aec0;font-size:11px;margin-top:2px;text-transform:capitalize}.activity-action{align-items:center;background:#ebf8ff;border-radius:999px;color:#2b6cb0;display:inline-flex;font-size:12px;font-weight:600;padding:4px 10px;white-space:nowrap}.activity-client-link{color:#3182ce;font-weight:600;text-decoration:none}.activity-client-link:hover{color:#2b6cb0;text-decoration:underline}.activity-details{display:flex;flex-wrap:wrap;gap:6px}.activity-detail-chip{align-items:baseline;background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;display:inline-flex;font-size:12px;gap:4px;line-height:1.35;max-width:100%;padding:4px 8px}.activity-detail-chip strong{color:#718096;font-weight:600;text-transform:capitalize}.activity-detail-chip span{overflow-wrap:anywhere}.activity-details-empty{color:#a0aec0;font-size:13px}.activity-card .pagination-bar{background:#f8fafc;border-radius:0;border-top:1px solid #edf2f7;margin:0 -22px;padding:14px 22px}@media (max-width:900px){.activity-filters{grid-template-columns:1fr}.activity-table .col-action,.activity-table .col-actor,.activity-table .col-client,.activity-table .col-details,.activity-table .col-when{width:auto}.activity-table{min-width:720px!important}}
/*# sourceMappingURL=main.1c2b7934.css.map*/