.legal-page{background:linear-gradient(135deg,#f5f7fa,#e8eef5);min-height:100vh;padding:40px 20px}.legal-container{background:#fff;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.05),0 10px 20px rgba(0,0,0,.05);margin:0 auto;max-width:900px;padding:60px}@media(max-width:768px){.legal-container{padding:30px 20px}.legal-page{padding:20px 10px}}.legal-container h1{border-bottom:3px solid #2563eb;color:#1e3a8a;font-size:36px;font-weight:700;margin-bottom:10px;padding-bottom:15px}.effective-date,.last-updated{color:#6b7280;font-size:14px;font-style:italic;margin-bottom:5px}.legal-content{color:#374151;line-height:1.8;margin-top:40px}.legal-content section{margin-bottom:40px}.legal-content h2{border-top:1px solid #e5e7eb;color:#1e40af;font-size:24px;font-weight:600;margin-bottom:15px;margin-top:40px;padding-top:15px}.legal-content h3{color:#3b82f6;font-size:18px;font-weight:600;margin-bottom:10px;margin-top:20px}.legal-content p{font-size:15px;margin-bottom:15px}.legal-content ul{margin:15px 0;padding-left:30px}.legal-content li{font-size:15px;margin-bottom:10px}.legal-content a{border-bottom:1px solid transparent;color:#2563eb;text-decoration:none;transition:border-color .2s ease}.legal-content a:hover{border-bottom-color:#2563eb}.contact-box{background:#f3f4f6;border-left:4px solid #2563eb;border-radius:6px;margin:20px 0;padding:20px}.contact-box p{margin-bottom:8px}.contact-box strong{color:#1e40af}.important-notice{background:#fef3c7;border-left:4px solid #f59e0b;border-radius:6px;color:#92400e;font-weight:500;padding:15px}.acknowledgment{background:#eff6ff;border:2px solid #2563eb;border-radius:8px;color:#1e40af;font-weight:500;margin-top:30px;padding:20px;text-align:center}.legal-footer{border-top:2px solid #e5e7eb;color:#6b7280;font-size:14px;margin-top:60px;padding-top:30px;text-align:center}.legal-footer p{margin-bottom:10px}.legal-footer a{color:#2563eb;margin:0 10px;text-decoration:none;transition:color .2s ease}.legal-footer a:hover{color:#1e40af}.back-button{transition:all .2s ease}.back-button:hover{background:#f3f4f6!important;border-color:#9ca3af!important;color:#374151!important}@media print{.legal-page{background:#fff;padding:0}.legal-container{box-shadow:none;padding:20px}.back-button{display:none}.legal-content a{color:#000;text-decoration:underline}.legal-footer a{color:#000}}.legal-content strong{color:#1f2937;font-weight:600}.legal-content em{color:#4b5563;font-style:italic}@media(max-width:480px){.legal-container h1{font-size:28px}.legal-content h2{font-size:20px}.legal-content h3{font-size:16px}.legal-content li,.legal-content p{font-size:14px}}.landing-page{background:var(--ethos-canvas,#f8f9fa);font-family:var(--ethos-font-family-base,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);min-height:100vh}.landing-header{background:var(--ethos-panel-bg-white,#fff);border-bottom:var(--ethos-panel-border,1px solid rgba(0,0,0,.08));box-shadow:var(--ethos-panel-elevation-sm,0 1px 2px 0 rgba(0,0,0,.05));position:sticky;top:0;z-index:var(--ethos-z-sticky,100)}.landing-header-content{justify-content:space-between;margin:0 auto;max-width:1200px;padding:var(--ethos-spacing-lg,16px) var(--ethos-spacing-xl,24px)}.landing-header-content,.landing-logo,.landing-nav{align-items:center;display:flex}.landing-nav{gap:var(--ethos-spacing-lg,16px)}.landing-nav-link{background:none;border:none;border-radius:var(--ethos-border-radius-md,8px);color:var(--ethos-text-primary,#1f2937);cursor:pointer;font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-medium,500);padding:var(--ethos-spacing-sm,8px) var(--ethos-spacing-md,12px);transition:var(--ethos-transition-normal,all .2s)}.landing-nav-link:hover{background:var(--ethos-canvas-fill-01,#f9fafb);color:var(--ethos-primary,#2563eb)}.landing-nav-cta{margin-left:var(--ethos-spacing-sm,8px)}.landing-language-toggle{align-items:center;background:var(--ethos-canvas-fill-01,#f9fafb);border:1px solid var(--ethos-border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);cursor:pointer;display:flex;font-size:1.1rem;gap:4px;padding:var(--ethos-spacing-sm,8px) var(--ethos-spacing-md,12px);transition:var(--ethos-transition-normal,all .2s)}.landing-language-toggle:hover{background:var(--ethos-panel-bg-white,#fff);border-color:var(--ethos-primary,#3b82f6)}.landing-language-toggle:focus-visible{outline:3px solid var(--ethos-primary,#2563eb);outline-offset:2px}.landing-language-toggle .lang-flag{opacity:.5;transition:opacity .2s ease}.landing-language-toggle .lang-flag.active{opacity:1}.landing-language-toggle .lang-divider{color:var(--ethos-text-muted,#9ca3af);font-size:.9rem}.landing-hero{background:linear-gradient(135deg,var(--ethos-primary-50,#eff6ff) 0,var(--ethos-panel-bg-white,#fff) 100%);padding:var(--ethos-spacing-3xl,80px) var(--ethos-spacing-xl,24px);text-align:center}.landing-hero-content{margin:0 auto;max-width:800px}.landing-hero-title{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-4xl,48px);font-weight:var(--ethos-font-weight-bold,700);letter-spacing:var(--ethos-letter-spacing-tight,-.5px);line-height:1.2;margin:0 0 var(--ethos-spacing-lg,16px) 0}.landing-hero-subtitle{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-lg,18px);line-height:1.6;margin:0 0 var(--ethos-spacing-2xl,40px) 0}.landing-hero-cta{display:flex;flex-wrap:wrap;gap:var(--ethos-spacing-md,12px);justify-content:center}.landing-primary-btn{background:linear-gradient(135deg,var(--ethos-primary,#3b82f6) 0,var(--ethos-primary-dark,#2563eb) 100%);border:none;border-radius:var(--ethos-border-radius-md,8px);box-shadow:0 2px 4px rgba(37,99,235,.2);color:#fff;cursor:pointer;font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-semibold,600);padding:var(--ethos-spacing-md,16px) var(--ethos-spacing-xl,24px);transition:var(--ethos-transition-normal,all .2s)}.landing-primary-btn:hover{background:linear-gradient(135deg,var(--ethos-primary-dark,#2563eb) 0,#1d4ed8 100%);box-shadow:0 4px 8px rgba(37,99,235,.3);transform:translateY(-1px)}.landing-primary-btn:active{box-shadow:0 2px 4px rgba(37,99,235,.2);transform:translateY(0)}.landing-secondary-btn{background:var(--ethos-panel-bg-white,#fff);border:1px solid var(--ethos-border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);color:var(--ethos-text-primary,#1f2937);cursor:pointer;font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-medium,500);padding:var(--ethos-spacing-md,16px) var(--ethos-spacing-xl,24px);transition:var(--ethos-transition-normal,all .2s)}.landing-secondary-btn:hover{background:var(--ethos-canvas-fill-01,#f9fafb);border-color:var(--ethos-primary,#3b82f6);box-shadow:0 2px 4px rgba(0,0,0,.05);transform:translateY(-1px)}.landing-hero-primary{min-width:160px}.landing-hero-secondary{min-width:120px}.landing-hero-trial-note{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-medium,500);margin-top:var(--ethos-spacing-lg,16px)}.landing-footer-link:focus-visible,.landing-nav-link:focus-visible,.landing-primary-btn:focus-visible,.landing-secondary-btn:focus-visible{box-shadow:0 0 0 4px rgba(37,99,235,.25);outline:3px solid var(--ethos-primary,#2563eb);outline-offset:2px}.landing-nav-link:focus-visible{background:var(--ethos-canvas-fill-01,#f9fafb)}.landing-skip-link{background:var(--ethos-primary,#2563eb);color:#fff;left:0;padding:8px 16px;position:absolute;top:-40px;transition:top .3s;z-index:1000}.landing-skip-link:focus{top:0}.landing-cta-button{font-size:var(--ethos-font-size-lg,18px);min-width:200px;padding:var(--ethos-spacing-lg,20px) var(--ethos-spacing-2xl,32px)}.landing-features{background:var(--ethos-panel-bg-white,#fff);padding:var(--ethos-spacing-3xl,80px) var(--ethos-spacing-xl,24px)}.landing-features-content{margin:0 auto;max-width:1200px}.landing-section-title{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-3xl,36px);font-weight:var(--ethos-font-weight-bold,700);letter-spacing:var(--ethos-letter-spacing-tight,-.5px);margin:0 0 var(--ethos-spacing-md,12px) 0;text-align:center}.landing-section-subtitle{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-lg,18px);margin:0 0 var(--ethos-spacing-2xl,48px) 0;text-align:center}.landing-features-grid{display:grid;gap:var(--ethos-spacing-xl,24px);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.landing-feature-card{background:var(--ethos-panel-bg-white,#fff);border:var(--ethos-panel-border,1px solid rgba(0,0,0,.08));border-radius:var(--ethos-panel-radius-lg,12px);box-shadow:var(--ethos-panel-elevation-sm,0 1px 2px 0 rgba(0,0,0,.05));padding:var(--ethos-spacing-xl,24px);transition:var(--ethos-transition-normal,all .2s)}.landing-feature-card:hover{border-color:var(--ethos-primary-200,#bfdbfe);box-shadow:var(--ethos-panel-elevation-md,0 2px 4px 0 rgba(0,0,0,.08));transform:translateY(-4px)}.landing-feature-highlight{background:linear-gradient(135deg,var(--ethos-primary-50,#eff6ff) 0,var(--ethos-panel-bg-white,#fff) 100%);border:2px solid var(--ethos-primary-300,#93c5fd);position:relative}.landing-feature-highlight:hover{border-color:var(--ethos-primary,#2563eb);box-shadow:var(--ethos-panel-elevation-lg,0 4px 8px 0 rgba(37,99,235,.15))}.landing-feature-icon-highlight{background:linear-gradient(135deg,var(--ethos-primary,#3b82f6) 0,var(--ethos-primary-dark,#2563eb) 100%);box-shadow:0 4px 12px rgba(37,99,235,.25)}.landing-feature-icon-highlight .material-icons{color:#fff}.landing-feature-badge{background:linear-gradient(135deg,var(--ethos-primary,#3b82f6) 0,var(--ethos-primary-dark,#2563eb) 100%);border-radius:var(--ethos-border-radius-sm,4px);color:#fff;font-size:var(--ethos-font-size-xs,12px);font-weight:var(--ethos-font-weight-semibold,600);letter-spacing:.5px;padding:var(--ethos-spacing-xs,4px) var(--ethos-spacing-sm,8px);position:absolute;right:var(--ethos-spacing-md,12px);text-transform:uppercase;top:var(--ethos-spacing-md,12px)}.landing-feature-badge-exclusive{animation:exclusivePulse 2s ease-in-out infinite;background:linear-gradient(135deg,#f59e0b,#d97706)}@keyframes exclusivePulse{0%,to{box-shadow:0 0 0 0 rgba(245,158,11,.4)}50%{box-shadow:0 0 0 6px rgba(245,158,11,0)}}.landing-feature-icon{align-items:center;background:linear-gradient(135deg,var(--ethos-primary-100,#dbeafe) 0,var(--ethos-primary-200,#bfdbfe) 100%);border-radius:var(--ethos-border-radius-lg,12px);display:flex;height:56px;justify-content:center;margin-bottom:var(--ethos-spacing-lg,16px);width:56px}.landing-feature-icon .material-icons{color:var(--ethos-primary,#2563eb);font-size:28px}.landing-feature-title{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-xl,20px);font-weight:var(--ethos-font-weight-semibold,600);margin:0 0 var(--ethos-spacing-sm,8px) 0}.landing-feature-description{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-base,15px);line-height:1.6;margin:0}.landing-differentiator{background:linear-gradient(135deg,#fef3c7,#fde68a 50%,#fef3c7);padding:var(--ethos-spacing-3xl,80px) var(--ethos-spacing-xl,24px);text-align:center}.landing-differentiator-content{margin:0 auto;max-width:1000px}.landing-differentiator-badge{display:inline-block;margin-bottom:var(--ethos-spacing-lg,16px)}.landing-differentiator-badge span{background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:20px;box-shadow:0 4px 12px rgba(245,158,11,.3);color:#fff;font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-bold,700);letter-spacing:1px;padding:var(--ethos-spacing-sm,8px) var(--ethos-spacing-lg,16px);text-transform:uppercase}.landing-differentiator-title{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-3xl,40px);font-weight:var(--ethos-font-weight-bold,700);letter-spacing:var(--ethos-letter-spacing-tight,-.5px);margin:0 0 var(--ethos-spacing-md,12px) 0}.landing-differentiator-subtitle{color:var(--ethos-text-secondary,#4b5563);font-size:var(--ethos-font-size-lg,18px);line-height:1.6;margin:0 0 var(--ethos-spacing-2xl,40px) 0;margin-left:auto;margin-right:auto;max-width:700px}.landing-differentiator-comparison{display:grid;gap:var(--ethos-spacing-xl,24px);grid-template-columns:1fr 1fr;margin-bottom:var(--ethos-spacing-2xl,40px)}.landing-comparison-card{border-radius:var(--ethos-panel-radius-lg,16px);padding:var(--ethos-spacing-xl,28px);text-align:left}.landing-comparison-card h4{font-size:var(--ethos-font-size-lg,18px);font-weight:var(--ethos-font-weight-semibold,600);margin:0 0 var(--ethos-spacing-lg,16px) 0}.landing-comparison-card ul{list-style:none;margin:0;padding:0}.landing-comparison-card li{align-items:flex-start;display:flex;font-size:var(--ethos-font-size-base,15px);gap:var(--ethos-spacing-sm,8px);line-height:1.4;padding:var(--ethos-spacing-sm,8px) 0}.landing-comparison-others{background:rgba(239,68,68,.08);border:2px solid rgba(239,68,68,.2)}.landing-comparison-others h4{color:#b91c1c}.landing-comparison-others li{color:#7f1d1d}.landing-comparison-fastprax{background:rgba(34,197,94,.1);border:2px solid rgba(34,197,94,.3);box-shadow:0 8px 24px rgba(34,197,94,.15)}.landing-comparison-fastprax h4{color:#166534}.landing-comparison-fastprax li{color:#14532d}.landing-differentiator-usecase{background:hsla(0,0%,100%,.7);border-radius:var(--ethos-border-radius-md,8px);color:var(--ethos-text-secondary,#4b5563);font-size:var(--ethos-font-size-base,15px);line-height:1.6;margin:0 auto;max-width:800px;padding:var(--ethos-spacing-lg,16px) var(--ethos-spacing-xl,24px)}.landing-differentiator-usecase strong{color:var(--ethos-text-primary,#1f2937)}@media(max-width:768px){.landing-differentiator-comparison{grid-template-columns:1fr}.landing-differentiator-title{font-size:var(--ethos-font-size-2xl,28px)}}.landing-team-collab{background:var(--ethos-panel-bg-white,#fff);padding:var(--ethos-spacing-3xl,80px) var(--ethos-spacing-xl,24px)}.landing-team-collab-content{margin:0 auto;max-width:1100px}.landing-team-features{display:grid;gap:var(--ethos-spacing-xl,24px);grid-template-columns:repeat(4,1fr);margin-top:var(--ethos-spacing-2xl,40px)}.landing-team-feature{background:var(--ethos-canvas,#f8f9fa);border-radius:var(--ethos-panel-radius-lg,12px);padding:var(--ethos-spacing-xl,24px);text-align:center;transition:var(--ethos-transition-normal,all .2s)}.landing-team-feature:hover{box-shadow:var(--ethos-panel-elevation-md,0 4px 12px rgba(0,0,0,.1));transform:translateY(-4px)}.landing-team-feature-icon{align-items:center;background:linear-gradient(135deg,var(--ethos-primary,#3b82f6) 0,var(--ethos-primary-dark,#2563eb) 100%);border-radius:50%;display:flex;height:56px;justify-content:center;margin:0 auto var(--ethos-spacing-lg,16px);width:56px}.landing-team-feature-icon .material-icons{color:#fff;font-size:28px}.landing-team-feature h3{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-lg,18px);font-weight:var(--ethos-font-weight-semibold,600);margin:0 0 var(--ethos-spacing-sm,8px) 0}.landing-team-feature p{color:var(--ethos-text-secondary,#6b7280);font-size:var(--ethos-font-size-sm,14px);line-height:1.6;margin:0}@media(max-width:1024px){.landing-team-features{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.landing-team-features{grid-template-columns:1fr}}.landing-cta{background:linear-gradient(135deg,var(--ethos-primary-600,#2563eb) 0,var(--ethos-primary-700,#1d4ed8) 100%);padding:var(--ethos-spacing-3xl,80px) var(--ethos-spacing-xl,24px);text-align:center}.landing-cta-content{margin:0 auto;max-width:600px}.landing-cta-title{color:#fff;font-size:var(--ethos-font-size-3xl,36px);font-weight:var(--ethos-font-weight-bold,700);letter-spacing:var(--ethos-letter-spacing-tight,-.5px);margin:0 0 var(--ethos-spacing-md,12px) 0}.landing-cta-subtitle{color:hsla(0,0%,100%,.9);font-size:var(--ethos-font-size-lg,18px);line-height:1.6;margin:0 0 var(--ethos-spacing-2xl,40px) 0}.landing-footer{background:var(--ethos-neutral-900,#111827);color:var(--ethos-text-inverse,#fff);padding:var(--ethos-spacing-2xl,48px) var(--ethos-spacing-xl,24px) var(--ethos-spacing-lg,16px)}.landing-footer-content{display:grid;gap:var(--ethos-spacing-2xl,48px);grid-template-columns:2fr 1fr 1fr;margin:0 auto;margin-bottom:var(--ethos-spacing-xl,32px);max-width:1200px}.landing-footer-brand{display:flex;flex-direction:column;gap:var(--ethos-spacing-md,12px)}.landing-footer-tagline{color:var(--ethos-text-muted,#9ca3af);font-size:var(--ethos-font-size-sm,14px);margin:0}.landing-footer-links{display:grid;gap:var(--ethos-spacing-xl,24px);grid-template-columns:repeat(2,1fr)}.landing-footer-column{display:flex;flex-direction:column;gap:var(--ethos-spacing-sm,8px)}.landing-footer-heading{color:#fff;font-size:var(--ethos-font-size-base,15px);font-weight:var(--ethos-font-weight-semibold,600);margin:0 0 var(--ethos-spacing-xs,4px) 0}.landing-footer-link{background:none;border:none;color:var(--ethos-text-muted,#9ca3af);cursor:pointer;font-size:var(--ethos-font-size-sm,14px);padding:var(--ethos-spacing-xs,4px) 0;text-align:left;transition:var(--ethos-transition-normal,color .2s)}.landing-footer-link:hover{color:#fff}.landing-footer-bottom{border-top:1px solid hsla(0,0%,100%,.1);margin:0 auto;max-width:1200px;padding-top:var(--ethos-spacing-lg,16px);text-align:center}.landing-footer-copyright{color:var(--ethos-text-muted,#9ca3af);font-size:var(--ethos-font-size-sm,14px);margin:0}@media(max-width:768px){.landing-header-content{flex-direction:column;gap:var(--ethos-spacing-md,12px)}.landing-nav{flex-wrap:wrap;justify-content:center;width:100%}.landing-hero-title{font-size:var(--ethos-font-size-2xl,32px)}.landing-hero-subtitle{font-size:var(--ethos-font-size-base,15px)}.landing-hero-cta{flex-direction:column;width:100%}.landing-hero-primary,.landing-hero-secondary{width:100%}.landing-features-grid{grid-template-columns:1fr}.landing-cta-title,.landing-section-title{font-size:var(--ethos-font-size-2xl,28px)}.landing-footer-content{gap:var(--ethos-spacing-xl,24px)}.landing-footer-content,.landing-footer-links{grid-template-columns:1fr}}.landing-pricing{background:linear-gradient(180deg,#f8fafc,#fff);padding:var(--ethos-spacing-4xl,80px) var(--ethos-spacing-2xl,40px)}.landing-pricing-content{margin:0 auto;max-width:800px;text-align:center}.landing-pricing-card{background:#fff;border:2px solid var(--ethos-primary,#2563eb);border-radius:var(--ethos-panel-radius-lg,16px);box-shadow:0 8px 32px rgba(37,99,235,.12);margin:var(--ethos-spacing-2xl,40px) 0;margin-left:auto;margin-right:auto;max-width:480px;padding:var(--ethos-spacing-2xl,40px)}.landing-pricing-main{margin-bottom:var(--ethos-spacing-lg,16px)}.landing-pricing-amount{color:var(--ethos-primary,#2563eb);font-size:56px;font-weight:700;line-height:1}.landing-pricing-period{color:var(--ethos-text-secondary,#4b5563);font-size:var(--ethos-font-size-lg,18px);margin-left:8px}.landing-pricing-volume{background:rgba(37,99,235,.05);border-radius:var(--ethos-border-radius-md,8px);margin:var(--ethos-spacing-lg,16px) 0;padding:var(--ethos-spacing-lg,16px)}.landing-pricing-volume-title{color:var(--ethos-text-primary,#1f2937);font-size:var(--ethos-font-size-sm,14px);font-weight:600;margin:0 0 var(--ethos-spacing-sm,8px) 0}.landing-pricing-tiers{display:grid;gap:var(--ethos-spacing-xs,4px) var(--ethos-spacing-lg,16px);grid-template-columns:1fr 1fr;list-style:none;margin:0;padding:0;text-align:left}.landing-pricing-tiers li{color:var(--ethos-text-secondary,#4b5563);font-size:var(--ethos-font-size-sm,14px)}.landing-pricing-tiers strong{color:var(--ethos-primary,#2563eb)}.landing-pricing-included{color:var(--ethos-text-secondary,#4b5563);font-size:var(--ethos-font-size-base,15px);margin:var(--ethos-spacing-lg,16px) 0}.landing-pricing-cta{margin-top:var(--ethos-spacing-lg,16px);width:100%}.landing-pricing-features{display:grid;gap:var(--ethos-spacing-md,12px);grid-template-columns:repeat(3,1fr);margin:var(--ethos-spacing-2xl,40px) 0;margin-left:auto;margin-right:auto;max-width:700px}.landing-pricing-feature{align-items:center;color:var(--ethos-text-secondary,#4b5563);display:flex;font-size:var(--ethos-font-size-sm,14px);gap:var(--ethos-spacing-sm,8px)}.landing-pricing-check{color:#10b981;font-weight:600}.landing-pricing-support{color:var(--ethos-text-tertiary,#9ca3af);font-size:var(--ethos-font-size-sm,13px);line-height:1.5;margin:0 auto;max-width:500px}@media(max-width:768px){.landing-pricing-features{grid-template-columns:1fr 1fr}.landing-pricing-tiers{grid-template-columns:1fr}.landing-pricing-amount{font-size:44px}}@media(max-width:480px){.landing-pricing-features{grid-template-columns:1fr}}.home-page{min-height:100vh!important}.home-grid,.home-page{box-sizing:border-box!important;margin:0!important;max-width:100%!important;padding:0!important}.home-grid{display:grid!important;gap:24px!important;grid-template-columns:1fr!important}.main-column,.side-column{display:flex;flex-direction:column;gap:24px}.priority-panel,.schedule-panel,.stats-panel{background:var(--bg-primary,#fff);border-radius:12px;box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1));padding:24px}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.panel-header h2{color:var(--ethos-primary,var(--ethos-primary-600,#2563eb));font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-semibold,600);letter-spacing:var(--ethos-letter-spacing-wider,1px);line-height:1;margin:0;text-transform:uppercase}.badge{background:#ef4444;border-radius:12px;color:var(--white,#fff);font-size:14px;font-weight:600;padding:4px 12px}.no-tasks{padding:48px 20px;text-align:center}.no-tasks-icon{font-size:48px;margin-bottom:12px}.no-tasks-title{color:var(--color-success,#10b981);font-size:24px;font-weight:600;margin:0 0 8px}.no-tasks-sub{color:var(--text-muted,#64748b);font-size:14px;margin:0}.priority-tasks{display:flex;flex-direction:column;gap:16px}.priority-task-card{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;padding:20px;transition:all .2s}.priority-task-card:hover{border-color:var(--text-primary,#2563eb);box-shadow:0 4px 6px rgba(0,0,0,.05)}.task-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.task-icon{font-size:28px;line-height:1}.task-header h3{color:var(--text-secondary,#374151);font-size:16px;font-weight:600;line-height:1.4;margin:0}.task-items{margin-bottom:16px}.task-item{color:var(--text-muted,#64748b);font-size:14px;line-height:1.5;padding:8px 0}.item-time{margin-left:8px}.item-time,.task-item.more{color:var(--text-primary,#9ca3af)}.task-item.more{font-style:italic}.task-action-btn{background:#2563eb;border:none;border-radius:6px;color:var(--white,#fff);cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:background .2s;width:100%}.task-action-btn:hover{background:#1e3a8a}.appointment-list{display:flex;flex-direction:column;gap:12px}.appointment-card{background:var(--bg-primary,#fff);border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:16px;position:relative;transition:all .2s ease}.appointment-card:hover{border-color:var(--text-primary,#2563eb);box-shadow:0 2px 8px rgba(37,99,235,.1);transform:translateY(-1px)}.appointment-card.selected{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:var(--text-primary,#2563eb);box-shadow:0 4px 12px rgba(37,99,235,.15)}.appointment-card.next-appointment{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #2563eb;margin-bottom:20px}.appointment-card.next-appointment.selected{box-shadow:0 6px 16px rgba(37,99,235,.2)}.appointment-header{margin-bottom:12px}.next-label{color:var(--text-primary,#2563eb);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.appointment-info{align-items:center;display:flex;gap:16px}.appointment-time,.appointment-time-large{color:var(--text-primary,#2563eb);font-size:14px;font-weight:700;min-width:60px}.appointment-time-large{font-size:16px}.appointment-details{flex:1}.appointment-patient{color:var(--text-primary,#1e3a8a);font-size:20px;font-weight:600;line-height:1.4;white-space:normal}.appointment-meta,.appointment-meta-inline,.appointment-service{color:var(--text-muted,#64748b);font-size:13px}.appointment-meta-inline{font-weight:400}.appointment-actions{display:flex;gap:12px;margin-top:16px;padding-top:16px}.action-btn,.appointment-actions{border:1px solid var(--border-light,#e5e7eb)}.action-btn{background:var(--bg-primary,#fff);border-radius:6px;color:var(--text-secondary,#374151);cursor:pointer;flex:1;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.action-btn:hover{background:#f1f5f9;color:var(--text-primary,#2563eb)}.action-btn.primary,.action-btn:hover{border-color:var(--text-primary,#2563eb)}.action-btn.primary{background:#2563eb;color:var(--white,#fff)}.action-btn.primary:hover{background:#1e3a8a;border-color:var(--text-primary,#1e3a8a);color:var(--white,#fff)}.multi-booking-cta{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:var(--white,#fff);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:10px;justify-content:center;margin-top:20px;max-width:none!important;padding:14px 20px;transition:all .2s ease;width:100%}.multi-booking-cta:hover{background:linear-gradient(135deg,#059669,#047857)}.cta-icon{font-size:20px}.cta-icon,.cta-text{line-height:1}.schedule-panel.upcoming{margin-top:24px}.appointment-date-badge{background:#eff6ff;border-radius:4px;color:var(--text-primary,#2563eb);font-size:11px;font-weight:600;letter-spacing:.5px;margin-right:12px;padding:4px 8px;text-transform:uppercase;white-space:nowrap}.action-btn.secondary{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);color:var(--text-secondary,#374151)}.action-btn.secondary:hover{border-color:var(--text-primary,#2563eb)}.action-btn.secondary:hover,.view-all-btn{background:#f1f5f9;color:var(--text-primary,#2563eb)}.view-all-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;margin-top:12px;padding:10px;transition:background .2s;width:100%}.view-all-btn:hover{background:#e0e7ff}.schedule-panel.outstanding{margin-top:24px}.status-badge-compact{font-size:20px;line-height:1;margin-left:12px}.status-badge-compact.needs_documentation{filter:hue-rotate(350deg)}.status-badge-compact.needs_billing{filter:hue-rotate(30deg)}.stat-grid{display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.stat-grid .stat-item{align-items:center!important;background:var(--bg-secondary,#f9fafb)!important;border:1px solid var(--border-light,#e5e7eb)!important;border-radius:8px!important;display:flex!important;font-size:inherit!important;gap:12px!important;padding:16px!important;text-align:left!important}.stat-grid .stat-value{color:var(--text-primary,#2563eb)!important;flex-shrink:0!important;font-size:32px!important;font-weight:700!important;line-height:1!important;margin:0!important}.stat-grid .stat-label{color:var(--text-muted,#64748b)!important;flex:0 1 auto!important;font-size:13px!important;line-height:1.3!important;margin:0!important;text-align:left!important}.quick-action-btn{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:8px;color:var(--text-secondary,#374151);cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.quick-action-btn:hover{background:#f1f5f9;border-color:var(--text-primary,#2563eb);color:var(--text-primary,#2563eb)}.quick-action-btn.primary{background:#2563eb;border-color:var(--text-primary,#2563eb);color:var(--white,#fff)}.quick-action-btn.primary:hover{background:#1e3a8a}.error-state,.loading-state{flex-direction:column;min-height:400px;padding:48px}.error-state,.loading-spinner,.loading-state{align-items:center;display:flex;justify-content:center}.loading-spinner{animation:fadeInOut 2s ease-in-out infinite;height:40px;margin-bottom:16px;width:40px}@keyframes fadeInOut{0%,to{opacity:.3}50%{opacity:1}}.error-state p,.loading-state p{color:var(--text-muted,#64748b);font-size:16px;margin:0}.error-icon{display:block;font-size:48px;margin-bottom:16px}.error-state p{color:var(--color-error,#dc2626);margin-bottom:16px}.retry-btn{background:#ef4444;border:none;border-radius:6px;color:var(--white,#fff);cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px;transition:background .2s}.retry-btn:hover{background:#dc2626}@media(max-width:767px){.dashboard-greeting-section{display:none!important}.home-page{padding:12px}.home-grid{gap:16px;grid-template-columns:1fr}.priority-panel,.schedule-panel,.stats-panel{padding:16px}.panel-header h2{font-size:var(--ethos-font-size-sm,14px)}.task-header h3{font-size:15px}.stat-grid{grid-template-columns:1fr}.quick-action-btn{width:100%}.appointment-card{padding:12px}.appointment-info{align-items:flex-start;flex-direction:column;gap:8px}.appointment-time,.appointment-time-large{font-size:13px;min-width:auto}.appointment-time-large{font-size:14px}.appointment-patient{font-size:18px}.appointment-meta,.appointment-meta-inline,.appointment-service{font-size:12px}.appointment-actions{flex-direction:column;gap:8px}.action-btn{width:100%}.status-badge-compact{font-size:18px}.multi-booking-cta{font-size:14px;padding:12px 16px}.cta-icon{font-size:18px}.appointment-date-badge{font-size:10px;margin-right:8px;padding:3px 6px}.view-all-btn{font-size:13px;padding:12px}}@media(min-width:768px)and (max-width:1023px){.home-grid{gap:20px;grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(4,1fr)}}@media print{.home-page{padding:0}.action-btn,.multi-booking-cta,.quick-action-btn,.task-action-btn,.view-all-btn{display:none!important}.priority-panel,.schedule-panel,.stats-panel{border:1px solid var(--border-light,#e5e7eb);box-shadow:none;page-break-inside:avoid}}.reschedule-form{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:0 0 8px 8px;margin-top:12px;padding:16px}.reschedule-form .form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.reschedule-form .form-group{display:flex;flex-direction:column}.reschedule-form label{color:var(--text-secondary,#374151);font-size:13px;font-weight:500;margin-bottom:6px}.reschedule-form .form-input{background:var(--bg-primary,#fff);border:1px solid var(--border-medium,#d1d5db);border-radius:6px;color:var(--text-primary,#1f2937);font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.reschedule-form .form-input:focus{border-color:var(--text-primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.reschedule-actions{display:flex;gap:8px;justify-content:flex-end}.reschedule-actions .action-btn{font-size:14px;padding:10px 20px}@media(max-width:767px){.reschedule-form .form-row{grid-template-columns:1fr}}.schedule-cta-group{display:flex;flex-direction:column;gap:12px;margin-top:20px;width:100%}.multi-booking-cta,.patients-directory-cta{align-items:center;border:none;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex!important;font-size:15px!important;font-weight:600;gap:10px;height:52px!important;justify-content:center;margin:0;max-width:620px;min-height:52px!important;padding:16px 20px!important;transition:all .2s ease;width:100%!important}.multi-booking-cta{background:linear-gradient(135deg,#10b981,#059669)!important;box-shadow:0 2px 4px rgba(16,185,129,.2);color:var(--white,#fff)!important}.multi-booking-cta:hover{background:linear-gradient(135deg,#059669,#047857)!important;box-shadow:0 4px 8px rgba(16,185,129,.3);transform:translateY(-1px)}.multi-booking-cta:active{box-shadow:0 2px 4px rgba(16,185,129,.2);transform:translateY(0)}.patients-directory-cta{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 4px rgba(59,130,246,.2);color:var(--white,#fff)}.patients-directory-cta:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px rgba(59,130,246,.3);transform:translateY(-1px)}.patients-directory-cta:active{box-shadow:0 2px 4px rgba(59,130,246,.2);transform:translateY(0)}.cta-icon{display:none}.cta-text{line-height:1}@media(max-width:768px){.schedule-cta-group{flex-direction:column}.multi-booking-cta,.patients-directory-cta{width:100%!important}}.live-badge{background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;color:var(--white,#fff);font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 8px;text-transform:uppercase}.financial-summary{border:none;margin-top:var(--ethos-spacing-xl,32px);padding-top:var(--ethos-spacing-xl,32px)}.financial-summary h3{color:var(--ethos-primary,var(--ethos-primary-600,#2563eb));font-size:var(--ethos-font-size-sm,14px);font-weight:var(--ethos-font-weight-semibold,600);letter-spacing:var(--ethos-letter-spacing-wider,1px);line-height:1;margin:0 0 var(--ethos-spacing-lg,20px) 0;text-transform:uppercase}.financial-summary .financial-grid{display:grid!important;gap:var(--ethos-spacing-lg,20px)!important;grid-template-columns:repeat(2,1fr)!important}.financial-summary .financial-item{align-items:center!important;background:var(--bg-secondary,#f9fafb)!important;border:1px solid var(--border-light,#e5e7eb)!important;border-radius:8px!important;box-shadow:none!important;display:flex!important;flex:1!important;gap:12px!important;min-width:200px!important;padding:16px!important;text-align:left!important}.financial-summary .financial-label{color:var(--text-muted,#64748b)!important;font-size:13px!important;line-height:1.3!important;margin:0!important;text-align:left!important}.financial-summary .financial-value{color:var(--text-primary,#2563eb)!important;flex-shrink:0!important;font-size:32px!important;font-weight:700!important;line-height:1!important;margin:0!important}.financial-summary .financial-value.success{color:var(--color-success,#10b981)!important}.financial-summary .financial-value.warning{color:var(--text-primary,#2563eb)!important}@media(min-width:768px){.financial-summary .financial-item{padding:16px!important}.financial-summary .financial-value{font-size:32px!important}.financial-summary .financial-label{font-size:13px!important}}.analytics-meta{border:none;margin-top:var(--ethos-spacing-lg,24px);padding-top:0;text-align:left}.analytics-meta small{color:var(--text-muted,#9ca3af);font-size:var(--ethos-font-size-xs,12px)}.insights-panel{background:var(--bg-primary,#fff);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-border-radius-lg,12px);box-shadow:var(--ethos-shadow-sm,0 1px 3px rgba(0,0,0,.1));margin-top:0;padding:var(--ethos-spacing-xl,32px)}.insights-grid{display:flex!important;flex-direction:column!important;gap:var(--ethos-spacing-lg,20px)!important;width:100%}.insight-item{background:var(--bg-secondary,#f9fafb);border:1px solid var(--border-light,#e5e7eb);border-radius:var(--ethos-border-radius-md,8px);box-shadow:0 1px 2px rgba(0,0,0,.05);display:flex;flex-direction:column;gap:var(--ethos-spacing-sm,12px);padding:var(--ethos-spacing-lg,20px);transition:all .2s}.insight-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateY(-1px)}.insight-item.success{border-left:4px solid #10b981}.insight-item.info{border-left:4px solid #3b82f6}.insight-item.warning{border-left:4px solid #f59e0b}.insight-item.error{border-left:4px solid #ef4444}.insight-badge{border-radius:var(--ethos-border-radius-sm,4px);display:inline-block;font-size:var(--ethos-font-size-xs,11px);font-weight:var(--ethos-font-weight-bold,700);letter-spacing:.5px;margin-bottom:var(--ethos-spacing-xs,8px);padding:4px 12px;text-transform:uppercase;width:-moz-fit-content;width:fit-content}.insight-badge.success{background:#10b981;color:#fff}.insight-badge.info{background:#3b82f6;color:#fff}.insight-badge.warning{background:#f59e0b;color:#fff}.insight-badge.error{background:#ef4444;color:#fff}.insight-title{color:var(--text-primary,#1f2937);font-size:var(--ethos-font-size-md,16px);font-weight:var(--ethos-font-weight-semibold,600);line-height:1.3;margin:0}.insight-description{color:var(--text-muted,#6b7280);line-height:1.5;margin:0}.insight-description,.insight-impact{font-size:var(--ethos-font-size-sm,14px)}.insight-impact{font-weight:var(--ethos-font-weight-medium,500);margin-top:var(--ethos-spacing-xs,8px)}.insight-item.success .insight-impact{color:#10b981}.insight-item.info .insight-impact{color:#3b82f6}.insight-item.warning .insight-impact{color:#f59e0b}.insight-item.error .insight-impact{color:#ef4444}@media(max-width:767px){.financial-summary .financial-grid{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important}.insight-item{padding:var(--ethos-spacing-md,16px)}}