:root{--brand:#000;--brand-2:#70b630;--brand-hover:#2e2e2e;--brand-soft:#00000024;--on-brand:#fff;--brand-2-hover:#63a02a;--brand-2-soft:#70b63024;--brand-2-glow:#70b63059;--on-brand-2:#000;--bg:#0e0f11;--surface:#ffffff0a;--surface-solid:#17191c;--surface-border:#ffffff14;--input-bg:#ffffff0f;--input-border:#ffffff29;--text:#f3f4f6;--muted:#9ca3af;--danger:#dc3545;--success:#198754;--font-titoli:"Montserrat", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--font-testo:"Montserrat", system-ui, -apple-system, "Segoe UI", Helvetica, Arial, sans-serif;--radius:12px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{touch-action:manipulation}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-testo);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-titoli);color:var(--text);margin:0}button,input{font:inherit}.login{min-height:100%;padding:max(32px, env(safe-area-inset-top)) 16px max(32px, env(safe-area-inset-bottom));background:radial-gradient(circle at 50% -10%, var(--brand-2-soft), transparent 60%), var(--bg);justify-content:center;align-items:center;display:flex}.login-card{flex-direction:column;gap:18px;width:100%;max-width:400px;display:flex}.login-head{flex-direction:column;align-items:center;gap:10px;margin-bottom:12px;display:flex}.login-logo{aspect-ratio:5;width:240px;max-width:80%;height:auto}.motto{color:var(--brand-2);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:13px;font-weight:600}.login-card h1{font-size:24px;font-weight:700}.muted{color:var(--muted);margin:2px 0 0;font-size:14px}.field{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.field input{border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg);width:100%;height:48px;color:var(--text);padding:0 14px;font-size:16px}.field input::placeholder{color:var(--muted)}.field input:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px var(--brand-2-soft);outline:none}.password-wrap{display:block;position:relative}.password-wrap input{padding-right:48px}.eye{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.btn-primary{border-radius:var(--radius);background:var(--brand-2);height:50px;color:var(--on-brand-2);cursor:pointer;border:0;font-weight:700}.btn-primary:active{background:var(--brand-2-hover)}.btn-secondary{border:1px solid var(--brand-2);border-radius:var(--radius);width:100%;min-height:48px;color:var(--text);cursor:pointer;background:0 0;padding:10px 14px;font-weight:600}.link{color:var(--brand-2);cursor:pointer;background:0 0;border:0;align-self:center;padding:4px;font-size:14px;font-weight:500}.notice{border-left:3px solid var(--brand-2);background:var(--brand-2-soft);border-radius:8px;margin:0;padding:10px 12px;font-size:14px}.signup{border-top:1px solid var(--surface-border);color:var(--muted);flex-direction:column;align-items:center;gap:10px;margin-top:8px;padding-top:20px;font-size:14px;display:flex}.btn-primary:disabled{opacity:.6;cursor:default}a.btn-primary{justify-content:center;align-items:center;text-decoration:none;display:flex}.notice.error{border-left-color:var(--danger);background:#dc354524}.screen-center{min-height:100%;padding:max(32px, env(safe-area-inset-top)) 16px max(32px, env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex}.spinner{border:3px solid var(--surface-border);border-top-color:var(--brand-2);border-radius:50%;align-self:center;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.state-card{flex-direction:column;gap:16px;width:100%;max-width:400px;display:flex}.state-card h1{font-size:22px}.reset-form{flex-direction:column;gap:18px;display:flex}.client-shell{flex-direction:column;min-height:100%;display:flex}.client-top{padding:max(12px, env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:center;gap:12px;display:flex}.client-top-logo{aspect-ratio:5;width:130px;height:auto}.icon-btn{border:1px solid var(--surface-border);border-radius:var(--radius);min-height:40px;color:var(--text);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:0 12px;font-weight:500;display:flex}.client-main{flex-direction:column;gap:6px;padding:24px 16px;display:flex}.client-main h1{font-size:24px}a.btn-secondary,a.link{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}.btn-secondary:disabled{opacity:.6;cursor:default}.text{color:var(--text)}.field small{font-weight:400}.field-group{border:0;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;display:flex}.field-group legend{margin-bottom:6px;padding:0;font-size:14px;font-weight:500}.date-row{grid-template-columns:1fr 1.6fr 1.2fr;gap:8px;display:grid}.date-row select{border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239ca3af' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 10px center;width:100%;min-width:0;height:48px;color:var(--text);appearance:none;padding:0 28px 0 12px;font-size:16px}.date-row select:focus,.choice:focus-within{border-color:var(--brand-2);box-shadow:0 0 0 3px var(--brand-2-soft);outline:none}.date-row option{background:var(--bg);color:var(--text)}.choice-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice{border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg);cursor:pointer;justify-content:center;align-items:center;height:48px;font-weight:600;display:flex;position:relative}.choice.on{border-color:var(--brand-2);background:var(--brand-2-soft)}.choice input{opacity:0;pointer-events:none;position:absolute}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:22px;height:22px;accent-color:var(--brand-2);flex:none;margin:0}.check a,.doc-card a:not([class]){color:var(--brand-2)}.trial-banner{border:1px solid var(--brand-2);border-radius:var(--radius);background:var(--brand-2-soft);text-align:center;margin:0 0 12px;padding:12px 14px;font-weight:700}.trial-banner.over{border-color:var(--danger);background:#dc354524}.doc{min-height:100%;padding:max(24px, env(safe-area-inset-top)) 16px max(32px, env(safe-area-inset-bottom));justify-content:center;display:flex}.doc-card{flex-direction:column;gap:12px;width:100%;max-width:640px;display:flex}.doc-card h1{font-size:24px}.doc-card h2{margin-top:8px;font-size:17px}.doc-card p{margin:0}.waiting{flex-direction:column;gap:14px;display:flex}.client-top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}a.icon-btn{font-size:14px;text-decoration:none}.password-form{flex-direction:column;gap:16px;margin-top:12px;display:flex}.password-form .form-actions .btn-primary,.client-main a.btn-primary{text-align:center;width:100%;margin-top:8px;text-decoration:none}.client-top{z-index:20;background:var(--bg);position:sticky;top:0}.client-top-home{display:flex}.client-shell .client-main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}input,select,textarea{font-size:16px}.field select,.field textarea{border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg);width:100%;color:var(--text);padding:12px 14px}.field select{height:48px;padding-block:0}.field textarea{resize:vertical;min-height:96px}.icon-btn.icon-only{justify-content:center;width:40px;padding:0}.info-pill{border:1px solid var(--brand-2);background:var(--brand-2-soft);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin:4px 0 6px;padding:0 14px 0 10px;font-size:14px;font-weight:600;display:inline-flex}.info-pill svg{color:var(--brand-2);flex:none}.info-pill:active{background:var(--input-bg)}.back-link{color:var(--brand-2);align-self:flex-start;padding:6px 0;font-size:14px;font-weight:600;text-decoration:none}.back-link:before{content:"‹ "}.user-menu{position:relative}.user-btn{border:1px solid var(--surface-border);max-width:190px;min-height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 4px;font-weight:600;display:flex}.user-btn[aria-expanded=true]{border-color:var(--brand-2)}.user-btn:focus-visible,.user-pop-item:focus-visible,.fab:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}.user-btn-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-btn svg{color:var(--muted);flex:none}.avatar{background:var(--brand-2-soft);width:34px;height:34px;color:var(--brand-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.avatar.has-photo{background:var(--surface-solid);overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.avatar-xl{width:128px;height:128px;font-size:40px}.photo-edit{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.file-btn{justify-content:center;align-items:center;gap:8px;display:flex;position:relative;overflow:hidden}.file-btn input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-btn:focus-within{outline:2px solid var(--brand-2);outline-offset:2px}.user-pop{z-index:30;border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface-solid);width:260px;max-width:calc(100vw - 32px);padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 32px #00000080}.user-pop-head{border-bottom:1px solid var(--surface-border);overflow-wrap:anywhere;flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 10px 12px;display:flex}.user-pop-head .muted{margin:0;font-size:13px}.user-pop-item{width:100%;min-height:48px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;padding:0 10px;font-weight:500;text-decoration:none;display:flex}.user-pop-item:active,.user-pop-item:hover{background:var(--input-bg)}.fab{right:max(16px, env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:25;background:var(--brand-2);min-height:58px;color:var(--on-brand-2);box-shadow:0 6px 20px #00000073, 0 0 0 4px var(--brand-2-soft);border-radius:999px;flex-direction:row;justify-content:center;align-items:center;gap:10px;padding:0 24px 0 20px;text-decoration:none;display:flex;position:fixed}.fab svg{flex:none}.fab-label{white-space:nowrap;font-size:17px;font-weight:800;line-height:1}.fab .chat-dot{width:17px;height:17px;top:-3px;right:2px}.fab:active{background:var(--brand-2-hover)}.install-hint{border:1px solid var(--brand-2);border-radius:var(--radius);background:var(--brand-2-soft);flex-direction:column;gap:8px;margin:16px 16px 0;padding:14px 14px 16px 16px;display:flex}.install-hint-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.install-hint h2{padding-top:8px;font-size:16px}.install-hint .muted{margin:0}.install-steps{flex-direction:column;gap:10px;margin:4px 0 0;padding:0;font-size:14px;list-style:none;display:flex}.install-steps li{align-items:center;gap:10px;display:flex}.install-steps svg{vertical-align:-3px;color:var(--brand-2)}.step-num{background:var(--brand-2);width:24px;height:24px;color:var(--on-brand-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.card{border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface);padding:16px}.state-block{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-top:12px;display:flex}.state-block .muted{margin:0}.error-block{text-align:left;align-items:stretch}.empty-state{color:var(--muted)}.empty-state p{margin:0}.modal-layer{z-index:50;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-scrim{background:#000000a6;position:fixed;inset:0}.modal{border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface-solid);flex-direction:column;width:100%;max-width:440px;margin:auto;display:flex;position:relative;box-shadow:0 12px 40px #00000080}.modal-head{justify-content:space-between;align-items:center;gap:12px;padding:14px 12px 0 18px;display:flex}.modal-head h2{font-size:18px}.modal-body{flex-direction:column;gap:14px;padding:14px 18px 18px;display:flex}.modal-body p{margin:0}.modal-foot{flex-direction:column;gap:10px;padding:0 18px 18px;display:flex}.toasts{right:16px;bottom:calc(90px + env(safe-area-inset-bottom));z-index:60;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;left:16px}.toast{border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface-solid);max-width:420px;color:var(--text);box-shadow:inset 4px 0 0 var(--brand-2), 0 8px 24px #00000080;padding:12px 16px;font-size:14px;font-weight:500}.toast-error{box-shadow:inset 4px 0 0 var(--danger), 0 8px 24px #00000080}.client-main h2{font-size:18px}.lead{margin:4px 0 8px;font-size:15px}.home-section{flex-direction:column;gap:10px;margin-top:20px;display:flex}.home-section>.muted{margin:-4px 0 2px}.area-cta{border-radius:var(--radius);background:var(--brand-2);min-height:64px;color:var(--on-brand-2);box-shadow:0 0 0 4px var(--brand-2-soft), 0 8px 24px var(--brand-2-glow);justify-content:center;align-items:center;gap:12px;margin-top:16px;padding:14px 20px;font-size:19px;font-weight:700;text-decoration:none;display:flex}.area-cta:active{background:var(--brand-2-hover)}.area-cta:focus-visible,.course-card.locked:focus-visible,.courses-link:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}.course-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.course-list li{min-width:0;display:flex}.course-card{border:1px solid var(--surface-border);border-left:3px solid var(--brand-2);border-radius:var(--radius);background:var(--surface);min-width:0;min-height:76px;color:var(--text);font:inherit;text-align:left;flex:1;align-items:center;gap:14px;padding:12px 14px;display:flex}button.course-card{cursor:pointer}button.course-card:active{background:var(--input-bg)}.course-card.locked{border-left-color:var(--surface-border)}.course-cover{background:var(--brand-2-soft);width:52px;height:52px;color:var(--brand-2);border-radius:14px;flex:none;place-items:center;display:grid;overflow:hidden}.course-cover img{object-fit:cover;width:100%;height:100%}.course-card.locked .course-cover{opacity:.45}.course-lock{background:var(--surface-solid);width:32px;height:32px;color:var(--text);border-radius:50%;flex:none;place-items:center;display:grid}.course-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.course-title{overflow-wrap:anywhere;font-size:16px;line-height:1.3}.course-desc{color:var(--muted);font-size:13px;line-height:1.4}.soon{color:var(--muted);align-items:center;gap:12px;display:flex}.soon svg{color:var(--brand-2);flex:none}.soon p{margin:0}.upgrade-card{flex-direction:column;gap:10px;margin-top:24px;display:flex}.upgrade-card .muted,.option-card .muted{margin:0}.upgrade-options,.option-card{flex-direction:column;gap:12px;display:flex}.option-card h2{font-size:17px}.option-card[data-option=plus]{border-color:var(--brand-2)}.option-card .btn-primary,.option-card .btn-secondary,.upgrade-card .btn-primary,.status-card .btn-primary,.pay-card .btn-primary{width:100%;margin-top:0}.modal .option-card{background:0 0}.price-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.price-list li{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:14px;display:flex}.price-list li:last-child{border-bottom:0}.price-list strong{flex:none}.status-card{flex-direction:column;align-items:flex-start;gap:12px;margin-top:14px;display:flex}.status-card p{margin:0}.status-icon{background:var(--brand-2-soft);width:52px;height:52px;color:var(--brand-2);border-radius:50%;place-items:center;display:grid}.status-card .notice{align-self:stretch}.plan-list,.pay-list{border:0;flex-direction:column;gap:10px;min-width:0;margin:12px 0 0;padding:0;display:flex}.plan-list legend,.pay-list legend{margin-bottom:8px;padding:0}.pay-list{margin-top:20px}.pay-list legend{font-weight:600}.plan-option,.pay-option{border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg);cursor:pointer;align-items:center;gap:12px;min-height:64px;padding:12px 14px;display:flex;position:relative}.plan-option.on,.pay-option.on{border-color:var(--brand-2);background:var(--brand-2-soft)}.plan-option:focus-within,.pay-option:focus-within{border-color:var(--brand-2);box-shadow:0 0 0 3px var(--brand-2-soft)}.plan-option input,.pay-option input{width:20px;height:20px;accent-color:var(--brand-2);flex:none;margin:0}.plan-text{flex-direction:column;flex:1;min-width:0;display:flex}.plan-text .muted{margin:0;font-size:13px}.plan-price{flex:none;font-size:16px}.pay-card{flex-direction:column;gap:12px;margin-top:16px;display:flex}.pay-card .muted{margin:0}.pay-step{align-items:center;gap:10px;font-size:17px;display:flex}.bank-details{flex-direction:column;margin:0;display:flex}.bank-row{border-bottom:1px solid var(--surface-border);flex-direction:column;gap:4px;padding:10px 0;display:flex}.bank-row:last-child{border-bottom:0}.bank-row dt{color:var(--muted);font-size:13px}.bank-row dd{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.bank-value{-webkit-user-select:all;user-select:all;min-width:0}.copy-btn{min-height:36px;padding:0 12px}.receipt-row{align-items:center;gap:12px;display:flex}.receipt-row .area-icon{overflow:hidden}.receipt-row .area-icon img{object-fit:cover;width:100%;height:100%}.receipt-text{flex-direction:column;flex:1;min-width:0;display:flex}.receipt-text a{color:var(--brand-2);font-size:14px}.file-btn.is-busy{opacity:.6}.pay-intro{margin:24px 0 0;font-weight:600}.past-link{margin-top:14px}.past-link .area-label{flex-direction:column;display:flex}.past-link .area-label .muted{font-size:13px;font-weight:400}.past-habits{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.past-habits li{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:14px;display:flex}.past-habits li:last-child{border-bottom:0}.past-habits strong{color:var(--brand-2);flex:none}.courses-link{border:1px solid var(--surface-border);min-height:44px;color:var(--text);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin-bottom:8px;padding:0 14px;font-weight:600;text-decoration:none;display:inline-flex}.courses-link svg{color:var(--brand-2)}.area-list{flex-direction:column;gap:8px;margin:14px 0 6px;padding:0;list-style:none;display:flex}.area-item{min-height:60px;color:var(--text);align-items:center;gap:14px;padding:12px 14px;font-weight:600;text-decoration:none;display:flex}.area-item:active{background:var(--input-bg)}.area-item:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}.area-item>svg{color:var(--muted);flex:none}.plan-list+.muted{margin-top:10px}:root{--medal-color:#f2c94c;--medal-shine:#fff4c2;--medal-ribbon:var(--brand-2);--medal-ribbon-2:var(--brand-2-hover);--medal-silver:#c9ced6;--medal-bronze:#d08a4e;--warn:#f2c94c;--warn-soft:#f2c94c24}.area-icon{background:var(--brand-2-soft);width:40px;height:40px;color:var(--brand-2);border-radius:50%;flex:none;place-items:center;display:grid}.area-label{flex:1;min-width:0}.hint{color:var(--muted);margin:0;font-size:13px}.btn-small{border:1px solid var(--brand-2);min-height:40px;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-small svg{color:var(--brand-2)}.btn-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.client-main>.btn-primary.btn-icon{margin-top:14px}.btn-danger{border-radius:var(--radius);background:var(--danger);color:#fff;cursor:pointer;border:0;width:100%;min-height:48px;padding:10px 14px;font-weight:700}.btn-danger:disabled{opacity:.6;cursor:default}.client-main>.btn-secondary{margin-top:16px}.area-form,.value-form{flex-direction:column;gap:14px;display:flex}.area-form{margin-top:14px}.value-form{margin-top:4px}.area-form h2{font-size:17px}.area-form .form-actions,.value-form .form-actions{flex-direction:column-reverse;gap:10px;display:flex}.area-form .form-actions .btn-primary,.area-form .form-actions .btn-secondary,.value-form .form-actions .btn-primary,.value-form .form-actions .btn-secondary{width:100%;min-height:48px;margin:0}.path-card,.renew-card{flex-direction:column;gap:6px;margin-top:14px;display:flex}.path-type{background:var(--brand-2-soft);color:var(--brand-2);letter-spacing:.04em;border-radius:999px;align-self:flex-start;padding:2px 10px;font-size:12px;font-weight:700}.path-left{margin:6px 0 0;font-weight:600}.renew-card .btn-primary{width:100%;margin-top:6px}.renew-card .muted,.path-card .muted{margin:0}.countdown{border-color:var(--warn);background:var(--warn-soft);align-items:center;gap:16px;margin-top:12px;display:flex}.countdown p{margin:0}.countdown-number{flex-direction:column;flex:none;align-items:center;min-width:64px;line-height:1.1;display:flex}.countdown-number strong{color:var(--warn);font-size:36px}.countdown-number span{color:var(--muted);font-size:13px}.client-main section.card+section.card{margin-top:12px}.plain-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.plain-list li{border-bottom:1px solid var(--surface-border);flex-direction:column;padding:10px 0;display:flex}.plain-list li:last-child{border-bottom:0}.plain-list .muted{margin:0}.doc-latest{border-color:var(--brand-2);grid-template-columns:auto 1fr;align-items:center;gap:12px 14px;margin-top:14px;display:grid}.doc-latest .doc-open{grid-column:1/-1;width:100%;margin-top:0}.doc-text{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.doc-text .muted{margin:0;font-size:13px}.doc-kicker{color:var(--brand-2);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.doc-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.doc-row{justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.photo-slots{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.photo-slot{flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.slot-box{aspect-ratio:3/4;border:1.5px dashed var(--brand-2);border-radius:var(--radius);background:var(--brand-2-soft);width:100%;color:var(--brand-2);cursor:pointer;place-items:center;display:grid;position:relative;overflow:hidden}.slot-box.has-photo{border-style:solid}.slot-box img{object-fit:cover;width:100%;height:100%}.slot-box input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.slot-box:focus-within{box-shadow:0 0 0 3px var(--brand-2-soft)}.slot-label{text-align:center;font-size:13px;font-weight:600}.slot-remove{padding:0;font-size:13px}.photo-days{flex-direction:column;gap:18px;margin:18px 0 0;padding:0;list-style:none;display:flex}.photo-day-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.photo-day-head h2{font-size:16px}.photo-row{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.photo-thumb{aspect-ratio:3/4;border:1px solid var(--surface-border);background:var(--surface);min-width:0;color:var(--muted);cursor:pointer;border-radius:10px;place-items:center;padding:0;font-size:12px;display:grid;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb.empty{cursor:default}.photo-tag{color:var(--text);text-align:center;background:#0009;padding:4px 6px;font-size:11px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.photo-thumb:focus-visible,.habit-check:focus-visible,.score-buttons button:focus-visible,.day-switch button:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}.viewer{z-index:55;background:#000;flex-direction:column;display:flex;position:fixed;inset:0}.viewer-head,.viewer-foot{justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.viewer-head{padding-top:max(10px, env(safe-area-inset-top))}.viewer-foot{padding-bottom:max(10px, env(safe-area-inset-bottom))}.viewer-img{object-fit:contain;flex:1;width:100%;min-height:0}.icon-btn:disabled{opacity:.35;cursor:default}.metric-list{flex-direction:column;gap:12px;margin:14px 0 0;padding:0;list-style:none;display:flex}.metric-card{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.metric-head{justify-content:space-between;align-self:stretch;align-items:flex-start;gap:12px;display:flex}.metric-name h2{font-size:17px}.metric-name .muted{margin:0;font-size:13px}.metric-value{flex:none;font-size:22px;font-weight:700}.metric-value small{color:var(--muted);font-size:14px;font-weight:600}.metric-change{color:var(--muted);margin:-4px 0 0;font-size:14px}.metric-diff{color:var(--text)}.metric-card .value-form,.metric-history{align-self:stretch}.metric-history summary{color:var(--brand-2);cursor:pointer;padding:6px 0;font-size:14px;font-weight:600}.metric-history ul{flex-direction:column;margin:4px 0 0;padding:0;list-style:none;display:flex}.history-row{border-bottom:1px solid var(--surface-border);flex-direction:column;gap:8px;padding:6px 0;display:flex}.history-row:last-child{border-bottom:0}.history-main{align-items:center;gap:10px;font-size:14px;display:flex}.history-value{flex:1;min-width:0;font-weight:600}.history-row.is-superseded .history-value{color:var(--muted);text-decoration:line-through}.history-actions{flex:none;gap:6px;display:flex}.day-switch{border:1px solid var(--surface-border);border-radius:999px;grid-template-columns:1fr 1fr;gap:4px;margin-top:14px;padding:4px;display:grid}.day-switch button{min-height:40px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:999px;font-weight:600}.day-switch button.on{background:var(--brand-2);color:var(--on-brand-2)}.habits-box{flex-direction:column;gap:12px;margin-top:16px;display:flex}.habit-progress{color:var(--muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.habit-progress strong{color:var(--text)}.habit-bar,.level-bar{background:var(--input-bg);border-radius:999px;height:8px;display:block;overflow:hidden}.habit-bar span,.level-bar span{background:var(--brand-2);border-radius:999px;height:100%;transition:width .25s;display:block}.habit-checks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.habit-check{border:1px solid var(--surface-border);border-radius:var(--radius);background:var(--surface);width:100%;min-height:60px;color:var(--text);text-align:left;cursor:pointer;align-items:center;gap:14px;padding:12px 14px;font-weight:600;display:flex}.habit-check.on{border-color:var(--brand-2);background:var(--brand-2-soft)}.check-box{border:2px solid var(--input-border);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.habit-check.on .check-box{border-color:var(--brand-2);background:var(--brand-2);color:var(--on-brand-2)}.habit-title{overflow-wrap:anywhere;flex:1;min-width:0}.habits-box>.muted{margin:0}.scores-box{flex-direction:column;gap:12px;margin-top:18px;display:flex}.scores-box>.muted{margin:-6px 0 0}.score-row{flex-direction:column;gap:8px;display:flex}.score-name{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.score-name .muted{margin:0;font-size:12px}.score-buttons{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.score-buttons button{border:1px solid var(--input-border);background:var(--input-bg);min-height:44px;color:var(--text);cursor:pointer;border-radius:10px;font-size:16px;font-weight:700}.score-buttons button.on{border-color:var(--brand-2);background:var(--brand-2);color:var(--on-brand-2)}.party{z-index:70;cursor:pointer;background:#0000008c;place-items:center;padding:24px;animation:.2s ease-out party-in;display:grid;position:fixed;inset:0;overflow:hidden}.party-rain{pointer-events:none;position:absolute;inset:0}.party-medal{animation-name:medal-fall;animation-timing-function:cubic-bezier(.3,.1,.6,1);animation-fill-mode:both;position:absolute;top:-80px}.party-medal.tone-1{--medal-color:var(--medal-silver)}.party-medal.tone-2{--medal-color:var(--medal-bronze)}@keyframes medal-fall{0%{opacity:1;transform:translateY(0)rotate(0)}85%{opacity:1}to{transform:translateY(calc(100vh + 120px)) rotate(var(--turn,30deg));opacity:0}}@keyframes party-in{0%{opacity:0}}.party-card{border:1px solid var(--brand-2);background:var(--surface-solid);max-width:320px;box-shadow:0 0 0 6px var(--brand-2-soft), 0 16px 48px #0009;text-align:center;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:22px 24px;animation:.35s cubic-bezier(.2,1.4,.4,1) card-pop;display:flex;position:relative}.party-card strong{font-family:var(--font-titoli);font-size:22px}.party-streak{background:var(--brand-2-soft);color:var(--brand-2);border-radius:999px;margin-top:4px;padding:2px 12px;font-weight:700}.party-close{color:var(--muted);margin-top:6px;font-size:12px}@keyframes card-pop{0%{opacity:0;transform:scale(.7)}}.party.still,.party.still .party-card{animation:none}@media (prefers-reduced-motion:reduce){.party,.party-card,.party-medal,.habit-bar span,.level-bar span{transition:none;animation:none}}.level-card{flex-direction:column;gap:8px;margin-top:14px;display:flex}.level-card .muted{margin:0}.level-kicker{color:var(--muted);font-size:13px;font-weight:600}.level-name{color:var(--brand-2);font-family:var(--font-titoli);font-size:26px;line-height:1.2}.stat-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.stat{flex-direction:column;gap:2px;display:flex}.stat svg{color:var(--warn)}.stat strong,.progress-pair strong{font-size:26px;line-height:1.2}.stat span,.progress-pair span{color:var(--muted);font-size:13px}.progress-pair{grid-template-columns:1fr 1fr;gap:10px;margin:10px 0;display:grid}.progress-pair div{flex-direction:column;display:flex}.client-main .stat-row+section.card{margin-top:12px}.month-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.month-nav h2{font-size:16px}.month-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.weekday{color:var(--muted);font-size:12px;font-weight:600}.cal-day{aspect-ratio:1;min-width:0;color:var(--muted);border-radius:8px;place-items:center;font-size:13px;font-weight:600;display:grid}.cal-day.state-done{background:var(--brand-2);color:var(--on-brand-2)}.cal-day.state-partial{background:var(--warn-soft);color:var(--warn)}.cal-day.state-missed{color:var(--text);background:#dc354524}.cal-day.state-open,.cal-day.state-future{background:var(--input-bg);color:var(--text)}.cal-day.state-outside{opacity:.35}.cal-day.is-today{box-shadow:inset 0 0 0 2px var(--text)}.cal-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:12px 0 0;font-size:12px;display:flex}.dot{border-radius:3px;width:10px;height:10px;display:inline-block}.dot.state-done{background:var(--brand-2)}.dot.state-partial{background:var(--warn)}.dot.state-missed{background:var(--danger)}.last-measure{color:var(--muted);margin:14px 0 0;font-size:14px}.last-measure a{color:var(--brand-2);font-weight:600}.intake-intro{margin-top:18px}.intake-intro .lead{margin:6px 0 2px}.intake-form{flex-direction:column;gap:14px;margin-top:16px;display:flex}.question fieldset{border:0;flex-direction:column;gap:10px;min-width:0;margin:0;padding:0;display:flex}.question-title{font-family:var(--font-titoli);align-items:flex-start;gap:10px;padding:0;font-size:16px;font-weight:700;display:flex}.question-title .step-num{flex:none;margin-top:1px}.question .hint{margin-top:-4px}.answer-list{flex-direction:column;gap:8px;display:flex}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.answer{border:1px solid var(--input-border);border-radius:var(--radius);background:var(--input-bg);cursor:pointer;align-items:center;gap:10px;min-width:0;min-height:48px;padding:10px 12px;font-size:15px;font-weight:600;line-height:1.3;display:flex;position:relative}.answer.wide{grid-column:1/-1}.answer.on{border-color:var(--brand-2);background:var(--brand-2-soft)}.answer:focus-within{border-color:var(--brand-2);box-shadow:0 0 0 3px var(--brand-2-soft)}.answer input{width:20px;height:20px;accent-color:var(--brand-2);flex:none;margin:0}.answer span{overflow-wrap:anywhere;min-width:0}.intake-actions{flex-direction:column;gap:10px;display:flex}.intake-actions .btn-primary{width:100%}.intake-actions .hint{text-align:center}.advice-block{flex-direction:column;gap:8px;margin-top:14px;display:flex}.advice-block p{margin:0}.advice-block h2{font-size:17px}.advice-week,.advice-list{flex-direction:column;gap:6px;margin:2px 0;padding-left:22px;display:flex}.advice-week li{padding-left:2px;font-weight:600}.advice-week li::marker{color:var(--brand-2);font-weight:700}.advice-block.warn{background:var(--warn-soft);border-color:#f2c94c73}.advice-block.warn h2{color:var(--warn)}.advice-elite{border-color:var(--brand-2);margin-top:14px}.intake-answers{flex-direction:column;gap:10px;margin-top:14px;display:flex}.answer-rows{flex-direction:column;margin:0;display:flex}.answer-row{border-bottom:1px solid var(--surface-border);flex-direction:column;gap:2px;padding:8px 0;display:flex}.answer-row:last-child{border-bottom:0}.answer-row dt{color:var(--muted);font-size:13px}.answer-row dd{overflow-wrap:anywhere;margin:0;font-weight:600}.client-top-actions{flex-wrap:nowrap;align-items:center;min-width:0}.client-top .user-menu{min-width:0}.client-top .user-btn{max-width:100%}.bell-btn{border:1px solid var(--surface-border);width:44px;height:44px;color:var(--text);border-radius:50%;flex:none;place-items:center;display:grid;position:relative}.bell-btn:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}.bell-count{background:var(--brand-2);min-width:26px;height:26px;box-shadow:0 0 0 3px var(--bg);color:var(--on-brand-2);border-radius:999px;place-items:center;padding:0 6px;font-size:15px;font-weight:800;line-height:1;display:grid;position:absolute;top:-8px;right:-8px}@media (width<=380px){.client-top-logo{width:110px}}.mark-all{align-self:flex-end;margin-top:4px}.notification-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.notification{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;align-items:flex-start;gap:12px;display:flex}.notification.unread{border-color:var(--brand-2);background:var(--brand-2-soft)}.notification:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px}.unread-dot{background:var(--brand-2);border-radius:50%;flex:none;width:10px;height:10px;margin-top:6px}.notification-text{flex-direction:column;gap:2px;min-width:0;display:flex}.notification-body{overflow-wrap:anywhere}.notification-text .muted{margin:0;font-size:13px}.path-kicker{color:var(--muted);font-size:13px;font-weight:600}.path-facts{flex-direction:column;margin:4px 0 0;display:flex}.path-fact{border-bottom:1px solid var(--surface-border);justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;display:flex}.path-fact:last-child{border-bottom:0}.path-fact dt{color:var(--muted);font-size:14px}.path-fact dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:700}.plan-badge{background:var(--brand-2);color:var(--on-brand-2);border-radius:999px;align-self:flex-start;margin:4px 0 0;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.price-list .plan-badge{vertical-align:middle;margin:0 0 0 8px}.kind-switch{margin-top:12px}.kind-switch .hint{margin-top:4px}.account-head{align-items:center;gap:14px;margin-top:12px;display:flex}.account-name{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.account-card{flex-direction:column;gap:10px;margin-top:12px;display:flex}.account-card p{margin:0}.account-card .btn-secondary{justify-content:center;align-items:center;text-decoration:none;display:flex}.trial-video .btn-primary{width:100%}.video-frame{aspect-ratio:16/9;border-radius:var(--radius);background:#000;width:100%;position:relative;overflow:hidden}.video-frame iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.chat-dot{background:var(--brand-2);width:15px;height:15px;box-shadow:0 0 0 3px var(--bg);border-radius:50%;position:absolute;top:-5px;right:-5px}@media (width<=370px){.client-top .user-btn-name{display:none}}.client-shell .client-main.chat-page{flex:1;padding-bottom:0}.chat-title,.title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.chat-list{flex-direction:column;gap:10px;margin:10px 0 0;padding:0;list-style:none;display:flex}.chat-day{background:var(--surface);color:var(--muted);border-radius:999px;align-self:center;margin:6px 0 2px;padding:2px 12px;font-size:12px;font-weight:600}.chat-msg{flex-direction:column;gap:3px;max-width:86%;display:flex}.chat-msg.mine{align-self:flex-end;align-items:flex-end}.chat-msg.team{align-self:flex-start}.chat-bubble{border:1px solid var(--surface-border);background:var(--surface);overflow-wrap:anywhere;border-radius:16px;flex-direction:column;gap:6px;min-width:0;max-width:100%;padding:8px 12px 9px;display:flex}.chat-msg.team .chat-bubble{border-bottom-left-radius:6px}.chat-msg.mine .chat-bubble{background:var(--brand-2-soft);border-color:#70b63066;border-bottom-right-radius:6px}.chat-msg.editing .chat-bubble{outline:2px solid var(--brand-2);outline-offset:2px}.chat-who{color:var(--brand-2);font-size:13px;font-weight:700}.chat-text{white-space:pre-wrap;margin:0}.chat-edit{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.chat-edit:focus-visible{outline:2px solid var(--brand-2);outline-offset:3px}.chat-meta{color:var(--muted);padding:0 4px;font-size:12px}.chat-photo{cursor:zoom-in;background:0 0;border:0;border-radius:12px;padding:0;display:block;overflow:hidden}.chat-photo img{object-fit:cover;max-width:100%;max-height:320px;display:block}.chat-video{background:#000;border-radius:12px;width:260px;max-width:100%;max-height:360px;display:block}.audio-player{align-items:center;gap:10px;width:250px;max-width:100%;min-height:44px;display:flex}.audio-player audio{display:none}.audio-play{background:var(--brand-2);width:40px;height:40px;color:var(--on-brand-2);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.audio-seek{min-width:0;accent-color:var(--brand-2);flex:1;margin:0}.audio-time{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px}.chat-missing{color:var(--muted);font-size:13px;font-style:italic}.chat-viewer{padding-bottom:env(safe-area-inset-bottom)}.chat-compose{padding:12px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--surface-border);background:var(--bg);flex-direction:column;gap:8px;margin:auto -16px 0;display:flex}.chat-topics{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chat-topics-ask{color:var(--brand-2);flex-basis:100%;font-size:14px;font-weight:600}.chat-topic{border:1px solid var(--input-border);min-height:38px;color:var(--text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:0 14px;font-size:14px;font-weight:600}.chat-topic[aria-pressed=true]{border-color:var(--brand-2);background:var(--brand-2);color:var(--on-brand-2)}.chat-topic:focus-visible,.chat-send:focus-visible,.chat-attach:focus-within{outline:2px solid var(--brand-2);outline-offset:2px}.chat-editing{border-left:3px solid var(--brand-2);background:var(--brand-2-soft);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.chat-editing>span{flex-direction:column;display:flex}.chat-input-row{align-items:flex-end;gap:8px;display:flex}.chat-input-row textarea{border:1px solid var(--input-border);background:var(--input-bg);min-width:0;min-height:44px;max-height:150px;color:var(--text);resize:none;border-radius:22px;flex:1;padding:10px 14px;font-family:inherit;line-height:1.4}.chat-input-row textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px var(--brand-2-soft);outline:none}.chat-attach,.chat-send{border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.chat-attach{border:1px solid var(--surface-border);color:var(--text);cursor:pointer;overflow:hidden}.chat-attach input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.chat-attach.disabled{opacity:.4}.chat-send{background:var(--brand-2);color:var(--on-brand-2);cursor:pointer;border:0}.chat-send:disabled{opacity:.35;cursor:default}.chat-count{color:var(--muted);align-self:flex-end;font-size:12px}.chat-count.over{color:var(--danger);font-weight:700}.chat-file{border:1px solid var(--surface-border);background:var(--surface);border-radius:12px;align-items:center;gap:10px;padding:8px;display:flex}.chat-file img,.chat-file-icon{object-fit:cover;border-radius:8px;flex:none;width:52px;height:52px}.chat-file-icon{background:var(--brand-2-soft);color:var(--brand-2);place-items:center;display:grid}.chat-file-name{flex:1;min-width:0;font-size:14px;font-weight:600}.chat-upload{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.chat-progress{background:var(--surface-border);border-radius:999px;flex-basis:100%;height:6px;overflow:hidden}.chat-progress span{background:var(--brand-2);height:100%;transition:width .2s;display:block}.chat-upload .hint{flex:1}.chat-upload .link{align-self:auto}.chat-closed{margin-top:auto}.chat-info,.habits-info{flex-direction:column;gap:10px;display:flex}.chat-info h3,.habits-info h3{font-size:15px}.chat-info p,.chat-info ul,.habits-info p,.habits-info ul{margin:0}.chat-info ul,.habits-info ul{flex-direction:column;gap:6px;padding-left:20px;display:flex}.chat-info .btn-secondary{justify-content:center;align-items:center;text-decoration:none;display:flex}@media (prefers-reduced-motion:reduce){.chat-progress span{transition:none}}.push-on{color:var(--success,inherit);font-weight:600}.push-compact{flex-direction:column;gap:10px;margin:12px 0;display:flex}.push-compact p{margin:0}.notification-row{align-items:center;gap:8px;display:flex}.notification-row>.notification{flex:1;min-width:0}.notification-delete{width:44px;height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.notification-delete:active{background:var(--input-bg);color:var(--danger)}.installments-card{flex-direction:column;gap:6px;margin-top:12px;display:flex}.installments-card .muted{margin:0}.installment-line{justify-content:space-between;gap:12px;display:flex}.installment-state{color:var(--muted);font-size:14px}.installment-state.state-paid{color:var(--brand-2)}.installment-state.state-late{color:var(--danger);font-weight:600}.installment-state.state-declared{color:var(--warn)}.installment-pay .pay-intro{font-size:18px}.info-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.info-round{border:1px solid var(--brand-2);background:var(--brand-2-soft);width:36px;height:36px;color:var(--brand-2);cursor:pointer;border-radius:999px;flex:none;place-items:center;margin:-4px 0;padding:0;display:inline-grid}.info-round[aria-expanded=true]{background:var(--brand-2);color:var(--on-brand-2)}.info-text{background:var(--input-bg);color:var(--text);border-radius:10px;margin:0;padding:10px 12px;font-size:14px;line-height:1.45}.btn-primary.start-path{width:100%;min-height:56px;box-shadow:0 0 0 4px var(--brand-2-soft);margin:10px 0 14px;font-size:17px}.ask-meal-plan{border-color:var(--brand-2);flex-direction:column;gap:12px;margin-top:14px;display:flex}.ask-meal-plan p{margin:0}.ask-meal-plan .btn-secondary{justify-content:center;align-items:center;text-decoration:none;display:flex}.report-section{margin-top:10px;margin-bottom:10px}.report-section .doc-latest{margin-top:0}.report-section .link{align-self:flex-start;padding:6px 0}
