@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}:root{--bg: #fafbfc;--card: #ffffff;--text: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--input: #f8fafc;--primary: #6366f1;--primary-hover: #4f46e5;--primary-light: rgba(99, 102, 241, .1);--success: #10b981;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .1);--glow: 0 0 20px rgba(99, 102, 241, .3)}[data-theme=dark]{--bg: #0f172a;--card: #1e293b;--text: #f8fafc;--text-muted: #94a3b8;--border: #334155;--input: #334155;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, .4);--glow: 0 0 20px rgba(99, 102, 241, .5)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text);transition:all .3s cubic-bezier(.4,0,.2,1);overflow-x:hidden}.app{min-height:100vh;position:relative;opacity:0;transform:translateY(20px);transition:all .8s cubic-bezier(.4,0,.2,1)}.app.mounted{opacity:1;transform:translateY(0)}.bg-animation{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}.orb{position:absolute;border-radius:50%;background:linear-gradient(45deg,var(--primary),#8b5cf6);opacity:.1;animation:float 20s infinite ease-in-out;filter:blur(40px)}.orb-1{width:300px;height:300px;top:-150px;left:-150px;animation-delay:0s}.orb-2{width:200px;height:200px;top:50%;right:-100px;animation-delay:-7s}.orb-3{width:250px;height:250px;bottom:-125px;left:30%;animation-delay:-14s}@keyframes float{0%,to{transform:translate(0) rotate(0)}33%{transform:translate(30px,-30px) rotate(120deg)}66%{transform:translate(-20px,20px) rotate(240deg)}}.theme-toggle{position:fixed;top:24px;right:24px;width:56px;height:56px;border:1px solid var(--border);background:var(--card);border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.theme-toggle:hover{transform:scale(1.05) rotate(5deg);box-shadow:var(--shadow-lg)}.toggle-icon{width:24px;height:24px;color:var(--text);transition:all .3s cubic-bezier(.4,0,.2,1)}.theme-toggle:hover .toggle-icon{transform:rotate(180deg)}.container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:420px;background:var(--card);border:1px solid var(--border);border-radius:24px;padding:40px;box-shadow:var(--shadow-lg);position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);animation:slideUp .8s cubic-bezier(.4,0,.2,1)}.login-card:hover{transform:translateY(-4px);box-shadow:0 32px 64px -12px #00000026}.card-glow{position:absolute;inset:-2px;background:linear-gradient(45deg,var(--primary),#8b5cf6,var(--primary));border-radius:24px;opacity:0;z-index:-1;transition:opacity .3s ease}.login-card:hover .card-glow{opacity:.3}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.logo-section{text-align:center;margin-bottom:32px}.logo-container{width:80px;height:80px;margin:0 auto 16px;border-radius:20px;background:linear-gradient(135deg,var(--primary),#8b5cf6);display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);animation:pulse 2s infinite}.logo-container:hover{transform:scale(1.1) rotate(5deg);box-shadow:var(--glow)}.logo{width:50px;height:50px;object-fit:contain;filter:brightness(0) invert(1)}.brand-title{font-size:28px;font-weight:800;background:linear-gradient(135deg,var(--primary),#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.header{text-align:center;margin-bottom:32px}.header h2{font-size:32px;font-weight:700;margin-bottom:8px;color:var(--text);animation:fadeInUp .6s ease .2s both}.header p{color:var(--text-muted);font-size:16px;animation:fadeInUp .6s ease .4s both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.form{display:flex;flex-direction:column;gap:24px}.input-wrapper{position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.input-wrapper label{display:block;font-size:14px;font-weight:600;color:var(--text-muted);margin-bottom:8px;transition:all .3s ease}.input-wrapper.focused label{color:var(--primary);transform:translateY(-2px)}.input-container{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;width:20px;height:20px;color:var(--text-muted);transition:all .3s ease;z-index:2}.input-wrapper.focused .input-icon{color:var(--primary);transform:scale(1.1)}.input-container input{width:100%;padding:16px 16px 16px 48px;border:2px solid var(--border);border-radius:12px;background:var(--input);color:var(--text);font-size:16px;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none}.input-container input:focus{border-color:var(--primary);background:var(--card);box-shadow:0 0 0 4px var(--primary-light);transform:translateY(-2px)}.password-toggle{position:absolute;right:16px;width:20px;height:20px;border:none;background:none;color:var(--text-muted);cursor:pointer;transition:all .3s ease;z-index:2}.password-toggle:hover{color:var(--primary);transform:scale(1.1)}.options{display:flex;justify-content:space-between;align-items:center;margin:8px 0}.checkbox-wrapper{display:flex;align-items:center;cursor:pointer;font-size:14px;color:var(--text);-webkit-user-select:none;user-select:none;transition:all .3s ease}.checkbox-wrapper:hover{color:var(--primary)}.checkbox-wrapper input[type=checkbox]{display:none}.checkmark{width:20px;height:20px;border:2px solid var(--border);border-radius:6px;margin-right:12px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.checkbox-wrapper input:checked+.checkmark{background:var(--primary);border-color:var(--primary);transform:scale(1.1)}.checkbox-wrapper input:checked+.checkmark:after{content:"";position:absolute;left:6px;top:2px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.forgot-link{color:var(--primary);text-decoration:none;font-size:14px;font-weight:600;transition:all .3s ease;position:relative}.forgot-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary);transition:width .3s ease}.forgot-link:hover:after{width:100%}.submit-btn{width:100%;padding:16px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px}.submit-btn:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.btn-bg{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.submit-btn:hover .btn-bg{left:100%}.btn-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.divider{position:relative;text-align:center;margin:32px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}.divider span{background:var(--card);padding:0 20px;color:var(--text-muted);font-size:14px;font-weight:500}.google-btn{width:100%;padding:16px;background:var(--card);color:var(--text);border:2px solid var(--border);border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;position:relative;overflow:hidden}.google-btn:hover{background:var(--input);border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow)}.google-icon{width:20px;height:20px;transition:transform .3s ease}.google-btn:hover .google-icon{transform:rotate(360deg)}.signup{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.signup p{color:var(--text-muted);font-size:14px}.signup-link{color:var(--primary);text-decoration:none;font-weight:600;transition:all .3s ease;position:relative}.signup-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--primary);transition:width .3s ease}.signup-link:hover:after{width:100%}.error-message{background:#ef44441a;color:var(--danger);padding:12px 16px;border-radius:8px;font-size:14px;text-align:center;border:1px solid rgba(239,68,68,.2);animation:shake .5s ease}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media (max-width: 480px){.container{padding:16px}.login-card{padding:32px 24px}.header h2{font-size:28px}.theme-toggle{width:48px;height:48px;top:16px;right:16px}}:root{--sidebar-width: 280px;--sidebar-width-collapsed: 72px;--sidebar-rail-width: 72px;--sidebar-flyout-width: 260px;--primary: #6366f1;--primary-dark: #4f46e5;--bg: #f8fafc;--card: #ffffff;--text: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--shadow: 0 1px 3px 0 rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1)}[data-theme=dark]{--bg: #0f172a;--card: #1e293b;--text: #f8fafc;--text-muted: #94a3b8;--border: #334155;--shadow: 0 1px 3px 0 rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4)}.dashboard{display:flex;min-height:100vh;background:var(--bg);animation:fadeIn .6s ease;transition:all .3s ease;position:relative}.theme-toggle-dash{width:48px;height:48px;border:1px solid var(--border);background:var(--card);border-radius:12px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);flex-shrink:0}.theme-toggle-dash:hover{transform:scale(1.05);box-shadow:var(--shadow-lg)}.theme-toggle-dash svg{width:20px;height:20px;color:var(--text);transition:transform .3s ease}.theme-toggle-dash:hover svg{transform:rotate(180deg)}.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:var(--z-sidebar, 100);display:flex;flex-direction:row;animation:slideInLeft .5s ease}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-rail{width:var(--sidebar-rail-width);background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0}.sidebar-rail-header{padding:16px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),#8b5cf6);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px}.sidebar-rail-nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 0;display:flex;flex-direction:column;align-items:center;gap:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar-rail-nav::-webkit-scrollbar{width:4px}.sidebar-rail-nav::-webkit-scrollbar-track{background:transparent}.sidebar-rail-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.sidebar-rail-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.sidebar-rail-footer{padding:10px 0 14px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:4px}.rail-item{width:44px;height:44px;border:none;background:transparent;border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;transition:background .16s ease,color .16s ease;text-decoration:none;padding:0;flex-shrink:0}.rail-item:hover{background:#6366f114;color:var(--primary)}.rail-item.active{background:#6366f11f;color:var(--primary)}.rail-item.active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:0 3px 3px 0;background:var(--primary)}.rail-item-pinned{background:#6366f12e;color:var(--primary)}.rail-item svg{width:22px;height:22px}.rail-logout:hover{background:#ef44441f;color:var(--danger)}.rail-avatar{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}.sidebar-flyout{width:var(--sidebar-flyout-width);background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;animation:flyoutSlide .18s ease}@keyframes flyoutSlide{0%{transform:translate(-12px);opacity:0}to{transform:translate(0);opacity:1}}.sidebar-flyout-header{padding:18px 18px 14px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:8px}.sidebar-flyout-title{margin:0;font-size:15px;font-weight:600;color:var(--text)}.sidebar-flyout-close{width:28px;height:28px;border:none;background:transparent;color:var(--text-muted);border-radius:6px;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease,color .15s ease}.sidebar-flyout-close:hover{background:var(--bg);color:var(--text)}.sidebar-flyout-nav{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 0;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.sidebar-flyout-nav::-webkit-scrollbar{width:6px}.sidebar-flyout-nav::-webkit-scrollbar-track{background:transparent}.sidebar-flyout-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.sidebar-flyout-nav::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.flyout-item{display:flex;align-items:center;gap:12px;padding:10px 18px;color:var(--text-muted);text-decoration:none;font-size:14px;transition:background .15s ease,color .15s ease;position:relative}.flyout-item:hover{background:#6366f10d;color:var(--primary)}.flyout-item.active{background:#6366f11a;color:var(--primary);font-weight:600}.flyout-item.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary)}.flyout-item-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0}.flyout-item-icon svg{width:18px;height:18px}.flyout-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-content{flex:1;margin-left:var(--sidebar-rail-width);display:flex;flex-direction:column;animation:slideInRight .5s ease;transition:margin-left .2s ease}.main-content.flyout-open{margin-left:calc(var(--sidebar-rail-width) + var(--sidebar-flyout-width))}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.header{background:var(--card);padding:24px 32px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;animation:slideDown .6s ease}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{font-size:28px;font-weight:700;color:var(--text);margin-bottom:4px}.header-left p{color:var(--text-muted);font-size:16px}.user-profile{display:flex;align-items:center;gap:12px;padding:8px 16px;border-radius:12px;background:var(--bg);transition:all .3s ease}.user-profile:hover{transform:scale(1.05);box-shadow:var(--shadow)}.avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--primary),#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:16px}.content{flex:1;padding:32px;animation:fadeInUp .8s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-bottom:32px}.stat-card{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.stat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),#8b5cf6)}.stat-card{display:flex;align-items:center;gap:16px}.stat-icon{width:60px;height:60px;border-radius:12px;display:flex;align-items:center;justify-content:center;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.stat-icon.users{background:#6366f11a;color:var(--primary)}.stat-icon.revenue{background:#10b9811a;color:var(--success)}.stat-icon.orders{background:#f59e0b1a;color:var(--warning)}.stat-icon.growth{background:#ef44441a;color:var(--danger)}.stat-icon svg{width:24px;height:24px}.stat-content h3{font-size:32px;font-weight:700;color:var(--text);margin-bottom:4px}.stat-content p{color:var(--text-muted);font-size:14px;margin-bottom:8px}.stat-change{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px}.stat-change.positive{background:#10b9811a;color:var(--success)}.stat-change.negative{background:#ef44441a;color:var(--danger)}.kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:32px}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px;transition:all .3s ease;box-shadow:var(--shadow)}.kpi-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.kpi-icon{width:50px;height:50px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.kpi-content{flex:1}.kpi-label{font-size:12px;color:var(--text-muted);font-weight:500;margin:0 0 4px;text-transform:uppercase;letter-spacing:.5px}.kpi-value{font-size:24px;font-weight:700;color:var(--text);margin:0 0 2px}.kpi-subtext{font-size:11px;color:var(--text-muted);margin:0}.estimations-dashboard{padding:24px}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:32px;font-weight:700;color:var(--text);margin-bottom:8px}.dashboard-header p{color:var(--text-muted);font-size:16px}.status-breakdown{display:flex;flex-direction:column;gap:16px;margin-top:20px}.status-item{display:flex;flex-direction:column;gap:8px}.status-bar{width:100%;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.status-fill{height:100%;border-radius:4px;transition:width .5s ease}.status-fill.draft{background:var(--text-muted)}.status-fill.submitted,.status-fill.pending{background:var(--warning)}.status-fill.approved{background:var(--success)}.status-fill.rejected{background:var(--danger)}.status-fill.converted{background:var(--primary)}.status-fill.active{background:var(--success)}.status-fill.completed{background:var(--primary)}.status-fill.on-hold{background:var(--text-muted)}.status-info{display:flex;justify-content:space-between;align-items:center;font-size:14px}.status-info span:first-child{font-weight:600;color:var(--text)}.status-info span:last-child{color:var(--text-muted)}.chart-card{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.chart-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.chart-card h3{font-size:20px;font-weight:600;color:var(--text);margin-bottom:20px}.charts-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:24px;margin-top:32px}@media (max-width: 768px){.charts-section{grid-template-columns:1fr}}.charts-section{display:grid;grid-template-columns:2fr 1fr;gap:24px}.chart-card,.activity-card{background:var(--card);border-radius:16px;padding:24px;box-shadow:var(--shadow);animation:slideInUp .6s ease}@keyframes slideInUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.chart-card h3,.activity-card h3{font-size:20px;font-weight:600;color:var(--text);margin-bottom:20px}.chart-placeholder{height:200px;display:flex;align-items:end;justify-content:center;padding:20px 0}.chart-bars{display:flex;align-items:end;gap:12px;height:100%}.bar{width:40px;background:linear-gradient(to top,var(--primary),#8b5cf6);border-radius:4px 4px 0 0;animation:growUp 1s ease;transition:all .3s ease}.bar:hover{transform:scaleY(1.1);filter:brightness(1.1)}@keyframes growUp{0%{height:0}to{height:var(--height, 50%)}}.activity-list{display:flex;flex-direction:column;gap:16px}.activity-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px;transition:all .3s ease;animation:fadeInLeft .5s ease}@keyframes fadeInLeft{0%{transform:translate(-20px);opacity:0}to{transform:translate(0);opacity:1}}.activity-item:hover{background:var(--bg);transform:translate(8px)}.activity-icon{width:40px;height:40px;border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:18px}.activity-content p{font-weight:500;color:var(--text);margin-bottom:2px}.activity-content span{font-size:12px;color:var(--text-muted)}.mobile-nav-toggle{display:none;width:40px;height:40px;border:none;background:transparent;color:var(--text);border-radius:8px;cursor:pointer;align-items:center;justify-content:center}.mobile-nav-toggle:hover{background:var(--hover, rgba(0,0,0,.05))}.sidebar-backdrop{display:none;position:fixed;inset:0;background:#00000073;z-index:calc(var(--z-sidebar, 100) - 1);animation:backdropFadeIn .2s ease}@keyframes backdropFadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.mobile-nav-toggle{display:inline-flex}.sidebar-backdrop{display:block}.sidebar{transform:translate(-100%);transition:transform .25s ease;box-shadow:0 0 24px #0000002e}.sidebar.sidebar-open{transform:translate(0)}.main-content,.main-content.flyout-open{margin-left:0}.sidebar-flyout{width:min(72vw,280px)}.header{padding:14px 16px}.header h1{font-size:1.1rem;line-height:1.25}.header p{font-size:.8rem}.charts-section,.stats-grid{grid-template-columns:1fr}}.user-management{padding:32px;animation:fadeIn .6s ease}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.header h1{font-size:32px;font-weight:700;color:var(--text)}.add-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--primary);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.add-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.add-btn svg{width:20px;height:20px}.users-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}.user-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;transition:all .3s ease;position:relative;animation:slideUp .5s ease}.user-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.user-avatar{width:60px;height:60px;background:linear-gradient(135deg,var(--primary),#8b5cf6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:24px;margin:0 auto 20px}.user-details{display:flex;gap:20px;margin-bottom:16px}.detail-column{flex:1;display:flex;flex-direction:column;gap:6px}.detail-label{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.5px}.detail-value{font-size:14px;font-weight:500;color:var(--text);word-wrap:break-word}.role-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase;margin-bottom:8px}.role-badge.admin{background:#ef44441a;color:#ef4444}.role-badge.manager{background:#6366f11a;color:var(--primary)}.role-badge.account_manager{background:#10b9811a;color:var(--success)}.role-badge.hr{background:#f59e0b1a;color:var(--warning)}.role-badge.inventory_manager{background:#8b5cf61a;color:#8b5cf6}.role-badge.store_keeper{background:#22c55e1a;color:#22c55e}.role-badge.supervisor{background:#a855f71a;color:#a855f7}.role-badge.site_engineer{background:#3b82f61a;color:#3b82f6}.role-badge.vendor{background:#ec48991a;color:#ec4899}.role-badge.employee{background:#6b72801a;color:#6b7280}.status{font-size:12px;font-weight:600;padding:4px 8px;border-radius:6px;width:fit-content;margin:0 auto}.status.active{background:#10b9811a;color:var(--success)}.status.inactive{background:#ef44441a;color:var(--danger)}.user-actions{position:absolute;top:16px;right:16px;display:flex;gap:8px}.edit-btn,.delete-btn{width:36px;height:36px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.edit-btn{background:#6366f11a;color:var(--primary)}.edit-btn:hover{background:var(--primary);color:#fff;transform:scale(1.1)}.delete-btn{background:#ef44441a;color:var(--danger)}.delete-btn:hover{background:var(--danger);color:#fff;transform:scale(1.1)}.edit-btn svg,.delete-btn svg{width:16px;height:16px}.modal{background:var(--card);border-radius:16px;width:90%;max-width:500px;animation:slideUp .3s ease}.modal-header h2{font-size:24px;font-weight:600;color:var(--text)}.user-form{padding:24px}.form-group input,.form-group select{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);font-size:16px;transition:all .3s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.roles-container{display:flex;flex-direction:column;gap:4px}.roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;padding:16px;background:var(--bg);border-radius:8px;border:1px solid var(--border)}.role-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px;border-radius:6px;transition:all .3s ease;font-size:14px;color:var(--text)}.role-checkbox:hover{background:var(--card)}.role-checkbox input[type=checkbox]{display:none}.role-checkbox .checkmark{width:16px;height:16px;border:2px solid var(--border);border-radius:4px;position:relative;transition:all .3s ease}.role-checkbox input:checked+.checkmark{background:var(--primary);border-color:var(--primary)}.role-checkbox input:checked+.checkmark:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.cancel-btn,.save-btn{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.save-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px)}.save-btn:disabled{opacity:.7;cursor:not-allowed}.users-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px;padding:14px;background:var(--card);border:1px solid var(--border);border-radius:12px}.users-search{flex:1 1 240px;min-width:220px;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);font-size:14px}.users-filter{padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);font-size:14px;min-width:160px}.users-toolbar-summary{font-size:12px;color:var(--text-muted);margin-left:auto}.users-table-wrap{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:auto}.users-table{width:100%;border-collapse:collapse;font-size:14px}.users-table thead th{text-align:left;padding:12px 14px;background:var(--input);color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}.users-table tbody td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text)}.users-table tbody tr:hover{background:#6366f10a}.users-table tbody tr:last-child td{border-bottom:none}.users-row-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#8b5cf6);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}.users-row-name{font-weight:600}.users-row-email{color:var(--text-muted)}.users-row-actions{justify-content:flex-end}.users-empty{text-align:center;padding:28px 14px;color:var(--text-muted);font-size:14px}.users-pagination{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:14px}.users-page-btn{padding:7px 14px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);cursor:pointer;font-size:13px;font-weight:500}.users-page-btn:disabled{opacity:.45;cursor:not-allowed}.users-page-indicator{font-size:13px;color:var(--text-muted)}@media (max-width: 768px){.users-grid{grid-template-columns:1fr}.header{flex-direction:column;gap:16px;align-items:stretch}}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--overlay-z-index);animation:fadeIn var(--transition-slow) ease;-webkit-backdrop-filter:var(--overlay-blur);backdrop-filter:var(--overlay-blur);pointer-events:auto}.modal-overlay.modal-route{z-index:var(--overlay-z-index-route);background:var(--overlay-bg)!important;-webkit-backdrop-filter:var(--overlay-blur)!important;backdrop-filter:var(--overlay-blur)!important;animation:fadeIn var(--transition-slow) ease}.modal-overlay,.modal-overlay.modal-route{position:fixed!important;inset:0!important;background-color:#0000007a!important;-webkit-backdrop-filter:blur(1px)!important;backdrop-filter:blur(1px)!important}.modal{background:var(--card);border-radius:var(--radius-xl);width:var(--modal-width-md);max-width:var(--modal-max-width-md);max-height:var(--modal-max-height);display:flex;flex-direction:column;animation:modalSlideUp var(--transition-slow) cubic-bezier(.34,1.56,.64,1);transform-origin:center;box-shadow:0 20px 60px #0000004d;margin:var(--spacing-xl);position:relative;overflow-x:hidden}.modal-size-small{width:var(--modal-width-sm);max-width:var(--modal-max-width-sm)}.modal-size-medium{width:var(--modal-width-md);max-width:var(--modal-max-width-md)}.modal-size-large{width:var(--modal-width-lg);max-width:var(--modal-max-width-lg)}.modal-size-xlarge{width:var(--modal-width-xl);max-width:var(--modal-max-width-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xl);border-bottom:1px solid var(--border);flex-shrink:0}.close-btn{width:32px;height:32px;border:none;background:none;font-size:24px;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;line-height:1}.modal-content{padding:var(--modal-padding);overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;max-width:100%}@media (max-width: 1056px){.modal-size-medium{width:var(--modal-width-md-medium);max-width:var(--modal-max-width-md-medium)}}@media (max-width: 672px){.modal{max-height:var(--modal-max-height-mobile);margin:var(--spacing-md);padding-inline:var(--modal-padding-inline-small)}.modal-size-small,.modal-size-medium,.modal-size-large,.modal-size-xlarge{width:var(--modal-width-md-small);max-width:var(--modal-max-width-md-small)}.modal-content,.modal-header{padding:var(--modal-padding-mobile)}}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--spacing-3xl: 48px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 22px;--font-size-3xl: 24px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-slower: .4s ease;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-sidebar: 100;--z-header: 200;--z-modal: 2000;--z-modal-overlay: 2000;--z-modal-route: 2000;--z-tooltip: 3000;--modal-width-sm: 96vw;--modal-width-md: 72vw;--modal-width-lg: 75vw;--modal-width-xl: 80vw;--modal-max-width-sm: none;--modal-max-width-md: 960px;--modal-max-width-lg: 1100px;--modal-max-width-xl: 1400px;--modal-width-md-medium: 68vw;--modal-max-width-md-medium: 800px;--modal-width-md-small: 96vw;--modal-max-width-md-small: none;--modal-padding-inline-small: 16px;--modal-max-height: 84vh;--modal-max-height-mobile: 90vh;--modal-padding: var(--spacing-xl);--modal-padding-mobile: var(--spacing-lg);--overlay-bg: rgba(0, 0, 0, .48);--overlay-blur: blur(1px);--overlay-z-index: 1000;--overlay-z-index-route: 2000}.form-group{margin-bottom:var(--spacing-lg);width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;min-width:0}.modal-content form,.modal form{width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;min-width:0}.form-group label{display:block;font-weight:var(--font-weight-semibold);color:var(--text);margin-bottom:var(--spacing-sm);font-size:var(--font-size-base)}.required-indicator{color:var(--danger)}.form-group input,.form-group textarea,.form-group select{width:100%;max-width:100%;padding:var(--spacing-md) var(--spacing-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--input);color:var(--text);font-size:var(--font-size-base);transition:all var(--transition-base);font-family:inherit;box-sizing:border-box;min-width:0}.form-group select{min-width:0;max-width:100%;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis;box-sizing:border-box}.form-group select option{max-width:100%;overflow:hidden;text-overflow:ellipsis}.form-group textarea{min-height:80px;resize:vertical}.form-group input[readonly]{background:var(--bg);cursor:not-allowed}.form-row{display:flex;gap:var(--spacing-md);align-items:flex-start;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden;min-width:0}.form-row .form-group{flex:1;margin-bottom:var(--spacing-lg);min-width:0;overflow-x:hidden}.form-group.flex-1{flex:1}.form-group.flex-2{flex:2}.form-group.flex-3{flex:3}.form-section{border-top:1px solid var(--border);padding-top:var(--spacing-md);margin-top:var(--spacing-lg)}.section-header{margin-bottom:var(--spacing-md)}.section-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text);margin:0 0 var(--spacing-sm) 0}.form-error{color:var(--danger);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border)}.cancel-btn,.save-btn{padding:var(--spacing-md) var(--spacing-xl);border:none;border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);font-size:var(--font-size-base)}.save-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}.save-btn:disabled{opacity:.6;cursor:not-allowed}.link-btn{background:none;border:none;color:var(--primary);font-weight:var(--font-weight-semibold);cursor:pointer;padding:0;font-size:var(--font-size-base);transition:color var(--transition-base)}.link-btn:hover{color:var(--primary-dark);text-decoration:underline}.item-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md);font-weight:var(--font-weight-semibold);color:var(--text);font-size:var(--font-size-base)}.section-actions{margin-top:var(--spacing-sm);display:flex;justify-content:flex-start}.totals-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.form-group .ql-container{font-family:inherit;font-size:var(--font-size-base);color:var(--text);background:var(--input);border:1px solid var(--border);border-radius:var(--radius-md);border-top-left-radius:0;border-top-right-radius:0;min-height:150px}.form-group .ql-toolbar{border:1px solid var(--border);border-bottom:none;border-radius:var(--radius-md);border-bottom-left-radius:0;border-bottom-right-radius:0;background:var(--bg);padding:var(--spacing-sm)}.form-group .ql-toolbar .ql-stroke{stroke:var(--text)}.form-group .ql-toolbar .ql-fill{fill:var(--text)}.form-group .ql-toolbar button:hover,.form-group .ql-toolbar button.ql-active{color:var(--primary)}.form-group .ql-toolbar button:hover .ql-stroke,.form-group .ql-toolbar button.ql-active .ql-stroke{stroke:var(--primary)}.form-group .ql-toolbar button:hover .ql-fill,.form-group .ql-toolbar button.ql-active .ql-fill{fill:var(--primary)}.form-group .ql-editor{min-height:150px;color:var(--text)}.form-group .ql-editor.ql-blank:before{color:var(--text-muted);font-style:normal}.form-group .ql-container.ql-snow,.form-group .ql-toolbar.ql-snow{border:1px solid var(--border)}.form-group .ql-container.ql-snow:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-group [contenteditable=true]{width:100%!important;min-width:100%!important;box-sizing:border-box!important}.form-group [contenteditable=true] ul,.form-group [contenteditable=true] ol{padding-left:32px!important;margin-left:0!important;margin-top:8px!important;margin-bottom:8px!important;list-style-position:outside!important}.form-group [contenteditable=true] li{margin-bottom:4px!important;padding-left:8px!important}.form-group [contenteditable=true] ul{list-style-type:disc!important}.form-group [contenteditable=true] ol{list-style-type:decimal!important}.lead-management{padding:32px}.lead-management .header{position:sticky;top:0;z-index:100;background:var(--bg);padding:16px 0;margin-bottom:24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lead-management .header:before{content:"";position:absolute;top:0;left:-32px;right:-32px;height:100%;background:var(--bg);z-index:-1}.leads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px;margin-top:24px}.lead-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px;transition:all .3s ease}.lead-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.lead-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.lead-header h3{font-size:20px;font-weight:600;color:var(--text)}.status-badge{padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.status-badge.gray{background:#6b72801a;color:#6b7280}.status-badge.blue{background:#3b82f61a;color:#3b82f6}.status-badge.green{background:#10b9811a;color:#10b981}.status-badge.red{background:#ef44441a;color:#ef4444}.status-badge.purple{background:#8b5cf61a;color:#8b5cf6}.lead-details{margin-bottom:22px}.lead-details p{margin-bottom:10px;color:var(--text-muted);font-size:14px}.approvals{border-top:1px solid var(--border);padding-top:16px;margin-bottom:16px}.approval-section{margin-bottom:12px}.approval-section h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}.approval-status{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.approval-status.pending{background:#f59e0b1a;color:#f59e0b}.approval-status.approved{background:#10b9811a;color:#10b981}.approval-status.rejected{background:#ef44441a;color:#ef4444}.approval-actions{display:flex;gap:8px;margin-top:8px}.approve-btn,.reject-btn{padding:4px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.approve-btn{background:var(--success);color:#fff}.approve-btn:hover{background:#059669}.reject-btn{background:var(--danger);color:#fff}.reject-btn:hover{background:#dc2626}.lead-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.link-btn{background:linear-gradient(135deg,#6366f11a,#6366f10d);border:1px solid rgba(99,102,241,.2);border-radius:8px;color:var(--primary);font-weight:600;cursor:pointer;padding:8px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:6px;font-size:14px;position:relative;overflow:hidden}.link-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.link-btn:hover:before{left:100%}.link-btn:hover{background:linear-gradient(135deg,#6366f126,#6366f11a);border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #6366f133;color:var(--primary-dark)}.link-btn:active{transform:translateY(0);box-shadow:0 2px 6px #6366f126}.link-btn .accordion-chevron{flex-shrink:0;opacity:.8}.link-btn:hover .accordion-chevron{opacity:1}.edits-section{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.edits-section h4{margin-bottom:8px}.edit-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:8px}.edit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.changes-list{padding-left:16px}.change-diff{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:start;margin-top:6px}.change-block{margin:0;background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px;white-space:pre-wrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;color:var(--text)}.submit-btn,.convert-btn{padding:8px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-btn{background:var(--primary);color:#fff}.submit-btn:hover{background:var(--primary-dark)}.convert-btn{background:var(--success);color:#fff}.convert-btn:hover{background:#059669}.lead-form textarea{min-height:80px;resize:vertical}.form-section{border-top:1px solid var(--border);padding-top:12px;margin-top:16px}.form-section:first-of-type{border-top:none;padding-top:0;margin-top:0}.section-header h3{margin:0 0 8px}.item-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:10px}.item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:600;color:var(--text)}.section-actions{margin-top:8px;display:flex;justify-content:flex-start}.totals-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;margin-top:8px}.modal-overlay{position:fixed;inset:0;background:var(--overlay-bg);display:flex;align-items:center;justify-content:center;z-index:var(--overlay-z-index);animation:fadeIn var(--transition-slow) ease;-webkit-backdrop-filter:var(--overlay-blur);backdrop-filter:var(--overlay-blur)}.modal-overlay.modal-route{z-index:var(--overlay-z-index-route);animation:fadeIn var(--transition-slow) ease;background:var(--overlay-bg);-webkit-backdrop-filter:var(--overlay-blur);backdrop-filter:var(--overlay-blur)}.modal.modal-route-content{max-width:90%;width:1000px;max-height:90vh;animation:modalSlideUp .3s cubic-bezier(.34,1.56,.64,1);transform-origin:center}.modal-overlay.profile{z-index:1100}.modal-overlay.history{z-index:1050}.modal{background:var(--card);border-radius:var(--radius-xl);width:var(--modal-width-md);max-width:var(--modal-max-width-md);max-height:var(--modal-max-height);animation:slideUp var(--transition-slow) ease;display:flex;flex-direction:column;margin:var(--spacing-xl);position:relative;overflow-x:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--modal-padding);border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--text);margin:0}.close-btn{width:32px;height:32px;border:none;background:none;font-size:24px;color:var(--text-muted);cursor:pointer;border-radius:8px;transition:all .3s ease}.lead-form{padding:var(--modal-padding);overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;max-width:100%}.form-group{margin-bottom:18px}.form-group label{display:block;font-weight:600;color:var(--text);margin-bottom:8px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);font-size:14px;transition:all .2s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.accordion-row{display:table-row!important;visibility:visible!important;animation:accordionSlideDown .35s cubic-bezier(.4,0,.2,1);overflow:visible;transition:opacity .3s ease,transform .3s ease;height:auto!important;min-height:auto!important;max-height:none!important}.accordion-row td{transition:padding .3s ease;padding:0!important;display:table-cell!important;vertical-align:top;border-top:1px solid var(--border);height:auto!important;min-height:auto!important;max-height:none!important}.history-panel{padding:20px;background:var(--bg);display:block;width:100%;height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}.history-panel h4{margin-bottom:16px!important}.accordion-content{animation:accordionFadeIn .4s cubic-bezier(.4,0,.2,1);will-change:opacity,transform;display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;min-height:auto!important;max-height:none!important;overflow:visible!important}.history-panel .table{width:100%;overflow-x:auto;margin-top:0;margin-bottom:0}.history-panel .table table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.history-panel .table table tbody tr{background:var(--bg);transition:background-color .2s ease}.history-panel .table table tbody tr:nth-child(2n){background:var(--card)}.history-panel .table table tbody tr:hover{background:#6366f10d}.history-panel .table thead{background:var(--bg)}.history-panel .table thead th{padding:16px 20px;text-align:left;font-weight:600;font-size:13px;color:var(--text);border-bottom:2px solid var(--border);text-transform:uppercase;letter-spacing:.5px}.history-panel .table thead th:first-child{padding-left:48px}.history-panel .table tbody td{padding:18px 20px;border-bottom:1px solid var(--border);color:var(--text);font-size:14px;vertical-align:middle;line-height:1.5}.history-panel .table tbody td:first-child{padding-left:48px}.history-panel .table tbody td[data-label="Project Title"]{padding-left:60px!important;padding-right:20px;padding-top:18px;padding-bottom:18px}.history-panel .table tbody td:last-child{padding-right:24px}.history-panel .table tbody tr:last-child td{border-bottom:none}.history-panel .table tbody tr+tr{border-top:1px solid var(--border)}.history-panel .table tbody td[data-label=Actions]{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.history-panel .table tbody td .save-btn,.history-panel .table tbody td .link-btn{padding:6px 12px;font-size:12px;font-weight:500;border-radius:6px;min-height:auto;height:auto;margin:2px}.history-panel .table tbody td .save-btn{padding:6px 14px;margin:2px}.history-panel .table tbody td .link-btn{padding:6px 12px;display:inline-flex;align-items:center;gap:4px;margin:2px}.history-panel .table tbody td .link-btn svg{width:14px;height:14px;flex-shrink:0}.history-panel .table tbody td .reject-btn{padding:6px 12px;font-size:12px;font-weight:500;border-radius:6px;min-height:auto;height:auto;margin:2px}.lead-management .table table tbody{display:table-row-group}.lead-management .table table tbody tr{display:table-row}.lead-management .table table tbody tr.accordion-row{display:table-row!important}@keyframes accordionSlideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes accordionFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.lead-actions .link-btn{margin-top:8px}.cancel-btn,.save-btn{padding:12px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.cancel-btn:hover{background:var(--border)}.save-btn:hover:not(:disabled){background:var(--primary-dark)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 1056px){.modal{width:var(--modal-width-md-medium);max-width:var(--modal-max-width-md-medium)}}@media (max-width: 672px){.leads-grid{grid-template-columns:1fr}.modal{width:var(--modal-width-md-small);max-width:var(--modal-max-width-md-small);max-height:var(--modal-max-height-mobile);margin:var(--spacing-md);padding-inline:var(--modal-padding-inline-small)}.modal.modal-route-content{width:var(--modal-width-md-small);max-width:var(--modal-max-width-md-small)}.lead-form{padding:var(--modal-padding-mobile);overflow-x:hidden;max-width:100%}.modal-header{padding:var(--modal-padding-mobile)}}.spinner{display:inline-block;position:relative}.spinner-circle{border:3px solid rgba(0,0,0,.1);border-top-color:var(--primary, #2563eb);border-radius:50%;animation:spinner-rotate .8s linear infinite;width:100%;height:100%}.spinner-small{width:16px;height:16px}.spinner-medium{width:24px;height:24px}.spinner-large{width:40px;height:40px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner-circle{animation:none;border-top-color:var(--primary, #2563eb)}}.dots-loader{display:inline-flex;align-items:center;gap:2px}.dots{display:inline-flex;gap:2px}.dots span{animation:dots-bounce 1.4s infinite ease-in-out both;display:inline-block}.dots span:nth-child(1){animation-delay:-.32s}.dots span:nth-child(2){animation-delay:-.16s}@keyframes dots-bounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.dots span{animation:none;opacity:.5}}.skeleton{background:linear-gradient(90deg,#0000000f,#0000001a,#0000000f);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;display:block}@keyframes skeleton-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (prefers-reduced-motion: reduce){.skeleton{animation:none;background:#00000014}}.skeleton-title{margin-bottom:8px}.skeleton-subtitle{margin-bottom:12px}.skeleton-card{padding:16px;border:1px solid var(--border, #e5e7eb);border-radius:8px;background:var(--card, #ffffff)}.skeleton-card .skeleton{margin-bottom:8px}.skeleton-row td{padding:12px}.progress-bar-container{width:100%}.progress-label{font-size:14px;color:var(--text, #1f2937);margin-bottom:4px}.progress-bar-track{width:100%;height:8px;background:#0000001a;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--primary, #2563eb);border-radius:4px;transition:width .3s ease}.progress-percentage{font-size:12px;color:var(--text-muted, #6b7280);margin-top:4px;text-align:right}.circular-progress{position:relative;display:inline-flex;align-items:center;justify-content:center}.circular-progress-svg{transform:rotate(-90deg)}.circular-progress-background{stroke:#0000001a;stroke-width:4}.circular-progress-fill{stroke:var(--primary, #2563eb);stroke-width:4;stroke-linecap:round;transition:stroke-dashoffset .3s ease}.circular-progress-label{position:absolute;font-size:12px;font-weight:600;color:var(--text, #1f2937)}.button-loader{display:inline-flex;align-items:center;gap:8px}.button-loader-text{display:inline-block}.page-skeleton{padding:24px}.skeleton-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:16px}.skeleton-filters{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap}.skeleton-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.field-loader{position:relative;display:inline-block}.field-loader-spinner{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.loading-overlay{position:fixed;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.loading-overlay-content{text-align:center}.loading-overlay-content .spinner{margin-bottom:16px}.project-management{padding:32px}.project-management .header{position:sticky;top:0;z-index:100;background:var(--bg);padding:16px 0;margin-bottom:24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.project-management .header:before{content:"";position:absolute;top:0;left:-32px;right:-32px;height:100%;background:var(--bg);z-index:-1}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(450px,1fr));gap:24px;margin-top:24px}.project-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px;transition:all .3s ease}.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.project-header h3{font-size:20px;font-weight:600;color:var(--text)}.project-details{margin-bottom:20px}.project-details p{margin-bottom:8px;color:var(--text-muted);font-size:14px}.revisions-section{border-top:1px solid var(--border);padding-top:16px;margin-bottom:16px}.revisions-section h4{font-size:16px;font-weight:600;color:var(--text);margin-bottom:12px}.revisions-list{display:flex;flex-direction:column;gap:12px}.revision-item{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px}.revision-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.revision-type{background:var(--primary);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.revision-status{padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.revision-status.pending{background:#f59e0b1a;color:#f59e0b}.revision-status.approved{background:#10b9811a;color:#10b981}.revision-status.rejected{background:#ef44441a;color:#ef4444}.revision-desc{font-size:13px;color:var(--text-muted);margin-bottom:8px}.revision-actions{display:flex;gap:8px}.revision-actions .approve-btn,.revision-actions .reject-btn{padding:4px 12px;border:none;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.revision-actions .approve-btn{background:var(--success);color:#fff}.revision-actions .approve-btn:hover{background:#059669}.revision-actions .reject-btn{background:var(--danger);color:#fff}.revision-actions .reject-btn:hover{background:#dc2626}.project-actions{display:flex;gap:12px;flex-wrap:wrap}.assign-btn,.revision-btn{padding:10px 16px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px}.assign-btn{background:var(--primary);color:#fff}.assign-btn:hover{background:var(--primary-dark)}.revision-btn{background:var(--warning);color:#fff}.revision-btn:hover{background:#d97706}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease}.modal{background:var(--card);border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border)}.modal-header h2{font-size:20px;font-weight:600;color:var(--text);margin:0}.close-btn{width:32px;height:32px;border:none;background:none;font-size:28px;color:var(--text-muted);cursor:pointer;border-radius:8px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn:hover{background:var(--bg);color:var(--text)}.assign-form,.revision-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;color:var(--text);margin-bottom:8px;font-size:14px}.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--input);color:var(--text);font-size:14px;transition:all .3s ease;font-family:inherit}.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.form-group textarea{min-height:100px;resize:vertical}.revision-form textarea[placeholder*=JSON]{font-family:Courier New,monospace;font-size:13px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.cancel-btn,.save-btn{padding:12px 24px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:14px}.cancel-btn{background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.cancel-btn:hover{background:var(--border);color:var(--text)}.save-btn{background:var(--primary);color:#fff}.save-btn:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #6366f14d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}.project-actions{flex-direction:column}.assign-btn,.revision-btn{width:100%}.modal{width:95%;max-height:95vh}.form-actions{flex-direction:column}.cancel-btn,.save-btn{width:100%}}.dash-page{padding:var(--spacing-lg, 24px);color:var(--text)}.dash-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md, 16px);margin-bottom:var(--spacing-lg, 24px);flex-wrap:wrap}.dash-page-title{margin:0 0 4px;font-size:var(--font-size-2xl, 1.5rem);font-weight:600}.dash-page-subtitle{margin:0;color:var(--text-muted);font-size:var(--font-size-sm, .875rem);max-width:80ch;line-height:1.5}.dash-loading{padding:40px;text-align:center;color:var(--text-muted)}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:24px}.dash-kpi{position:relative;padding:16px 18px;background:var(--card);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;overflow:hidden}.dash-kpi.dash-kpi-clickable{cursor:pointer}.dash-kpi.dash-kpi-clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dash-kpi-accent{position:absolute;top:0;left:0;width:4px;height:100%;background:var(--primary)}.dash-kpi-label{font-size:.78rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:600;margin-bottom:8px}.dash-kpi-value{font-size:1.85rem;font-weight:700;line-height:1.1;color:var(--text);font-variant-numeric:tabular-nums}.dash-kpi-sub{font-size:.78rem;color:var(--text-muted);margin-top:6px}.dash-kpi-delta{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.72rem;font-weight:600;margin-left:8px}.dash-kpi-delta-up{background:#10b98126;color:#047857}.dash-kpi-delta-down{background:#ef444426;color:#b91c1c}.dash-kpi-delta-flat{background:var(--input);color:var(--text-muted)}.dash-section{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 20px;margin-bottom:20px;box-shadow:var(--shadow)}.dash-section-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.dash-section-title{margin:0;font-size:1rem;font-weight:600;color:var(--text)}.dash-section-link{background:none;border:none;color:var(--primary);font-size:.85rem;font-weight:500;cursor:pointer;padding:0}.dash-section-link:hover{text-decoration:underline}.dash-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.dash-status-list{display:flex;flex-direction:column;gap:10px}.dash-status-row{display:grid;grid-template-columns:140px 1fr 56px;align-items:center;gap:12px}.dash-status-label{font-size:.85rem;color:var(--text);text-transform:capitalize;font-weight:500}.dash-status-bar-track{position:relative;height:10px;background:var(--input);border-radius:999px;overflow:hidden}.dash-status-bar-fill{position:absolute;top:0;left:0;bottom:0;border-radius:999px;background:var(--primary);transition:width .4s ease}.dash-status-count{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}.dash-table-wrap{overflow-x:auto}.dash-table{width:100%;border-collapse:collapse;font-size:.85rem}.dash-table th,.dash-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}.dash-table th{font-weight:600;text-transform:uppercase;font-size:.7rem;letter-spacing:.05em;color:var(--text-muted)}.dash-table tbody tr:hover{background:var(--input)}.dash-table .dash-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.dash-table .dash-table-empty{text-align:center;color:var(--text-muted);padding:24px}.dash-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:capitalize;white-space:nowrap}.dash-pill-green{background:#10b98126;color:#047857}.dash-pill-amber{background:#f59e0b26;color:#b45309}.dash-pill-red{background:#ef444426;color:#b91c1c}.dash-pill-blue{background:#3b82f626;color:#1d4ed8}.dash-pill-violet{background:#6366f126;color:#4338ca}.dash-pill-slate{background:#64748b26;color:#475569}.dash-metric-stack{display:flex;flex-direction:column;gap:10px}.dash-metric-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--input);border-radius:8px;font-size:.88rem}.dash-metric-name{color:var(--text);font-weight:500;display:flex;align-items:center;gap:8px}.dash-metric-value{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.dash-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:.88rem;font-style:italic}.ipl-root{display:flex;flex-direction:column;gap:18px;max-width:980px}.ipl-root code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.86em;background:#6366f114;padding:1px 6px;border-radius:4px;color:var(--text)}.ipl-status{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:14px;border:1px solid var(--border);background:var(--card)}.ipl-status-light{width:14px;height:14px;border-radius:50%;flex-shrink:0}.ipl-status-on .ipl-status-light{background:#10b981;box-shadow:0 0 14px #10b981b3}.ipl-status-off .ipl-status-light{background:#94a3b8}.ipl-status-title{font-size:1.02rem;color:var(--text)}.ipl-status-sub{color:var(--text-muted);font-size:.88rem;margin-top:2px}.ipl-callout{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;border:1px solid;font-size:.9rem;line-height:1.5}.ipl-callout-icon{font-size:1.1rem;line-height:1.4;flex-shrink:0}.ipl-callout-title{font-weight:600;margin-bottom:4px}.ipl-callout-text{line-height:1.55}.ipl-callout-text ol,.ipl-callout-text ul{margin:6px 0 0 18px;padding:0}.ipl-callout-text li{margin:4px 0}.ipl-list-ol{margin:0;padding-left:20px}.ipl-list-ol li{margin-bottom:6px}.ipl-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 20px}.ipl-card-header h4{margin:0 0 4px;font-size:1rem;color:var(--text)}.ipl-card-header p{margin:0 0 12px;font-size:.88rem;color:var(--text-muted);line-height:1.55}.ipl-count{font-size:.78rem;font-weight:600;color:var(--text-muted);margin-left:4px}.ipl-empty{padding:14px;text-align:center;color:var(--text-muted);font-style:italic;font-size:.9rem;background:var(--bg);border-radius:8px;margin:8px 0}.ipl-hint{margin-top:8px;font-size:.82rem;color:var(--text-muted)}.ipl-myip{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ipl-myip-value{font-size:1rem;padding:6px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px}.ipl-entry-list{list-style:none;margin:8px 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.ipl-entry-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.9rem}.ipl-entry-row-stack{flex-wrap:wrap}.ipl-entry-meta{font-size:.74rem;color:var(--text-muted);background:var(--card);padding:2px 8px;border-radius:999px}.ipl-entry-label{font-size:.85rem;color:var(--text);font-weight:500}.ipl-entry-main{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.ipl-entry-sub{flex-basis:100%;font-size:.78rem;color:var(--text-muted)}.ipl-add-row{display:flex;gap:8px;align-items:stretch}.ipl-add-row input,.ipl-add-row select{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.9rem}.ipl-add-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:8px;margin-top:4px}.ipl-add-grid input,.ipl-add-grid select{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.88rem;min-width:0}@media (max-width: 720px){.ipl-add-grid{grid-template-columns:1fr}}.ipl-test{display:flex;gap:8px;margin-bottom:10px}.ipl-test input{flex:1;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-size:.9rem}.ipl-collapsible summary{font-weight:600;cursor:pointer;list-style:none;outline:none;color:var(--text);position:relative;padding:6px 0 6px 22px}.ipl-collapsible summary::-webkit-details-marker{display:none}.ipl-collapsible summary:before{content:"▸";position:absolute;left:0;transition:transform .18s ease}.ipl-collapsible[open] summary:before{transform:rotate(90deg)}.ipl-card-body{margin-top:10px}.ipl-card-body h5{margin:14px 0 6px;font-size:.92rem;color:var(--text)}.ipl-card-body p{margin:0 0 6px;color:var(--text-muted);font-size:.88rem;line-height:1.55}.ipl-card-body ul,.ipl-card-body ol{margin:6px 0 6px 22px;color:var(--text-muted);font-size:.88rem}.ipl-card-body li{margin:4px 0;line-height:1.5}.ipl-master{border:2px solid var(--primary, #6366f1);background:linear-gradient(135deg,#6366f10a,#8b5cf60a)}.ipl-master-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:12px}.ipl-master-row h4{margin:0 0 4px;color:var(--text)}.ipl-master-row p{margin:0;font-size:.88rem;color:var(--text-muted);max-width:60ch;line-height:1.55}.ipl-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.ipl-toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.ipl-toggle.disabled{opacity:.5;cursor:not-allowed}.ipl-toggle input{position:absolute;opacity:0;pointer-events:none}.ipl-toggle-track{width:48px;height:26px;background:#94a3b8;border-radius:999px;position:relative;transition:background .18s ease;flex-shrink:0}.ipl-toggle.on .ipl-toggle-track{background:#10b981}.ipl-toggle-thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #00000040;transition:left .18s ease}.ipl-toggle.on .ipl-toggle-thumb{left:25px}.ipl-toggle-label{font-size:.9rem;font-weight:600;color:var(--text)}.ipl-btn{padding:8px 14px;border-radius:8px;border:1px solid transparent;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease;white-space:nowrap}.ipl-btn:disabled{opacity:.5;cursor:not-allowed}.ipl-btn-ghost{background:var(--bg);border-color:var(--border);color:var(--text)}.ipl-btn-ghost:hover:not(:disabled){background:var(--card);border-color:var(--primary, #6366f1)}.ipl-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;box-shadow:0 4px 12px #6366f14d}.ipl-btn-primary:hover:not(:disabled){transform:translateY(-1px)}.ipl-btn-danger{background:#ef4444;color:#fff}.ipl-btn-danger:hover:not(:disabled){background:#dc2626}.ipl-btn-danger-ghost{background:transparent;border-color:#ef444466;color:#b91c1c;padding:5px 12px;font-size:.82rem}.ipl-btn-danger-ghost:hover:not(:disabled){background:#ef444414}.ipl-modal-overlay{position:fixed;inset:0;background:#0f172a8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.ipl-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px 22px 20px;max-width:480px;width:100%;display:flex;flex-direction:column;gap:14px;box-shadow:0 25px 60px #0000004d}.ipl-modal h3{margin:0;color:var(--text);font-size:1.1rem}.ipl-modal p{margin:0;color:var(--text);font-size:.92rem;line-height:1.55}.ipl-modal-checklist{font-size:.88rem;color:var(--text);background:var(--bg);border-radius:8px;padding:10px 14px}.ipl-modal-checklist ul{margin:6px 0 0 18px;padding:0;color:var(--text-muted)}.ipl-modal-checklist li{margin:2px 0}.ipl-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}/*!
 * Quill Editor v2.0.3
 * https://quilljs.com
 * Copyright (c) 2017-2024, Slab
 * Copyright (c) 2014, Jason Chen
 * Copyright (c) 2013, salesforce.com
 */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{list-style-type:none;padding-left:1.5em;position:relative}.ql-editor li>.ql-ui:before{display:inline-block;margin-left:-1.5em;margin-right:.3em;text-align:right;white-space:nowrap;width:1.2em}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0,decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6,decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7,lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8,lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9,decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{margin-left:.3em;margin-right:-1.5em;text-align:left}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor .ql-code-block-container{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{right:5px;top:5px}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:#0003 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:"Visit URL:";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:"Edit";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:"Save";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.expiry-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap}.company-profile{padding:24px 24px 120px}.company-profile-header{margin-bottom:32px}.company-profile-header h2{font-size:24px;font-weight:600;color:var(--text);margin-bottom:8px}.company-profile-header p{color:var(--text-muted);font-size:14px}.profile-section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:24px}.profile-section h3{font-size:16px;font-weight:600;color:var(--text);margin:0 0 16px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:14px;font-weight:500;color:var(--text);margin-bottom:4px}.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;box-sizing:border-box;background:var(--input-bg);color:var(--text);font-family:inherit}.form-group textarea{resize:vertical;min-height:100px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row.single{grid-template-columns:1fr}.save-button{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--border);padding:16px 24px;display:flex;justify-content:flex-end;gap:12px;box-shadow:var(--shadow-lg);z-index:100}.save-button button{padding:10px 24px;background:#6366f1;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;font-size:14px}.save-button button:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.logo-uploader{border:2px dashed var(--border);border-radius:8px;padding:20px;text-align:center;cursor:pointer;background:var(--input-bg);transition:all .2s}.logo-uploader:hover{border-color:#6366f1;background:#6366f105}.logo-preview{max-width:100px;max-height:100px;border-radius:4px}.checkbox-wrapper{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text);cursor:pointer}.edit-history{margin-top:24px}.edit-entry{padding-left:16px;border-left:2px solid var(--border);padding-bottom:12px;margin-bottom:12px}.banking-section{border-color:#f59e0b;background-color:#f59e0b05}.banking-section h3{display:flex;align-items:center;gap:8px}.notification{padding:12px 16px;border-radius:6px;margin-bottom:16px;font-size:14px}.notification.success{background:#10b9811a;color:#10b981}.notification.error{background:#ef44441a;color:#ef4444}.address-grid{display:grid;gap:16px}.address-grid.two-column{grid-template-columns:1fr 1fr}.address-subsection h4{font-size:13px;font-weight:600;color:var(--text);margin:0 0 12px}.address-input-group{margin-bottom:12px}.address-input-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 768px){.form-row,.address-grid.two-column,.address-input-row{grid-template-columns:1fr}.save-button{flex-direction:column}.save-button button{width:100%}}.document-management{padding:24px}.document-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.document-management-header h2{font-size:24px;font-weight:600;color:var(--text);margin:0 0 4px}.document-management-header p{font-size:14px;color:var(--text-muted);margin:0}.filter-section{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:12px}.filter-grid input,.filter-grid select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text)}.doc-number{font-size:13px;font-weight:600}.doc-type{color:var(--text-muted);font-size:13px}.priority-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.priority-badge.critical{background:#ef44441a;color:#ef4444}.priority-badge.high{background:#f59e0b1a;color:#f59e0b}.priority-badge.normal{background:#3b82f61a;color:#3b82f6}.priority-badge.low{background:#6b72801a;color:#6b7280}.action-buttons{display:flex;gap:8px;justify-content:center}.action-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:4px}.action-btn:hover{transform:scale(1.1)}.pagination{padding:12px 16px;display:flex;justify-content:center;gap:8px;border-top:1px solid var(--border)}.pagination button{padding:6px 12px;background:#6366f1;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px}.pagination button:disabled{background:var(--input-bg);color:var(--text-muted);cursor:not-allowed}.pagination-info{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:13px}.modal-form{display:grid;gap:16px}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:14px;font-weight:500;color:var(--text)}.form-field input,.form-field textarea,.form-field select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text);font-family:inherit}.form-field textarea{resize:vertical;min-height:80px}.form-field input:disabled{opacity:.5;cursor:not-allowed}.file-uploader-input{display:none}.file-uploader-text{color:var(--text-muted);margin:0 0 4px}.file-uploader-count{font-size:12px;color:#6366f1;margin:8px 0 0}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.modal-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.modal-actions .cancel-btn{background:var(--input-bg);border:1px solid var(--border);color:var(--text)}.modal-actions .save-btn{background:#6366f1;color:#fff}@media (max-width: 768px){.document-management-header{flex-direction:column;align-items:flex-start;gap:12px}.filter-grid{grid-template-columns:1fr}.documents-table-wrapper{font-size:12px}.documents-table th,.documents-table td{padding:8px}.action-buttons,.pagination,.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.credential-management{padding:24px}.credential-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.credential-management-header h2{font-size:24px;font-weight:600;color:var(--text);margin:0 0 4px}.credential-management-header p{font-size:14px;color:var(--text-muted);margin:0}.verification-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.verification-badge.verified{background:#10b9811a;color:#10b981}.verification-badge.pending{background:#f59e0b1a;color:#f59e0b}.verification-badge.unverified{background:#6b72801a;color:#6b7280}.renew-modal{display:grid;gap:16px}.renew-modal-input{display:flex;flex-direction:column;gap:4px}.renew-modal-input label{font-size:14px;font-weight:500;color:var(--text)}.renew-modal-input input,.renew-modal-input textarea{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text);font-family:inherit}.renew-modal-input textarea{resize:vertical;min-height:80px}.renew-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.renew-modal-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.renew-modal-actions .cancel-btn{background:var(--input-bg);border:1px solid var(--border);color:var(--text)}.renew-modal-actions .renew-btn{background:#3b82f6;color:#fff}.action-icons{display:flex;gap:8px;justify-content:center}.action-icon-btn{background:none;border:none;cursor:pointer;font-size:16px;padding:4px;transition:transform .2s}.action-icon-btn:hover{transform:scale(1.1)}.action-icon-verify{color:#10b981}.action-icon-renew{color:#3b82f6}.action-icon-edit{color:#6366f1}.action-icon-delete{color:#ef4444}@media (max-width: 768px){.credential-management-header{flex-direction:column;align-items:flex-start;gap:12px}.action-icons,.renew-modal-actions{flex-direction:column}.renew-modal-actions button{width:100%}}.vehicle-management{padding:24px}.vehicle-management-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.vehicle-management-header h2{font-size:24px;font-weight:600;color:var(--text);margin:0 0 4px}.vehicle-management-header p{font-size:14px;color:var(--text-muted);margin:0}.vehicle-status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.vehicle-status-badge.active{background:#10b9811a;color:#10b981}.vehicle-status-badge.maintenance{background:#f59e0b1a;color:#f59e0b}.vehicle-status-badge.idle{background:#6b72801a;color:#6b7280}.vehicle-docs-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;background:#f59e0b1a;color:#f59e0b}.vehicle-table-row{cursor:pointer;transition:background .2s}.vehicle-table-row:hover{background:#6366f10d!important}.vehicle-modal{display:grid;gap:16px}.vehicle-modal-section{display:grid;grid-template-columns:1fr 1fr;gap:16px}.vehicle-modal-section.three-col{grid-template-columns:1fr 1fr 1fr}.vehicle-modal-section.full{grid-template-columns:1fr}.vehicle-modal-field{display:flex;flex-direction:column;gap:4px}.vehicle-modal-field label{font-size:14px;font-weight:500;color:var(--text)}.vehicle-modal-field input,.vehicle-modal-field select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text);font-family:inherit}.vehicle-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.vehicle-modal-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.vehicle-modal-actions .cancel-btn{background:var(--input-bg);border:1px solid var(--border);color:var(--text)}.vehicle-modal-actions .save-btn{background:#6366f1;color:#fff}@media (max-width: 768px){.vehicle-management-header{flex-direction:column;align-items:flex-start;gap:12px}.vehicle-modal-section,.vehicle-modal-section.three-col{grid-template-columns:1fr}.vehicle-modal-actions{flex-direction:column}.vehicle-modal-actions button{width:100%}.confirm-modal-buttons{flex-direction:column}.confirm-modal-buttons button{width:100%}}.hr-page{padding:32px}.hr-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:16px;flex-wrap:wrap}.hr-page-header h2{margin:0 0 4px;color:var(--text);font-size:24px}.hr-page-header p{margin:0;color:var(--text-muted)}.hr-btn{padding:10px 18px;border-radius:8px;border:none;cursor:pointer;font-weight:500;font-size:14px;transition:all .15s ease;display:inline-flex;align-items:center;gap:6px}.hr-btn-primary{background:var(--primary);color:#fff}.hr-btn-primary:hover{background:var(--primary-hover)}.hr-btn-secondary{background:var(--input);color:var(--text);border:1px solid var(--border)}.hr-btn-secondary:hover{background:var(--border)}.hr-btn-danger{background:#ef4444;color:#fff}.hr-btn-danger:hover{background:#dc2626}.hr-btn-success{background:#10b981;color:#fff}.hr-btn-success:hover{background:#059669}.hr-filters{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}.hr-filters input,.hr-filters select{padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--input);color:var(--text);font-size:14px;min-width:160px}.hr-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:16px;margin-bottom:12px}.hr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.hr-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px}.hr-kpi{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:18px}.hr-kpi-label{color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.hr-kpi-value{font-size:28px;font-weight:700;color:var(--text)}.hr-kpi-sub{color:var(--text-muted);font-size:12px;margin-top:4px}.hr-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:10px;overflow:hidden}.hr-table th,.hr-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:14px}.hr-table th{background:var(--input);color:var(--text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.hr-table tr:hover{background:var(--input)}.hr-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:500}.hr-badge-success{background:#10b9811a;color:#10b981}.hr-badge-warning{background:#f59e0b1a;color:#f59e0b}.hr-badge-danger{background:#ef44441a;color:#ef4444}.hr-badge-info{background:#6366f11a;color:var(--primary)}.hr-badge-neutral{background:var(--input);color:var(--text-muted)}.hr-modal-overlay{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.hr-modal{background:var(--card);border-radius:12px;padding:24px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border)}.hr-modal h3{margin-top:0;color:var(--text)}.hr-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-bottom:12px}.hr-form-field{display:flex;flex-direction:column;gap:4px}.hr-form-field label{font-size:12px;color:var(--text-muted);font-weight:500}.hr-form-field input,.hr-form-field select,.hr-form-field textarea{padding:9px 12px;border:1px solid var(--border);border-radius:6px;background:var(--input);color:var(--text);font-size:14px;font-family:inherit}.hr-form-field textarea{min-height:80px;resize:vertical}.hr-loc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}@media (max-width: 1100px){.hr-loc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 720px){.hr-loc-grid{grid-template-columns:1fr}}.hr-loc-cell{display:flex;flex-direction:column;gap:6px;min-width:0}.hr-loc-label{font-size:12px;color:var(--text-muted);font-weight:500}.hr-loc-hint{font-size:11px;color:var(--text-muted);line-height:1.45}.hr-form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.hr-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.hr-tab{padding:10px 18px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px;font-weight:500;border-bottom:2px solid transparent;transition:all .15s ease}.hr-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.hr-tab:hover:not(.active){color:var(--text)}.hr-section-header{font-size:16px;font-weight:600;color:var(--text);margin:20px 0 12px}.hr-empty{padding:48px 24px;text-align:center;color:var(--text-muted);background:var(--card);border-radius:10px;border:1px dashed var(--border)}.hr-alert-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-left:4px solid var(--border);background:var(--card);border-radius:6px;margin-bottom:8px}.hr-alert-row.critical{border-left-color:#ef4444}.hr-alert-row.warning{border-left-color:#f59e0b}.hr-alert-row.info{border-left-color:var(--primary)}.hr-alert-msg{flex:1;font-size:13px;color:var(--text)}.hr-alert-meta{font-size:11px;color:var(--text-muted)}.hr-workflow-stepper{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.hr-stage{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:500;background:var(--input);color:var(--text-muted);border:1px solid var(--border)}.hr-stage.completed{background:#10b98126;color:#10b981;border-color:#10b9814d}.hr-stage.current{background:#6366f126;color:var(--primary);border-color:#6366f166}.hr-checklist-item{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:var(--card)}.hr-checklist-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer}.hr-checklist-item.done{opacity:.6}.hr-checklist-item.done .hr-checklist-label{text-decoration:line-through}.hr-doc-tile{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:8px;margin-bottom:8px;background:var(--card)}.hr-doc-meta{display:flex;flex-direction:column;gap:2px}.hr-doc-name{font-weight:500;color:var(--text);text-transform:capitalize}.hr-doc-expiry{font-size:12px;color:var(--text-muted)}.hr-table-actions{display:flex;gap:6px}.hr-link{color:var(--primary);cursor:pointer;text-decoration:none}.hr-link:hover{text-decoration:underline}.hr-pipeline{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.hr-pipeline-column{background:var(--input);border-radius:10px;padding:14px;min-height:200px}.hr-pipeline-column h4{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.hr-pipeline-card{background:var(--card);padding:12px;border-radius:8px;margin-bottom:8px;border:1px solid var(--border);cursor:pointer;transition:all .15s ease}.hr-pipeline-card:hover{border-color:var(--primary);transform:translateY(-1px)}.hr-stage-card{padding:18px 20px}.hr-stage-stepper{display:flex;align-items:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.hr-stage-step{display:flex;align-items:center;gap:8px;position:relative}.hr-stage-bullet{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;background:var(--input);border:2px solid var(--border);color:var(--text-muted);flex-shrink:0}.hr-stage-step-label{font-size:13px;font-weight:600;color:var(--text-muted);white-space:nowrap}.hr-stage-connector{width:36px;height:2px;background:var(--border);margin:0 4px}.hr-stage-step-done .hr-stage-bullet{background:#15803d;border-color:#15803d;color:#fff}.hr-stage-step-done .hr-stage-step-label{color:var(--text)}.hr-stage-step-current .hr-stage-bullet{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 0 4px #6366f12e}.hr-stage-step-current .hr-stage-step-label{color:var(--text);font-weight:700}.hr-stage-guidance{background:var(--input);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.hr-stage-guidance-title{font-size:14px;color:var(--text);margin-bottom:6px}.hr-stage-guidance-desc{margin:0 0 8px;color:var(--text-muted);font-size:13px;line-height:1.5}.hr-stage-guidance-list{margin:0;padding-left:18px;color:var(--text);font-size:13px;line-height:1.55}.hr-stage-guidance-list li{margin-bottom:4px}.hr-stage-block{margin-top:10px;padding:8px 12px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.4);color:#b45309;border-radius:8px;font-size:13px;line-height:1.5}.ag-container{display:flex;flex-direction:column;gap:12px}.ag-toolbar{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:10px;gap:16px;flex-wrap:wrap}.ag-toolbar-left,.ag-toolbar-right{display:flex;align-items:center;gap:10px}.ag-toolbar-label{color:var(--text-muted);font-size:13px;font-weight:500}.ag-toolbar input[type=date],.ag-toolbar input[type=text],.ag-toolbar select{padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:var(--input);color:var(--text);font-size:13px}.ag-count-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#6366f11f;color:var(--primary);font-size:12px;font-weight:600}.ag-scroll-outer{overflow-x:auto;border:1px solid var(--border);border-radius:10px;background:var(--card)}.ag-table{min-width:100%}.ag-row{display:grid;grid-template-columns:40px 200px 140px 130px 90px 100px 90px 90px 90px 120px 200px 50px;align-items:center;border-bottom:1px solid var(--border);box-sizing:border-box}.ag-row.ag-header{background:var(--input);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);height:44px;position:sticky;top:0;z-index:1}.ag-row.ag-status-not_marked{background:#94a3b814}.ag-row.ag-status-present{background:#22c55e14}.ag-row.ag-status-late{background:#ea580c1a}.ag-row.ag-status-absent{background:#ef444414}.ag-row.ag-status-leave{background:#f59e0b1a}.ag-row.ag-status-half_day{background:#f59e0b0f}.ag-row.ag-status-holiday{background:#3b82f614}.ag-row.ag-row-modified{box-shadow:inset 3px 0 0 var(--primary)}.ag-row.ag-row-locked{background:#0000000f;opacity:.72}.ag-row.ag-row-error{background:#ef44441f;box-shadow:inset 3px 0 #ef4444}.ag-row.ag-row-clickable{cursor:pointer}.ag-status-select-not_marked{border-left:4px solid #94a3b8!important}.ag-status-select-present{border-left:4px solid #16a34a!important}.ag-status-select-late{border-left:4px solid #ea580c!important}.ag-status-select-absent{border-left:4px solid #dc2626!important}.ag-status-select-leave{border-left:4px solid #d97706!important}.ag-status-select-half_day{border-left:4px solid #f59e0b!important}.ag-status-select-holiday{border-left:4px solid #2563eb!important}.ag-history-btn{width:100%;padding:5px 0;border:1px solid var(--border);border-radius:6px;background:var(--input);color:var(--text);font-size:14px;cursor:pointer}.ag-history-btn:hover{border-color:var(--primary);color:var(--primary)}.ag-history-btn:disabled{opacity:.35;cursor:default}.ag-cell{padding:6px 10px;font-size:13px;color:var(--text);overflow:hidden;box-sizing:border-box;min-width:0}.ag-cell-flag{text-align:center;font-size:14px}.ag-cell-emp{line-height:1.2}.ag-emp-name{font-weight:500}.ag-emp-id{color:var(--text-muted);font-size:11px}.ag-emp-id-row{display:flex;align-items:center;gap:6px}.ag-entry-badge{font-size:12px;line-height:1;cursor:help;-webkit-user-select:none;user-select:none;opacity:.85}.ag-entry-badge:hover{opacity:1}.ag-emp-link{background:none;border:none;padding:0;font:inherit;font-weight:500;color:var(--primary);text-align:left;cursor:pointer;text-decoration:none}.ag-emp-link:hover{text-decoration:underline}.ag-cell-meta{color:var(--text-muted);font-size:12px;white-space:nowrap;text-overflow:ellipsis}.ag-cell input,.ag-cell select,.ag-cell .ag-alloc-btn{width:100%;padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--input);color:var(--text);font-size:13px;box-sizing:border-box}.ag-cell input:disabled,.ag-cell select:disabled,.ag-cell .ag-alloc-btn:disabled{opacity:.6;cursor:not-allowed}.ag-alloc-btn{cursor:pointer;text-align:center}.ag-alloc-btn:hover:not(:disabled){background:var(--card);border-color:var(--primary)}.ag-alloc-btn-warn,.ag-alloc-btn-warn:hover:not(:disabled){border-color:#ef44448c;background:#ef444414;color:#b91c1c;font-weight:600}input.ag-time-warn{border:1px solid rgba(239,68,68,.55)!important;box-shadow:0 0 0 3px #ef44442e;background:#ef44440a;animation:agTimeWarnPulse 2.2s ease-in-out infinite}@keyframes agTimeWarnPulse{0%,to{box-shadow:0 0 0 3px #ef44442e}50%{box-shadow:0 0 0 5px #ef444447}}.loc-page{padding:var(--spacing-lg, 24px);color:var(--text, #0f172a)}.loc-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md, 16px);margin-bottom:var(--spacing-lg, 24px);flex-wrap:wrap}.loc-page-title{margin:0 0 4px;font-size:var(--font-size-2xl, 1.5rem);font-weight:600}.loc-page-subtitle{margin:0;color:var(--text-muted, #64748b);font-size:var(--font-size-sm, .875rem);max-width:64ch;line-height:1.5}.loc-filter-bar{display:flex;gap:var(--spacing-sm, 12px);margin-bottom:var(--spacing-md, 16px);flex-wrap:wrap}.loc-filter-input{padding:8px 12px;border-radius:var(--radius-md, 8px);border:1px solid var(--border, #e2e8f0);background:var(--input, #f8fafc);color:var(--text, #0f172a);font-size:var(--font-size-sm, .875rem);min-width:180px}.loc-filter-input:focus{outline:none;border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px var(--primary-light, rgba(99, 102, 241, .1))}.loc-banner{padding:10px 14px;border-radius:var(--radius-md, 8px);margin-bottom:var(--spacing-md, 16px);font-size:var(--font-size-sm, .875rem);border:1px solid transparent}.loc-banner-success{background:#10b9811a;color:#065f46;border-color:#10b9814d}.loc-banner-error{background:#ef44441a;color:#991b1b;border-color:#ef44444d}.loc-table-wrap{background:var(--card, #ffffff);border-radius:var(--radius-lg, 12px);border:1px solid var(--border, #e2e8f0);overflow:hidden;box-shadow:var(--shadow, 0 4px 6px -1px rgba(0, 0, 0, .1))}.loc-table{width:100%;border-collapse:collapse}.loc-table th,.loc-table td{padding:12px 14px;text-align:left;font-size:var(--font-size-sm, .875rem);border-bottom:1px solid var(--border, #e2e8f0)}.loc-table th{background:var(--input, #f8fafc);font-weight:600;color:var(--text-muted, #64748b);font-size:var(--font-size-xs, .75rem);text-transform:uppercase;letter-spacing:.04em}.loc-table tbody tr:hover{background:var(--input, #f8fafc)}.loc-table tbody tr.loc-row-inactive{opacity:.55}.loc-table-empty{text-align:center;padding:32px;color:var(--text-muted, #64748b)}.loc-cell-mono{font-family:ui-monospace,SFMono-Regular,SF Mono,monospace;font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #64748b);white-space:nowrap}.loc-cell-truncate{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loc-cell-muted{color:var(--text-muted, #64748b);font-size:var(--font-size-xs, .75rem);white-space:nowrap}.loc-type-badge,.loc-status-badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:var(--font-size-xs, .75rem);font-weight:500;text-transform:capitalize}.loc-type-site{background:#6366f11f;color:#4338ca}.loc-type-office{background:#10b9811f;color:#047857}.loc-type-other{background:#64748b26;color:#475569}.loc-type-remote{background:#f59e0b26;color:#b45309}.loc-type-mixed{background:#8b5cf626;color:#6d28d9}.loc-status-active{background:#10b9811f;color:#047857}.loc-status-inactive{background:#64748b26;color:#475569}.loc-lock-icon{font-size:1.05rem}.loc-pill{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--input, #f8fafc);color:var(--text-muted, #64748b);font-size:var(--font-size-xs, .75rem);font-weight:500;border:1px solid var(--border, #e2e8f0)}.loc-lock-weight{font-family:ui-monospace,SFMono-Regular,monospace;font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #64748b)}.loc-btn{padding:8px 16px;border-radius:var(--radius-md, 8px);border:1px solid transparent;font-size:var(--font-size-sm, .875rem);font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s);white-space:nowrap}.loc-btn:disabled{opacity:.5;cursor:not-allowed}.loc-btn-sm{padding:5px 10px;font-size:var(--font-size-xs, .75rem)}.loc-btn-primary{background:var(--primary, #6366f1);color:#fff}.loc-btn-primary:hover:not(:disabled){background:var(--primary-hover, #4f46e5)}.loc-btn-secondary{background:var(--input, #f8fafc);border-color:var(--border, #e2e8f0);color:var(--text, #0f172a)}.loc-btn-secondary:hover:not(:disabled){background:var(--card, #ffffff);border-color:var(--primary, #6366f1)}.loc-btn-ghost{background:transparent;border-color:var(--border, #e2e8f0);color:var(--text, #0f172a)}.loc-btn-ghost:hover:not(:disabled){background:var(--input, #f8fafc)}.loc-btn-danger{background:transparent;border-color:#ef44444d;color:#b91c1c}.loc-btn-danger:hover:not(:disabled){background:#ef444414}.loc-row-actions{display:flex;gap:6px}.loc-tabs{display:flex;gap:4px;background:var(--input, #f8fafc);padding:4px;border-radius:var(--radius-md, 8px);margin-bottom:var(--spacing-md, 16px)}.loc-tab{flex:1;padding:8px 14px;border-radius:var(--radius-sm, 6px);border:none;background:transparent;color:var(--text-muted, #64748b);font-size:var(--font-size-sm, .875rem);font-weight:500;cursor:pointer;transition:all var(--transition-fast, .15s)}.loc-tab:hover{color:var(--text, #0f172a)}.loc-tab.active{background:var(--card, #ffffff);color:var(--primary, #6366f1);box-shadow:var(--shadow, 0 4px 6px -1px rgba(0, 0, 0, .1))}.loc-tab-panel{margin-bottom:var(--spacing-md, 16px)}.loc-hint{margin:0 0 12px;font-size:var(--font-size-sm, .875rem);color:var(--text-muted, #64748b)}.loc-device-block{padding:14px;background:var(--input, #f8fafc);border-radius:var(--radius-md, 8px);border:1px solid var(--border, #e2e8f0)}.loc-geo-status{margin-top:10px;padding:8px 12px;border-radius:var(--radius-sm, 6px);font-size:var(--font-size-xs, .75rem)}.loc-geo-acquiring{background:#6366f11a;color:#4338ca}.loc-geo-ok{background:#10b9811a;color:#047857}.loc-geo-error{background:#ef44441a;color:#991b1b}.loc-map-container{display:flex;flex-direction:column;gap:10px}.loc-map{width:100%;height:400px;border-radius:var(--radius-md, 8px);overflow:hidden;border:1px solid var(--border, #e2e8f0)}.loc-map-search{width:100%;padding:10px 14px;border-radius:var(--radius-md, 8px);border:1px solid var(--border, #e2e8f0);background:var(--card, #ffffff);color:var(--text, #0f172a);font-size:var(--font-size-sm, .875rem);box-sizing:border-box}.loc-map-search:focus{outline:none;border-color:var(--primary, #6366f1);box-shadow:0 0 0 3px var(--primary-light, rgba(99, 102, 241, .1))}.loc-map-hint{font-size:var(--font-size-xs, .75rem);color:var(--text-muted, #64748b)}.loc-map-loading{padding:80px 32px;background:var(--input, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-md, 8px);text-align:center;color:var(--text-muted, #64748b);font-size:var(--font-size-sm, .875rem)}.loc-map-placeholder{padding:32px;background:var(--input, #f8fafc);border:2px dashed var(--border, #e2e8f0);border-radius:var(--radius-md, 8px);text-align:center}.loc-map-placeholder-icon{font-size:2.4rem;margin-bottom:8px}.loc-map-placeholder-title{font-weight:600;margin-bottom:6px}.loc-map-placeholder-text{color:var(--text-muted, #64748b);font-size:var(--font-size-sm, .875rem);max-width:48ch;margin:0 auto;line-height:1.5}.loc-form{display:flex;flex-direction:column;gap:var(--spacing-md, 16px)}.loc-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:var(--spacing-sm, 12px);padding-top:var(--spacing-md, 16px);border-top:1px solid var(--border, #e2e8f0)}.loc-dep-modal{display:flex;flex-direction:column;gap:14px}.loc-dep-summary{margin-bottom:4px}.loc-dep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.loc-dep-card{padding:12px 14px;background:var(--card, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:10px;display:flex;flex-direction:column;gap:4px}.loc-dep-card-value{font-size:1.5rem;font-weight:700;color:var(--text, #0f172a);line-height:1}.loc-dep-card-label{font-size:.82rem;font-weight:600;color:var(--text-muted, #475569);text-transform:uppercase;letter-spacing:.04em}.loc-dep-card-hint{font-size:.75rem;color:var(--text-muted, #64748b);line-height:1.35}.loc-dep-breakdown,.loc-dep-groups{padding:10px 12px;background:var(--input, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:10px}.loc-dep-breakdown-title{font-size:.85rem;font-weight:600;color:var(--text, #0f172a);margin-bottom:8px}.loc-dep-breakdown-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.loc-dep-breakdown-list li{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text, #0f172a)}.loc-dep-breakdown-list li span{color:var(--text-muted, #475569)}.loc-dep-breakdown-list li strong{color:var(--text, #0f172a)}.loc-dep-note{margin-top:8px;font-size:.75rem;color:var(--text-muted, #64748b);font-style:italic}.loc-dep-chips{display:flex;flex-wrap:wrap;gap:6px}.loc-dep-chip{padding:4px 10px;background:var(--card, #ffffff);border:1px solid var(--border, #e2e8f0);border-radius:999px;font-size:.78rem;color:var(--text, #0f172a)}.profile-page{max-width:820px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:18px}.profile-empty{padding:40px;text-align:center;color:var(--text-muted);border:1px dashed var(--border);border-radius:12px;background:var(--card)}.profile-empty.profile-error{color:#dc2626;border-color:#ef444466}.profile-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:22px;background:var(--card);border:1px solid var(--border);border-radius:14px}.profile-avatar{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.profile-header-text h1{margin:0 0 4px;font-size:22px;font-weight:700;color:var(--text)}.profile-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:8px}.profile-roles{display:flex;flex-wrap:wrap;gap:6px}.profile-chip{display:inline-flex;padding:3px 10px;border-radius:999px;background:#6366f11f;color:var(--primary);font-size:12px;font-weight:600}.profile-chip-muted{background:#94a3b826;color:var(--text-muted)}.profile-header-actions{display:flex;flex-direction:column;gap:8px}.profile-btn{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--input);color:var(--text);white-space:nowrap}.profile-btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.profile-btn-primary:hover{background:var(--primary-hover)}.profile-btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.profile-card{padding:22px;background:var(--card);border:1px solid var(--border);border-radius:14px}.profile-card h2{margin:0 0 12px;font-size:15px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.04em}.profile-row{display:grid;grid-template-columns:200px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:14px}.profile-row:last-child{border-bottom:none}.profile-row-label{color:var(--text-muted);font-weight:500}.profile-row-value{color:var(--text);word-break:break-word}.profile-badge{padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.profile-badge-success{background:#22c55e26;color:#16a34a}.profile-badge-danger{background:#ef444426;color:#dc2626}.profile-help{color:var(--text-muted);font-size:13px;line-height:1.55;margin:0 0 14px}.profile-note{color:var(--text-muted);font-size:12px;text-align:center;padding:4px}@media (max-width: 720px){.profile-header{grid-template-columns:1fr;text-align:center}.profile-roles{justify-content:center}.profile-header-actions{flex-direction:row;justify-content:center}.profile-row{grid-template-columns:1fr;gap:2px}.profile-row-label{font-size:12px}}.lead-detail{padding:24px}.ld-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.title-row{display:flex;align-items:center;gap:12px}.theme-toggle-dash{position:static;width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}.ld-title{display:flex;flex-direction:column;gap:6px}.ld-title h1{font-size:28px;margin:0;color:var(--text)}.ld-subtitle{color:var(--text-muted);font-size:14px}.status-pill{padding:6px 12px;border-radius:999px;font-weight:700;font-size:12px;text-transform:uppercase;background:var(--bg);border:1px solid var(--border);color:var(--text-muted);height:fit-content}.status-pill.approved{background:#10b9811f;color:#10b981;border-color:transparent}.status-pill.submitted{background:#3b82f61f;color:#3b82f6;border-color:transparent}.status-pill.draft{background:#6b72801f;color:#6b7280;border-color:transparent}.status-pill.rejected{background:#ef44441f;color:#ef4444;border-color:transparent}.ld-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.ld-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px}.ld-card h3{margin-top:0;margin-bottom:12px;font-size:16px;color:var(--text)}.ld-kv{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}.ld-kv p{margin:0;padding:8px 0;border-bottom:1px dashed var(--border);font-size:14px;color:var(--text)}.ld-section{grid-column:span 12}.ld-section.half{grid-column:span 6}@media (max-width: 1024px){.ld-section.half{grid-column:span 12}.ld-kv{grid-template-columns:1fr}}.visits-list .edit-item{border:1px solid var(--border);border-radius:12px;background:var(--bg)}.ld-actions{display:flex;gap:8px}.ld-sticky-actions{display:flex;gap:10px;align-items:center}.table{width:100%;overflow-x:auto}.table table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--border);border-radius:12px}.table thead th{position:sticky;top:0;background:var(--bg);color:var(--text);font-weight:700;text-align:left;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px}.table tbody td,.table tbody th{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top;font-size:14px;color:var(--text)}.history-row td{background:var(--bg)}.history-panel{padding:8px 4px}.table tbody tr:last-child td{border-bottom:none}@media (max-width: 900px){.table thead{display:none}.table table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{border-bottom:1px solid var(--border);padding:8px 0}.table td{border:none;border-bottom:1px dashed var(--border)}.table td:last-child{border-bottom:none}.table td:before{content:attr(data-label);display:block;font-weight:700;color:var(--text-muted);margin-bottom:4px}}.vehicle-detail{padding:24px}.vehicle-detail-header h2{font-size:24px;font-weight:600;color:var(--text);margin:0 0 4px}.vehicle-detail-header p{font-size:14px;color:var(--text-muted);margin:0}.tab-navigation{display:flex;gap:8px;border-bottom:1px solid var(--border);margin-bottom:24px;overflow-x:auto}.tab-button{padding:12px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-weight:500;cursor:pointer;font-size:14px;transition:all .2s;white-space:nowrap}.tab-button.active{border-bottom-color:#6366f1;color:#6366f1;font-weight:600}.tab-content{display:grid;gap:16px}.info-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.info-field{display:flex;flex-direction:column}.info-field-label{font-size:12px;color:var(--text-muted);margin:0 0 4px;font-weight:500}.info-field-value{font-size:16px;font-weight:600;color:var(--text);margin:0}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:14px;font-weight:600}.status-badge.active{background:#10b9811a;color:#10b981}.status-badge.maintenance{background:#f59e0b1a;color:#f59e0b}.status-badge.idle{background:#6b72801a;color:#6b7280}.documents-table{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden}.documents-table-wrapper{overflow-x:auto}.documents-table table{width:100%;border-collapse:collapse;font-size:14px}.documents-table thead{background:var(--input-bg);border-bottom:1px solid var(--border)}.documents-table th{padding:12px;text-align:left;font-weight:600;color:var(--text)}.documents-table tbody tr{border-bottom:1px solid var(--border)}.documents-table tbody tr:nth-child(2n){background:#00000005}.documents-table td{padding:12px;color:var(--text)}.empty-state{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:48px 24px;text-align:center}.empty-state-icon{font-size:40px;margin:0 0 12px}.empty-state-title{font-size:16px;font-weight:600;color:var(--text);margin:0 0 4px}.empty-state-text{font-size:14px;color:var(--text-muted);margin:0}.edit-history{display:flex;flex-direction:column;gap:12px}.edit-entry{padding-left:16px;border-left:2px solid var(--border);padding-bottom:12px}.edit-entry-header{font-size:13px;font-weight:500;color:var(--text);margin:0 0 4px}.edit-entry-change{font-size:12px;color:var(--text-muted);margin:2px 0}.document-modal{display:grid;gap:16px}.document-modal-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.document-modal-field{display:flex;flex-direction:column;gap:4px}.document-modal-field label{font-size:14px;font-weight:500;color:var(--text)}.document-modal-field input,.document-modal-field textarea,.document-modal-field select{padding:10px 12px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--input-bg);color:var(--text);font-family:inherit}.document-modal-field textarea{resize:vertical;min-height:80px}.file-uploader{border:2px dashed var(--border);border-radius:8px;padding:20px;text-align:center;cursor:pointer;background:var(--input-bg);transition:all .2s}.file-uploader:hover{border-color:#6366f1;background:#6366f105}.file-uploader input{display:none}.document-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:16px}.document-modal-actions button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.document-modal-actions .cancel-btn{background:var(--input-bg);border:1px solid var(--border);color:var(--text)}.document-modal-actions .save-btn{background:#6366f1;color:#fff}.confirm-modal{text-align:center}.confirm-modal-text{color:var(--text);font-size:14px;margin-bottom:16px}.confirm-modal-buttons{display:flex;gap:12px;justify-content:center}.confirm-modal-buttons button{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.confirm-modal-buttons .cancel-btn{background:var(--input-bg);border:1px solid var(--border);color:var(--text)}.confirm-modal-buttons .delete-btn{background:#ef4444;color:#fff}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}.tab-navigation{overflow-x:auto;-webkit-overflow-scrolling:touch}.document-modal-row{grid-template-columns:1fr}.document-modal-actions{flex-direction:column}.document-modal-actions button{width:100%}.confirm-modal-buttons{flex-direction:column}.confirm-modal-buttons button{width:100%}}.punch-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px 16px;background:linear-gradient(135deg,#0f172a,#1e293b,#312e81);overflow:hidden}.punch-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.punch-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;animation:punch-float 18s ease-in-out infinite}.punch-orb-1{width:360px;height:360px;background:radial-gradient(circle,#6366f1,transparent 70%);top:-100px;left:-120px}.punch-orb-2{width:420px;height:420px;background:radial-gradient(circle,#8b5cf6,transparent 70%);bottom:-140px;right:-160px;animation-delay:-9s}@keyframes punch-float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,-30px) scale(1.08)}}.punch-shell{position:relative;width:100%;max-width:460px;z-index:1}.punch-exit{position:absolute;top:-8px;right:-8px;width:36px;height:36px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;z-index:2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s}.punch-exit:hover{background:#ffffff38}.punch-card{position:relative;padding:28px 24px 24px;border-radius:24px;background:#ffffff14;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border:1px solid rgba(255,255,255,.18);box-shadow:0 25px 60px #00000073;color:#fff;overflow:hidden}.punch-card-glow{position:absolute;top:-40%;left:50%;width:200%;height:200%;transform:translate(-50%);background:radial-gradient(ellipse at top,rgba(99,102,241,.25),transparent 60%);pointer-events:none}.punch-identity{display:flex;align-items:center;gap:12px;margin-bottom:22px;position:relative}.punch-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:600;color:#fff;box-shadow:0 6px 18px #6366f166;flex-shrink:0}.punch-name{font-size:1.05rem;font-weight:600;line-height:1.2}.punch-role{font-size:.78rem;opacity:.7;margin-top:2px;text-transform:capitalize}.punch-time-block{text-align:center;padding:16px 0 20px;position:relative}.punch-date{font-size:.85rem;opacity:.7;margin-bottom:6px}.punch-clock{font-size:2.6rem;font-weight:300;letter-spacing:.02em;font-variant-numeric:tabular-nums}.punch-status{padding:14px 16px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);margin-bottom:14px;position:relative}.punch-status-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin-bottom:6px}.punch-status-value{font-size:.95rem;line-height:1.4}.punch-status-value.muted{opacity:.65}.punch-hours,.punch-loc{font-size:.8rem;opacity:.7;margin-top:4px}.punch-logs{padding:12px 14px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);margin-bottom:14px;position:relative}.punch-logs-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin-bottom:8px}.punch-logs-summary{text-transform:none;letter-spacing:.02em;font-variant-numeric:tabular-nums;opacity:.85}.punch-logs-empty{font-size:.85rem;padding:6px 0}.punch-logs-empty.muted{opacity:.55}.punch-log-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.punch-log-row{display:grid;grid-template-columns:22px 100px 1fr auto auto;align-items:center;gap:8px;padding:6px 0;font-size:.85rem;border-bottom:1px solid rgba(255,255,255,.05)}.punch-log-selfies{display:inline-flex;gap:4px}.punch-log-selfie-btn{background:#22c55e1f;border:1px solid rgba(34,197,94,.4);border-radius:6px;padding:2px 6px;font-size:.85rem;cursor:pointer;line-height:1;color:inherit}.punch-log-selfie-btn:hover{background:#22c55e33}.punch-log-selfie-btn-out{background:#6366f11f;border-color:#6366f166}.punch-log-selfie-btn-out:hover{background:#6366f133}.punch-log-row:last-child{border-bottom:none}.punch-log-icon{font-size:1rem;line-height:1}.punch-log-time{font-variant-numeric:tabular-nums;white-space:nowrap}.punch-log-name{opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.punch-log-dur{font-variant-numeric:tabular-nums;font-size:.78rem;opacity:.75}.punch-log-row.open{background:#f59e0b14;border-radius:6px;padding:6px 8px;margin:0 -8px}.punch-log-row.open .punch-log-dur{color:#fcd34d;opacity:1;font-weight:600}.punch-geo{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;font-size:.85rem;margin-bottom:14px;position:relative}.punch-geo-idle{background:#94a3b81f;border:1px solid rgba(148,163,184,.35);color:#cbd5e1}.punch-geo-idle .punch-geo-dot{background:#94a3b8}.punch-acquire-btn{width:100%;padding:14px;border-radius:14px;border:1px solid rgba(99,102,241,.55);background:#6366f126;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:14px;transition:background .15s ease,transform .05s ease}.punch-acquire-btn:hover:not(:disabled){background:#6366f140}.punch-acquire-btn:active:not(:disabled){transform:scale(.99)}.punch-acquire-btn.busy{opacity:.7;cursor:wait}.punch-acquire-btn:disabled{cursor:not-allowed}.punch-acquire-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;padding:0 4px;font-size:.78rem;color:#ffffffa6}.punch-acquire-link{background:transparent;border:none;color:#93c5fd;cursor:pointer;font-size:.8rem;padding:4px 8px;border-radius:6px}.punch-acquire-link:hover{background:#93c5fd1a}.punch-approx{padding:12px 14px;border-radius:12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.4);color:#fde68a;margin-bottom:14px;font-size:.85rem}.punch-approx-title{font-weight:600;margin-bottom:4px;color:#fcd34d}.punch-approx-msg{margin-bottom:8px;opacity:.92;line-height:1.4}.punch-approx-check{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.punch-approx-check input{accent-color:#f59e0b}.punch-geo-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.punch-geo-ok{background:#10b98126;border:1px solid rgba(16,185,129,.35);color:#6ee7b7}.punch-geo-ok .punch-geo-dot{background:#10b981;box-shadow:0 0 8px #10b981}.punch-geo-acquiring{background:#f59e0b26;border:1px solid rgba(245,158,11,.35);color:#fcd34d}.punch-geo-acquiring .punch-geo-dot{background:#f59e0b;animation:punch-pulse 1.4s ease-in-out infinite}.punch-geo-error{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#fca5a5}.punch-geo-error .punch-geo-dot{background:#ef4444}.punch-geo-poor{background:#f59e0b26;border:1px solid rgba(245,158,11,.35);color:#fcd34d}.punch-geo-poor .punch-geo-dot{background:#f59e0b;animation:punch-pulse 1.4s ease-in-out infinite}.punch-geo-fair{background:#38bdf81f;border:1px solid rgba(56,189,248,.35);color:#bae6fd}.punch-geo-fair .punch-geo-dot{background:#38bdf8;box-shadow:0 0 6px #38bdf8}@keyframes punch-pulse{0%,to{opacity:1}50%{opacity:.4}}.punch-notice{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-size:.88rem;position:relative}.punch-notice-title{font-weight:600;margin-bottom:4px}.punch-notice-msg{opacity:.9;line-height:1.4}.punch-notice-success{background:#10b98126;border:1px solid rgba(16,185,129,.35);color:#bbf7d0}.punch-notice-error{background:#ef444426;border:1px solid rgba(239,68,68,.35);color:#fecaca}.punch-shift{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:12px;margin-bottom:14px;font-size:.88rem;border:1px solid}.punch-shift-icon{font-size:1.4rem;line-height:1;flex-shrink:0}.punch-shift-title{font-weight:600;margin-bottom:3px;color:#fff}.punch-shift-sub{opacity:.85;line-height:1.4}.punch-shift-ok{background:#10b9811f;border-color:#10b98166;color:#bbf7d0}.punch-shift-info{background:#38bdf81a;border-color:#38bdf866;color:#bae6fd}.punch-shift-warn{background:#f59e0b1f;border-color:#f59e0b66;color:#fde68a}.punch-shift-block{background:#ef44441f;border-color:#ef444466;color:#fecaca}.punch-btn{width:100%;padding:18px;border-radius:16px;border:none;font-size:1.1rem;font-weight:600;cursor:pointer;color:#fff;transition:transform .15s,box-shadow .2s,opacity .2s;position:relative;overflow:hidden;min-height:60px}.punch-btn:disabled{cursor:not-allowed;opacity:.5}.punch-btn:not(:disabled):hover{transform:translateY(-1px)}.punch-btn:not(:disabled):active{transform:translateY(0)}.punch-btn-in{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 12px 28px #10b98173}.punch-btn-in:not(:disabled):hover{box-shadow:0 14px 32px #10b9818c}.punch-btn-out{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 12px 28px #6366f173}.punch-btn-out:not(:disabled):hover{box-shadow:0 14px 32px #6366f18c}.punch-btn-done{background:#ffffff14;color:#fff9}.punch-foot{text-align:center;font-size:.78rem;opacity:.55;margin-top:12px;position:relative}@media (max-width: 420px){.punch-page{padding:12px}.punch-card{padding:22px 18px 18px;border-radius:20px}.punch-clock{font-size:2.2rem}}.punch-cam-overlay{position:fixed;inset:0;background:#000000c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:999;display:flex;align-items:center;justify-content:center;padding:16px;animation:punchCamFade .18s ease}@keyframes punchCamFade{0%{opacity:0}to{opacity:1}}.punch-cam{position:relative;width:100%;max-width:440px;background:#0f172aeb;border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:22px 18px 18px;color:#fff;box-shadow:0 25px 60px #0000008c}.punch-cam-close{position:absolute;top:10px;right:10px;width:34px;height:34px;border-radius:50%;border:none;background:#ffffff1f;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.punch-cam-title{text-align:center;font-weight:600;font-size:1rem;margin-bottom:14px;letter-spacing:.01em}.punch-cam-msg{padding:14px 12px;text-align:center;border-radius:10px;background:#ffffff0f;font-size:.9rem;margin-bottom:14px}.punch-cam-msg-error{background:#ef444429;color:#fecaca;border:1px solid rgba(239,68,68,.35);text-align:left;line-height:1.4}.punch-cam-video,.punch-cam-preview{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:18px;background:#000;display:block;margin-bottom:16px;border:2px solid rgba(255,255,255,.16);transform:scaleX(-1)}.punch-cam-preview{transform:scaleX(-1)}.punch-cam-actions{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:6px}.punch-cam-capture{width:72px;height:72px;border-radius:50%;border:4px solid rgba(255,255,255,.85);background:#fff;cursor:pointer;box-shadow:0 8px 24px #00000080;transition:transform .12s ease}.punch-cam-capture:active{transform:scale(.92)}.punch-cam-btn{flex:1;padding:14px 16px;border-radius:14px;border:none;font-size:.98rem;font-weight:600;cursor:pointer;color:#fff;transition:transform .12s ease,box-shadow .18s ease,opacity .18s ease}.punch-cam-btn:disabled{opacity:.55;cursor:not-allowed}.punch-cam-btn:not(:disabled):hover{transform:translateY(-1px)}.punch-cam-btn-ghost{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.2)}.punch-cam-btn-ghost:not(:disabled):hover{background:#ffffff29}.punch-cam-btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 12px 28px #6366f173}.punch-cam-btn-primary.punch-cam-btn-in{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 12px 28px #10b98173}.punch-cam-btn-primary.punch-cam-btn-out{background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 12px 28px #6366f173}.punch-candidates{padding:14px 14px 12px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);margin-bottom:14px}.punch-candidates-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-bottom:10px}.punch-candidates-summary{text-transform:none;letter-spacing:0;font-weight:600;color:#6ee7b7}.punch-candidates-empty{padding:10px 8px;font-size:.88rem;line-height:1.5}.punch-candidates-empty.muted{opacity:.7}.punch-candidates-empty.error{color:#fca5a5}.punch-card-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.punch-cand{background:#ffffff0a;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:border-color .2s ease,background .2s ease}.punch-cand.in{background:#10b9811a;border-color:#10b98173}.punch-cand.in.selected{background:#10b9812e;border-color:#10b981d9;box-shadow:0 0 0 3px #10b9812e}.punch-cand.acquiring{background:#f59e0b0f;border-color:#f59e0b4d}.punch-cand-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.punch-cand-title{font-size:.96rem;color:#fff;line-height:1.35;display:flex;align-items:center;flex-wrap:wrap;gap:6px}.punch-cand-pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.65rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;line-height:1.5}.punch-cand-pill-nogeo{background:#38bdf82e;color:#7dd3fc;border:1px solid rgba(56,189,248,.45)}.punch-cand-badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:600;white-space:nowrap;flex-shrink:0}.punch-cand-badge-in{background:#10b98140;color:#6ee7b7;border:1px solid rgba(16,185,129,.45)}.punch-cand-badge-out{background:#f59e0b33;color:#fcd34d;border:1px solid rgba(245,158,11,.45)}.punch-cand-badge-acquiring{background:#f59e0b26;color:#fcd34d;border:1px solid rgba(245,158,11,.4)}.punch-cand-sub{font-size:.78rem;opacity:.7;line-height:1.4}.punch-cand-sub code{background:#ffffff14;padding:1px 6px;border-radius:4px;font-size:.78rem}.punch-cand-distance{font-size:.85rem;line-height:1.4;padding:8px 10px;border-radius:8px}.punch-cand-distance.in{background:#10b9811f;color:#d1fae5}.punch-cand-distance.out{background:#f59e0b1a;color:#fde68a}.punch-cand-distance.acquiring{background:#f59e0b14;color:#fde68a}.punch-cand-team{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.punch-cand-contacts{font-size:.82rem;line-height:1.45}.punch-cand-contacts-label{font-weight:600;margin-bottom:4px;opacity:.85}.punch-cand-contacts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.punch-cand-contacts-list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;flex-wrap:wrap}.punch-contact-name{color:#fff;font-weight:500}.punch-contact-actions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.punch-contact-link{color:#a5b4fc;text-decoration:none;font-size:.78rem;padding:2px 8px;border-radius:6px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08)}.punch-contact-link:hover{background:#6366f12e;color:#fff}.muted{opacity:.55;font-size:.78rem}.punch-cand-workers{font-size:.82rem;line-height:1.45}.punch-cand-workers-label{font-weight:600;margin-bottom:4px;opacity:.85}.punch-cand-workers-list{display:flex;flex-wrap:wrap;gap:4px}.punch-worker-chip{display:inline-block;padding:2px 8px;border-radius:999px;background:#ffffff14;font-size:.74rem;color:#fff}.punch-worker-chip.muted{opacity:.6}.punch-cand-select-btn{margin-top:4px;padding:8px 12px;border-radius:8px;border:1px solid rgba(16,185,129,.55);background:#10b9812e;color:#fff;font-weight:600;cursor:pointer}.punch-cand-select-btn:hover{background:#10b9814d}.punch-cand-selected-pill{padding:6px 10px;border-radius:8px;background:#10b98133;border:1px solid rgba(16,185,129,.45);color:#6ee7b7;font-weight:600;font-size:.82rem;text-align:center}.punch-openlog{padding:12px 14px;border-radius:14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);margin-bottom:14px}.punch-openlog.in{border-color:#10b98173;background:#10b98114}.punch-openlog.out{border-color:#f59e0b73;background:#f59e0b14}.punch-openlog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}.punch-openlog-sub{font-size:.74rem;opacity:.75;margin-left:6px}.punch-openlog-name{font-weight:600;color:#fff;text-align:right}.punch-distance{font-size:.85rem;line-height:1.5;padding:8px 10px;border-radius:8px;background:#ffffff0a}.punch-distance.in{background:#10b9811f;color:#d1fae5}.punch-distance.out{background:#f59e0b1a;color:#fde68a}.punch-distance.muted{opacity:.65}
