:root{--bg:#0b0b0f;--surface-1:#0f0f15;--surface-2:#12121a;--text:#e8e8f0;--muted:#a9a9b9;--primary:#7c3aed;--primary-700:#6d28d9;--ring:#a78bfa33;--border:#252536;--shadow:0 10px 40px rgba(0,0,0,0.5)}*{box-sizing:border-box}#__next,body,html{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.homepage-main{background:radial-gradient(1200px 800px at 100% -20%,rgba(124,58,237,.12),transparent 65%),radial-gradient(900px 600px at 15% 80%,rgba(139,92,246,.08),transparent 55%),radial-gradient(600px 400px at 85% 60%,rgba(168,85,247,.06),transparent 70%),radial-gradient(1000px 800px at 0 -20%,rgba(6,182,212,.1),transparent 60%),radial-gradient(700px 500px at 70% 20%,rgba(14,165,233,.07),transparent 65%),radial-gradient(800px 600px at 25% 40%,rgba(59,130,246,.05),transparent 50%),radial-gradient(800px 600px at 50% 70%,rgba(236,72,153,.08),transparent 70%),radial-gradient(500px 400px at 90% 10%,rgba(244,63,94,.06),transparent 60%),radial-gradient(650px 450px at 10% 30%,rgba(219,39,119,.05),transparent 55%),radial-gradient(750px 550px at 80% 85%,rgba(16,185,129,.06),transparent 65%),radial-gradient(550px 350px at 30% 10%,rgba(5,150,105,.04),transparent 70%),radial-gradient(600px 400px at 60% 90%,rgba(245,158,11,.05),transparent 60%),radial-gradient(450px 300px at 5% 60%,rgba(251,191,36,.04),transparent 65%),radial-gradient(850px 650px at 45% 25%,rgba(99,102,241,.07),transparent 55%),radial-gradient(400px 300px at 75% 75%,rgba(129,140,248,.04),transparent 70%),var(--bg);min-height:100vh}img{max-width:100%;display:block}.container{width:min(1120px,calc(100% - 2rem));margin-inline:auto}.section{padding:96px 0;position:relative;scroll-margin-top:80px}.section__title{font-size:clamp(24px,3vw,40px);line-height:1.1;letter-spacing:-.02em;margin:0 0 24px}.nav{position:fixed;top:0;left:0;right:0;z-index:50;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);background:color-mix(in oklab,transparent 90%,var(--surface-1));border-bottom:1px solid transparent;transition:border-color .3s ease,background .3s ease}.nav--scrolled{border-color:var(--border);background:color-mix(in oklab,var(--surface-1) 86%,transparent)}.nav__inner{display:grid;grid-template-columns:auto 1fr auto;grid-gap:16px;gap:16px;align-items:center;height:64px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.brand__logo{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;overflow:hidden}.brand__name{font-weight:700;letter-spacing:-.02em}.menu{display:none;gap:18px;justify-self:center}.menu__link{color:var(--muted);text-decoration:none;font-weight:500;padding:10px 8px}.menu__link:hover{color:var(--text)}.actions{display:none}.nav__toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--text);width:44px;height:44px;padding:0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;justify-self:end;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}.nav__toggle:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.toggle__bar{position:absolute;left:50%;width:22px;height:2px;background:currentColor;border-radius:999px;transform:translateX(-50%);transition:transform .25s cubic-bezier(.4,0,.2,1),top .25s cubic-bezier(.4,0,.2,1),opacity .2s ease}.toggle__bar:first-child{top:14px}.toggle__bar:nth-child(2){top:21px}.toggle__bar:nth-child(3){top:28px}.toggle__bar.open:first-child{top:21px;transform:translateX(-50%) rotate(45deg)}.toggle__bar.open:nth-child(2){opacity:0}.toggle__bar.open:nth-child(3){top:21px;transform:translateX(-50%) rotate(-45deg)}.nav__mobilePanel{overflow:hidden;border-top:1px solid var(--border);background:color-mix(in oklab,var(--surface-1) 90%,transparent)}.nav__mobileInner{display:grid;grid-gap:8px;gap:8px;padding:12px 0 16px}@media (min-width:768px){.actions,.menu{display:inline-flex}.actions{gap:12px}.nav__mobilePanel,.nav__toggle{display:none}}.button{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s ease;border:none}.button--primary{background:linear-gradient(135deg,var(--primary),var(--primary-700));color:white;box-shadow:0 4px 14px #7c3aed33}.button--primary:hover{transform:translateY(-1px);box-shadow:0 6px 20px #7c3aed44}.button--primary:disabled{background:var(--surface-1);color:var(--muted);cursor:not-allowed}.button--primary:disabled,.button--primary:disabled:hover{transform:none;box-shadow:none}.button--ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.button--ghost:hover{background:var(--surface-2);border-color:#3a3a4a}.button--white{background:white;color:#1a1a1a;border:1px solid #e5e5e5;box-shadow:0 2px 8px rgba(0,0,0,.08)}.button--white:hover{background:#f8f8f8;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.12)}main{padding-top:64px}.hero{padding:120px 0;position:relative}.hero__grid{display:grid;grid-gap:60px;gap:60px;align-items:center;grid-template-columns:1fr}.hero__copy{text-align:center}.hero__title{font-size:clamp(28px,5vw,56px);line-height:1.1;font-weight:900;letter-spacing:-.03em;margin:0 0 20px;background:linear-gradient(135deg,var(--text),var(--muted));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero__subtitle{font-size:18px;color:var(--muted);margin:0 0 32px;line-height:1.6}.hero__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.hero-dashboard-btn{background:white!important;color:var(--bg)!important;border:1px solid white!important}.hero-dashboard-btn:hover{background:rgba(255,255,255,.9)!important;color:var(--bg)!important}.hero__visual{display:flex;justify-content:center;align-items:center}.hero__video{width:100%;max-width:600px;aspect-ratio:16/9;position:relative}.video-container{width:100%;height:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;overflow:hidden;position:relative;box-shadow:0 20px 40px rgba(0,0,0,.4)}.video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:linear-gradient(135deg,#1a1a27,var(--surface-2))}.play-button{cursor:pointer;transition:transform .3s ease}.play-button:hover{transform:scale(1.1)}.video-text{color:var(--muted);font-size:16px;font-weight:500;margin:0}.hero__bg{top:0;left:0;right:0;bottom:0;z-index:-1;overflow:hidden}.hero__bg,.orb{position:absolute}.orb{border-radius:50%;filter:blur(40px);opacity:.4}.orb--1{top:20%;right:10%;width:300px;height:300px;background:radial-gradient(circle,#7c3aed33,transparent)}.orb--2{bottom:20%;left:10%;width:200px;height:200px;background:radial-gradient(circle,#06b6d433,transparent)}.orb--3{top:60%;right:30%;width:150px;height:150px;background:radial-gradient(circle,#ec489933,transparent)}.features__grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:var(--shadow)}.card__icon{font-size:22px}.card__title{margin:8px 0 6px;font-size:18px}.card__desc{color:var(--muted);margin:0}.pricing__toggle{display:flex;justify-content:center;align-items:center;gap:16px;margin:40px 0 60px}.pricing__toggle-label{font-weight:500;color:var(--muted);transition:color .3s ease;display:flex;align-items:center;gap:8px}.pricing__toggle-label.active{color:var(--text)}.pricing__toggle-badge{background:linear-gradient(135deg,var(--primary),var(--primary-700));color:white;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.pricing__toggle-switch{position:relative;width:56px;height:28px;background:var(--surface-1);border:1px solid var(--border);border-radius:999px;cursor:pointer;transition:background .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.pricing__toggle-switch:hover{background:#1a1a25}.pricing__toggle-slider{position:absolute;top:3px;left:3px;width:20px;height:20px;background:var(--primary);border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px rgba(124,58,237,.4)}.pricing__toggle-slider.yearly{transform:translateX(28px)}.pricing__grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:1fr;max-width:1200px;margin:0 auto}.pricing__card{background:var(--surface-2);border:1px solid var(--border);border-radius:18px;padding:32px 24px;box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease,border-color .3s ease}.pricing__card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.6);border-color:#3a3a4a}.pricing__card--highlight{border-color:#a78bfa44;background:linear-gradient(180deg,#1a1627,var(--surface-2))}.pricing__card--highlight:hover{border-color:#a78bfa66;box-shadow:0 20px 60px #7c3aed22}.pricing__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--primary),var(--primary-700));color:white;font-size:12px;font-weight:600;padding:4px 16px;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.pricing__header{margin-bottom:24px}.pricing__name{margin:0 0 8px;font-size:24px;font-weight:700;letter-spacing:-.02em}.pricing__desc{margin:0;color:var(--muted);font-size:14px}.pricing__price-wrapper{margin-bottom:32px}.pricing__price{margin:0;font-size:40px;font-weight:800;letter-spacing:-.03em;display:flex;align-items:baseline;gap:4px}.pricing__period{font-size:16px;font-weight:500;color:var(--muted)}.pricing__savings{margin:8px 0 0;font-size:14px;color:#22c55e;font-weight:600}.pricing__monthly-equivalent{margin:4px 0 0;font-size:13px;color:var(--muted)}.pricing__list{list-style:none;padding:0;margin:0 0 32px;display:grid;grid-gap:12px;gap:12px;flex:1 1}.pricing__item{color:#cfcfe6;display:flex;align-items:flex-start;gap:10px;font-size:14px}.pricing__check{width:16px;height:16px;color:#22c55e;flex-shrink:0;margin-top:2px}.showcase__grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.showcase__card{padding:20px;border-radius:18px;border:1px solid var(--border);position:relative;overflow:hidden;transition:transform .2s ease}.showcase__card:hover{transform:translateY(-2px)}.showcase__glow{position:absolute;top:-50%;right:-50%;width:100%;height:100%;opacity:.1;border-radius:50%;filter:blur(20px)}.showcase__chrome{display:flex;gap:4px;margin-bottom:16px}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.showcase__title{margin:0;font-size:16px;font-weight:600}.cta__box{background:linear-gradient(180deg,#1a1a25,#12121a);border:1px solid var(--border);border-radius:20px;padding:28px;text-align:center;box-shadow:var(--shadow)}.cta__title{margin:0 0 8px;font-size:clamp(22px,2.6vw,32px)}.cta__desc{color:var(--muted);margin:0 0 16px}.cta__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.footer{border-top:1px solid var(--border);padding:28px 0;background:color-mix(in oklab,var(--surface-1) 86%,transparent)}.footer__inner{display:grid;grid-gap:16px;gap:16px;align-items:center;grid-template-columns:1fr;text-align:center}.footer__menu{display:inline-flex;gap:16px;justify-content:center;flex-wrap:wrap}.footer__copy{color:var(--muted);margin:8px 0 0}@media (min-width:768px){.hero__grid{grid-template-columns:1fr 1fr;gap:80px}.hero__copy{text-align:left}.pricing__grid{grid-template-columns:repeat(3,1fr)}.footer__inner{grid-template-columns:auto 1fr auto;text-align:left}.footer__menu{justify-content:flex-end}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(800px 400px at 50% 0,#5427b41f,transparent 60%),var(--bg)}.auth-box{width:100%;max-width:420px;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:40px 32px;box-shadow:var(--shadow)}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit;margin-bottom:24px}.auth-title{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0 0 8px}.auth-subtitle{color:var(--muted);margin:0}.auth-form{display:flex;flex-direction:column;gap:20px}.auth-error{background:#ef444410;border:1px solid #ef444433;color:#ef4444;padding:12px;border-radius:10px;font-size:14px}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-weight:500}.form-input,.form-label{font-size:14px;color:var(--text)}.form-input{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:12px 16px;transition:border-color .2s ease}.modal-overlay{background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--surface-1);padding:32px;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.5);animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;background:var(--surface-2);color:var(--text);font-size:24px;transition:all .2s ease}.modal-close:hover{background:var(--surface-3);transform:scale(1.05)}.modal-title{font-size:28px;font-weight:700;margin-bottom:8px;color:var(--text)}.modal-subtitle{font-size:16px;color:var(--muted);margin-bottom:32px}.demo-form{display:flex;flex-direction:column;gap:20px}.modal-actions .button{flex:1 1}input[type=date]{cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.8)}.admin-dashboard{min-height:100vh;background:var(--bg);padding-bottom:60px}.admin-nav{background:var(--surface-1);border-bottom:1px solid var(--border);padding:20px 0;margin-bottom:40px}.admin-nav .container{display:flex;align-items:center;justify-content:space-between}.admin-nav h1{font-size:24px;font-weight:700;color:var(--text);margin:0}.admin-back{color:var(--muted);text-decoration:none;font-size:14px;transition:color .2s}.admin-back:hover{color:var(--text)}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:24px;gap:24px;margin-bottom:40px}.stat-card{background:var(--surface-1)}.stat-number{font-size:36px;margin-bottom:8px}.stat-label{font-size:14px;color:var(--muted);margin-bottom:12px}.stat-badge{display:inline-block;padding:4px 12px;background:var(--primary);color:white;border-radius:20px;font-size:12px;font-weight:600}.admin-tabs{display:flex;gap:8px;margin-bottom:32px;border-bottom:1px solid var(--border)}.tab-button{background:transparent;color:var(--muted);padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tab-button:hover{color:var(--text)}.tab-button.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-content{background:var(--surface-1);border-radius:12px;padding:32px;border:1px solid var(--border)}.admin-table-container h2{font-size:20px;font-weight:700;color:var(--text);margin-bottom:24px}.admin-table{overflow-x:auto}.admin-table table{width:100%;border-collapse:collapse}.admin-table th{text-align:left;padding:12px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase}.admin-table td,.admin-table th{border-bottom:1px solid var(--border)}.admin-table td{padding:16px 12px;font-size:14px;color:var(--text)}.admin-table a{color:var(--primary);text-decoration:none}.admin-table a:hover{text-decoration:underline}.message-cell{max-width:300px}.message-preview{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px}.status-pending{background:#fbbf2410;color:#fbbf24}.status-confirmed{background:#60a5fa10;color:#60a5fa}.status-completed{background:#34d39910;color:#34d399}.status-cancelled{background:#f8717110;color:#f87171}.status-unread{background:#fbbf2410;color:#fbbf24}.status-read{background:#60a5fa10;color:#60a5fa}.status-responded{background:#34d39910;color:#34d399}.status-archived{background:#6b728010;color:#6b7280}.status-select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:12px;color:var(--text);cursor:pointer}.no-data{text-align:center;color:var(--muted);padding:40px;font-size:14px}.admin-calendar h2{font-size:20px;font-weight:700;color:var(--text);margin-bottom:24px}.calendar-header{margin-bottom:24px}.month-selector{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 16px;color:var(--text);font-size:14px}.calendar-grid{margin-bottom:32px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px;margin-bottom:8px}.weekday{text-align:center;font-size:12px;font-weight:600;color:var(--muted);padding:8px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:8px;gap:8px}.calendar-day{aspect-ratio:1;background:var(--surface-2);border-radius:8px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;border:1px solid var(--border)}.calendar-day.empty{background:transparent;border:none}.calendar-day.has-demos{background:var(--primary-100);border-color:var(--primary)}.day-number{font-size:14px;font-weight:600;color:var(--text)}.demo-count{font-size:10px;color:var(--primary);margin-top:4px;font-weight:600}.calendar-details h3{font-size:16px;font-weight:700;color:var(--text);margin-bottom:16px}.demo-list{display:flex;flex-direction:column;gap:12px}.demo-card{background:var(--surface-2);border-radius:8px;padding:16px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--border)}.demo-info{display:flex;flex-direction:column;gap:4px}.demo-info strong{font-size:14px;color:var(--text)}.demo-info span{font-size:12px;color:var(--muted)}.form-input:focus{outline:none;border-color:var(--primary)}.form-input::placeholder{color:#6b6b7b}.auth-button{width:100%;margin-top:8px}.auth-footer{margin-top:24px;text-align:center}.auth-footer-text{color:var(--muted);font-size:14px}.auth-link{color:var(--primary);text-decoration:none;font-weight:600}.auth-link:hover{text-decoration:underline}.dashboard{min-height:100vh;background:var(--bg)}.dashboard-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.dashboard-nav{background:var(--surface-1);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.dashboard-nav-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.dashboard-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.dashboard-nav-actions{display:flex;align-items:center;gap:16px}.dashboard-user{color:var(--muted);font-size:14px}.dashboard-content{padding:60px 0}.dashboard-header{margin-bottom:48px}.dashboard-title{font-size:40px;font-weight:800;letter-spacing:-.03em;margin:0 0 8px}.dashboard-subtitle{color:var(--muted);font-size:18px;margin:0}.dashboard-grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.dashboard-card{background:var(--surface-2);border:1px solid var(--border);border-radius:18px;padding:32px;display:flex;flex-direction:column;gap:16px;transition:transform .2s ease,box-shadow .2s ease}.dashboard-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.3)}.dashboard-card-icon{font-size:32px}.dashboard-card-title{font-size:20px;font-weight:700;margin:0}.dashboard-card-desc{color:var(--muted);margin:0;flex:1 1}.dashboard-card--admin{background:linear-gradient(135deg,#1a1627,var(--surface-2));border-color:#a78bfa44}.dashboard-empty{text-align:center;padding:60px 20px;background:var(--surface-2);border:1px solid var(--border);border-radius:18px}.dashboard-empty h2{margin:0 0 12px;font-size:24px}.dashboard-empty p{color:var(--muted);margin:0 0 24px}.org-selector{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-size:14px;cursor:pointer;outline:none}.org-selector:hover{border-color:#3a3a4a}.org-selector:focus{border-color:var(--primary)}.role-badge{margin-left:8px;padding:2px 8px;background:var(--primary)}.role-badge,.super-admin-badge{color:white;font-weight:600;border-radius:999px;text-transform:uppercase;letter-spacing:.5px}.super-admin-badge{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#ec4899,#a855f7);font-size:12px}.create-org-form{background:var(--surface-2);border:1px solid var(--border);border-radius:18px;padding:32px;margin-bottom:32px}.create-org-form h2{margin:0 0 24px;font-size:24px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;max-width:900px;width:100%;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-content--large{max-width:1200px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px 32px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:24px}.modal-close{background:transparent;border:none;color:var(--muted);font-size:32px;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .2s ease}.modal-close:hover{background:var(--surface-1);color:var(--text)}.modal-body{padding:32px;overflow-y:auto;flex:1 1}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.user-assignment-form{margin-bottom:32px}.user-assignment-form h3{margin:0 0 16px;font-size:18px}.form-row{display:flex;gap:12px;align-items:flex-end}.form-row .form-input{flex:1 1}.users-table{margin-top:32px}.users-table h3{margin:0 0 16px;font-size:18px}.data-table{width:100%;border-collapse:collapse}.data-table th{background:var(--surface-1);text-align:left;font-weight:600;color:var(--muted)}.data-table td,.data-table th{padding:12px;font-size:14px;border-bottom:1px solid var(--border)}.data-table tbody tr:hover,.role-select{background:var(--surface-1)}.role-select{border:1px solid var(--border);border-radius:6px;padding:4px 8px;color:var(--text);font-size:13px;cursor:pointer}.role-select:focus{outline:none;border-color:var(--primary)}.data-table-container{overflow-x:auto}.data-table-container .data-table{min-width:600px}.dashboard-layout{display:flex;min-height:100vh;background:var(--bg)}.sidebar{width:280px;background:var(--surface-1);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;height:100vh;overflow-y:auto;z-index:1000;transition:transform .3s ease}.sidebar-header{padding:24px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.sidebar-close{display:none;background:transparent;border:none;color:var(--muted);font-size:24px;cursor:pointer;width:32px;height:32px;border-radius:6px;transition:all .2s ease}.sidebar-close:hover{background:var(--surface-2);color:var(--text)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999}.sidebar-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.sidebar-user{padding:20px 24px;border-bottom:1px solid var(--border)}.sidebar-user-info{margin-bottom:12px}.sidebar-user-name{font-weight:600;font-size:14px;margin-bottom:4px}.sidebar-role-badge{margin-left:0;font-size:10px}.sidebar-org-selector{margin-top:12px}.sidebar-active-org{font-size:12px;color:var(--muted);margin-top:8px}.sidebar-nav{flex:1 1;padding:12px 0}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:12px 24px;color:var(--muted);text-decoration:none;transition:all .2s ease;border-left:3px solid transparent}.sidebar-nav-item.active,.sidebar-nav-item:hover{background:var(--surface-2);color:var(--text)}.sidebar-nav-item.active{border-left-color:var(--primary)}.sidebar-nav-icon{font-size:16px;width:20px;text-align:center}.sidebar-nav-text{font-size:14px;font-weight:500}.sidebar-footer{padding:20px 24px;border-top:1px solid var(--border)}.sidebar-signout{display:flex;align-items:center;gap:12px;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:8px 0;width:100%;font-size:14px;transition:color .2s ease}.sidebar-signout:hover{color:var(--text)}.dashboard-main{flex:1 1;margin-left:280px;min-height:100vh}.dashboard-mobile-header{display:none;background:var(--surface-1);border-bottom:1px solid var(--border);padding:16px 20px;position:-webkit-sticky;position:sticky;top:0;z-index:100;align-items:center;justify-content:space-between}.mobile-menu-toggle{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;flex-direction:column;gap:4px;border-radius:6px;transition:background .2s ease}.mobile-menu-toggle:hover{background:var(--surface-2)}.hamburger-line{width:20px;height:2px;background:var(--text);border-radius:1px;transition:all .3s ease}.mobile-header-logo{gap:8px}.mobile-header-logo,.mobile-header-user{display:flex;align-items:center}.mobile-role-badge{font-size:10px;padding:2px 6px}.dashboard-content{padding:40px}.dashboard-overview,.dashboard-page{max-width:1200px;margin:0 auto}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:24px;gap:24px;margin-bottom:40px}.stat-card{border-radius:16px;padding:24px;gap:16px}.stat-card,.stat-icon{display:flex;align-items:center}.stat-icon{font-size:32px;width:60px;height:60px;background:var(--surface-1);border-radius:12px;justify-content:center}.stat-content h3{margin:0 0 8px;font-size:14px;color:var(--muted);font-weight:500}.stat-number{margin:0 0 4px;font-size:28px;font-weight:800;color:var(--text)}.stat-change{font-size:12px;color:var(--muted)}.stat-change.positive{color:#22c55e}.dashboard-quick-actions{margin-top:40px}.dashboard-quick-actions h2{margin:0 0 24px;font-size:20px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:16px;gap:16px}.quick-action-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease;color:var(--text)}.quick-action-btn:hover{transform:translateY(-2px);border-color:var(--primary);box-shadow:0 8px 25px rgba(0,0,0,.3)}.quick-action-icon{font-size:24px}.dashboard-sections{display:grid;grid-template-columns:1fr 1fr;grid-gap:32px;gap:32px;margin:40px 0}.dashboard-section{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:24px}.section-header{margin-bottom:20px;padding-bottom:12px}.section-header h2{margin:0;font-size:18px;color:var(--text-1)}.section-link{color:var(--primary);text-decoration:none;font-size:14px;font-weight:500}.section-link:hover{text-decoration:underline}.dashboard-list{display:flex;flex-direction:column;gap:12px}.list-item{display:flex;justify-content:space-between;align-items:flex-start;padding:16px;background:var(--surface-3);border-radius:8px;border:1px solid var(--border)}.list-item-main{flex:1 1;min-width:0}.list-item-title{font-weight:600;font-size:14px;color:var(--text-1);margin-bottom:4px}.list-item-subtitle{font-size:13px;color:var(--text-2);margin-bottom:4px}.list-item-message{font-size:12px;color:var(--text-3);line-height:1.4}.list-item-meta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0;margin-left:16px}.status-badge{border-radius:4px;text-transform:capitalize}.status-pending,.status-unread{background:#fff3cd;color:#856404}.status-confirmed,.status-read{background:#d1ecf1;color:#0c5460}.status-completed,.status-responded{background:#d4edda;color:#155724}.status-cancelled{background:#f8d7da;color:#721c24}.list-item-date{font-size:11px;color:var(--text-3)}.empty-message,.loading-message{text-align:center;color:var(--text-2);font-style:italic;padding:32px 16px}.onboarding-completion-section{background:linear-gradient(135deg,rgba(99,102,241,.05),rgba(139,92,246,.05));border:1px solid rgba(99,102,241,.2);border-radius:16px;padding:32px;margin-bottom:40px}.onboarding-completion-section .section-header h2{color:var(--text-1);margin:0 0 8px;font-size:20px;font-weight:600}.onboarding-completion-section .section-header p{color:var(--text-2);margin:0 0 24px;font-size:14px}.onboarding-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px;gap:20px}.onboarding-card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:24px;transition:all .2s ease;position:relative;overflow:hidden}.onboarding-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6);opacity:0;transition:opacity .2s ease}.onboarding-card:hover:before{opacity:1}.onboarding-card:hover{transform:translateY(-2px);border-color:rgba(99,102,241,.3);box-shadow:0 8px 25px rgba(99,102,241,.1)}.onboarding-card-icon{font-size:32px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:rgba(99,102,241,.1);border-radius:12px;margin-bottom:16px}.onboarding-card-content h3{color:var(--text-1);font-size:16px;font-weight:600;margin:0 0 8px}.onboarding-card-content p{color:var(--text-2);font-size:14px;line-height:1.5;margin:0 0 20px}.onboarding-card-btn{font-size:14px;padding:10px 16px;width:100%;justify-content:center}@media (max-width:768px){.onboarding-completion-section{padding:24px 20px;margin-bottom:32px}.onboarding-cards{grid-template-columns:1fr;gap:16px}.onboarding-card{padding:20px}}.dashboard-table-container{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;overflow:hidden}.table-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border)}.table-header h2{margin:0;font-size:18px}.table-filters{display:flex;gap:12px}.form-input.small{padding:8px 12px;font-size:13px;min-width:120px}.table-cell-main strong{display:block;font-weight:600}.table-cell-sub{font-size:12px;color:var(--muted);margin-top:2px}.table-actions{display:flex;gap:8px}.organizations-list{display:flex;flex-wrap:wrap;gap:4px}.org-badge{background:var(--surface-1);color:var(--text);padding:2px 8px;font-weight:500}.org-badge,.status-badge{border-radius:12px;font-size:11px}.status-badge{padding:4px 8px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#22c55e33;color:#22c55e}.status-badge.banned{background:#ef444433;color:#ef4444}.member-count,.text-muted{color:var(--muted);font-size:13px}.empty-state{text-align:center;padding:60px 20px}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state h3{margin:0 0 8px;font-size:18px}.empty-state p{color:var(--muted);margin:0}.manage-users-content{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:32px}@media (max-width:1024px){.sidebar{width:260px}.dashboard-main{margin-left:260px}.dashboard-content{padding:32px 24px}.dashboard-stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media (max-width:768px){.sidebar{transform:translateX(-100%);width:280px}.sidebar--open{transform:translateX(0)}.sidebar-overlay{display:block}.sidebar-close{display:flex;align-items:center;justify-content:center}.dashboard-main{margin-left:0;width:100%}.dashboard-mobile-header{display:flex}.dashboard-content{padding:24px 16px}.dashboard-stats{grid-template-columns:1fr;gap:16px}.stat-card{padding:20px}.stat-icon{width:50px;height:50px}.stat-icon,.stat-number{font-size:24px}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.quick-action-btn{padding:16px}.quick-action-icon{font-size:20px}.dashboard-table-container{margin:0 -16px;border-radius:0;border-left:none;border-right:none}.table-header{padding:20px 16px;flex-direction:column;gap:16px;align-items:flex-start}.table-filters{width:100%;justify-content:flex-end}.data-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{min-width:800px}.data-table td,.data-table th{padding:8px 12px;font-size:13px}.table-cell-main strong{font-size:13px}.table-cell-sub{font-size:11px}.table-actions{flex-direction:column;gap:4px}.button.small{padding:4px 8px;font-size:11px}.org-badge{font-size:10px;padding:1px 6px}.status-badge{font-size:10px;padding:2px 6px}.role-select{font-size:11px;padding:2px 6px}.table-filters{flex-direction:column;gap:8px}.form-input.small{width:100%;min-width:auto}.dashboard-sections{grid-template-columns:1fr;gap:24px;margin:32px 0}.dashboard-section{padding:20px}.list-item{flex-direction:column;align-items:stretch;gap:12px}.list-item-meta{flex-direction:row;align-items:center;justify-content:space-between;margin-left:0}}@media (max-width:480px){.dashboard-content{padding:20px 12px}.dashboard-header h1{font-size:24px}.dashboard-subtitle{font-size:14px}.stat-card{flex-direction:column;text-align:center;gap:12px}.quick-actions-grid{grid-template-columns:1fr 1fr}.manage-users-content{padding:20px 16px;margin:0 -12px;border-radius:0;border-left:none;border-right:none}.data-table{min-width:600px}.data-table td,.data-table th{padding:6px 8px;font-size:12px}.table-cell-main strong{font-size:12px}.table-cell-sub{font-size:10px}.data-table,.data-table tbody,.data-table td,.data-table th,.data-table thead,.data-table tr{display:block}.data-table thead tr{position:absolute;top:-9999px;left:-9999px}.data-table tr{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;margin-bottom:12px;padding:16px}.data-table td{border:none;position:relative;padding:8px 0 8px 35%;white-space:normal;min-height:24px}.data-table td,.data-table td:before{text-align:left;display:flex;align-items:center}.data-table td:before{content:attr(data-label);position:absolute;left:0;width:30%;padding-right:15px;white-space:nowrap;font-weight:600;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;height:100%}.data-table .table-actions{margin-top:8px;gap:8px}.data-table .table-actions .button{display:inline-block;margin-right:8px}.data-table .organizations-list{margin-top:4px}.data-table .member-count,.data-table .status-badge{display:inline-block;margin-top:4px}}.feature-form-container{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:32px}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;border-bottom:1px solid var(--border)}.form-header h2{margin:0;font-size:24px}.feature-form{max-width:800px}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.feature-form .form-group,.form-grid{margin-bottom:24px}.feature-form .form-label{display:block;margin-bottom:8px;font-weight:600;color:var(--text);font-size:14px}.feature-form .form-input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:8px;background:var(--surface-1);color:var(--text);font-size:14px;transition:border-color .2s ease}.feature-form .form-input:focus{outline:none;border-color:var(--primary)}.feature-form .form-input textarea{resize:vertical;min-height:100px}.feature-form .form-help{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.feature-form .form-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}.feature-form .form-checkbox input[type=checkbox]{width:16px;height:16px;margin:0}.feature-form .form-checkbox-label{font-size:14px;color:var(--text)}.feature-form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.feature-slug{background:var(--surface-1);padding:4px 8px;border-radius:4px;font-family:Monaco,Consolas,monospace;font-size:12px;border:1px solid var(--border)}.feature-description{max-width:300px;line-height:1.4;color:var(--muted)}.button--danger{color:#ef4444}.button--danger:hover{background:#ef444433;color:#ef4444}@media (max-width:768px){.feature-form-container{padding:24px 16px;margin:0 -16px;border-radius:0;border-left:none;border-right:none}.form-header{flex-direction:column;gap:16px;align-items:flex-start}.feature-form .form-grid{grid-template-columns:1fr;gap:16px}.feature-form .form-actions{flex-direction:column-reverse}.feature-description{max-width:none}}.plans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:24px;gap:24px;padding:24px}.plan-card{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;padding:24px;transition:all .2s ease}.plan-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.1)}.plan-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:8px}.plan-name{margin:0;font-size:20px;font-weight:700;color:var(--text)}.plan-price{font-size:18px;font-weight:600;color:var(--primary);white-space:nowrap}.plan-description{color:var(--muted);margin-bottom:20px;line-height:1.5}.plan-features h4{margin:0 0 12px;font-size:16px;font-weight:600;color:var(--text)}.features-list{flex-wrap:wrap;gap:6px;margin-bottom:20px}.feature-tag{background:var(--surface-1);color:var(--text);padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;border:1px solid var(--border)}.plan-actions{display:flex;gap:8px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border)}.features-selector{border:1px solid var(--border);border-radius:8px;max-height:200px;overflow-y:auto}.feature-option{display:flex;align-items:flex-start;gap:12px;padding:12px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s ease}.feature-option:last-child{border-bottom:none}.feature-option:hover{background:var(--surface-1)}.feature-option input[type=checkbox]{margin:2px 0 0;flex-shrink:0}.feature-option-content{display:flex;flex-direction:column;gap:4px}.feature-option-content strong{font-weight:600;color:var(--text)}.feature-option-content small{color:var(--muted);font-size:12px;line-height:1.3}@media (max-width:768px){.plans-grid{grid-template-columns:1fr;padding:16px 0}.plan-card{margin:0 -16px;border-radius:0;border-left:none;border-right:none}.plan-header{align-items:flex-start;gap:8px}.plan-actions,.plan-header{flex-direction:column}}.org-header-content{display:flex;flex-direction:column;gap:8px}.back-button{align-self:flex-start;margin-bottom:8px}.org-details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px}.org-section{background:var(--surface-2);border:1px solid var(--border);border-radius:16px;overflow:hidden}.section-title{margin:0;font-size:18px;font-weight:600}.section-header,.section-title{padding:20px 24px;border-bottom:1px solid var(--border);background:var(--surface-1)}.section-header{display:flex;justify-content:space-between;align-items:center}.section-header .section-title{padding:0;border:none;background:transparent}.features-card,.members-card,.org-info-card,.subscription-card{padding:24px}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row label{font-weight:600;color:var(--muted);font-size:14px}.info-row span{color:var(--text);font-size:14px;text-align:right}.org-id,.stripe-id{font-family:Monaco,Consolas,monospace;font-size:12px;background:var(--surface-1);padding:4px 8px;border-radius:4px}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.subscription-header h3{margin:0;font-size:18px;font-weight:600}.subscription-details{margin-top:16px}.no-subscription{text-align:center;padding:40px 20px}.no-subscription .empty-state-icon{font-size:48px;margin-bottom:16px}.no-subscription h3{margin:0 0 8px;font-size:18px}.no-subscription p{color:var(--muted);margin:0}.cancellation-notice{color:#ef4444!important;font-weight:600}.status-badge.warning{background:#f59e0b33;color:#f59e0b}.status-badge.trialing{background:#8b5cf633;color:#8b5cf6}.features-list{display:flex;flex-direction:column;gap:16px}.feature-item{justify-content:space-between;align-items:flex-start;padding:16px;background:var(--surface-1);border-radius:8px}.feature-info h4{margin:0 0 4px;font-size:16px;font-weight:600}.feature-info p{margin:0 0 8px;color:var(--muted);font-size:14px;line-height:1.4}.feature-meta{display:flex;gap:16px;font-size:12px;color:var(--muted)}.feature-granted,.feature-source{font-size:11px}.feature-actions,.feature-status{flex-shrink:0;margin-left:16px}.feature-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end}.add-feature-form{background:var(--surface-1);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}.add-feature-form h4{margin:0 0 16px;font-size:16px;font-weight:600}.add-feature-form .form-row{display:flex;gap:12px;align-items:center}.add-feature-form .form-row .form-input{flex:1 1;margin:0}.button.small{padding:6px 12px;font-size:13px}.members-table{display:flex;flex-direction:column}.table-header-simple{padding:12px 0;font-weight:600;font-size:14px;color:var(--muted)}.member-row,.table-header-simple{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;grid-gap:16px;gap:16px;border-bottom:1px solid var(--border)}.member-row{padding:16px 0;align-items:center}.member-row:last-child{border-bottom:none;padding-bottom:0}.member-user strong{display:block;font-weight:600;font-size:14px}.member-name{font-size:12px;color:var(--muted);margin-top:2px}.role-badge{background:var(--surface-2);color:var(--text);padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;text-transform:capitalize;display:inline-block}.role-badge.system-role{background:var(--primary)22;color:var(--primary)}.member-joined{font-size:13px;color:var(--muted)}@media (max-width:1024px){.org-details-grid{grid-template-columns:1fr}}@media (max-width:768px){.org-section{margin:0 -16px;border-radius:0;border-left:none;border-right:none}.features-card,.members-card,.org-info-card,.subscription-card{padding:20px 16px}.info-row{flex-direction:column;align-items:flex-start;gap:4px}.info-row span{text-align:left}.table-header-simple{display:none}.member-row{display:block;padding:16px;background:var(--surface-1);border-radius:8px;margin-bottom:12px;border:1px solid var(--border)}.member-joined,.member-org-role,.member-system-role{margin-top:8px}.feature-item{flex-direction:column;gap:12px}.feature-status{margin-left:0;align-self:flex-start}.feature-meta{flex-direction:column;gap:4px}.section-header{flex-direction:column;gap:12px;align-items:flex-start}.add-feature-form .form-row{flex-direction:column;align-items:stretch}.feature-actions{margin-left:0;margin-top:8px;flex-direction:row;align-items:center}.add-feature-form{margin:0 -16px 20px;border-radius:0;border-left:none;border-right:none}.modal-actions{flex-direction:column-reverse}}.onboarding-container{min-height:100vh;background:linear-gradient(135deg,var(--bg) 0,var(--surface-1) 100%);display:flex;flex-direction:column;padding:0}.onboarding-header{background:var(--surface-2);border-bottom:1px solid var(--border);padding:0 20px;position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px)}.onboarding-header-content{display:flex;align-items:center;justify-content:space-between;height:64px;width:100%;max-width:900px;margin:0 auto}.header-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.header-signout{background:transparent;border:1px solid var(--border);color:var(--text);padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;transition:all .2s ease}.header-signout:hover{background:var(--surface-1);border-color:var(--primary)}.onboarding-content{background:var(--surface-2);border-radius:24px;padding:40px;width:100%;max-width:900px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1);margin:20px auto;flex:1 1;display:flex;flex-direction:column}.onboarding-steps{justify-content:space-between;margin-bottom:40px}.onboarding-steps,.step{display:flex;position:relative}.step{flex-direction:column;align-items:center;flex:1 1}.step-number{width:40px;height:40px;border-radius:50%;background:var(--surface-1);border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--muted);margin-bottom:8px;transition:all .3s ease}.step.active .step-number{background:var(--primary);border-color:var(--primary);color:white}.step.completed .step-number{background:#22c55e;border-color:#22c55e;color:white}.step-info{text-align:center}.step-title{font-weight:600;font-size:14px;color:var(--text);margin-bottom:2px}.step-description{font-size:12px;color:var(--muted)}.step-connector{position:absolute;top:20px;left:50%;right:-50%;height:2px;background:var(--border);z-index:-1}.step.completed .step-connector{background:#22c55e}.onboarding-main{min-height:400px;display:flex;flex-direction:column}.step-content{flex:1 1;margin-bottom:40px}.step-content h1{font-size:32px;margin-bottom:16px;text-align:center}.step-content h2{font-size:28px;margin-bottom:12px;text-align:center}.step-content p{text-align:center;color:var(--muted);margin-bottom:32px;font-size:16px}.welcome-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:24px;gap:24px;max-width:900px;margin:32px auto 0;padding:0}.feature-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 24px;background:linear-gradient(135deg,var(--surface-2) 0,var(--surface-1) 100%);border-radius:20px;border:1px solid var(--border);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.feature-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4);opacity:0;transition:opacity .3s ease}.feature-item:hover:before{opacity:1}.feature-item:hover{transform:translateY(-6px);border-color:rgba(99,102,241,.4);box-shadow:0 20px 40px rgba(99,102,241,.15),0 10px 20px rgba(0,0,0,.1)}.feature-icon{font-size:48px;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(139,92,246,.15));border-radius:20px;margin-bottom:16px;position:relative;flex-shrink:0}.feature-icon:after{content:"";position:absolute;inset:-1px;padding:1px;background:linear-gradient(135deg,rgba(99,102,241,.3),rgba(139,92,246,.3));border-radius:20px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.feature-item span:not(.feature-icon){font-size:16px;font-weight:600;color:var(--text-1);line-height:1.5;letter-spacing:-.01em}.slug-input{display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface-1)}.slug-prefix{padding:12px 0 12px 16px}.slug-prefix,.slug-suffix{background:var(--surface-1);color:var(--muted);font-size:14px}.slug-suffix{padding:12px 16px;border-left:1px solid var(--border)}.slug-field{border:none;border-radius:0;background:transparent;padding-left:4px!important}.slug-status{margin-top:8px;font-size:14px}.slug-checking{color:var(--muted)}.slug-available{color:#10b981}.slug-taken{color:#ef4444}.stripe-fee-edit{display:flex;align-items:center;gap:8px}.stripe-fee-edit input{width:60px}.stripe-fee-display{display:flex;align-items:center;gap:12px}.stripe-fee-display .edit-btn{margin-left:8px}.color-presets{margin-bottom:32px}.color-presets h3{margin-bottom:16px;font-size:18px}.preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px}.color-preset{background:var(--surface-1);border:2px solid var(--border);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px}.color-preset:hover{border-color:var(--primary);transform:translateY(-2px)}.preset-colors{display:flex;gap:4px}.color-dot{width:20px;height:20px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px rgba(0,0,0,.1)}.custom-colors h3{margin-bottom:16px;font-size:18px}.color-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-bottom:32px}.color-input-group label{margin-bottom:8px}.color-input-wrapper{gap:8px}.color-input-wrapper input[type=color]{width:50px;height:40px;border:none;border-radius:8px;cursor:pointer}.color-text{flex:1 1;font-family:monospace}.color-preview h3{margin-bottom:16px;font-size:18px}.preview-card{border:1px solid var(--border);border-radius:12px;overflow:hidden;max-width:300px;margin:0 auto}.preview-header{padding:16px;color:white;font-weight:600;text-align:center}.preview-body{padding:16px;background:var(--surface-1);display:flex;flex-direction:column;gap:12px;align-items:center}.preview-button{padding:8px 16px;border:none;border-radius:6px;color:white;font-weight:500;cursor:pointer}.preview-accent{font-weight:600}.logo-upload{max-width:400px;margin:0 auto}.upload-area{border:2px dashed var(--border);border-radius:12px;padding:40px;text-align:center;transition:border-color .2s ease}.upload-area:hover{border-color:var(--primary)}.upload-placeholder{display:block}.upload-icon{font-size:48px;margin-bottom:16px}.upload-hint{color:var(--muted);font-size:14px;margin-top:8px}.logo-preview{position:relative;align-items:center;justify-content:center;gap:12px}.logo-preview img{max-width:200px;max-height:200px;border-radius:8px;border:1px solid var(--border);display:block}.remove-logo{background:#ef4444;color:white;border:none;border-radius:6px;padding:8px 16px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s ease}.remove-logo:hover{background:#dc2626}.completion-summary{background:var(--surface-1);border-radius:12px;padding:24px;border:1px solid var(--border)}.completion-summary h3{margin-bottom:16px;font-size:18px}.summary-item{display:flex;align-items:center;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--border)}.summary-item:last-child{border-bottom:none}.summary-logo{width:40px;height:40px;object-fit:contain;border-radius:4px}.onboarding-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:20px;border-top:1px solid var(--border)}.nav-spacer{flex:1 1}@media (max-width:768px){.onboarding-content{padding:24px;margin:10px;border-radius:16px}.onboarding-steps{margin-bottom:24px}.step-title{font-size:12px}.step-description{display:none}.step-content h1{font-size:24px}.step-content h2{font-size:20px}.color-inputs{grid-template-columns:1fr}.onboarding-navigation{flex-direction:column;gap:12px}.welcome-features{grid-template-columns:1fr;gap:20px;margin:24px auto 0;max-width:none}.feature-item{padding:28px 20px}.feature-icon{width:70px;height:70px;font-size:40px;margin-bottom:12px}.feature-item span:not(.feature-icon){font-size:15px}.nav-spacer{display:none}}.configurator-section{padding:120px 0;background:none}.configurator-section--admin{padding-top:24px;background:none}.admin-controls{margin-top:20px;display:flex;align-items:center;gap:16px}.changes-indicator{color:var(--warning);font-size:14px;font-weight:500}.button--disabled{opacity:.5;cursor:not-allowed!important}.app-configurator-page{padding:0}.page-header{margin-bottom:32px}.page-title{font-size:32px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.page-subtitle{font-size:16px;color:var(--text-secondary);margin:0}.configurator-wrapper{background:var(--surface-1);border-radius:12px;overflow:hidden}.column-help{font-size:14px;margin:8px 0 16px;line-height:1.4}.column-help,.input-help{color:var(--text-secondary)}.input-help{display:block;font-size:12px;margin-top:4px;line-height:1.3}.organization-url-display{margin-top:16px}.organization-url-display label{display:block;font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:8px}.url-display{display:flex;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:12px;gap:8px;min-width:0}.url-text{flex:1 1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;color:var(--text-primary);background:transparent;border:none;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.copy-url-btn{background:var(--surface-3);border:1px solid var(--border);border-radius:4px;padding:6px 8px;cursor:pointer;font-size:14px;transition:background-color .2s ease}.copy-url-btn:hover{background:var(--surface-4)}.configurator-content{max-width:1600px;margin:0 auto}.configurator-header{text-align:center;margin-bottom:60px}.configurator-header .section-title{font-size:48px;margin-bottom:16px;background:linear-gradient(135deg,var(--text) 0,var(--primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.configurator-header .section-subtitle{font-size:20px;color:var(--muted);max-width:600px;margin:0 auto}.color-controls-top{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:40px;margin-bottom:60px}.color-controls-content h3{font-size:24px;margin-bottom:32px;color:var(--text);text-align:center}.color-inputs-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:32px;gap:32px;margin-bottom:40px}.color-input-group{text-align:center}.color-input-group label{display:block;font-weight:600;margin-bottom:12px;font-size:16px;color:var(--text)}.color-input-wrapper{display:flex;align-items:center;gap:12px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:8px;transition:border-color .2s ease;justify-content:center}.color-input-wrapper:hover{border-color:var(--primary)}.color-input{width:50px;height:35px;border:none;border-radius:8px;cursor:pointer;background:none}.color-value{font-family:Monaco,Consolas,monospace;font-size:13px;color:var(--text);background:var(--surface-2);padding:4px 8px;border-radius:6px;min-width:80px}.language-selector{text-align:center}.language-selector label{display:block;font-weight:600;margin-bottom:12px;font-size:16px;color:var(--text)}.language-dropdown-wrapper{position:relative}.language-dropdown{width:100%;padding:12px 40px 12px 16px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;color:var(--text);font-family:inherit;font-size:14px;cursor:pointer;transition:border-color .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a9a9b9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;text-align:center}.language-dropdown:focus,.language-dropdown:hover{border-color:var(--primary)}.language-dropdown:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}.language-dropdown option{background:var(--surface-1);color:var(--text);padding:8px}.configurator-options{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:40px;margin-bottom:60px}.configurator-options-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:60px;gap:60px;align-items:start}.option-column{text-align:center}.option-column h3{margin-bottom:24px;color:var(--text);font-size:18px;font-weight:600}.color-inputs-horizontal{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.color-inputs-horizontal .color-input-group{display:flex;flex-direction:column;align-items:center;gap:8px}.color-inputs-horizontal .color-input-group label{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap}.color-inputs-horizontal .color-input-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;padding:8px;transition:border-color .2s ease}.color-inputs-horizontal .color-input-wrapper:hover{border-color:var(--primary)}.color-inputs-horizontal .color-input{width:40px;height:40px;border:none;border-radius:8px;cursor:pointer;background:none}.color-inputs-horizontal .color-value{font-family:Monaco,Consolas,monospace;font-size:10px;color:var(--text);background:var(--surface-2);padding:2px 6px;border-radius:4px;min-width:60px;text-align:center}.language-selector-column{display:flex;flex-direction:column;gap:12px}.language-selector-column label{display:block;font-weight:600;font-size:14px;color:var(--text)}.mode-toggle-column{display:flex;flex-direction:column;align-items:center}.gym-name-input-column{display:flex;flex-direction:column;gap:12px}.gym-name-input-column label{display:block;font-weight:600;font-size:14px;color:var(--text)}.gym-name-input{width:100%;padding:12px 16px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;color:var(--text);font-family:inherit;font-size:14px;transition:border-color .2s ease;text-align:center}.gym-name-input:focus,.gym-name-input:hover{border-color:var(--primary)}.gym-name-input:focus{outline:none;box-shadow:0 0 0 3px var(--ring)}.gym-name-input::placeholder{color:var(--muted)}.logo-upload-row{display:flex;gap:12px;justify-content:center}.logo-upload-group{display:flex;flex-direction:column;gap:8px;flex:1 1;max-width:120px}.logo-upload-group label{font-size:12px;font-weight:600;color:var(--text);text-align:center}.logo-upload-input{display:none}.upload-placeholder{padding:12px 8px;background:var(--surface-1);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:11px;cursor:pointer;transition:border-color .2s ease;text-align:center;min-height:40px;display:flex;align-items:center;justify-content:center}.upload-placeholder:hover{border-color:var(--primary);color:var(--text)}.logo-preview{border:1px solid var(--border);border-radius:8px;padding:8px;background:var(--surface-1);display:flex;flex-direction:column;gap:8px}.logo-preview-image{width:100%;max-height:40px;object-fit:contain;border-radius:4px;background:white;margin:0 auto;display:block}.logo-preview-info{display:flex;justify-content:space-between;align-items:center;gap:8px}.logo-name{font-size:9px;color:var(--text);flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-delete-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;color:var(--text);width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s ease;flex-shrink:0}.logo-delete-btn:hover{background:#ef4444;border-color:#ef4444;color:white}.logo-preview--homepage{position:relative}.logo-delete-btn--homepage{position:absolute;top:-8px;right:-8px;background:#ef4444;border:2px solid white;border-radius:50%;color:white;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s ease;box-shadow:0 2px 8px rgba(239,68,68,.3);z-index:10}.logo-delete-btn--homepage:hover{background:#dc2626;transform:scale(1.1)}.configurator-options-secondary{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:60px;gap:60px;margin-top:40px;padding-top:32px;border-top:1px solid var(--border)}.option-column-secondary{text-align:center}.option-column-secondary h4{margin-bottom:16px;color:var(--text);font-size:16px;font-weight:600}.preview-grid-bottom{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:40px;gap:40px;margin-top:60px;justify-items:center;max-width:600px;margin-left:auto;margin-right:auto}.iphone-home-screen{height:100%;width:100%;padding:8px;position:relative;overflow:hidden}.ios-status-bar{display:flex;justify-content:space-between;align-items:center;padding:0 8px;height:20px;font-size:10px;font-weight:600;margin-bottom:20px}.ios-app-grid{display:flex;flex-direction:column;gap:25px;padding:0 20px;flex:1 1}.app-row{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px}.app-icon-placeholder{display:flex;flex-direction:column;align-items:center;gap:4px}.app-icon{width:35px;height:35px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 2px 10px rgba(0,0,0,.15)}.app-logo-image{width:28px;height:28px;object-fit:contain;border-radius:6px;display:block;max-width:100%;max-height:100%}.app-name{font-size:8px;text-align:center;max-width:40px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gym-app-name{font-weight:600}.highlighted .app-icon{box-shadow:0 0 15px rgba(124,58,237,.4)}.ios-dock{display:flex;justify-content:center;gap:20px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:8px 20px;margin:0 15px 10px}.dock-app .app-icon{width:32px;height:32px;font-size:16px}.loading-screen{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;position:relative}.loading-logo-container{margin-bottom:30px}.loading-logo-circle{width:80px;height:80px;border-radius:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(0,0,0,.15)}.loading-logo-image{width:60px;height:60px;object-fit:contain;border-radius:15px}.loading-logo-placeholder{font-size:40px}.loading-app-info{text-align:center;margin-bottom:40px}.loading-app-name{font-size:20px;font-weight:700;margin:0 0 8px;letter-spacing:-.02em}.loading-app-tagline{font-size:12px;margin:0;opacity:.8}.loading-animation-container{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:40px}.loading-spinner{position:relative}.spinner-ring{width:32px;height:32px;border:3px solid rgba(255,255,255,.1);border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-text{font-size:12px;margin:0;opacity:.6}.loading-footer{position:absolute;bottom:20px;text-align:center}.copyright-text,.version-text{font-size:9px;margin:2px 0;opacity:.5}@media (max-width:1200px){.configurator-options-grid{gap:40px}}@media (max-width:900px){.configurator-options{padding:32px 24px}.configurator-options-grid{grid-template-columns:1fr;gap:40px;text-align:center}.configurator-options-secondary{grid-template-columns:1fr;gap:32px;margin-top:32px;padding-top:24px}.color-inputs-horizontal{gap:12px}.color-inputs-horizontal .color-input-wrapper{padding:6px}.color-inputs-horizontal .color-input{width:35px;height:35px}}@media (max-width:768px){.configurator-options{padding:24px;margin:0 -20px 40px;border-radius:0;border-left:none;border-right:none}.configurator-options-grid{gap:32px}}.mode-toggle-section{text-align:center;padding-top:32px;border-top:1px solid var(--border)}.mode-toggle-section h4{font-size:18px;margin-bottom:20px;color:var(--text)}.mode-toggle{gap:4px;background:var(--surface-1);padding:4px;border-radius:12px;border:1px solid var(--border);max-width:300px;margin:0 auto}.mode-btn,.mode-toggle{display:flex;justify-content:center}.mode-btn{background:transparent;border:none;color:var(--muted);padding:12px 20px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;flex:1 1;align-items:center;gap:8px}.mode-btn:hover{color:var(--text);background:var(--surface-2)}.mode-btn.active{background:var(--primary);color:white;box-shadow:0 2px 4px rgba(0,0,0,.1)}.mode-icon{font-size:16px}.phone-previews-horizontal{padding:20px 0}.preview-grid-horizontal{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:30px;gap:30px;justify-items:center}.phone-frame-container{display:flex;flex-direction:column;align-items:center;gap:16px}.screen-label{font-size:16px;font-weight:600;color:var(--text);text-align:center}.phone-frame{position:relative;filter:drop-shadow(0 25px 50px rgba(0,0,0,.3))}.phone-outer{width:280px;height:570px;background:linear-gradient(145deg,#1a1a1a,#2d2d2d);border-radius:50px;padding:8px;position:relative}.phone-outer:before{top:50px;height:30px}.phone-outer:after,.phone-outer:before{content:"";position:absolute;left:-3px;width:3px;background:#333;border-radius:2px 0 0 2px}.phone-outer:after{top:90px;height:50px}.phone-inner{width:100%;height:100%;background:#000;border-radius:42px;overflow:hidden;position:relative;display:flex;flex-direction:column}.status-bar{justify-content:space-between;padding:12px 20px 8px;background:transparent;color:white;font-size:14px;font-weight:600;z-index:10}.status-bar,.status-right{display:flex;align-items:center}.status-right{gap:4px}.signal-bars{display:flex;gap:2px;align-items:end}.signal-bars .bar{width:3px;background:white;border-radius:1px}.signal-bars .bar:first-child{height:4px}.signal-bars .bar:nth-child(2){height:6px}.signal-bars .bar:nth-child(3){height:8px}.signal-bars .bar:nth-child(4){height:10px}.screen-content{flex:1 1;overflow:hidden;position:relative}.home-indicator{width:134px;height:5px;background:rgba(255,255,255,.3);border-radius:3px;margin:8px auto}.app-screen{height:100%;background:#f8f9fa;color:#333;font-size:14px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.app-screen::-webkit-scrollbar{display:none}.app-header{padding:16px 20px 20px;color:white;position:relative}.header-content{display:flex;justify-content:space-between;align-items:center}.screen-title,.studio-name{font-size:18px;font-weight:700;margin:0}.filter-icon,.profile-icon,.trophy-icon{font-size:20px}.quick-stats{padding:0 20px;margin-top:-10px;display:flex;gap:12px}.stat-card{flex:1 1;background:var(--surface-2);padding:16px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);border-left:4px solid;border:1px solid var(--border)}.stat-number{font-size:24px;font-weight:700;margin-bottom:4px}.stat-label{font-size:12px;color:#666}.quick-actions{padding:20px}.quick-actions h3{font-size:16px;margin-bottom:16px;color:#333}.action-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.action-item{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:12px;color:white;font-size:12px;font-weight:600;text-align:center;min-height:70px;justify-content:center}.action-icon{font-size:20px}.upcoming-section{padding:0 20px 20px}.upcoming-section h3{font-size:16px;margin-bottom:12px;color:#333}.class-card{background:white;padding:16px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.class-time{font-size:12px;font-weight:600;margin-bottom:4px}.class-name{font-size:16px;font-weight:700;margin-bottom:2px}.class-instructor{font-size:12px;color:#666;margin-bottom:12px}.join-btn{padding:8px 16px;border:none;border-radius:8px;color:white;font-size:12px;font-weight:600;cursor:pointer}.week-nav{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:white}.nav-arrow{background:none;border:none;font-size:18px;color:#666;cursor:pointer;padding:8px}.week-label{font-size:16px;font-weight:600}.day-tabs{display:flex;background:white;padding:0 20px 16px;gap:8px}.day-tab{flex:1 1;text-align:center;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.day-tab,.day-tab.active{border-radius:8px}.classes-list{padding:20px}.time-slot{margin-bottom:16px}.time{font-size:12px;color:#666;font-weight:600;margin-bottom:8px}.class-item{display:flex;align-items:center;gap:12px;background:white;padding:16px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.class-item.booked{border-left:4px solid}.class-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.class-details{flex:1 1}.class-meta{font-size:11px;color:#666;margin-top:2px}.spots-left{font-size:12px;font-weight:600}.booked-indicator{font-size:10px;color:white;padding:4px 8px;border-radius:12px;font-weight:600;text-transform:uppercase}.fab{position:absolute;bottom:80px;right:20px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:24px;font-weight:300;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer}.period-selector{display:flex;gap:8px;padding:16px 20px;background:white}.period-btn{padding:6px 12px;border:1px solid #ddd;background:white;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.period-btn.active{color:white;border-color:transparent}.podium{padding:20px;display:flex;justify-content:center;align-items:end;gap:8px;background:white;margin-bottom:8px}.podium-item{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative}.podium-item.first{order:2;margin-top:-20px}.podium-item.second{order:1;margin-top:-10px}.podium-item.third{order:3;margin-top:-10px}.avatar{font-size:24px;width:40px;height:40px;background:#f0f0f0}.avatar,.rank-badge{border-radius:50%;display:flex;align-items:center;justify-content:center}.rank-badge{position:absolute;top:-4px;right:-4px;width:20px;height:20px;color:white;font-size:10px;font-weight:700}.rank-badge.winner{width:24px;height:24px;font-size:12px}.podium-item .name{font-size:12px;font-weight:600}.podium-item .points{font-size:10px;color:#666}.rankings-list{padding:0 20px 20px}.ranking-item{display:flex;align-items:center;gap:12px;background:white;padding:12px 16px;border-radius:12px;margin-bottom:8px;box-shadow:0 1px 4px rgba(0,0,0,.1)}.ranking-item.you{border-left:4px solid;box-shadow:0 2px 8px rgba(0,0,0,.15)}.ranking-item .rank{font-size:18px;font-weight:700;width:24px;text-align:center}.user-info{flex:1 1;display:flex;align-items:center;gap:12px}.user-info .avatar{font-size:18px;width:32px;height:32px}.user-info .name{font-size:14px;font-weight:600;margin-bottom:2px}.user-info .classes{font-size:11px;color:#666}.ranking-item .points{font-size:16px;font-weight:700;color:#333}.progress-section{padding:0 20px 20px}.progress-section h4{font-size:14px;margin-bottom:8px;color:#333}.progress-bar{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-text{font-size:12px;color:#666;text-align:center}.back-arrow{background:none;border:none;font-weight:700;padding:4px}.back-arrow,.share-icon{color:white;font-size:18px;cursor:pointer}.class-info-section{padding:20px;background:white;margin-bottom:8px}.class-info-card{background:white;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.class-image{height:120px;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);display:flex;align-items:center;justify-content:center;position:relative;background-image:radial-gradient(circle at 30% 30%,rgba(0,0,0,.1) 1px,transparent 0);background-size:20px 20px}.class-type-badge{position:absolute;top:12px;left:12px;padding:4px 8px;border-radius:6px;color:white;font-size:10px;font-weight:700;text-transform:uppercase}.class-details{padding:16px}.class-details h2{margin:0 0 4px;font-size:18px;font-weight:700}.instructor{color:#666;font-size:12px;margin-bottom:12px}.class-meta{display:flex;flex-direction:column;gap:6px}.meta-item{display:flex;align-items:center;gap:8px;font-size:11px;color:#666}.meta-icon{font-size:12px}.spots-section{padding:0 20px 20px;background:white;margin-bottom:8px}.spots-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.spots-header h3{font-size:14px;margin:0;color:#333}.spots-count{font-size:12px;font-weight:600}.spots-visual{background:#f8f9fa;border-radius:8px;padding:12px}.spots-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-gap:6px;gap:6px;max-width:200px;margin:0 auto}.spot{width:24px;height:24px;border:1px solid;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .2s ease}.spot.taken{color:white}.spot.available{background:white;border-style:dashed}.description-section{padding:20px;background:white;margin-bottom:8px}.description-section h3{font-size:14px;margin:0 0 8px;color:#333}.description-section p{font-size:12px;color:#666;line-height:1.4;margin-bottom:16px}.requirements h4{font-size:12px;margin:0 0 8px;color:#333}.requirement-tags{display:flex;gap:8px}.req-tag{padding:4px 8px;border:1px solid;border-radius:6px;font-size:10px;font-weight:500;background:white}.bring-section{padding:20px;background:white;margin-bottom:8px}.bring-section h3{font-size:14px;margin:0 0 12px;color:#333}.bring-list{display:flex;flex-direction:column;gap:8px}.bring-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#666}.bring-icon{font-size:14px}.booking-footer{position:-webkit-sticky;position:sticky;bottom:0;background:white;padding:16px 20px;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.price-info{display:flex;flex-direction:column}.price{font-size:20px;font-weight:700;color:#333}.price-note{font-size:11px;color:#666}.book-btn{padding:12px 24px;border:none;border-radius:8px;color:white;font-size:14px;font-weight:600;cursor:pointer;min-width:100px}@media (max-width:1400px){.preview-grid-horizontal{grid-template-columns:repeat(4,1fr);gap:20px}.phone-outer{width:220px;height:450px}}@media (max-width:1200px){.color-inputs-row{gap:24px}}@media (max-width:900px){.color-inputs-row{grid-template-columns:repeat(2,1fr);gap:20px}.preview-grid-horizontal{gap:16px}.phone-outer{width:200px;height:410px}}@media (max-width:1000px){.preview-grid-horizontal{grid-template-columns:repeat(2,1fr);gap:30px;max-width:600px;margin:0 auto}.phone-outer{width:240px;height:490px}}@media (max-width:768px){.configurator-section{padding:80px 0}.configurator-header .section-title{font-size:36px}.configurator-header .section-subtitle{font-size:18px}.configurator-options{padding:24px;margin:0 -20px 40px;border-radius:0;border-left:none;border-right:none}.configurator-options-grid{gap:32px}.preview-grid-bottom,.preview-grid-horizontal{grid-template-columns:1fr;gap:40px}.preview-grid-bottom{margin-top:40px;max-width:none}.phone-outer{width:280px;height:570px}}@media (max-width:600px){.color-inputs-row{gap:16px}.color-input-wrapper{flex-direction:column;gap:8px;padding:12px}.color-value{min-width:auto;width:100%;text-align:center}.mode-toggle{flex-direction:column;gap:8px}.mode-btn{padding:10px 16px;font-size:13px}}@media (max-width:480px){.configurator-header .section-title{font-size:28px}.configurator-header .section-subtitle{font-size:16px}.phone-outer{width:260px;height:530px}.mode-btn{padding:8px 12px;font-size:12px}}