@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.landing-root{min-height:100vh;background-color:var(--bg-base);color:var(--text-primary);display:flex;flex-direction:column;overflow-x:hidden;position:relative;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.landing-ambient-glow{position:absolute;top:-120px;left:50%;transform:translate(-50%);width:900px;height:500px;background:radial-gradient(circle,#4f46e526,#0ea5e914 50%,#0000 70%);pointer-events:none;z-index:0}[data-theme=dark] .landing-ambient-glow{background:radial-gradient(circle,#6366f138,#0ea5e91f 50%,#0000 75%)}.landing-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#ffffffd9;border-bottom:1px solid var(--card-border);transition:background .2s,border-color .2s}[data-theme=dark] .landing-header{background:#0f172ad9;border-bottom:1px solid var(--card-border)}.landing-nav-container{max-width:1240px;margin:0 auto;padding:0 24px;height:72px;display:flex;align-items:center;justify-content:space-between}.landing-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-primary);font-weight:700;font-size:1.2rem;letter-spacing:-.02em}.landing-brand-badge{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#3730a3);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.25rem;box-shadow:0 4px 12px #4f46e54d}.landing-nav-links{display:flex;align-items:center;gap:28px;list-style:none}.landing-nav-link{color:var(--text-secondary);font-size:.92rem;font-weight:500;text-decoration:none;transition:color .15s ease}.landing-nav-link:hover{color:var(--accent-primary)}.landing-nav-actions{display:flex;align-items:center;gap:14px}.landing-theme-btn{background:var(--bg-layer);border:1px solid var(--card-border);color:var(--text-secondary);width:38px;height:38px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .15s ease}.landing-theme-btn:hover{background:var(--card-bg-hover);color:var(--text-primary)}.landing-signin-nav-btn{display:inline-flex;align-items:center;gap:8px;background:var(--accent-primary);color:#fff;padding:10px 20px;border-radius:8px;font-size:.92rem;font-weight:600;text-decoration:none;box-shadow:0 2px 8px #4f46e540;transition:all .2s ease;border:none;cursor:pointer}.landing-signin-nav-btn:hover{background:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:0 4px 14px #4f46e559}.landing-hero{position:relative;z-index:1;padding:70px 24px 80px;max-width:1240px;margin:0 auto;text-align:center}.landing-badge-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:var(--accent-primary-light);border:1px solid rgba(79,70,229,.2);color:var(--accent-primary);border-radius:100px;font-size:.85rem;font-weight:600;margin-bottom:24px;letter-spacing:.01em}[data-theme=dark] .landing-badge-pill{background:#6366f126;border-color:#6366f14d;color:#a5b4fc}.landing-hero-title{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:800;line-height:1.15;letter-spacing:-.03em;margin-bottom:20px;max-width:900px;margin-left:auto;margin-right:auto}.landing-hero-gradient-text{background:linear-gradient(135deg,#4f46e5,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-theme=dark] .landing-hero-gradient-text{background:linear-gradient(135deg,#818cf8,#38bdf8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.landing-hero-desc{font-size:1.2rem;line-height:1.6;color:var(--text-secondary);max-width:740px;margin:0 auto 36px}.landing-hero-cta-group{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:50px;flex-wrap:wrap}.landing-cta-primary{display:inline-flex;align-items:center;gap:10px;background:var(--accent-primary);color:#fff;padding:14px 30px;border-radius:10px;font-size:1.05rem;font-weight:600;text-decoration:none;box-shadow:0 4px 16px #4f46e559;transition:all .2s cubic-bezier(.16,1,.3,1)}.landing-cta-primary:hover{background:var(--accent-primary-hover);transform:translateY(-2px);box-shadow:0 8px 24px #4f46e573}.landing-cta-secondary{display:inline-flex;align-items:center;gap:8px;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--card-border);padding:14px 26px;border-radius:10px;font-size:1.05rem;font-weight:600;text-decoration:none;box-shadow:var(--card-shadow);transition:all .2s ease}.landing-cta-secondary:hover{background:var(--card-bg-hover);border-color:var(--text-muted)}.landing-preview-wrapper{max-width:1060px;margin:0 auto;border-radius:16px;padding:10px;background:linear-gradient(135deg,#4f46e526,#0ea5e926);box-shadow:0 20px 45px #0000001f}[data-theme=dark] .landing-preview-wrapper{background:linear-gradient(135deg,#6366f140,#0ea5e933);box-shadow:0 20px 50px #00000073}.landing-preview-card{background:var(--card-bg);border-radius:12px;border:1px solid var(--card-border);overflow:hidden;text-align:left}.landing-preview-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--bg-layer);border-bottom:1px solid var(--card-border)}.landing-window-dots{display:flex;gap:6px}.landing-window-dot{width:10px;height:10px;border-radius:50%}.landing-window-dot.dot-red{background:#ef4444}.landing-window-dot.dot-yellow{background:#f59e0b}.landing-window-dot.dot-green{background:#10b981}.landing-preview-title{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.landing-preview-badge{font-size:.75rem;padding:4px 10px;border-radius:20px;background:#10b9811f;color:#10b981;font-weight:600}.landing-preview-body{padding:24px}.landing-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.landing-stat-card{background:var(--bg-base);border:1px solid var(--card-border);border-radius:10px;padding:16px 18px}.landing-stat-label{font-size:.8rem;color:var(--text-secondary);font-weight:500;margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}.landing-stat-value{font-size:1.6rem;font-weight:700;color:var(--text-primary);display:flex;align-items:baseline;gap:8px}.landing-stat-trend{font-size:.8rem;font-weight:600;color:#10b981}.landing-dashboard-mini-panel{display:grid;grid-template-columns:2fr 1fr;gap:16px}@media (max-width: 768px){.landing-dashboard-mini-panel{grid-template-columns:1fr}}.landing-mini-table{background:var(--bg-base);border:1px solid var(--card-border);border-radius:10px;padding:16px}.landing-mini-table-header{font-size:.9rem;font-weight:600;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.landing-visit-item{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--card-border);font-size:.875rem}.landing-visit-item:last-child{border-bottom:none}.landing-visit-meta{display:flex;align-items:center;gap:10px}.landing-status-indicator{width:8px;height:8px;border-radius:50%}.indicator-complete{background:#10b981}.indicator-scheduled{background:#0ea5e9}.indicator-due{background:#f59e0b}.landing-mini-alert{background:var(--bg-base);border:1px solid var(--card-border);border-radius:10px;padding:16px;display:flex;flex-direction:column;justify-content:space-between}.landing-section{padding:80px 24px;max-width:1240px;margin:0 auto}.landing-section-heading{text-align:center;margin-bottom:56px}.landing-section-subtitle{color:var(--accent-primary);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.landing-section-title{font-size:2.3rem;font-weight:800;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:14px}.landing-section-description{color:var(--text-secondary);font-size:1.1rem;max-width:680px;margin:0 auto;line-height:1.6}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.landing-feature-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:28px;box-shadow:var(--card-shadow);transition:all .25s ease;position:relative;display:flex;flex-direction:column}.landing-feature-card:hover{transform:translateY(-4px);border-color:#4f46e566;box-shadow:0 12px 28px #00000014}[data-theme=dark] .landing-feature-card:hover{box-shadow:0 12px 28px #00000059}.landing-feature-icon-box{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:18px}.icon-blue{background:#0ea5e91f;color:#0ea5e9}.icon-indigo{background:#4f46e51f;color:#4f46e5}.icon-emerald{background:#10b9811f;color:#10b981}.icon-amber{background:#f59e0b1f;color:#f59e0b}.icon-violet{background:#8b5cf61f;color:#8b5cf6}.icon-rose{background:#f43f5e1f;color:#f43f5e}.landing-feature-title{font-size:1.22rem;font-weight:700;color:var(--text-primary);margin-bottom:10px}.landing-feature-text{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:16px;flex:1}.landing-feature-points{list-style:none;padding:14px 0 0;margin:0;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--card-border)}.landing-feature-point{font-size:.85rem;color:var(--text-secondary);display:flex;align-items:center;gap:8px}.landing-feature-point:before{content:"✓";color:var(--accent-green);font-weight:700}.landing-hierarchy-flow{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:40px;box-shadow:var(--card-shadow)}.landing-hierarchy-levels{display:flex;flex-direction:column;gap:16px;max-width:800px;margin:0 auto}.landing-hierarchy-card{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-radius:12px;border:1px solid var(--card-border);background:var(--bg-layer);transition:transform .2s ease}.landing-hierarchy-card:hover{transform:scale(1.01);border-color:var(--accent-primary)}.landing-tier-info{display:flex;align-items:center;gap:16px}.landing-tier-badge{font-size:.8rem;font-weight:700;padding:6px 12px;border-radius:6px;background:var(--accent-primary-light);color:var(--accent-primary);letter-spacing:.04em}.landing-tier-title{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.landing-tier-desc{font-size:.88rem;color:var(--text-secondary)}.landing-arrow-down{text-align:center;color:var(--text-muted);font-size:1.2rem;margin:-6px 0}.landing-roles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.landing-role-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:24px;transition:all .2s ease}.landing-role-card:hover{border-color:var(--accent-primary)}.landing-role-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.landing-role-icon{font-size:1.5rem}.landing-role-name{font-weight:700;font-size:1.1rem;color:var(--text-primary)}.landing-role-detail{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.landing-cta-banner{margin:60px 24px 80px;background:linear-gradient(135deg,#3730a3,#1e1b4b);color:#fff;border-radius:20px;padding:60px 32px;text-align:center;position:relative;overflow:hidden;box-shadow:0 20px 40px #3730a34d}.landing-cta-banner h2{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;margin-bottom:16px;letter-spacing:-.02em}.landing-cta-banner p{font-size:1.15rem;opacity:.9;max-width:600px;margin:0 auto 32px;line-height:1.6}.landing-banner-btn{background:#fff;color:#3730a3;font-weight:700;font-size:1.05rem;padding:14px 36px;border-radius:10px;text-decoration:none;display:inline-flex;align-items:center;gap:10px;transition:all .2s ease;box-shadow:0 4px 15px #0003}.landing-banner-btn:hover{background:#f8fafc;transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.landing-footer{border-top:1px solid var(--card-border);background:var(--card-bg);padding:40px 24px 30px;font-size:.88rem;color:var(--text-secondary)}.landing-footer-container{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px}.landing-footer-links{display:flex;gap:24px}.landing-footer-link{color:var(--text-secondary);text-decoration:none;transition:color .15s}.landing-footer-link:hover{color:var(--accent-primary)}@media (max-width: 900px){.landing-nav-links{display:none}.landing-hierarchy-card{flex-direction:column;align-items:flex-start;gap:8px}}:root{--bg-base: #f9fafb;--bg-layer: #f3f4f6;--card-bg: #ffffff;--card-bg-hover: #f9fafb;--card-border: #e5e7eb;--card-shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--card-radius: 8px;--sidebar-bg: #ffffff;--sidebar-border: #e5e7eb;--sidebar-active-bg: #eef2ff;--sidebar-active-fg: #4338ca;--sidebar-icon: #9ca3af;--sidebar-icon-hover:#111827;--topbar-bg: #ffffff;--topbar-border: #e5e7eb;--search-bg: #f9fafb;--text-primary: #111827;--text-secondary: #6b7280;--text-muted: #9ca3af;--accent-primary: #4f46e5;--accent-primary-hover: #4338ca;--accent-primary-light: #eef2ff;--accent-orange: #f59e0b;--accent-teal: #0ea5e9;--accent-green: #10b981;--accent-violet: #8b5cf6;--accent-red: #ef4444;--toggle-track: #e5e7eb;--toggle-thumb: #ffffff;--toggle-active: #4f46e5;--badge-radius: 6px}[data-theme=dark]{--bg-base: #0f172a;--bg-layer: #1e293b;--card-bg: #1e293b;--card-bg-hover: #263148;--card-border: #334155;--card-shadow: 0 1px 3px rgba(0,0,0,.3), 0 1px 2px rgba(0,0,0,.2);--sidebar-bg: #1e293b;--sidebar-border: #334155;--sidebar-active-bg: rgba(79,70,229,.2);--sidebar-active-fg: #a5b4fc;--sidebar-icon: #64748b;--sidebar-icon-hover:#e2e8f0;--topbar-bg: #1e293b;--topbar-border: #334155;--search-bg: #0f172a;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--toggle-track: #334155;--toggle-thumb: #ffffff;--toggle-active: #6366f1}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-base);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-shell{display:flex;height:100vh;overflow:hidden}.app-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.app-topbar{height:64px;flex-shrink:0;display:flex;align-items:center;gap:16px;padding:0 24px;background:var(--topbar-bg);border-bottom:1px solid var(--topbar-border);position:sticky;top:0;z-index:50}.app-sidebar{width:240px;flex-shrink:0;height:100%;display:flex;flex-direction:column;background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);overflow-y:auto}.app-main{flex:1;padding:28px 32px;overflow-y:auto}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:background .15s,box-shadow .15s}.card:hover{background:var(--card-bg-hover)}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--card-radius);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .15s;font-family:inherit;outline:none}.btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.btn-primary{background:var(--accent-primary);color:#fff;border-color:transparent}.btn-primary:hover{background:var(--accent-primary-hover)}.btn-secondary{background:var(--card-bg);border-color:var(--card-border);color:var(--text-primary)}.btn-secondary:hover{background:var(--card-bg-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--card-bg);color:var(--text-primary)}.btn-danger{background:#ef444414;color:#ef4444;border-color:#ef444433}.btn-danger:hover{background:#ef444424}.badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--badge-radius);font-size:.7rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.badge-active{background:#10b9811a;color:#059669;border:1px solid rgba(16,185,129,.2)}.badge-inactive{background:#9ca3af1f;color:#6b7280;border:1px solid rgba(156,163,175,.2)}.badge-pending{background:#f59e0b1a;color:#d97706;border:1px solid rgba(245,158,11,.2)}.badge-error{background:#ef444414;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.badge-info{background:#4f46e514;color:#4f46e5;border:1px solid rgba(79,70,229,.2)}.toggle{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:10px;background:var(--toggle-track);transition:background .2s;cursor:pointer}.toggle-slider:before{content:"";position:absolute;width:14px;height:14px;left:3px;top:3px;border-radius:50%;background:var(--toggle-thumb);box-shadow:0 1px 3px #00000026;transition:transform .2s}.toggle input:checked~.toggle-slider{background:var(--toggle-active)}.toggle input:checked~.toggle-slider:before{transform:translate(16px)}.data-table{width:100%;border-collapse:collapse}.data-table thead th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:10px 14px;border-bottom:1px solid var(--card-border);text-align:left;font-weight:600}.data-table tbody tr{border-bottom:1px solid var(--card-border);transition:background .1s}.data-table tbody tr:hover{background:var(--card-bg-hover)}.data-table tbody td{padding:12px 14px;font-size:.875rem;color:var(--text-secondary)}.data-table tbody td:first-child{color:var(--text-primary);font-weight:500}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow-y:auto;z-index:200;animation:fadeIn .15s ease}.modal{width:min(540px,92vw);max-height:calc(100vh - 48px);display:flex;flex-direction:column;padding:0;position:relative;animation:slideUp .2s ease;align-self:flex-start;overflow:hidden;border-radius:var(--card-radius)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 28px 18px;flex-shrink:0;border-bottom:1px solid var(--card-border)}.modal-body{padding:20px 28px 24px;overflow-y:auto;flex:1}.modal-title{font-size:1rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem;line-height:1;transition:color .15s;padding:2px}.modal-close:hover{color:var(--text-primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.page-subtitle{font-size:.875rem;color:var(--text-secondary);margin-top:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:fadeInUp .25s ease forwards}input,button,textarea,select{font-family:inherit}
