@font-face{font-family:Plus Jakarta Sans;src:url(/PlusJakartaSans-Variable.ttf)format("truetype");font-weight:200 800;font-display:swap}@font-face{font-family:Platypi;src:url(/Platypi-Variable.ttf)format("truetype");font-weight:300 800;font-display:swap}:root{--hops-green:#00af6e;--hops-green-light:#d8ffb0;--hops-green-dark:#1d3131;--hops-purple:#8264f8;--hops-purple-light:#ddd6f5;--hops-purple-dark:#28204e;--hops-blue:#4464f8;--hops-blue-light:#d1eaff;--hops-blue-dark:#161d35;--hops-charcoal:#24282a;--hops-charcoal-mid:#7c8284;--hops-parchment:#eeece8;--hops-red:#f34857;--hops-red-light:#ffc5c8;--hops-red-dark:#61232b;--hops-yellow:#ffc544;--hops-yellow-light:#ffecba;--bg-primary:var(--hops-charcoal);--bg-secondary:#1a1e20;--bg-tertiary:#2f3436;--bg-card:#24282ad9;--text-primary:var(--hops-parchment);--text-secondary:var(--hops-charcoal-mid);--accent-primary:var(--hops-green);--accent-hover:#00c97e;--accent-secondary:var(--hops-purple);--border-color:#3a3e40;--success:var(--hops-green);--error:var(--hops-red);--glass-bg:#1e2224bf;--glass-border:#ffffff14;--shadow-sm:0 1px 2px #00000026;--shadow-md:0 4px 12px #0003;--shadow-lg:0 8px 24px #00000040;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.875rem;--radius-xl:1.25rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#00af6e0f 0%,#0000 50%),radial-gradient(at 100% 0,#8264f80d 0%,#0000 50%),radial-gradient(at 50% 100%,#4464f80a 0%,#0000 50%);min-height:100vh;font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;line-height:1.6}a{color:var(--text-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent-primary)}.app-container{max-width:1200px;margin:0 auto;padding:1.5rem 2rem 4rem}.embed-container{max-width:1200px;margin:0 auto;padding:2rem}.route-message{min-height:50vh;color:var(--text-secondary);text-align:center;place-items:center;display:grid}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}h1,h2,h3{letter-spacing:-.01em;font-family:Platypi,serif;font-weight:600;line-height:1.2}h4,h5,h6{font-weight:600;line-height:1.3}.text-gradient{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(135deg, var(--hops-green), var(--hops-green-light))}.text-muted{color:var(--text-secondary)}input,select,button{font-family:inherit;font-size:.925rem}.form-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.form-control{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);padding:.7rem .9rem;transition:border-color .2s,box-shadow .2s}.form-control:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #00af6e26}.btn{border-radius:var(--radius-md);cursor:pointer;letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--hops-green), #00c97e);color:var(--hops-charcoal)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #00af6e59}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-danger{color:var(--hops-red);background-color:#f348571a;border:1px solid #f3485733}.btn-danger:hover{background-color:var(--hops-red);color:#fff}.btn-sm{padding:.4rem .8rem;font-size:.8rem}.btn-icon{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.3rem}.btn-icon:hover{color:var(--text-primary);background:#ffffff0f}.btn-icon:disabled{opacity:.25;cursor:default}.navbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:#1a1e20e6;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:.75rem 1.5rem;display:flex}.nav-brand{align-items:center;gap:.75rem;display:flex}.nav-brand img{width:auto;height:28px}.nav-links{gap:.25rem;display:flex}.nav-link{border-radius:var(--radius-md);color:var(--text-secondary);padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.nav-link:hover{color:var(--text-primary);background:#ffffff0a}.nav-link.active{color:var(--hops-green);background:#00af6e14}.auth-status{color:var(--text-secondary);align-items:center;gap:.75rem;margin-left:auto;font-size:.75rem;display:flex}.nav-signout{color:#fff;background:0 0;border:1px solid #fff3;padding:.4rem .8rem}.login-screen{justify-content:center;align-items:center;min-height:70vh;padding:1rem;display:flex}.login-card{background:var(--panel-bg);border:1px solid #ffffff1a;width:100%;max-width:430px;box-shadow:0 20px 40px #0006}.login-heading{text-align:center;margin-bottom:2rem}.login-heading p{margin-top:.5rem;font-size:.9rem}.login-icon{background:#8264f81a;border-radius:50%;margin-bottom:1rem;padding:1rem;display:inline-flex}.login-button{width:100%;padding:.8rem}.error-message{color:var(--hops-red-light);border-radius:var(--radius-md);white-space:pre-wrap;background:#f348571a;border:1px solid #f3485740;padding:.75rem 1rem}.grid{display:grid}.customer-calculator-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);align-items:start;gap:2rem}.staff-calculator-layout{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start;gap:1.5rem}.business-profile-grid{grid-template-columns:2fr 1fr}.business-profile-grid.single-column{grid-template-columns:1fr}.multi-unit-grid{grid-template-columns:1fr 1fr}.unit-profile-grid{grid-template-columns:2fr 1fr}.unit-profile-grid.multi-unit{grid-template-columns:1.5fr 1fr 1fr}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:1.25rem;padding:1.5rem}.step-label{text-transform:uppercase;letter-spacing:.06em;color:var(--hops-green);align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:inline-flex}.step-number{background:var(--hops-green);width:1.5rem;height:1.5rem;color:var(--hops-charcoal);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:800;display:inline-flex}.business-unit-block{border-radius:var(--radius-lg);background:#00af6e08;border:1px solid #00af6e1f;margin-bottom:1rem;padding:1.5rem;position:relative}.business-unit-block .unit-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.business-unit-block .unit-tag{text-transform:uppercase;letter-spacing:.08em;color:var(--hops-green);background:#00af6e1a;border-radius:100px;padding:.25rem .75rem;font-size:.7rem;font-weight:700}.product-toggle{border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;align-items:center;gap:1rem;padding:.75rem 1rem;transition:all .2s;display:flex}.product-toggle:hover{border-color:var(--hops-purple)}.product-toggle.selected{border-color:var(--hops-purple);background:#8264f80f}.product-toggle input[type=checkbox]{accent-color:var(--hops-purple);cursor:pointer;width:1.1rem;height:1.1rem}.summary-panel{position:sticky;top:1.5rem}.summary-row{justify-content:space-between;align-items:center;padding:.35rem 0;font-size:.9rem;display:flex}.summary-row.total{padding:.6rem 0;font-size:1.05rem;font-weight:700}.summary-divider{border:none;border-top:1px solid var(--border-color);margin:.5rem 0}.deal-price-display{text-align:center;padding:1.25rem 0 .5rem}.deal-price-display .label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.25rem;font-size:.75rem}.deal-price-display .price{font-family:Platypi,serif;font-size:2.75rem;font-weight:700;line-height:1}.deal-price-display .monthly{color:var(--text-secondary);margin-top:.5rem;font-size:.8rem}.product-summary-card{border-radius:var(--radius-md);background:#ffffff05;border:1px solid #ffffff0a;margin-bottom:.5rem;padding:.75rem 1rem}.product-summary-card .product-name{margin-bottom:.35rem;font-size:.85rem;font-weight:600}.product-summary-card .price-row{justify-content:space-between;align-items:center;padding:.1rem 0;font-size:.8rem;display:flex}.product-summary-card .discount-badge{color:var(--hops-green);background:#00af6e1a;border-radius:100px;padding:.1rem .4rem;font-size:.65rem;font-weight:700;display:inline-block}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:.35s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideIn}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--hops-charcoal-mid)}@media (width<=900px){.app-container,.embed-container{padding:1rem}.navbar{flex-wrap:wrap;align-items:flex-start;gap:.75rem;padding:.75rem}.nav-links{order:3;width:100%;overflow-x:auto}.nav-link{white-space:nowrap;padding:.5rem .75rem}.auth-status span{display:none}.customer-calculator-layout,.staff-calculator-layout{grid-template-columns:minmax(0,1fr);gap:1rem}.summary-panel{position:static}}@media (width<=600px){.app-container,.embed-container{padding:.75rem}.card,.business-unit-block{padding:1rem}.business-profile-grid,.multi-unit-grid,.unit-profile-grid,.unit-profile-grid.multi-unit{grid-template-columns:minmax(0,1fr)}.deal-price-display .price{font-size:2.15rem}h1{font-size:1.75rem}}
