@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap);:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-light:#eff6ff;--success:#16a34a;--success-bg:#f0fdf4;--success-border:#bbf7d0;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--danger:#dc2626;--danger-bg:#fef2f2;--danger-border:#fecaca;--info:#2563eb;--info-bg:#eff6ff;--info-border:#bfdbfe;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#6b7280;--text-disabled:#9ca3af;--bg-page:#f8f9fa;--bg-card:#fff;--bg-input:#fff;--bg-hover:#f1f5f9;--border:#e5e7eb;--border-focus:#2563eb;--border-strong:#d1d5db;--input-height:34px;--input-radius:6px;--input-border:#d1d5db;--input-font-size:13px;--input-color:#111827;--input-placeholder:#9ca3af;--btn-height:32px;--btn-height-sm:28px;--btn-radius:6px;--btn-font-size:13px;--btn-font-size-sm:12px;--label-font-size:11px;--label-weight:600;--label-color:#6b7280;--label-spacing:0.05em;--card-radius:8px;--card-padding:16px;--card-shadow:0 1px 3px #0000001a;--table-row-height:34px;--table-font-size:13px;--table-header-size:12px;--badge-height:20px;--badge-radius:10px;--badge-font-size:11px;--font-size-base:13px;--font-size-sm:12px;--font-size-xs:11px;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:8px;--radius-xl:10px;--radius-2xl:12px;--radius-pill:999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000001a;--shadow:0 1px 3px #0000001a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000029;--z-dropdown:200;--z-sticky:300;--z-overlay:400;--z-modal:500;--z-toast:600;--z-devbar:9999;--transition-fast:0.12s ease;--transition:0.15s ease;--transition-slow:0.25s ease;--font-mono:"SF Mono","Fira Code",Consolas,"Courier New",monospace;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px}input[type=date],input[type=email],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=url],select,textarea{background:#fff;border:1px solid #d1d5db;border:1px solid var(--input-border);border-radius:6px;border-radius:var(--input-radius);box-sizing:border-box;color:#111827;color:var(--input-color);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:13px;font-size:var(--input-font-size);height:34px;height:var(--input-height);line-height:34px;line-height:var(--input-height);outline:none;padding:0 10px;transition:border-color .15s,box-shadow .15s}textarea{height:auto;line-height:1.5;min-height:68px;padding:8px 10px;resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;color:var(--input-placeholder)}input:focus,select:focus,textarea:focus{border-color:#2563eb;border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}input:disabled,input[readonly],select:disabled,textarea:disabled{background:#f9fafb;color:#6b7280;cursor:not-allowed}.adm-badge,.db-badge,.emp-badge,[class*=-badge],[class*=-pill]{align-items:center;border-radius:10px;border-radius:var(--badge-radius);display:inline-flex;font-size:11px;font-size:var(--badge-font-size);font-weight:600;height:20px;height:var(--badge-height);line-height:1;padding:0 8px;white-space:nowrap}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.adm-modal-card,.db-modal-card,.db-side-panel,.db-toast,.emp-modal-card,.emp-pipeline,.emp-prev-panel,.emp-toast{will-change:transform,opacity}.adm-table-wrap,.db-table-wrap,.emp-table-wrap{contain:layout style}.adm-content,.db-content,.emp-main,.sr-main{contain:layout}.adm-section,.adm-stat-card,.db-section,.emp-invoice-card,.emp-parties-card,.emp-progress-card,.emp-search-card,.emp-tool-card,.emp-work-top-card{contain-intrinsic-size:auto 200px;content-visibility:auto}.adm-content,.db-content,.emp-main,.sr-main{scroll-behavior:smooth}.adm-table tbody tr,.db-table tbody tr,.emp-table tbody tr,.sr-table tbody tr{will-change:auto}body{text-rendering:optimizeSpeed}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;background:var(--bg-page);color:#111827;color:var(--text-primary);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);line-height:1.5;min-height:100vh}code,pre{font-family:SF Mono,Fira Code,Consolas,Courier New,monospace;font-family:var(--font-mono)}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#d1d5db;background:var(--gray-300);border-radius:999px;border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:#9ca3af;background:var(--gray-400)}.auth-page{display:flex;min-height:100vh;position:relative}.auth-bg-left{display:none}@media (min-width:900px){.auth-bg-left{background:linear-gradient(145deg,#1b2b5e,#0f1a3a 60%,#14234e);display:block;flex:1 1;overflow:hidden;position:relative}.auth-bg-left:before{background:radial-gradient(ellipse 60% 60% at 30% 40%,#c9a84c2e 0,#0000 70%),radial-gradient(ellipse 40% 40% at 75% 70%,#c9a84c1a 0,#0000 60%);content:"";inset:0;position:absolute}.auth-bg-left:after{bottom:48px;color:#c9a84c12;content:"CCMS";font-size:7rem;font-weight:900;left:48px;letter-spacing:-2px;line-height:1;position:absolute;-webkit-user-select:none;user-select:none}}.auth-container{align-items:center;background:#f0f2f7;background:var(--bg-page,#f0f2f7);display:flex;flex:1 1;justify-content:center;overflow-y:auto;padding:32px 20px}.auth-card{background:#fff;border:1px solid #1b2b5e12;border-radius:20px;box-shadow:0 4px 6px #1b2b5e0f,0 16px 48px #1b2b5e1f;max-width:560px;padding:48px 44px 36px;width:100%}.auth-card--narrow{max-width:440px}.auth-brand{align-items:center;display:flex;gap:14px;margin-bottom:24px}.auth-logo-mark{filter:drop-shadow(0 2px 6px rgba(201,168,76,.4));flex-shrink:0}.auth-brand-text{display:flex;flex-direction:column;gap:2px}.auth-brand-abbr{color:#1b2b5e;font-size:1.6rem;font-weight:800;letter-spacing:2px;line-height:1}.auth-brand-name{color:#8a96b0;font-size:.68rem;font-weight:500;letter-spacing:.5px;line-height:1.3;max-width:180px;text-transform:uppercase}.auth-divider{background:linear-gradient(90deg,#c9a84c,#c9a84c26);border-radius:2px;height:1px;margin-bottom:28px}.auth-heading{color:#1b2b5e;font-size:1.45rem;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.auth-subheading{color:#8a96b0;font-size:.82rem;letter-spacing:.2px;margin-bottom:24px}.auth-error{background:#fef2f2;background:var(--danger-bg,#fef2f2);border:1px solid #fecaca;border:1px solid var(--danger-border,#fecaca);border-radius:8px;border-radius:var(--radius-md,8px);color:#dc2626;color:var(--danger,#dc2626);font-size:.84rem;font-weight:500;margin-bottom:16px;padding:10px 14px}.auth-form{display:flex;flex-direction:column;gap:18px}.auth-form-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr}.auth-form-group{display:flex;flex-direction:column;gap:7px}.auth-form-group label{color:#1b2b5e;font-size:.8rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.auth-optional{color:#8a96b0;font-weight:400;text-transform:none}.auth-input-wrapper{align-items:center;display:flex;position:relative}.auth-input-icon{flex-shrink:0;height:17px;left:14px;pointer-events:none;position:absolute;width:17px}.auth-form-group input,.auth-input-wrapper input{background:#f7f8fc;background:var(--bg-input,#f7f8fc);border:1.5px solid #dce1ee;border:1.5px solid var(--border,#dce1ee);border-radius:8px;border-radius:var(--radius-md,8px);color:#1b2b5e;color:var(--text-primary,#1b2b5e);font-family:inherit;font-family:var(--font-sans,inherit);font-size:.92rem;outline:none;padding:12px 14px;transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);width:100%}.auth-input-wrapper input{padding-left:42px;padding-right:44px}.auth-form-group input::placeholder,.auth-input-wrapper input::placeholder{color:#b0bac9}.auth-form-group input:focus,.auth-input-wrapper input:focus{background:#fff;border-color:#c9a84c;border-color:var(--border-focus,#c9a84c);box-shadow:0 0 0 3px #c9a84c24}.auth-toggle-password{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;transition:background .15s}.auth-toggle-password:hover{background:#1b2b5e0f}.auth-toggle-password svg{height:18px;width:18px}.auth-form-options{align-items:center;display:flex;justify-content:space-between;margin-top:-4px}.auth-remember-me{align-items:center;color:#5a6480;cursor:pointer;display:flex;font-size:.83rem;font-weight:500;gap:8px}.auth-remember-me input[type=checkbox]{accent-color:#1b2b5e;cursor:pointer;height:15px;width:15px}.auth-forgot-link{color:#c9a84c;font-size:.83rem;font-weight:600;text-decoration:none;transition:color .15s}.auth-forgot-link:hover{color:#a8852e;text-decoration:underline}.auth-submit-btn{align-items:center;background:linear-gradient(135deg,#1b2b5e,#243870);border:none;border-radius:8px;border-radius:var(--radius-md,8px);box-shadow:0 4px 18px #1b2b5e42;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-family:var(--font-sans,inherit);font-size:.95rem;font-weight:600;gap:10px;justify-content:center;letter-spacing:.3px;margin-top:4px;padding:13.5px;text-decoration:none;transition:transform var(--transition-fast),box-shadow var(--transition);width:100%}.auth-submit-btn--link{display:inline-flex;margin:0 auto;padding:11px 28px;width:auto}.auth-submit-btn:hover:not(:disabled){box-shadow:0 8px 26px #1b2b5e59;transform:translateY(-1px)}.auth-submit-btn:active:not(:disabled){box-shadow:0 3px 10px #1b2b5e33;transform:translateY(0)}.auth-submit-btn:disabled{cursor:not-allowed;opacity:.65}.auth-submit-btn svg{flex-shrink:0;height:18px;width:18px}.auth-spinner{animation:auth-spin .7s linear infinite;border:2.5px solid #ffffff59;border-radius:50%;border-top-color:#fff;display:inline-block;height:20px;width:20px}@keyframes auth-spin{to{transform:rotate(1turn)}}.auth-success-state{align-items:center;display:flex;flex-direction:column;gap:12px;padding:8px 0 16px;text-align:center}.auth-success-icon svg{height:64px;width:64px}.auth-success-state h2{color:#1b2b5e;font-size:1.4rem;font-weight:700}.auth-success-state p{color:#5a6480;font-size:.9rem;line-height:1.6;max-width:320px}.auth-switch-link{color:#5a6480;font-size:.84rem;margin-top:20px;text-align:center}.auth-switch-link a{color:#c9a84c;font-weight:600;text-decoration:none}.auth-switch-link a:hover{text-decoration:underline}.auth-footer{color:#b0bac9;font-size:.73rem;line-height:1.5;margin-top:24px;text-align:center}@media (max-width:600px){.auth-card{border-radius:16px;padding:36px 24px 28px}.auth-form-row{grid-template-columns:1fr}.auth-heading{font-size:1.25rem}}:root{--font-sans:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;--font-mono:"Consolas","Courier New",monospace;--text-page-title:1.35rem;--text-section-header:1rem;--text-table-header:11px;--text-body:13px;--text-label:11px;--text-small:11px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800}.dev-bar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f1428f0;border:1px solid #c9a84c4d;border-radius:var(--radius-pill);bottom:16px;box-shadow:var(--shadow-lg);display:flex;gap:4px;left:50%;padding:5px 8px 5px 14px;position:fixed;transform:translateX(-50%);-webkit-user-select:none;user-select:none;z-index:var(--z-devbar)}.dev-bar-label{color:var(--accent);font-size:.58rem;font-weight:800;letter-spacing:1.8px;margin-right:6px;text-transform:uppercase}.dev-bar-btn{background:#0000;border:none;border-radius:var(--radius-pill);color:#ffffff80;cursor:pointer;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:.77rem;font-weight:600;padding:5px 14px;transition:background var(--transition-fast),color var(--transition-fast);white-space:nowrap}.dev-bar-btn:hover{background:#ffffff1a;color:#fff}.dev-bar-btn--active{background:#0000;border:1.5px solid #3b82f6;box-shadow:0 0 0 1px #3b82f64d;color:#fff!important;font-weight:700}.dev-bar-btn--active:hover{background:#3b82f61a;border-color:#60a5fa}.dev-bar-btn--reset{border-color:#f871714d;color:#f87171;font-size:.65rem;margin-left:4px;padding:3px 8px}.dev-bar-btn--reset:hover{background:#f871711f;border-color:#f87171}.login-page{display:flex;min-height:100vh;position:relative}.login-bg-left{display:none}@media (min-width:900px){.login-bg-left{background:linear-gradient(145deg,#1b2b5e,#0f1a3a 60%,#14234e);display:block;flex:1 1;overflow:hidden;position:relative}.login-bg-left:before{background:radial-gradient(ellipse 60% 60% at 30% 40%,#c9a84c2e 0,#0000 70%),radial-gradient(ellipse 40% 40% at 75% 70%,#c9a84c1a 0,#0000 60%);content:"";inset:0;position:absolute}.login-bg-left:after{bottom:48px;color:#c9a84c12;content:"CCMS";font-size:7rem;font-weight:900;left:48px;letter-spacing:-2px;line-height:1;position:absolute;-webkit-user-select:none;user-select:none}}.login-container{align-items:center;background:#f0f2f7;display:flex;flex:1 1;justify-content:center;padding:32px 20px}.login-card{background:#fff;border:1px solid #1b2b5e12;border-radius:20px;box-shadow:0 4px 6px #1b2b5e0f,0 16px 48px #1b2b5e1f;max-width:440px;padding:48px 44px 36px;width:100%}.login-brand{align-items:center;display:flex;gap:14px;margin-bottom:24px}.login-logo-mark{filter:drop-shadow(0 2px 6px rgba(201,168,76,.4));flex-shrink:0}.login-brand-text{display:flex;flex-direction:column;gap:2px}.login-brand-abbr{color:#1b2b5e;font-size:1.6rem;font-weight:800;letter-spacing:2px;line-height:1}.login-brand-name{color:#8a96b0;font-size:.68rem;font-weight:500;letter-spacing:.5px;line-height:1.3;max-width:180px;text-transform:uppercase}.login-divider{background:linear-gradient(90deg,#c9a84c,#c9a84c26);border-radius:2px;height:1px;margin-bottom:28px}.login-heading{color:#1b2b5e;font-size:1.45rem;font-weight:700;letter-spacing:-.3px;margin-bottom:4px}.login-subheading{color:#8a96b0;font-size:.82rem;letter-spacing:.2px;margin-bottom:30px}.login-form{gap:20px}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:7px}.form-group label{color:#1b2b5e;font-size:.8rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{flex-shrink:0;height:17px;left:14px;pointer-events:none;position:absolute;width:17px}.input-wrapper input{background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;color:#1a1a2e;font-family:inherit;font-size:.92rem;outline:none;padding:12px 44px 12px 42px;transition:border-color .2s,box-shadow .2s,background .2s;width:100%}.input-wrapper input::placeholder{color:#b0bac9}.input-wrapper input:focus{background:#fff;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a}.toggle-password{align-items:center;background:none;border:none;border-radius:6px;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:12px;transition:background .15s}.toggle-password:hover{background:#1b2b5e0f}.toggle-password svg{height:18px;width:18px}.form-options{justify-content:space-between;margin-top:-4px}.form-options,.remember-me{align-items:center;display:flex}.remember-me{color:#5a6480;cursor:pointer;font-size:.83rem;font-weight:500;gap:8px}.remember-me input[type=checkbox]{accent-color:#1b2b5e;border-radius:4px;cursor:pointer;height:15px;width:15px}.forgot-link{color:#c9a84c;font-size:.83rem;font-weight:600;letter-spacing:.1px;text-decoration:none;transition:color .15s}.forgot-link:hover{color:#a8852e;text-decoration:underline}.login-btn{align-items:center;background:linear-gradient(135deg,#1b2b5e,#243870);border:none;border-radius:11px;box-shadow:0 4px 18px #1b2b5e47;color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.95rem;font-weight:700;gap:10px;justify-content:center;letter-spacing:.4px;margin-top:4px;overflow:hidden;padding:13.5px;position:relative;transition:transform .15s,box-shadow .2s,background .2s;width:100%}.login-btn:before{background:linear-gradient(135deg,#c9a84c26,#0000 60%);content:"";inset:0;opacity:0;position:absolute;transition:opacity .2s}.login-btn:hover:before{opacity:1}.login-btn:hover{box-shadow:0 8px 26px #1b2b5e59;transform:translateY(-1px)}.login-btn:active{box-shadow:0 3px 10px #1b2b5e33;transform:translateY(0)}.login-btn svg{flex-shrink:0;height:18px;width:18px}.login-footer{color:#b0bac9;font-size:.73rem;letter-spacing:.1px;line-height:1.5;margin-top:28px;text-align:center}@media (max-width:480px){.login-card{border-radius:16px;padding:36px 24px 28px}.login-heading{font-size:1.25rem}}.app-loading{align-items:center;background:var(--bg-page);display:flex;flex-direction:column;gap:var(--sp-4);justify-content:center;min-height:100vh}.app-loading-spinner{animation:app-spin .75s linear infinite;border:3px solid #1b2b5e1f;border-radius:50%;border-top:3px solid var(--primary);height:36px;width:36px}@keyframes app-spin{to{transform:rotate(1turn)}}.app-loading-error{color:var(--text-secondary);font-size:.9rem;line-height:1.6;max-width:320px;text-align:center}.app-error-signout{background:var(--primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-family:var(--font-sans);font-size:.88rem;font-weight:600;margin-top:var(--sp-1);padding:9px 22px;transition:background var(--transition-fast),box-shadow var(--transition-fast)}.app-error-signout:hover{background:var(--primary-hover);box-shadow:var(--shadow-md)}
/*# sourceMappingURL=main.17f1bd84.css.map*/