:root{--black:var(--dw-black);--white:var(--dw-white);--accent:var(--dw-accent);--accent-dark:var(--dw-accent-dark);--accent-light:var(--dw-accent-light);--teal-glow:var(--dw-gold-glow);--mid:var(--dw-mid);--mid2:var(--dw-mid2);--muted:var(--dw-muted);--border:var(--dw-border);--red:var(--dw-red);--orange:var(--dw-orange);--blue:var(--dw-blue);--green:var(--dw-green)}*{margin:0;padding:0;box-sizing:border-box}body,html{height:100%}body{font-family:var(--dw-font-body);background:var(--black);color:var(--white);min-height:100vh;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased}body.app-standalone header{padding-top:calc(10px + env(safe-area-inset-top,0px))}body.client-shell-active{--client-shell-top:calc(62px + env(safe-area-inset-top,0px))}:root{--banner-sticky-top:0px}@media (max-width:640px){:root{--banner-sticky-top:calc(62px + env(safe-area-inset-top,0px))}}body.app-shell-ready #view-account,body.app-shell-ready #view-admin,body.app-shell-ready #view-client,body.app-shell-ready #view-dashboard,body.app-shell-ready #view-invoices,body.app-shell-ready #view-membership,body.app-shell-ready #view-noticeboard,body.app-shell-ready #view-progress,body.app-shell-ready #view-shop{min-height:100vh}header{display:flex;align-items:center;justify-content:space-between;padding:10px 32px;border-bottom:1px solid var(--border);position:sticky;top:0;background:rgba(11,9,7,.97);backdrop-filter:blur(12px);z-index:300}.logo{display:flex;align-items:center;gap:0;text-decoration:none;cursor:default}.logo-img{height:56px;width:auto;border-radius:50%;box-shadow:0 0 0 2px rgba(201,162,75,.3),0 4px 16px rgba(201,162,75,.2)}.nav-tabs{display:flex;background:var(--mid);border-radius:8px;padding:4px;gap:4px}.nav-tab{padding:8px 18px;border:none;border-radius:6px;font-family:var(--dw-font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;background:0 0;color:var(--muted);letter-spacing:.5px;white-space:nowrap}.mobile-bottom-nav{display:none}.desktop-only-nav{display:flex}.tab-icon{display:none}.tab-label-short{display:none}.tab-label-full{display:inline}.nav-tab.active{background:var(--accent);color:var(--black)}.user-pill{display:flex;align-items:center;gap:10px;background:var(--mid);border:1px solid var(--border);border-radius:30px;padding:6px 14px 6px 6px;cursor:pointer;transition:border-color .2s}.user-pill:hover{border-color:var(--accent)}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--black);font-weight:700;font-size:.75rem;display:flex;align-items:center;justify-content:center}.user-name{font-size:.82rem;font-weight:600}.logout-btn{background:0 0;border:none;color:var(--muted);font-size:.75rem;cursor:pointer;padding:0;transition:color .2s}.logout-btn:hover{color:var(--red)}.view{display:none}.view.active{display:block}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);backdrop-filter:blur(6px);z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:var(--dw-mid);border:1px solid var(--dw-border-hover);border-radius:20px;padding:40px;width:100%;max-width:460px;transform:translateY(20px);transition:transform .3s}.modal-overlay.open .modal{transform:translateY(0)}.modal h2{font-family:var(--dw-font-display);font-size:2.4rem;letter-spacing:2px;margin-bottom:6px}.modal h2 em{color:var(--accent);font-style:normal}.modal .modal-sub{color:var(--muted);font-size:.88rem;margin-bottom:28px;line-height:1.6}.modal .modal-area-badge{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);background:rgba(201,162,75,.08);border:1px solid rgba(201,162,75,.25);border-radius:999px;padding:6px 12px;margin-bottom:18px;align-self:flex-start}.modal .modal-area-badge[hidden]{display:none}.form-row{display:flex;gap:14px}.form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;flex:1}.form-field label{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.form-field input{background:var(--dw-mid2);border:1px solid #333;color:var(--white);padding:12px 16px;border-radius:9px;font-family:var(--dw-font-body);font-size:.92rem;outline:0;transition:border-color .2s}.form-field input:focus{border-color:var(--accent)}.form-field input::placeholder{color:#444}.form-field .field-error{font-size:.72rem;color:var(--red);margin-top:2px;display:none}.form-field.has-error input{border-color:var(--red)}.form-field.has-error .field-error{display:block}.modal-btn{width:100%;padding:14px;background:var(--accent);color:var(--black);border:none;border-radius:9px;font-family:var(--dw-font-body);font-weight:700;font-size:.9rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s;margin-top:4px}.modal-btn:hover{background:var(--accent-dark)}.modal-switch{text-align:center;margin-top:18px;font-size:.83rem;color:var(--muted)}.modal-switch a{color:var(--accent);cursor:pointer;font-weight:600;text-decoration:none}.modal-switch a:hover{text-decoration:underline}.modal-link-btn{background:0 0;border:none;color:var(--accent);cursor:pointer;font:inherit;font-weight:600;padding:0}.modal-link-btn:hover{text-decoration:underline}.client-hero{padding:52px 32px 36px;max-width:980px;margin:0 auto}.client-hero h1{font-family:var(--dw-font-display);font-size:clamp(3rem,8vw,5.5rem);line-height:.92;letter-spacing:2px;margin-bottom:12px}.client-hero h1 em{color:var(--accent);font-style:normal}.client-hero p{color:var(--muted);font-size:.95rem;max-width:400px;line-height:1.65}.week-nav{max-width:980px;margin:0 auto 20px;padding:0 32px;display:flex;align-items:center;gap:14px}.week-nav button{width:34px;height:34px;border:1px solid var(--border);background:0 0;color:var(--white);border-radius:6px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .2s}.week-nav button:hover{border-color:var(--accent);color:var(--accent)}.week-label{font-size:.8rem;font-weight:700;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.sessions-grid{max-width:980px;margin:0 auto;padding:0 32px 60px;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}.session-card{background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:22px;transition:all .25s;position:relative;overflow:hidden}.session-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transition:transform .3s;transform-origin:left}.session-card:hover:not(.full-locked)::before{transform:scaleX(1)}.session-card:hover:not(.full-locked){border-color:#1e4040;transform:translateY(-2px)}.session-card.booked-by-me{border-color:var(--accent);background:var(--dw-fill-confirmed)}.session-card.booked-by-me::before{transform:scaleX(1)}.session-card.waitlisted-me{border-color:var(--orange);background:#1e1200}.session-card.waitlisted-me::before{background:var(--orange);transform:scaleX(1)}.session-card.past-attended{border-color:var(--dw-border-hover);background:var(--dw-chart-bg)}.session-card.past-attended::before{background:var(--muted);transform:scaleX(1)}.status-badge.attended{background:var(--dw-fill-confirmed);color:var(--muted);border:1px solid var(--dw-border)}.avg-rating{font-size:.72rem;color:var(--orange);margin-bottom:10px;letter-spacing:.3px}.book-btn.rate-btn{background:0 0;border:1px solid var(--orange);color:var(--orange)}.book-btn.rate-btn:hover{background:var(--orange);color:var(--black)}.book-btn.rate-edit{background:0 0;border:1px solid var(--dw-border-hover);color:var(--muted);font-size:.76rem}.book-btn.rate-edit:hover{border-color:var(--orange);color:var(--orange)}#rating-modal .modal{max-width:420px}#rating-modal h2{font-size:2rem}.rate-sess-name{font-size:.8rem;color:var(--accent);margin-bottom:20px;font-style:italic}.stars-row{display:flex;justify-content:center;gap:8px;margin:20px 0}.star-btn{background:0 0;border:none;font-size:2.2rem;cursor:pointer;filter:grayscale(1) opacity(.35);transition:all .15s;line-height:1}.star-btn.active{filter:grayscale(0) opacity(1)}.star-btn:hover{transform:scale(1.15)}.rate-label{text-align:center;font-size:.75rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;min-height:1em}.rate-comment{width:100%;background:var(--dw-mid2);border:1px solid #333;color:var(--white);padding:12px 14px;border-radius:9px;font-family:var(--dw-font-body);font-size:.88rem;resize:vertical;outline:0;min-height:80px;transition:border-color .2s}.rate-comment:focus{border-color:var(--accent)}.rate-comment::placeholder{color:#444}.session-day{font-family:var(--dw-font-display);font-size:1.9rem;letter-spacing:2px;line-height:1;margin-bottom:3px}.session-date{font-size:.72rem;color:var(--muted);letter-spacing:.5px;margin-bottom:12px}.session-time{font-size:1rem;font-weight:700;margin-bottom:4px;color:var(--accent)}.session-lbl{font-size:.78rem;color:var(--muted);margin-bottom:14px;font-style:italic}.status-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:3px 10px;border-radius:20px;margin-bottom:12px}.status-badge.confirmed{background:var(--dw-fill-confirmed);color:var(--accent);border:1px solid var(--accent)}.status-badge.on-waitlist{background:#2a1800;color:var(--orange);border:1px solid var(--orange)}.cap-bar{height:4px;background:#333;border-radius:2px;margin-bottom:7px;overflow:hidden}.cap-fill{height:100%;border-radius:2px;background:var(--accent);transition:width .4s}.cap-fill.high{background:var(--orange)}.cap-fill.full-bar{background:var(--red)}.cap-text{font-size:.72rem;color:var(--muted);margin-bottom:8px;display:flex;justify-content:space-between}.wl-info{font-size:.72rem;color:var(--orange);margin-bottom:14px}.wl-info::before{content:'⏳ '}.book-btn{width:100%;padding:11px;border:none;border-radius:8px;font-family:var(--dw-font-body);font-size:.8rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:all .2s;margin-top:4px}.book-btn+.book-btn{margin-top:8px}.book-btn.available{background:var(--accent);color:var(--black)}.book-btn.available:hover{background:var(--accent-dark);transform:scale(1.02)}.book-btn.wl-join{background:0 0;border:1px solid var(--orange);color:var(--orange)}.book-btn.wl-join:hover{background:var(--orange);color:var(--black)}.book-btn.cancel{background:0 0;border:1px solid var(--dw-border-hover);color:var(--muted)}.book-btn.cancel:hover{border-color:var(--red);color:var(--red)}.book-btn.cancel-wl{background:0 0;border:1px solid var(--dw-border-hover);color:var(--muted);font-size:.72rem}.book-btn.cancel-wl:hover{border-color:var(--red);color:var(--red)}.book-btn.disabled-btn{background:var(--dw-mid2);color:#333;cursor:not-allowed}.book-btn.book-weekly-btn{background:0 0;border:1px solid var(--accent);color:var(--accent);font-size:.75rem;margin-top:6px}.book-btn.book-weekly-btn:hover{background:var(--accent);color:var(--black)}#recurring-modal .modal{max-width:440px}#recurring-modal h2{font-size:2rem;margin-bottom:8px}.recurring-results{margin:20px 0;display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.rec-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:9px;font-size:.85rem}.rec-row.booked{background:var(--dw-fill-confirmed);border:1px solid var(--accent);color:var(--white)}.rec-row.skipped{background:var(--dw-mid2);border:1px solid var(--dw-border-hover);color:var(--muted)}.rec-row.already{background:var(--dw-mid);border:1px solid var(--dw-border);color:var(--muted)}.rec-icon{font-size:1.1rem;flex-shrink:0}.rec-label{flex:1}.rec-reason{font-size:.72rem;opacity:.7;margin-left:auto}.admin-header{max-width:1060px;margin:0 auto;padding:48px 32px 28px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}.admin-header h2{font-family:var(--dw-font-display);font-size:2.8rem;letter-spacing:3px;line-height:1}.admin-header h2 span{color:var(--accent)}.admin-stats{display:flex;gap:12px;flex-wrap:wrap}.stat-pill{background:var(--mid);border:1px solid var(--border);border-radius:10px;padding:12px 16px;text-align:center;min-width:100px}.stat-pill .num{font-family:var(--dw-font-display);font-size:2rem;color:var(--accent);line-height:1}.stat-pill .lbl{font-size:.62rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:2px}.admin-subtabs{max-width:1060px;margin:0 auto 28px;padding:0 32px;display:flex;gap:8px;border-bottom:1px solid var(--border);padding-bottom:0}.subtab{padding:10px 20px;border:none;background:0 0;color:var(--muted);font-family:var(--dw-font-body);font-size:.85rem;font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s;letter-spacing:.5px}.subtab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-subview{display:none;max-width:1060px;margin:0 auto;padding:24px 32px 60px}body.trainer-shell-active .admin-subview.active{display:block}body.trainer-shell-active .view{padding-top:0}body.trainer-shell-active .admin-subview{padding-top:0}body.trainer-shell-active #view-admin{min-height:auto}body.trainer-shell-active .client-hero{display:none}body.trainer-shell-active .admin-header{padding-top:18px;padding-bottom:18px}.settings-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:24px}.settings-row label{font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.settings-row input[type=number]{width:66px;background:var(--mid);border:1px solid var(--border);color:var(--white);padding:8px 12px;border-radius:8px;font-family:var(--dw-font-body);font-size:.9rem;outline:0}.settings-row input:focus{border-color:var(--accent)}.settings-section{margin-bottom:28px;padding:18px 22px;background:rgba(201,162,75,.04);border:1px solid rgba(201,162,75,.12);border-radius:12px}.settings-section h3{font-family:var(--dw-font-display);font-size:1.1rem;letter-spacing:1px;color:var(--accent);margin:0 0 4px}.settings-section-help{font-size:.84rem;color:var(--muted);margin:0 0 16px;line-height:1.5}.admin-section{background:var(--mid2);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;overflow:hidden;transition:border-color .2s}.admin-section.expanded{border-left:3px solid var(--accent)}.admin-section-header{display:flex;align-items:center;gap:10px;padding:14px 18px;cursor:pointer;user-select:none;transition:background .15s}.admin-section-header:hover{background:var(--mid)}.admin-section-header .chevron{color:var(--accent);font-size:.85rem;transition:transform .3s;flex-shrink:0}.admin-section-header .section-icon{font-size:1rem}.admin-section-header .section-title{font-weight:700;font-size:.88rem;color:var(--white);letter-spacing:.3px}.admin-section-header .section-subtitle{font-size:.75rem;color:var(--muted);margin-left:auto;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-section-body{max-height:0;overflow:hidden;transition:max-height .35s ease}.admin-section.expanded .admin-section-body{max-height:5000px}.admin-section-body-inner{padding:0 18px 18px}.admin-section-summary{padding:0 18px 12px;font-size:.78rem;color:var(--muted);line-height:1.5;display:none;overflow:hidden;max-height:2.8em;text-overflow:ellipsis}.admin-section:not(.expanded) .admin-section-summary{display:block}.admin-section-summary .sum-day{font-weight:600;color:var(--white)}.bill-section{margin-bottom:18px;border:1px solid rgba(201,162,75,.18);border-radius:12px;overflow:hidden;background:var(--mid2)}.bill-section-toggle{width:100%;display:flex;align-items:center;gap:10px;background:rgba(201,162,75,.06);border:none;padding:14px 18px;color:var(--white);font-family:var(--dw-font-body);font-weight:700;font-size:.95rem;cursor:pointer;text-align:left}.bill-section-toggle:hover{background:rgba(201,162,75,.12)}.bill-section-chevron{font-size:.85rem;color:var(--accent);width:14px}.bill-section-title{flex:1}.bill-section-count{font-size:.78rem;color:var(--muted);font-weight:400}.bill-section-body{padding:18px}.week-nav{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.week-nav-btn{background:var(--mid);border:1px solid var(--border);color:var(--white);border-radius:8px;padding:6px 12px;cursor:pointer;font-size:.88rem;transition:border-color .2s}.week-nav-btn:hover{border-color:var(--accent);color:var(--accent)}.week-nav-label{font-weight:600;font-size:.9rem;color:var(--white)}.week-nav-count{font-size:.78rem;color:var(--muted)}.week-nav-today{background:0 0;border:1px solid var(--accent);color:var(--accent);border-radius:8px;padding:4px 12px;cursor:pointer;font-size:.75rem;font-weight:600;transition:background .2s}.week-nav-today:hover{background:rgba(201,162,75,.1)}.day-subheader{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--accent);padding:12px 0 6px;border-bottom:1px solid var(--border);margin-top:8px}.day-subheader:first-child{margin-top:0}.section-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.slot-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;min-height:28px}.slot-chip{background:var(--mid);border:1px solid var(--border);border-radius:20px;padding:6px 14px;font-size:.78rem;color:var(--white);display:flex;align-items:center;gap:6px}.slot-chip button{background:0 0;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;transition:color .15s;padding:0;line-height:1}.slot-chip button:hover{color:var(--red)}.add-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:28px}.add-row input{background:var(--mid);border:1px solid var(--border);color:var(--white);padding:9px 14px;border-radius:8px;font-family:var(--dw-font-body);font-size:.85rem;outline:0;transition:border-color .2s}.add-row input:focus{border-color:var(--accent)}.add-row .lbl-inp{min-width:180px;flex:1}.add-row button{padding:9px 16px;background:var(--mid2);border:1px solid #333;color:var(--white);border-radius:8px;font-family:var(--dw-font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.add-row button:hover{border-color:var(--accent);color:var(--accent)}.add-form{background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:20px;display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:24px}.add-form .ff{display:flex;flex-direction:column;gap:6px;flex:1;min-width:130px}.add-form label{font-size:.66rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.add-form input,.add-form select{background:var(--dw-mid);border:1px solid #333;color:var(--white);padding:11px 14px;border-radius:8px;font-family:var(--dw-font-body);font-size:.87rem;outline:0;transition:border-color .2s}.add-form input:focus,.add-form select:focus{border-color:var(--accent)}.add-form select option{background:var(--dw-mid2)}.add-form .add-btn{padding:11px 24px;background:var(--accent);color:var(--black);border:none;border-radius:8px;font-family:var(--dw-font-body);font-weight:700;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap}.add-form .add-btn:hover{background:var(--accent-dark)}.session-rows{display:flex;flex-direction:column;gap:10px}.sess-row{background:var(--mid);border:1px solid var(--border);border-radius:12px;padding:18px 22px;display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.sess-dt{min-width:160px}.sess-dt .sd{font-family:var(--dw-font-display);font-size:1.3rem;letter-spacing:1px;line-height:1}.sess-dt .st{font-weight:700;color:var(--accent);font-size:.9rem;margin-top:3px}.sess-dt .sl{font-size:.73rem;color:var(--muted);margin-top:2px;font-style:italic}.bsec{flex:1;min-width:180px}.bsec-ttl{font-size:.63rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.bsec-ttl.wl{color:var(--orange);margin-top:10px}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--dw-mid);border:1px solid var(--dw-border-hover);border-radius:20px;padding:4px 12px;font-size:.77rem;color:var(--white);display:flex;align-items:center;gap:5px}.chip.wlc{color:var(--orange);border-color:#3a2800}.chip button{background:0 0;border:none;color:var(--muted);cursor:pointer;font-size:.85rem;padding:0;line-height:1;transition:color .15s}.chip button:hover{color:var(--red)}.no-chips{font-size:.77rem;color:var(--muted);font-style:italic}.sess-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.sbadge{font-size:.7rem;font-weight:700;padding:4px 12px;border-radius:20px;white-space:nowrap}.sbadge.open{background:var(--dw-fill-confirmed);color:var(--accent);border:1px solid var(--dw-border)}.sbadge.full{background:#2a0505;color:var(--red);border:1px solid #4a1010}.del-btn{background:0 0;border:1px solid var(--border);color:var(--muted);padding:7px 14px;border-radius:8px;cursor:pointer;font-size:.77rem;transition:all .2s}.del-btn:hover{border-color:var(--red);color:var(--red)}.clients-table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}thead tr{border-bottom:1px solid var(--border)}th{font-size:.65rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:10px 14px;text-align:left}tbody tr{border-bottom:1px solid #181818;transition:background .15s}tbody tr:hover{background:#161616}td{padding:12px 14px;font-size:.85rem}td.mono{font-family:monospace;font-size:.8rem;color:var(--muted)}.badge-count{background:var(--mid2);color:var(--accent);border-radius:20px;padding:2px 10px;font-size:.75rem;font-weight:700}.billing-controls{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:28px;padding:20px;background:var(--mid);border:1px solid var(--border);border-radius:14px}.billing-controls .ff{display:flex;flex-direction:column;gap:6px;min-width:140px}.billing-controls label{font-size:.66rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.billing-controls input,.billing-controls select{background:var(--dw-mid);border:1px solid #333;color:var(--white);padding:10px 14px;border-radius:8px;font-family:var(--dw-font-body);font-size:.87rem;outline:0;transition:border-color .2s}.billing-controls input:focus,.billing-controls select:focus{border-color:var(--accent)}.billing-controls select option{background:var(--dw-mid2)}.gen-btn{padding:10px 24px;background:var(--accent);color:var(--black);border:none;border-radius:8px;font-family:var(--dw-font-body);font-weight:700;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s;white-space:nowrap;align-self:flex-end}.gen-btn:hover{background:var(--accent-dark)}.billing-report{display:none}.billing-report.visible{display:block}.report-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.report-header h3{font-family:var(--dw-font-display);font-size:1.8rem;letter-spacing:2px}.report-header h3 span{color:var(--accent)}.print-btn{padding:9px 20px;background:0 0;border:1px solid var(--border);color:var(--white);border-radius:8px;font-family:var(--dw-font-body);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.print-btn:hover{border-color:var(--accent);color:var(--accent)}.billing-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.billing-card{background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:22px;position:relative;overflow:hidden}.billing-card::after{content:'';position:absolute;top:0;right:0;width:3px;height:100%;background:var(--accent)}.bc-name{font-family:var(--dw-font-display);font-size:1.5rem;letter-spacing:1px;margin-bottom:2px}.bc-email{font-size:.75rem;color:var(--muted);margin-bottom:14px}.bc-sessions{margin-bottom:14px}.bc-sess-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--dw-mid2);font-size:.8rem}.bc-sess-row:last-child{border-bottom:none}.bc-sess-row .sdate{color:var(--muted)}.bc-divider{height:1px;background:var(--border);margin:14px 0}.bc-totals{display:flex;justify-content:space-between;align-items:center}.bc-total-lbl{font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.bc-total-amt{font-family:var(--dw-font-display);font-size:2rem;color:var(--accent);letter-spacing:1px}.bc-breakdown{font-size:.72rem;color:var(--muted);margin-top:3px}.bc-zero{opacity:.5}.billing-summary{background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:20px;display:flex;gap:24px;flex-wrap:wrap}.bs-item .bs-val{font-family:var(--dw-font-display);font-size:2.2rem;color:var(--accent);line-height:1}.bs-item .bs-lbl{font-size:.65rem;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-top:2px}#toast{position:fixed;bottom:28px;right:28px;background:var(--accent);color:var(--black);padding:13px 20px;border-radius:10px;font-weight:700;font-size:.82rem;letter-spacing:.5px;opacity:0;transform:translateY(12px);transition:all .3s;z-index:999;pointer-events:none;max-width:300px}#toast.show{opacity:1;transform:translateY(0)}#toast.error{background:var(--red);color:#fff}#toast.warn{background:var(--orange);color:var(--black)}.empty-state{text-align:center;padding:60px 20px;color:var(--muted)}.empty-state .icon{font-size:2.8rem;margin-bottom:14px}.empty-state p{font-size:.9rem;line-height:1.7}.gs-grid{grid-column:1/-1}#pin-modal .modal{max-width:340px;text-align:center}#pin-modal .modal h2{font-size:2rem;margin-bottom:6px}#pin-modal .modal .modal-sub{margin-bottom:18px}.dw-pin-modal{padding:32px 28px}.dw-pin-logo{display:block;margin:0 auto 14px;width:56px;height:56px;border-radius:50%;box-shadow:0 0 0 2px var(--dw-accent-wash),0 0 16px rgba(201,162,75,.22);background:var(--dw-mid2)}.dw-pin-heading{font-family:var(--dw-font-display);font-weight:500;letter-spacing:2px;font-size:1.8rem;color:var(--dw-white);margin:0 0 4px;text-transform:uppercase}.dw-pin-sub{font-size:.78rem;color:var(--dw-muted);margin-bottom:22px}.pin-dots{display:flex;justify-content:center;gap:14px;margin-bottom:24px}.pin-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--dw-border-hover);background:0 0;transition:all .2s}.pin-dot.filled{background:var(--dw-accent);border-color:var(--dw-accent);box-shadow:0 0 8px rgba(201,162,75,.4)}.pin-dot.error{background:var(--dw-red);border-color:var(--dw-red);box-shadow:0 0 8px rgba(216,88,74,.45)}.dw-pin-dots.dw-pin-dots--error{animation:dw-pin-shake .4s ease}@keyframes dw-pin-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.pin-key{width:64px;height:64px;justify-self:center;padding:0;background:var(--dw-mid2);border:1px solid var(--dw-border);border-radius:50%;font-family:var(--dw-font-display);font-size:1.4rem;font-weight:500;color:var(--dw-white);cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s,box-shadow .15s;letter-spacing:1px;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.pin-key:hover{background:var(--dw-mid);border-color:var(--dw-border-hover)}.pin-key:active,.pin-key:focus-visible{background:var(--dw-accent);color:var(--dw-black);border-color:var(--dw-accent);transform:scale(.94);box-shadow:0 0 0 4px rgba(201,162,75,.18);outline:0}.pin-key.del{font-family:var(--dw-font-body);font-size:1rem;font-weight:600}.pin-hint{font-size:.72rem;color:var(--dw-muted);margin-top:6px;letter-spacing:.4px}.trainer-badge{display:flex;align-items:center;gap:8px;background:var(--mid);border:1px solid var(--border);border-radius:30px;padding:6px 14px 6px 6px}.trainer-badge .user-avatar{background:#444;color:var(--accent)}.trainer-badge .user-name{font-size:.82rem;font-weight:600;color:var(--accent)}.trainer-badge .logout-btn{color:var(--muted)}.trainer-badge .logout-btn:hover{color:var(--red)}.session-note-pill{font-size:.75rem;color:var(--accent);background:var(--dw-fill-confirmed);border:1px solid var(--dw-border);border-radius:8px;padding:6px 10px;margin-bottom:10px;line-height:1.5}.sess-note-wrap{margin-top:4px}.sess-note-row{display:flex;gap:8px;align-items:flex-start;margin-top:6px}.sess-note-input{flex:1;background:var(--dw-fill-confirmed);border:1px solid var(--border);color:var(--white);padding:9px 12px;border-radius:8px;font-family:var(--dw-font-body);font-size:.82rem;resize:none;outline:0;min-height:52px;transition:border-color .2s;line-height:1.5}.sess-note-input:focus{border-color:var(--accent)}.sess-note-input::placeholder{color:var(--muted)}.save-note-btn{padding:9px 16px;background:var(--accent);color:var(--black);border:none;border-radius:8px;font-family:var(--dw-font-body);font-size:.78rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s;align-self:flex-start}.save-note-btn:hover{background:var(--accent-dark)}.notes-btn{padding:6px 14px;background:0 0;border:1px solid var(--border);color:var(--muted);border-radius:8px;font-family:var(--dw-font-body);font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.notes-btn:hover{border-color:var(--accent);color:var(--accent)}.progress-panel{background:var(--mid);border:1px solid var(--border);border-radius:16px;padding:28px;margin-top:28px}.progress-panel-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.progress-panel-name{font-family:var(--dw-font-display);font-size:1.8rem;letter-spacing:2px;line-height:1}.progress-panel-sub{font-size:.78rem;color:var(--muted);margin-top:4px}.progress-close{padding:8px 16px;background:0 0;border:1px solid var(--border);color:var(--muted);border-radius:8px;font-family:var(--dw-font-body);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.progress-close:hover{border-color:var(--red);color:var(--red)}.progress-add-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:24px}.progress-textarea{flex:1;background:var(--dw-fill-confirmed);border:1px solid var(--border);color:var(--white);padding:12px 14px;border-radius:10px;font-family:var(--dw-font-body);font-size:.88rem;resize:vertical;outline:0;min-height:70px;transition:border-color .2s;line-height:1.6}.progress-textarea:focus{border-color:var(--accent)}.progress-textarea::placeholder{color:var(--muted)}.progress-add-btn{padding:12px 20px;background:var(--accent);color:var(--black);border:none;border-radius:10px;font-family:var(--dw-font-body);font-weight:700;font-size:.82rem;letter-spacing:.5px;cursor:pointer;white-space:nowrap;transition:background .2s;align-self:flex-start}.progress-add-btn:hover{background:var(--accent-dark)}.progress-notes-list{display:flex;flex-direction:column;gap:12px}.progress-empty{text-align:center;padding:32px;color:var(--muted);font-size:.88rem;font-style:italic}.progress-note{background:var(--dw-chart-bg);border:1px solid var(--border);border-radius:12px;padding:16px 18px}.progress-note-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.progress-note-date{font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}.progress-note-edited{font-size:.68rem;color:var(--muted);font-style:italic}.progress-note-text{font-size:.88rem;line-height:1.7;color:var(--white)}.pn-btn{padding:4px 10px;background:0 0;border:1px solid var(--border);color:var(--muted);border-radius:6px;font-family:var(--dw-font-body);font-size:.72rem;cursor:pointer;transition:all .2s}.pn-btn.edit:hover{border-color:var(--accent);color:var(--accent)}.pn-btn.del:hover{border-color:var(--red);color:var(--red)}.inv-divider{height:2px;background:var(--border);margin:40px 0}.invoice-card{background:var(--mid);border:1px solid var(--border);border-radius:16px;padding:40px;position:relative;overflow:hidden;max-width:780px;margin:0 auto}.inv-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px;position:relative}.inv-logo-wrap{display:flex;align-items:center;gap:16px}.inv-logo{height:64px;width:64px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px rgba(201,162,75,.4)}.inv-brand{font-family:var(--dw-font-display);font-size:2.4rem;letter-spacing:4px;line-height:1.1;color:var(--white)}.inv-corner-teal{position:absolute;top:-40px;right:-40px;width:120px;height:120px;background:var(--accent);clip-path:polygon(100% 0,0 0,100% 100%);opacity:.9}.inv-corner-pink{position:absolute;top:40px;right:0;width:60px;height:60px;background:#e88fa0;clip-path:polygon(100% 0,0 100%,100% 100%);opacity:.7}.inv-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:28px}.inv-meta-label{font-family:var(--dw-font-body);font-size:.7rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.inv-meta-val{font-family:var(--dw-font-body);font-size:.9rem;color:var(--white);font-weight:500}.inv-contact{font-size:.75rem;color:var(--muted)}.inv-table{width:100%;border-collapse:collapse;margin-bottom:0}.inv-table thead tr{background:var(--mid2)}.inv-table th{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);padding:10px 14px;text-align:left;border:1px solid var(--border)}.inv-table td{padding:10px 14px;border:1px solid var(--border);vertical-align:top;font-size:.85rem}.inv-td-no{text-align:center;width:40px;color:var(--muted)}.inv-desc-input{width:100%;background:0 0;border:none;outline:0;color:var(--white);font-family:var(--dw-font-body);font-size:.85rem;resize:none;line-height:1.5}.inv-num-input{width:80px;background:var(--mid2);border:1px solid var(--border);color:var(--white);padding:5px 8px;border-radius:6px;font-family:var(--dw-font-body);font-size:.84rem;outline:0;text-align:right}.inv-num-input:focus{border-color:var(--accent)}.inv-pre-fill-hint{display:block;margin-top:6px;font-size:.72rem;color:var(--orange)}.inv-locked-price{display:inline-block;padding:6px 10px;background:rgba(201,162,75,.12);border:1px dashed rgba(201,162,75,.4);color:var(--white);border-radius:7px;font-family:var(--dw-font-body);font-size:.86rem;font-weight:600;white-space:nowrap}.inv-subtotal{text-align:right;font-weight:600;color:var(--white);white-space:nowrap}.inv-table tfoot td{border:none;padding-top:16px}.inv-grand-total-row{display:flex;flex-direction:column;align-items:flex-end;gap:4px;border-top:2px solid var(--accent);padding-top:12px}.inv-grand-label{font-family:var(--dw-font-display);font-size:1rem;letter-spacing:3px;color:var(--accent)}.inv-grand-amt{font-family:var(--dw-font-display);font-size:2rem;color:var(--white);letter-spacing:1px}.inv-override-row{display:flex;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;background:var(--dw-fill-confirmed);border:1px dashed #1e3a3a;border-radius:8px;flex-wrap:wrap}.inv-override-row label{font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);white-space:nowrap}.inv-override-input{width:130px;background:var(--mid2);border:1px solid var(--border);color:var(--white);padding:8px 12px;border-radius:7px;font-family:var(--dw-font-body);font-size:.88rem;outline:0}.inv-override-input:focus{border-color:var(--orange)}.inv-override-hint{font-size:.7rem;color:var(--muted);font-style:italic}.inv-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:32px;padding-top:20px;border-top:1px solid var(--border);flex-wrap:wrap;gap:20px}.inv-note-label{font-family:var(--dw-font-body);font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;color:var(--white)}.inv-note div{font-size:.8rem;color:var(--muted);line-height:1.7}.inv-sig{text-align:center;min-width:140px}.inv-sig-line{border-bottom:1px solid var(--border);margin-bottom:6px;width:140px}.inv-sig-name{font-family:var(--dw-font-script);font-size:1.6rem;color:var(--white);line-height:1}.inv-sig-title{font-size:.7rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:4px}.inv-print-row{margin-top:20px;text-align:right}.inv-print-btn{padding:9px 20px;background:0 0;border:1px solid var(--border);color:var(--muted);border-radius:8px;font-family:var(--dw-font-body);font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s}.inv-print-btn:hover{border-color:var(--accent);color:var(--accent)}.inv-status{display:inline-block;padding:3px 10px;border-radius:20px;font-size:.7rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}.inv-status.pending{background:rgba(240,144,48,.15);color:var(--orange)}.inv-status.paid{background:rgba(201,162,75,.15);color:var(--accent)}.inv-status.cancelled{background:rgba(180,180,180,.08);color:var(--muted);text-decoration:line-through}.inv-cycle-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:.74rem;font-weight:700;white-space:nowrap;margin-right:8px}.inv-cycle-pending{background:rgba(180,180,180,.12);color:var(--muted);border:1px solid rgba(180,180,180,.3)}.inv-cycle-n1{background:rgba(36,161,222,.15);color:#24a1de;border:1px solid rgba(36,161,222,.4)}.inv-cycle-n2{background:rgba(255,193,7,.15);color:#ffc107;border:1px solid rgba(255,193,7,.4)}.inv-cycle-n3{background:rgba(220,53,69,.18);color:#dc3545;border:1px solid rgba(220,53,69,.5)}.inv-cycle-paid{background:rgba(201,162,75,.15);color:var(--accent);border:1px solid rgba(201,162,75,.4)}.inv-cycle-cancelled{background:rgba(180,180,180,.08);color:var(--muted);border:1px solid rgba(180,180,180,.2);text-decoration:line-through}.client-invoices-panel{margin-top:24px;background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:24px}.cip-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}.cip-title{font-family:var(--dw-font-display);font-size:1.3rem;letter-spacing:2px}.cip-close{background:0 0;border:none;color:var(--muted);cursor:pointer;font-size:.8rem;padding:0}.cip-close:hover{color:var(--red)}.cip-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--dw-mid2);flex-wrap:wrap}.cip-row:last-child{border-bottom:none}.cip-period{font-weight:600;font-size:.9rem;flex:1;min-width:120px}.cip-amount{font-family:var(--dw-font-display);font-size:1.3rem;color:var(--accent);letter-spacing:1px;min-width:100px}.cip-date{font-size:.72rem;color:var(--muted)}.cip-mark-paid{padding:5px 14px;background:0 0;border:1px solid var(--accent);color:var(--accent);border-radius:7px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.cip-mark-paid:hover{background:var(--accent);color:var(--black)}.cip-notify-btn{background:0 0;border:1px solid var(--accent);color:var(--accent);border-radius:8px;padding:7px 14px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s}.cip-notify-btn:hover{background:rgba(201,162,75,.12)}.cip-cancel-inv-trainer{background:0 0;border:1px solid var(--dw-red);color:var(--dw-red);border-radius:8px;padding:7px 14px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .2s}.cip-cancel-inv-trainer:hover{background:rgba(200,74,74,.12)}.cip-cancel-inv{padding:5px 14px;background:0 0;border:1px solid var(--danger,var(--dw-red));color:var(--danger,var(--dw-red));border-radius:7px;font-size:.75rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap;margin-left:6px}.cip-cancel-inv:hover{background:var(--danger,var(--dw-red));color:var(--white)}.cip-delete{padding:5px 10px;background:0 0;border:1px solid var(--border);color:var(--muted);border-radius:7px;font-size:.75rem;cursor:pointer;transition:all .2s}.cip-delete:hover{border-color:var(--red);color:var(--red)}.cip-empty{color:var(--muted);font-style:italic;font-size:.85rem;padding:12px 0}.profile-panel{margin-top:24px;background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:24px}.profile-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.profile-panel-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--dw-font-display);font-size:1.5rem;letter-spacing:2px}.close-btn{background:0 0;border:none;color:var(--muted);cursor:pointer;font-size:1.4rem;line-height:1;padding:0 4px}.close-btn:hover{color:var(--red)}.profile-panel-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:18px}.profile-tab{position:relative;padding:8px 14px;background:0 0;border:1px solid var(--border);color:var(--muted);border-radius:8px;font-family:var(--dw-font-body);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s}.profile-tab:hover{border-color:var(--accent);color:var(--white)}.profile-tab.active{background:var(--accent);border-color:var(--accent);color:var(--black)}.tab-dot{display:inline-block;width:7px;height:7px;background:var(--red,var(--dw-red));border-radius:50%;margin-left:6px;vertical-align:middle}.profile-tab-content{min-height:120px}.profile-contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.profile-contact-grid>div,.profile-info-card{background:var(--dw-chart-bg);border:1px solid var(--border);border-radius:10px;padding:14px}.profile-contact-grid label,.profile-info-card label{display:block;font-size:.65rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.pending-pill,.telegram-linked-badge,.verified-pill{display:inline-block;padding:4px 9px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.6px}.verified-pill{background:rgba(201,162,75,.14);border:1px solid rgba(201,162,75,.32);color:var(--accent)}.pending-pill{background:rgba(240,144,48,.12);border:1px solid rgba(240,144,48,.32);color:var(--orange)}.telegram-linked-badge{background:rgba(36,161,222,.08);border:1px solid rgba(36,161,222,.4);color:#24a1de}.profile-notes-shell{display:flex;flex-direction:column;gap:16px}.profile-notes-actions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap}.profile-notes-actions .progress-textarea{min-width:240px}.profile-badge-actions{display:flex;justify-content:flex-start;margin-bottom:14px}.membership-state-active,.membership-state-empty,.membership-state-pending{border:1px solid var(--border);border-radius:10px;padding:14px;margin-bottom:16px;font-size:.88rem;line-height:1.6}.membership-state-empty{background:rgba(255,255,255,.03);color:var(--muted)}.membership-state-active{background:rgba(201,162,75,.08);border-color:rgba(201,162,75,.25)}.membership-state-pending{background:rgba(240,144,48,.08);border-color:rgba(240,144,48,.25)}.profile-membership-form{display:flex;flex-direction:column;gap:14px}.profile-membership-form label{display:flex;flex-direction:column;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.profile-membership-form input[type=number],.profile-membership-form select{background:var(--dw-mid);border:1px solid #333;color:var(--white);padding:10px 12px;border-radius:8px;font-family:var(--dw-font-body);font-size:.88rem;outline:0}.profile-membership-form input[type=number]:focus,.profile-membership-form select:focus{border-color:var(--accent)}.profile-slot-picker{border:1px solid var(--border);border-radius:10px;background:var(--black);padding:12px;max-height:380px;overflow-y:auto}.membership-pattern-wrap{border:1px solid var(--border);border-radius:10px;background:var(--black);padding:12px;overflow-x:auto}.membership-pattern-grid{width:100%;min-width:560px;border-collapse:collapse;table-layout:fixed}.membership-pattern-grid td,.membership-pattern-grid th{border-bottom:1px solid rgba(255,255,255,.06);padding:8px 6px;text-align:center;font-size:.8rem}.membership-pattern-grid thead th{color:var(--accent);font-size:.72rem;text-transform:uppercase;letter-spacing:1px}.membership-pattern-grid .slot-head{text-align:left;color:var(--white);font-weight:700;width:110px}.membership-pattern-grid input{accent-color:var(--accent);width:16px;height:16px;cursor:pointer}.pattern-cell-disabled{color:var(--muted);opacity:.42;background:rgba(255,255,255,.02)}.pattern-drift-warning{display:none;border-left:2px solid var(--orange);padding:8px 10px;background:rgba(240,144,48,.08);color:var(--orange);font-size:.78rem;line-height:1.45}.pattern-generated-summary{font-size:.78rem;color:var(--muted);line-height:1.5}.generate-sessions-inline{align-self:flex-start;background:rgba(201,162,75,.08);border:1px solid rgba(201,162,75,.35);color:var(--accent);border-radius:8px;padding:9px 14px;font-family:var(--dw-font-body);font-size:.8rem;font-weight:700;cursor:pointer}.generate-sessions-inline:hover{background:rgba(201,162,75,.14)}.profile-primary-btn:disabled{opacity:.45;cursor:not-allowed}.slot-week-label{font-size:.7rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:10px 0 6px}.slot-week-label:first-child{margin-top:0}.slot-pick{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.05);font-size:.84rem;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--white)!important;cursor:pointer}.slot-pick:last-child{border-bottom:none}.slot-pick.disabled{opacity:.48;cursor:default}.slot-pick input{accent-color:var(--accent);width:15px;height:15px;flex-shrink:0}.reserved-tag{font-size:.68rem;color:var(--accent);margin-left:auto}.profile-primary-btn{align-self:flex-start;background:var(--accent);color:var(--black);border:none;border-radius:8px;padding:11px 20px;font-family:var(--dw-font-body);font-size:.86rem;font-weight:800;cursor:pointer}.profile-primary-btn:hover{background:var(--accent-dark)}.helper-text{font-size:.78rem;color:var(--muted);line-height:1.6;margin:0}.inv-send-btn{padding:9px 22px;background:var(--accent);color:var(--black);border:none;border-radius:8px;font-family:var(--dw-font-body);font-size:.8rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .2s}.inv-send-btn:hover{background:var(--dw-accent-dark)}.inv-send-btn:disabled{opacity:.5;cursor:default}.my-invoices{max-width:980px;margin:0 auto;padding:0 32px 48px}.my-invoices-title{font-family:var(--dw-font-display);font-size:2rem;letter-spacing:2px;margin-bottom:20px}.my-invoices-title span{color:var(--accent)}.mi-card{background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:22px;margin-bottom:14px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.mi-period{font-family:var(--dw-font-display);font-size:1.4rem;letter-spacing:1px;flex:1;min-width:150px}.mi-amount{font-family:var(--dw-font-display);font-size:2rem;color:var(--accent);letter-spacing:1px}.mi-meta{flex:2;min-width:180px}.mi-lines{font-size:.8rem;color:var(--muted);line-height:1.8}.mi-bank{margin-top:10px;padding:10px 14px;background:var(--dw-fill-confirmed);border-radius:8px;font-size:.78rem;color:var(--muted);line-height:1.8}.mi-bank strong{color:var(--white)}.mi-date{font-size:.72rem;color:var(--muted);margin-top:4px}.mi-empty{color:var(--muted);font-style:italic;text-align:center;padding:40px 0}.dash-subtabs{max-width:980px;margin:0 auto 0;padding:0 32px 0;display:flex;gap:8px;flex-wrap:wrap}.dash-tab{padding:10px 22px;border:1px solid var(--border);border-radius:8px;background:0 0;color:var(--muted);font-family:var(--dw-font-body);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s;letter-spacing:.5px}.dash-tab.active{background:var(--accent);color:var(--black);border-color:var(--accent)}.dash-tab:hover:not(.active){border-color:var(--accent);color:var(--white)}.tab-notif{background:var(--red);color:var(--white);border-radius:999px;padding:1px 7px;font-size:.68rem;margin-left:4px;vertical-align:middle;font-weight:700;display:inline-block;min-width:18px;text-align:center;animation:notifPulse 2s ease-in-out 3}@keyframes notifPulse{0%,100%{box-shadow:0 0 0 0 rgba(224,80,80,.4)}50%{box-shadow:0 0 8px 2px rgba(224,80,80,.6)}}.dash-body{max-width:980px;margin:0 auto;padding:24px 32px 60px}.dash-panel{display:none}.dash-panel.active{display:block}.mys-card{background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:20px 24px;margin-bottom:12px;display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.mys-date-block{min-width:70px;text-align:center;background:rgba(201,162,75,.08);border:1px solid rgba(201,162,75,.2);border-radius:10px;padding:10px 14px}.mys-day{font-family:var(--dw-font-display);font-size:2rem;color:var(--accent);line-height:1}.mys-month{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}.mys-info{flex:1;min-width:180px}.mys-time{font-size:.9rem;font-weight:700;color:var(--white);margin-bottom:4px}.mys-note{font-size:.78rem;color:var(--accent);margin-top:6px;padding:6px 10px;background:rgba(201,162,75,.08);border-left:2px solid var(--accent);border-radius:0 6px 6px 0}.mys-rating-area{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:160px}.mys-stars{display:flex;gap:4px}.mys-star{font-size:1.4rem;cursor:pointer;transition:transform .15s,opacity .15s;opacity:.3;line-height:1}.mys-star.filled{opacity:1}.mys-star:hover{transform:scale(1.2)}.mys-rate-label{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted)}.mys-rated-label{font-size:.72rem;color:var(--accent);font-weight:600}.mys-empty{color:var(--muted);font-style:italic;text-align:center;padding:60px 0;font-size:.9rem}.myp-empty{color:var(--muted);font-style:italic;text-align:center;padding:60px 0;font-size:.9rem}.myp-card{background:var(--mid);border:1px solid var(--border);border-radius:12px;padding:18px 22px;margin-bottom:10px}.myp-date{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.myp-text{font-size:.88rem;line-height:1.7;color:var(--white)}#timeline-list{display:flex;flex-direction:column;gap:10px}.inline-notice-banner{margin:12px 20px}.inline-notice-content{background:rgba(255,193,7,.1);border:1px solid rgba(255,193,7,.4);border-radius:10px;padding:12px 16px;display:flex;gap:12px;align-items:center}.inline-notice-icon{font-size:1.2rem}.inline-notice-body{flex:1;color:var(--white);font-size:.92rem}.inline-notice-date{display:block;font-size:.78rem;color:var(--muted);margin-top:2px;font-weight:500}.inline-notice-dismiss{background:0 0;border:none;color:var(--muted);font-size:1.4rem;cursor:pointer;padding:0 8px}#progress-timeline-feed{display:flex;flex-direction:column;gap:14px;padding:20px;max-width:820px;margin:0 auto 60px}.prog-entry{display:flex;gap:16px;padding:16px 18px;background:rgba(201,162,75,.06);border:1px solid rgba(201,162,75,.18);border-radius:12px}.prog-entry-badge{background:rgba(255,193,7,.08);border-color:rgba(255,193,7,.3)}.prog-date{flex:0 0 110px;font-size:.82rem;color:var(--muted);font-weight:600}.prog-body{flex:1}.prog-title{font-weight:700;color:var(--white);margin-bottom:6px}.prog-rating{font-size:.86rem;color:var(--accent)}.prog-rating-pending{color:var(--muted);font-style:italic}.prog-badges{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}.prog-badge{padding:3px 10px;background:rgba(255,193,7,.15);border:1px solid rgba(255,193,7,.4);color:#ffc107;border-radius:999px;font-size:.78rem;font-weight:600}.prog-note{font-size:.84rem;color:var(--muted);margin-top:4px;font-style:italic}.prog-empty{text-align:center;color:var(--muted);padding:40px}#view-account-content{padding:20px;max-width:720px;margin:0 auto}.account-section{margin-bottom:24px;padding:18px 22px;background:rgba(201,162,75,.04);border:1px solid rgba(201,162,75,.12);border-radius:12px}.account-section h3{font-family:var(--dw-font-display);font-size:1.1rem;letter-spacing:1px;color:var(--accent);margin:0 0 16px}.account-field{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(201,162,75,.1)}.account-field:last-child{border-bottom:none}.account-field label{color:var(--muted);font-size:.86rem}.account-field span{color:var(--white);font-size:.92rem;font-weight:600;text-align:right;overflow-wrap:anywhere}.account-tg-linked{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:var(--white)}.account-tg-disconnect{background:0 0;border:1px solid var(--muted);color:var(--muted);padding:7px 14px;border-radius:7px;font-size:.82rem;cursor:pointer}.account-tg-unlinked p{color:var(--muted);margin:0 0 12px;font-size:.9rem}.account-tg-connect{background:#24a1de;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:700;font-size:.92rem;cursor:pointer;box-shadow:0 4px 14px rgba(36,161,222,.4)}.account-signout-btn{background:0 0;border:1px solid var(--red,var(--dw-red));color:var(--red,var(--dw-red));padding:12px 28px;border-radius:8px;font-weight:700;font-size:.94rem;cursor:pointer;width:100%}.account-signout-btn:hover{background:var(--red,var(--dw-red));color:var(--white)}#view-apply-gate{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:40px 24px;text-align:center}.apply-gate{max-width:540px}.apply-gate h1{font-family:var(--dw-font-display);font-size:2.6rem;letter-spacing:1px;color:var(--white);margin:0 0 16px}.ag-accent{color:var(--accent)}.apply-gate p{color:var(--muted);font-size:1rem;margin:0 0 28px}.ag-cta{display:inline-block;background:var(--accent);color:var(--black);padding:16px 36px;border-radius:10px;font-weight:800;font-size:1.05rem;text-decoration:none;box-shadow:0 6px 24px rgba(201,162,75,.35)}.ag-secondary{font-size:.86rem;margin-top:24px}.ag-secondary a{color:var(--muted);text-decoration:none}.tl-item{background:var(--mid);border:1px solid var(--border);border-radius:12px;padding:18px 22px;position:relative}.tl-note{border-left:3px solid var(--accent)}.tl-note-text{font-size:.88rem;line-height:1.7;color:var(--white)}.tl-badge{display:flex;gap:16px;align-items:center}.tl-badge-emoji{font-size:2.2rem;flex-shrink:0}.tl-badge-name{font-size:.95rem;font-weight:700;color:var(--white)}.tl-badge-cat{font-size:.65rem;text-transform:uppercase;letter-spacing:1px;background:var(--black);color:var(--accent);padding:2px 8px;border-radius:20px;display:inline-block}.tl-badge-info{flex:1;display:flex;flex-direction:column;gap:4px}.tl-badge-note{font-size:.82rem;color:var(--muted);font-style:italic;margin-top:4px}.tl-date{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.tl-unseen{border-color:var(--accent);box-shadow:0 0 12px rgba(201,162,75,.3);animation:badgePulse 2s ease-in-out infinite}.tl-new-tag{position:absolute;top:8px;right:10px;font-size:.6rem;font-weight:700;background:var(--accent);color:var(--black);padding:2px 6px;border-radius:4px}.tl-month-header{font-family:var(--dw-font-display);font-size:1.1rem;letter-spacing:2px;text-transform:uppercase;color:var(--muted);padding:12px 0 4px 2px;border-bottom:1px solid var(--border);margin-bottom:4px}.tl-month-header:first-child{padding-top:0}.timeline-empty{text-align:center;color:var(--muted);font-style:italic;padding:60px 20px;font-size:.9rem}.feedback-prompt-card{background:rgba(42,31,0,.3);border:1px solid rgba(201,162,75,.3);border-radius:12px;padding:20px;margin-bottom:16px;transition:opacity .3s ease}.feedback-prompt-card h3{margin:0 0 4px;font-size:1.1rem;font-weight:700;color:var(--dw-white)}.feedback-prompt-card .fp-session-detail{font-size:.82rem;color:var(--dw-muted);margin-bottom:16px}.vibe-row{display:flex;gap:8px;justify-content:center;margin-bottom:16px}.vibe-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:12px;border:2px solid transparent;background:0 0;cursor:pointer;transition:all .15s;min-width:56px}.vibe-btn:hover{transform:scale(1.08);background:rgba(201,162,75,.08)}.vibe-btn.selected{border-color:var(--dw-accent);background:rgba(201,162,75,.15)}.vibe-btn .vb-emoji{font-size:2rem;line-height:1}.vibe-btn .vb-label{font-size:.62rem;color:rgba(255,255,255,.7);text-align:center;line-height:1.2;max-width:60px}.feedback-textarea{width:100%;box-sizing:border-box;background:rgba(33,26,16,.65);border:1px solid rgba(255,255,255,.15);border-radius:8px;color:var(--dw-white);padding:10px 12px;font-size:.85rem;resize:vertical;min-height:60px;max-height:120px;margin-bottom:12px;font-family:inherit}.feedback-textarea::placeholder{color:var(--dw-muted)}.feedback-textarea:focus{outline:0;border-color:rgba(201,162,75,.45)}.feedback-actions{display:flex;align-items:center;justify-content:space-between}.feedback-submit{background:var(--dw-accent);color:var(--dw-black);font-weight:700;border:none;border-radius:8px;padding:10px 20px;font-size:.88rem;cursor:pointer;transition:opacity .15s}.feedback-submit:disabled{opacity:.3;cursor:not-allowed}.feedback-skip{background:0 0;border:none;color:var(--dw-muted);font-size:.82rem;cursor:pointer;padding:8px}.feedback-skip:hover{text-decoration:underline}.tl-feedback{border-left:3px solid var(--dw-accent)}.tl-feedback .tl-vibe-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tl-feedback .tl-vibe-emoji{font-size:1.2rem}.tl-feedback .tl-vibe-label{font-weight:700;font-size:.88rem;color:var(--dw-white)}.tl-feedback .tl-vibe-date{font-size:.75rem;color:var(--dw-muted)}.tl-feedback .tl-vibe-comment{font-size:.82rem;color:var(--dw-muted);font-style:italic;margin-top:6px;line-height:1.5}.feedback-empty{color:var(--muted);font-style:italic;text-align:center;padding:40px 20px;font-size:.85rem;line-height:1.6}.feedback-trend{font-size:1.4rem;letter-spacing:2px;margin-bottom:12px}.feedback-section-header{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}.badge-collection{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;padding:8px 0}.badge-tile{background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:18px 14px;text-align:center;transition:all .25s;position:relative}.badge-tile:hover{border-color:var(--accent);transform:translateY(-2px)}.badge-tile .bt-emoji{font-size:2.2rem;line-height:1;margin-bottom:8px}.badge-tile .bt-name{font-size:.72rem;font-weight:700;letter-spacing:.5px;color:var(--white);margin-bottom:4px}.badge-tile .bt-date{font-size:.62rem;color:var(--muted);letter-spacing:.5px}.badge-tile .bt-disc{font-size:.6rem;text-transform:uppercase;letter-spacing:.8px;color:var(--accent);font-weight:700;margin-bottom:4px}.badge-tile .bt-by{font-size:.6rem;color:var(--muted);letter-spacing:.5px;margin-top:3px}.badge-tile .bt-note{font-size:.68rem;color:var(--accent);margin-top:6px;font-style:italic;line-height:1.4}.badge-tile.unseen{border-color:var(--accent);box-shadow:0 0 12px rgba(201,162,75,.3);animation:badgePulse 2s ease-in-out infinite}@keyframes badgePulse{0%,100%{box-shadow:0 0 12px rgba(201,162,75,.3)}50%{box-shadow:0 0 20px rgba(201,162,75,.5)}}.badge-new-tag{position:absolute;top:8px;right:8px;background:var(--accent);color:var(--black);font-size:.55rem;font-weight:800;padding:2px 6px;border-radius:8px;letter-spacing:1px;text-transform:uppercase}.badge-cat-header{font-size:.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border)}.badge-empty{color:var(--muted);font-style:italic;text-align:center;padding:60px 0;font-size:.9rem}.badge-summary-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px}.badge-summary-pill{background:var(--mid);border:1px solid var(--border);border-radius:10px;padding:8px 14px;display:flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:var(--white)}.badge-summary-pill .bsp-num{color:var(--accent);font-size:1.1rem;font-weight:700}.award-badge-btn{background:linear-gradient(135deg,#2a1f00,#1a1500);border:1px solid #a78b00;color:gold;border-radius:8px;padding:8px 14px;font-size:.78rem;font-weight:700;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.award-badge-btn:hover{background:#3a2f00;border-color:gold}.award-modal-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;max-height:260px;overflow-y:auto;padding:4px 0}.award-modal-badge{background:var(--mid);border:2px solid var(--border);border-radius:10px;padding:12px 8px;text-align:center;cursor:pointer;transition:all .15s}.award-modal-badge:hover{border-color:var(--accent)}.award-modal-badge.selected{border-color:var(--accent);background:var(--dw-fill-confirmed);box-shadow:0 0 8px rgba(201,162,75,.3)}.award-modal-badge .amb-emoji{font-size:1.5rem;margin-bottom:4px}.award-modal-badge .amb-name{font-size:.68rem;font-weight:600;color:var(--white)}.badge-notif-banner{background:linear-gradient(135deg,var(--dw-fill-confirmed),#0d2a2a);border:1px solid var(--accent);border-radius:12px;padding:14px 20px;margin:0 auto 16px;max-width:980px;display:flex;align-items:center;gap:12px;animation:badgePulse 2s ease-in-out infinite;cursor:pointer}.badge-notif-banner:hover{background:#2a1f00}.badge-notif-emoji{font-size:1.6rem}.badge-notif-text{flex:1;font-size:.88rem;font-weight:600;color:var(--white)}.badge-notif-text span{color:var(--accent)}.badge-notif-btn{background:var(--accent);color:var(--black);border:none;border-radius:8px;padding:8px 16px;font-size:.78rem;font-weight:700;cursor:pointer}.client-badges-mini{display:flex;gap:2px;flex-wrap:wrap}.client-badges-mini span{font-size:.9rem;cursor:default}#loading-bar{position:fixed;top:0;left:0;right:0;height:3px;background:0 0;z-index:9999;pointer-events:none}#loading-bar.loading-active{background:linear-gradient(90deg,var(--accent),var(--accent-light),var(--accent));background-size:200%;animation:loadbar 1.2s linear infinite}@keyframes loadbar{0%{background-position:100%}100%{background-position:-100%}}@media print{#toast,.admin-subtabs,.billing-controls,.nav-tabs,.no-print,header{display:none!important}body{background:#fff;color:#000}body[data-print-invoice]:not([data-print-invoice=all]) .invoice-card{display:none!important}body[data-print-invoice]:not([data-print-invoice=all]) .invoice-card[id]{display:none!important}body[data-print-invoice]:not([data-print-invoice=all]) #invoices-container>*{display:none!important}.invoice-card{background:#fff!important;border:1px solid #ddd!important;color:#000!important;border-radius:0!important;page-break-after:always;max-width:100%;padding:30px!important}.inv-brand{color:#000!important}.inv-meta-val{color:#000!important}.inv-meta-label{color:#555!important}.inv-note div{color:#333!important}.inv-note-label{color:#000!important}.inv-contact{color:#555!important}.inv-table th{color:#555!important;background:#f5f5f5!important}.inv-table td{color:#000!important;border-color:#ccc!important}.inv-table th{border-color:#ccc!important}.inv-desc-input{color:#000!important}.inv-num-input{background:#f5f5f5!important;color:#000!important;border-color:#ccc!important}.inv-subtotal{color:#000!important}.inv-grand-label{color:#a8863a!important}.inv-grand-amt{color:#000!important}.inv-sig-line{border-color:#000!important}.inv-sig-name{color:#000!important}.inv-sig-title{color:#555!important}.inv-corner-teal{background:var(--dw-accent)!important}.billing-report{display:block!important}.inv-divider{display:none!important}.report-header{display:none!important}.inv-footer{border-top-color:#ccc!important}}.mobile-top-bar{display:none}#client-app-header{display:none}body.client-shell-active #client-app-header{display:flex;position:fixed;top:0;left:0;right:0;z-index:350;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));background:rgba(11,9,7,.97);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,162,75,.2);min-height:62px;align-items:center;gap:12px}body.client-shell-active #client-app-header .cah-left,body.client-shell-active #client-app-header .cah-right{flex:0 0 auto}body.client-shell-active #client-app-header .cah-centre{flex:1 1 auto;min-width:0;text-align:center}body.client-shell-active #client-app-header .cah-logo{height:32px;width:32px;border-radius:50%;box-shadow:0 0 0 2px var(--dw-accent-wash),0 0 10px rgba(201,162,75,.18)}body.client-shell-active #client-app-header .cah-title{font-family:var(--dw-font-display);font-size:1.25rem;letter-spacing:1.5px;margin:0;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}body.client-shell-active #client-app-header .cah-title .dw-italic{color:var(--dw-accent);font-style:normal;font-weight:700}body.client-shell-active #client-app-header .cah-avatar{width:36px;height:36px;border-radius:50%;border:1px solid rgba(201,162,75,.4);background:var(--mid);color:var(--accent);font-weight:700;font-size:.82rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}body.client-shell-active #mobile-top-bar,body.client-shell-active header:not(#client-app-header){display:none!important}@media (min-width:641px){body.client-shell-active header:not(#client-app-header){display:flex!important}body.client-shell-active #mobile-top-bar{display:none!important}body.client-shell-active #client-app-header{display:none!important}body.client-shell-active #view-account,body.client-shell-active #view-client,body.client-shell-active #view-dashboard,body.client-shell-active #view-invoices,body.client-shell-active #view-membership,body.client-shell-active #view-noticeboard,body.client-shell-active #view-progress,body.client-shell-active #view-shop{padding-top:0!important}}body.client-shell-active #view-account,body.client-shell-active #view-client,body.client-shell-active #view-dashboard,body.client-shell-active #view-invoices,body.client-shell-active #view-membership,body.client-shell-active #view-noticeboard,body.client-shell-active #view-progress,body.client-shell-active #view-shop{padding-top:var(--client-shell-top)}body.client-shell-active #view-account .client-hero h1,body.client-shell-active #view-client .client-hero h1,body.client-shell-active #view-dashboard .client-hero h1,body.client-shell-active #view-invoices .client-hero h1,body.client-shell-active #view-membership .client-hero h1,body.client-shell-active #view-noticeboard .client-hero h1,body.client-shell-active #view-progress .client-hero h1,body.client-shell-active #view-shop .client-hero h1{display:none}body.client-shell-active #view-account .client-hero,body.client-shell-active #view-client .client-hero,body.client-shell-active #view-dashboard .client-hero,body.client-shell-active #view-invoices .client-hero,body.client-shell-active #view-membership .client-hero,body.client-shell-active #view-noticeboard .client-hero,body.client-shell-active #view-progress .client-hero,body.client-shell-active #view-shop .client-hero{padding-top:8px;padding-bottom:12px}@media (min-width:768px){body.client-shell-active #client-app-header{padding-left:32px;padding-right:32px}body.client-shell-active #client-app-header .cah-title{font-size:1.5rem}}.cah-sheet[hidden]{display:none}.cah-sheet{position:fixed;inset:0;z-index:1100}.cah-sheet-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55)}.cah-sheet-panel{position:absolute;left:0;right:0;bottom:0;background:var(--mid);border-top:1px solid rgba(201,162,75,.3);border-radius:16px 16px 0 0;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));max-height:80vh;overflow-y:auto}.cah-sheet-header{display:flex;align-items:center;gap:12px}.cah-sheet-avatar{width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--black);font-weight:800;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.cah-sheet-name{color:var(--white);font-weight:800}.cah-sheet-meta{color:var(--muted);font-size:.82rem;margin-top:2px}.cah-sheet-close{margin-left:auto;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:0 0;color:var(--muted);font-size:1.4rem;cursor:pointer}.cah-sheet-list{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px}.cah-sheet-list button{width:100%;min-height:48px;border:1px solid var(--border);border-radius:10px;background:var(--mid2);color:var(--white);font-family:var(--dw-font-body);font-weight:700;text-align:left;padding:12px 14px;cursor:pointer}.cah-sheet-list button:hover{border-color:var(--accent);color:var(--accent)}.cah-sheet-list .cah-action-danger{border-color:rgba(224,80,80,.35);color:var(--red)}@media (min-width:768px){.cah-sheet-panel{left:50%;right:auto;bottom:auto;top:80px;transform:translateX(-50%);width:min(420px,calc(100% - 32px));border-radius:16px;border:1px solid rgba(201,162,75,.3)}}.portal-mobile-nav,.portal-more-sheet{display:none}@media (max-width:640px){.mobile-top-bar{display:flex!important;justify-content:space-between;align-items:center;position:fixed;top:0;left:0;right:0;z-index:350;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));padding-left:calc(16px + env(safe-area-inset-left,0px));padding-right:calc(16px + env(safe-area-inset-right,0px));background:var(--dw-black);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(201,162,75,.2);min-height:62px}.mobile-top-bar.mtb-hidden{display:none!important}.mtb-link{background:0 0;border:none;color:var(--muted,var(--dw-muted));font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;min-height:44px;min-width:44px;display:inline-flex;align-items:center;padding:8px 4px;-webkit-tap-highlight-color:transparent}.mtb-book{flex:1;justify-content:flex-start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:12px}.mtb-signin,.mtb-signout{flex-shrink:0;white-space:nowrap}.mtb-link:active{opacity:.7}.mtb-book{color:var(--accent,var(--dw-accent))}.mtb-signout{color:var(--red,var(--dw-red))}.mtb-icon{margin-right:4px}.mobile-bottom-nav.nav-hidden{display:none!important}.portal-mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:1001;display:none;justify-content:space-around;background:#0f1919;border-top:1px solid rgba(201,162,75,.3);padding:6px 0 env(safe-area-inset-bottom,6px);gap:0}.portal-mobile-nav.nav-visible{display:flex}.portal-mobile-nav .portal-nav-btn{flex:1;min-width:0;background:0 0;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 2px;min-height:58px;font-family:var(--dw-font-body);font-size:.68rem;font-weight:600;cursor:pointer}.portal-mobile-nav .portal-nav-btn.active{color:var(--accent)}.portal-mobile-nav .portal-nav-btn .nav-icon{font-size:1.28rem;line-height:1}.portal-more-sheet{position:fixed;inset:0;z-index:1002;background:rgba(0,0,0,.65);align-items:flex-end;justify-content:center;padding:16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.portal-more-sheet.open{display:flex}.portal-more-sheet-card{width:100%;max-width:420px;background:var(--mid);border:1px solid var(--border);border-radius:18px 18px 12px 12px;padding:14px 14px calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 40px rgba(0,0,0,.35)}.portal-more-sheet-handle{width:44px;height:4px;border-radius:999px;background:rgba(130,160,160,.35);margin:0 auto 12px}.portal-more-sheet-title{font-size:.82rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;padding:0 4px}.portal-more-sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-more-sheet-grid.single-col{grid-template-columns:1fr}.portal-more-action{display:flex;align-items:center;gap:10px;background:var(--mid2);border:1px solid var(--border);color:var(--white);border-radius:12px;padding:14px 12px;text-align:left;font-family:var(--dw-font-body);font-size:.88rem;font-weight:700;cursor:pointer;min-height:54px}.portal-more-action.active{border-color:var(--accent);color:var(--accent)}.portal-more-action.danger{border-color:rgba(224,80,80,.35);color:var(--red)}body.portal-nav-active{padding-bottom:78px!important}body.portal-nav-active #toast{bottom:90px}}@media(max-width:640px){header{padding:14px 16px;flex-wrap:wrap;gap:10px}.header-auth{display:none}.admin-header,.admin-subtabs,.admin-subview,.client-hero,.dash-body,.dash-subtabs,.sessions-grid,.week-nav{padding-left:16px;padding-right:16px}}@media(max-width:480px){.admin-subtabs{flex-wrap:wrap;gap:4px}.admin-subtabs .subtab{flex:1 1 30%;font-size:.75rem;padding:8px 4px;text-align:center;white-space:nowrap}}#toast.success{background:#2ecc71;color:#fff}.nav-tab{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.user-pill{min-height:44px}.user-pill .sign-out-link{min-height:44px;display:inline-flex;align-items:center;padding:4px 8px}.week-nav button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem}.dash-tab{min-height:44px;display:inline-flex;align-items:center}.session-card.session-past{opacity:.4;filter:grayscale(40%);pointer-events:none;position:relative}.session-card.session-past .sc-book-btn{display:none}.session-group-label{font-family:var(--dw-font-display);font-size:.85rem;color:var(--muted);letter-spacing:2px;text-transform:uppercase;margin:20px 0 10px;grid-column:1/-1}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-account-tab{display:none}.mobile-account-tab.mob-hidden{display:none}@media(max-width:640px){.desktop-only-nav{display:none!important}.mobile-bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:1000;display:flex!important;justify-content:space-around;background:#0f1919;border-top:1px solid rgba(201,162,75,.3);border-radius:0;padding:6px 0 env(safe-area-inset-bottom,6px);gap:0}.mobile-bottom-nav{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}.mobile-bottom-nav .nav-tab{flex-direction:column;font-size:.62rem;padding:4px 2px;min-height:52px;gap:1px;border-radius:0;background:0 0!important;letter-spacing:0;flex:1;min-width:0;text-align:center}.mobile-bottom-nav .tab-icon{display:block;font-size:1.2rem;line-height:1}.mobile-bottom-nav .tab-label-full{display:none}.mobile-bottom-nav .tab-label-short{display:block;overflow:hidden;text-overflow:ellipsis}.nav-tab.active{background:0 0!important;color:var(--accent);border-bottom:2px solid var(--accent)}.nav-tab:not(.active){color:var(--muted)}header .logo{display:none}header .user-pill{display:none}.mobile-account-tab{display:inline-flex}.mobile-account-tab.mob-hidden{display:none}header{border-bottom:none;padding:0;position:static;background:0 0}body{padding-bottom:68px}#toast{bottom:80px;right:16px;left:16px;max-width:none}.sessions-grid{grid-template-columns:1fr!important;gap:12px}.mem-slot-grid{grid-template-columns:1fr!important}body.portal-nav-active .admin-subtabs{display:none!important}body.client-shell-active #view-account,body.client-shell-active #view-client,body.client-shell-active #view-dashboard,body.client-shell-active #view-invoices,body.client-shell-active #view-membership,body.client-shell-active #view-noticeboard,body.client-shell-active #view-progress,body.client-shell-active #view-shop{padding-top:var(--client-shell-top);padding-bottom:88px}body.client-shell-active #view-account .client-hero,body.client-shell-active #view-client .client-hero,body.client-shell-active #view-dashboard .client-hero,body.client-shell-active #view-invoices .client-hero,body.client-shell-active #view-membership .client-hero,body.client-shell-active #view-noticeboard .client-hero,body.client-shell-active #view-progress .client-hero,body.client-shell-active #view-shop .client-hero{padding-top:8px;padding-bottom:12px;min-height:auto}body.client-shell-active #view-account .client-hero p,body.client-shell-active #view-dashboard .client-hero p,body.client-shell-active #view-invoices .client-hero p,body.client-shell-active #view-membership .client-hero p,body.client-shell-active #view-noticeboard .client-hero p,body.client-shell-active #view-progress .client-hero p,body.client-shell-active #view-shop .client-hero p{max-width:100%}body.client-shell-active .dash-subtabs{position:sticky;top:var(--client-shell-top);z-index:220;margin:0;padding-top:12px;padding-bottom:12px;background:rgba(11,9,7,.96);border-bottom:1px solid rgba(201,162,75,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}body.client-shell-active .dash-subtabs::-webkit-scrollbar{display:none}body.client-shell-active .dash-tab{flex:0 0 auto}body.client-shell-active .dash-body{padding-top:18px;padding-bottom:104px}body.client-shell-active .my-invoices{padding-left:0;padding-right:0}}#mobile-top-bar,header{display:none}.location-splash{position:fixed;inset:0;z-index:9000;background:#0a0a0a;color:#fff;display:none;align-items:center;justify-content:center;padding:24px}.location-splash.active{display:flex}.location-splash-inner{max-width:560px;width:100%;text-align:center}.location-splash-title{font-size:2rem;font-weight:600;margin:0 0 32px}.location-splash-options{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.location-card{flex:1;padding:24px;border:1px solid var(--dw-border-hover);border-radius:12px;background:var(--dw-mid);color:#fff;cursor:pointer;text-align:left;font-family:inherit;min-height:88px;transition:border-color 120ms,transform 120ms}.location-card:focus-visible,.location-card:hover{border-color:var(--dw-accent);transform:translateY(-1px);outline:0}.location-card-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6;margin-bottom:4px}.location-card-name{font-size:1.25rem;font-weight:600;margin-bottom:4px}.location-card-meta{font-size:.8rem;opacity:.55;margin-bottom:12px}.location-card-cta{font-size:.875rem;color:var(--dw-accent)}@media (min-width:640px){.location-splash-options{flex-direction:row;flex-wrap:wrap;justify-content:center}.location-card{flex:1 1 200px;min-width:200px;max-width:280px}}.location-splash-tagline{font-size:.9rem;opacity:.6;margin:0}#view-landing{background:var(--black,var(--dw-black))}#view-landing .landing-nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:calc(16px + env(safe-area-inset-top,0px)) 32px 16px;background:rgba(11,9,7,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border,var(--dw-border))}#view-landing .landing-nav-logo{font-family:var(--dw-font-display);font-size:1.5rem;letter-spacing:2px;color:var(--white,var(--dw-white));text-decoration:none}#view-landing .landing-nav-logo span{color:var(--accent,var(--dw-accent))}#view-landing .landing-nav-links{display:flex;gap:32px;align-items:center}#view-landing .landing-nav-links a{color:var(--muted,var(--dw-muted));text-decoration:none;font-size:.88rem;font-weight:500;letter-spacing:.5px;transition:color .2s}#view-landing .landing-nav-links a:hover{color:var(--white,var(--dw-white))}#view-landing a.landing-nav-cta{background:0 0;border:1px solid var(--accent,var(--dw-accent));color:var(--accent,var(--dw-accent));padding:8px 20px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}#view-landing a.landing-nav-cta:hover{background:var(--accent,var(--dw-accent));color:var(--black,var(--dw-black))}#view-landing .landing-hamburger{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:0 0;border:none;cursor:pointer;padding:10px;border-radius:8px;transition:background .2s}#view-landing .landing-hamburger:hover{background:var(--mid,var(--dw-mid))}#view-landing .landing-hamburger-lines{display:flex;flex-direction:column;gap:5px}#view-landing .landing-hamburger-lines span{display:block;width:22px;height:2px;background:var(--white,var(--dw-white));border-radius:2px;transition:all .3s}#view-landing .landing-hero-wrapper{position:relative;min-height:100vh;overflow:hidden}#view-landing .landing-hero-bg{position:absolute;inset:0;z-index:0;background:url('/images/hero-training.webp') center/cover no-repeat}#view-landing .landing-hero-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(11,9,7,.92) 0,rgba(11,9,7,.75) 50%,rgba(11,9,7,.55) 100%),radial-gradient(ellipse 80% 60% at 70% 40%,rgba(201,162,75,.12) 0,transparent 60%)}#view-landing .landing-hero-bg::after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 120px,rgba(46,37,24,.15) 120px,rgba(46,37,24,.15) 121px),repeating-linear-gradient(90deg,transparent,transparent 120px,rgba(46,37,24,.08) 120px,rgba(46,37,24,.08) 121px);opacity:.5}#view-landing .landing-accent-shape{position:absolute;top:15%;right:5%;width:400px;height:400px;border:1px solid rgba(201,162,75,.08);border-radius:50%;z-index:0}#view-landing .landing-accent-shape::before{content:'';position:absolute;top:40px;left:40px;right:40px;bottom:40px;border:1px solid rgba(201,162,75,.05);border-radius:50%}#view-landing .landing-accent-ring{position:absolute;bottom:20%;right:15%;width:200px;height:200px;border:1px solid rgba(201,162,75,.06);border-radius:50%;z-index:0}#view-landing .landing-hero{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(120px + env(safe-area-inset-top,0px)) 32px 80px;max-width:900px;margin:0 auto}#view-landing .landing-hero-label{font-size:.82rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent,var(--dw-accent));margin-bottom:24px}#view-landing .landing-hero h1{font-family:var(--dw-font-display);font-size:clamp(3rem,8vw,5.5rem);line-height:.95;letter-spacing:2px;color:var(--white,var(--dw-white));margin-bottom:28px}#view-landing .landing-hero h1 em{font-style:normal;color:var(--accent,var(--dw-accent))}#view-landing .landing-hero-sub{font-size:1.1rem;color:var(--muted,var(--dw-muted));max-width:600px;line-height:1.7;margin-bottom:40px}#view-landing .audience-gate-badge{display:inline-block;padding:6px 12px;background:rgba(212,175,55,.12);color:var(--dw-accent);border:1px solid rgba(212,175,55,.4);border-radius:999px;font-size:.8rem;font-weight:500;letter-spacing:.02em;margin:12px 0 8px}#view-landing .audience-gate-note{font-size:.875rem;opacity:.7;margin:0 0 24px}#view-landing .audience-gate-badge[hidden]{display:none}#view-landing .landing-hero-cta{display:inline-flex;align-items:center;gap:10px;background:var(--accent,var(--dw-accent));color:var(--black,var(--dw-black));padding:14px 32px;border-radius:10px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .25s;border:none;cursor:pointer}#view-landing .landing-hero-cta:hover{background:var(--accent-light,var(--dw-accent-light));transform:translateY(-2px);box-shadow:0 8px 30px rgba(201,162,75,.25)}#view-landing .landing-hero-cta svg{width:18px;height:18px;transition:transform .2s}#view-landing .landing-hero-cta:hover svg{transform:translateX(3px)}#view-landing .landing-install-card{display:none;margin-top:20px;max-width:520px;background:linear-gradient(135deg,rgba(201,162,75,.12) 0,rgba(201,162,75,.05) 100%);border:1px solid rgba(201,162,75,.35);border-radius:14px;padding:18px 18px 16px}#view-landing .landing-install-card.visible{display:block}#view-landing .landing-install-card h3{font-size:1rem;font-weight:800;color:var(--white,var(--dw-white));margin-bottom:6px}#view-landing .landing-install-card p{font-size:.9rem;color:var(--muted,var(--dw-muted));line-height:1.6;margin-bottom:14px}#view-landing .landing-install-steps{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}#view-landing .landing-install-step{display:flex;gap:10px;align-items:flex-start;color:var(--white,var(--dw-white));font-size:.88rem;line-height:1.5}#view-landing .landing-install-step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--accent,var(--dw-accent));color:var(--black,var(--dw-black));font-size:.72rem;font-weight:800;margin-top:1px}#view-landing .landing-install-actions{display:flex;gap:10px;flex-wrap:wrap}#view-landing .landing-install-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent,var(--dw-accent));color:var(--black,var(--dw-black));padding:12px 16px;border-radius:10px;font-size:.9rem;font-weight:800;border:none;cursor:pointer}#view-landing .landing-install-btn:hover{background:var(--accent-light,var(--dw-accent-light))}#view-landing .landing-install-dismiss{display:inline-flex;align-items:center;justify-content:center;background:0 0;color:var(--muted,var(--dw-muted));padding:12px 16px;border-radius:10px;font-size:.85rem;font-weight:700;border:1px solid var(--border,var(--dw-border));cursor:pointer}#view-landing .landing-install-dismiss:hover{color:var(--white,var(--dw-white));border-color:var(--accent,var(--dw-accent))}#view-landing .landing-hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);color:var(--muted,var(--dw-muted));font-size:.75rem;letter-spacing:2px;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:8px;opacity:.6;z-index:1}#view-landing .landing-hero-scroll .line{width:1px;height:40px;background:linear-gradient(to bottom,var(--muted,var(--dw-muted)),transparent)}#view-landing .landing-section{padding:100px 32px;max-width:900px;margin:0 auto}#view-landing .landing-section-label{font-size:.78rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent,var(--dw-accent));margin-bottom:16px}#view-landing .landing-section-title{font-family:var(--dw-font-display);font-size:clamp(2rem,5vw,3rem);letter-spacing:1.5px;color:var(--white,var(--dw-white));margin-bottom:40px}#view-landing .landing-about-layout{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}#view-landing .landing-about-photo{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:var(--mid,var(--dw-mid));border:1px solid var(--border,var(--dw-border))}#view-landing .landing-about-photo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted,var(--dw-muted));text-align:center;padding:24px}#view-landing .landing-about-photo-placeholder svg{width:48px;height:48px;opacity:.4}#view-landing .landing-about-photo-placeholder span{font-size:.78rem;opacity:.5;letter-spacing:1px;text-transform:uppercase}#view-landing .landing-about-photo-accent{position:absolute;bottom:-8px;right:-8px;width:100%;height:100%;border:1px solid var(--accent,var(--dw-accent));border-radius:14px;opacity:.15;z-index:-1}#view-landing .landing-about-content{display:flex;flex-direction:column;gap:24px}#view-landing .landing-about-text p{color:var(--muted,var(--dw-muted));font-size:1.05rem;line-height:1.8;margin-bottom:20px}#view-landing .landing-about-text p:first-child{color:var(--white,var(--dw-white));font-size:1.15rem;font-weight:500}#view-landing .landing-about-text .highlight{color:var(--white,var(--dw-white));font-weight:500}#view-landing .landing-disciplines{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}#view-landing .landing-discipline-tag{padding:8px 18px;background:var(--mid,var(--dw-mid));border:1px solid var(--border,var(--dw-border));border-radius:30px;font-size:.82rem;font-weight:600;color:var(--accent,var(--dw-accent));letter-spacing:1px;text-transform:uppercase}#view-landing .landing-divider{max-width:900px;margin:0 auto;padding:0 32px}#view-landing .landing-divider hr{border:none;height:1px;background:var(--border,var(--dw-border))}#view-landing .landing-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}#view-landing .landing-step-card{background:var(--mid,var(--dw-mid));border:1px solid var(--border,var(--dw-border));border-radius:14px;padding:32px 28px;transition:all .3s}#view-landing .landing-step-card:hover{border-color:var(--accent,var(--dw-accent));transform:translateY(-4px);box-shadow:0 12px 40px rgba(201,162,75,.08)}#view-landing .landing-step-icon{width:48px;height:48px;background:rgba(201,162,75,.1);border:1px solid rgba(201,162,75,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}#view-landing .landing-step-icon svg{width:24px;height:24px;color:var(--accent,var(--dw-accent))}#view-landing .landing-step-number{font-family:var(--dw-font-display);font-size:1.5rem;color:var(--accent,var(--dw-accent));line-height:1;margin-bottom:8px;opacity:.4}#view-landing .landing-step-card h3{font-size:1.1rem;font-weight:700;margin-bottom:10px;color:var(--white,var(--dw-white))}#view-landing .landing-step-card p{font-size:.92rem;color:var(--muted,var(--dw-muted));line-height:1.6}#view-landing .landing-diff-grid{display:grid;grid-template-columns:1fr;gap:32px}#view-landing .landing-diff-item{display:grid;grid-template-columns:4px 1fr;gap:24px}#view-landing .landing-diff-bar{background:linear-gradient(to bottom,var(--accent,var(--dw-accent)),transparent);border-radius:2px}#view-landing .landing-diff-content h3{font-size:1.1rem;font-weight:700;color:var(--white,var(--dw-white));margin-bottom:8px}#view-landing .landing-diff-content p{font-size:.95rem;color:var(--muted,var(--dw-muted));line-height:1.7}#view-landing .qualification{padding:80px 32px;max-width:960px;margin:0 auto}#view-landing .qualification h2{font-family:var(--dw-font-display);font-size:clamp(2rem,5vw,3rem);letter-spacing:1.5px;color:var(--white,var(--dw-white));margin-bottom:24px}#view-landing .qualification-cols{display:grid;gap:32px;grid-template-columns:1fr;margin:24px 0}@media (min-width:768px){#view-landing .qualification-cols{grid-template-columns:1fr 1fr}}#view-landing .qualification-col h3{font-size:1.125rem;font-weight:600;margin-bottom:12px}#view-landing .qualification-col ul{padding-left:20px;line-height:1.6;color:var(--muted,var(--dw-muted))}#view-landing .qualification-col li{margin-bottom:8px}#view-landing .qualification-tagline{font-style:italic;opacity:.7;margin-top:24px}#view-landing .pricing{padding:80px 32px;max-width:900px;margin:0 auto;text-align:center}#view-landing .pricing h2{font-family:var(--dw-font-display);font-size:clamp(2rem,5vw,3rem);letter-spacing:1.5px;color:var(--white,var(--dw-white));margin-bottom:24px}#view-landing .pricing-block{margin-bottom:24px}#view-landing .pricing-line{color:var(--white,var(--dw-white));font-size:1.1rem;line-height:1.8}#view-landing .pricing-line strong{color:var(--accent,var(--dw-accent))}#view-landing .pricing-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px}#view-landing .pricing-note{color:var(--muted,var(--dw-muted));font-size:.95rem}#view-landing .btn-primary,#view-landing .btn-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 24px;border-radius:10px;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;border:1px solid var(--accent,var(--dw-accent));cursor:pointer}#view-landing .btn-primary{background:var(--accent,var(--dw-accent));color:var(--black,var(--dw-black))}#view-landing .btn-secondary{background:0 0;color:var(--accent,var(--dw-accent))}#view-landing .btn-primary:hover,#view-landing .btn-secondary:hover{transform:translateY(-1px)}#view-landing .landing-testimonials{background:var(--mid,var(--dw-mid));padding:100px 32px;max-width:100%;margin:0}#view-landing .landing-testimonials-inner{max-width:900px;margin:0 auto}#view-landing .landing-quotes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}#view-landing .landing-quote-card{background:var(--black,var(--dw-black));border:1px solid var(--border,var(--dw-border));border-radius:14px;padding:32px 28px;position:relative}#view-landing .landing-quote-mark{font-family:var(--dw-font-display);font-size:4rem;color:var(--accent,var(--dw-accent));line-height:1;opacity:.3;position:absolute;top:16px;left:24px}#view-landing .landing-quote-card p{font-size:1rem;color:var(--white,var(--dw-white));line-height:1.7;font-style:italic;position:relative;z-index:1;padding-top:24px}#view-landing .landing-quote-card footer{font-size:.85rem;color:var(--accent,var(--dw-accent));margin-top:18px;position:relative;z-index:1}#view-landing .schedule-public{padding:80px 32px;max-width:900px;margin:0 auto}#view-landing .schedule-public h2{font-family:var(--dw-font-display);font-size:clamp(2rem,5vw,3rem);letter-spacing:1.5px;color:var(--white,var(--dw-white));margin-bottom:28px;text-align:center}#view-landing .schedule-day{border:1px solid var(--border,var(--dw-border));border-radius:14px;margin-bottom:16px;overflow:hidden;background:var(--mid,var(--dw-mid))}#view-landing .schedule-day-label{padding:16px 18px;font-size:1rem;color:var(--white,var(--dw-white));border-bottom:1px solid var(--border,var(--dw-border))}#view-landing .schedule-list{list-style:none;padding:0;margin:0}#view-landing .schedule-row{display:grid;grid-template-columns:76px 1fr 110px 100px 76px;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid rgba(46,37,24,.6);color:var(--muted,var(--dw-muted));font-size:.9rem}#view-landing .schedule-row:last-child{border-bottom:0}#view-landing .schedule-time,#view-landing .schedule-type{color:var(--white,var(--dw-white));font-weight:700}#view-landing .schedule-spots{color:var(--accent,var(--dw-accent));font-weight:700}#view-landing .schedule-full{color:var(--orange,var(--dw-orange));font-weight:700}#view-landing .schedule-book{color:var(--black,var(--dw-black));background:var(--accent,var(--dw-accent));text-decoration:none;text-align:center;padding:8px 10px;border-radius:8px;font-weight:800}#view-landing .schedule-note,.schedule-empty,.schedule-error,.schedule-loading{color:var(--muted,var(--dw-muted));text-align:center;line-height:1.6}#view-landing .landing-footer-cta{text-align:center;padding:100px 32px 60px;max-width:900px;margin:0 auto}#view-landing .landing-footer-cta .landing-section-title{margin-bottom:12px}#view-landing .landing-footer-cta-sub{color:var(--muted,var(--dw-muted));font-size:1rem;margin-bottom:36px}#view-landing .landing-footer{padding:32px;border-top:1px solid var(--border,var(--dw-border));text-align:center}#view-landing .landing-footer-inner{max-width:900px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}#view-landing .landing-footer-brand{font-family:var(--dw-font-display);font-size:1.1rem;letter-spacing:2px;color:var(--muted,var(--dw-muted))}#view-landing .landing-footer-links{display:flex;gap:24px}#view-landing .landing-footer-links a{color:var(--muted,var(--dw-muted));text-decoration:none;font-size:.82rem;transition:color .2s}#view-landing .landing-footer-links a:hover{color:var(--accent,var(--dw-accent))}#view-landing .landing-footer-copy{font-size:.75rem;color:var(--muted,var(--dw-muted));opacity:.5}#view-landing .landing-mobile-nav{display:none;position:fixed;inset:0;z-index:99;background:rgba(11,9,7,.97);backdrop-filter:blur(20px);flex-direction:column;align-items:center;justify-content:center;gap:32px}#view-landing .landing-mobile-nav.open{display:flex}#view-landing .landing-mobile-nav a{color:var(--white,var(--dw-white));text-decoration:none;font-family:var(--dw-font-display);font-size:2rem;letter-spacing:2px;transition:color .2s}#view-landing .landing-mobile-nav a:hover{color:var(--accent,var(--dw-accent))}#view-landing .landing-mobile-nav a.landing-nav-cta{font-family:var(--dw-font-body);font-size:1rem}#view-landing .landing-mobile-nav-close{position:absolute;top:16px;right:16px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;color:var(--white,var(--dw-white));font-size:2rem;cursor:pointer;border-radius:8px;transition:background .2s}#view-landing .landing-mobile-nav-close:hover{background:var(--mid,var(--dw-mid))}#view-landing .landing-fade-up{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}#view-landing .landing-fade-up.visible{opacity:1;transform:translateY(0)}#view-landing .landing-fade-up-delay-1{transition-delay:.1s}#view-landing .landing-fade-up-delay-2{transition-delay:.2s}#view-landing .landing-fade-up-delay-3{transition-delay:.3s}@media(max-width:768px){#view-landing .landing-nav{padding:calc(14px + env(safe-area-inset-top,0px)) 20px 14px}#view-landing .landing-nav-links{display:none}#view-landing .landing-hamburger{display:flex}#view-landing .landing-hero{padding:calc(100px + env(safe-area-inset-top,0px)) 20px 60px;min-height:90vh}#view-landing .landing-hero h1{font-size:clamp(2.6rem,10vw,4rem)}#view-landing .landing-hero-sub{font-size:1rem}#view-landing .landing-hero-scroll{display:none}#view-landing .landing-accent-shape{width:250px;height:250px;top:10%;right:-5%}#view-landing .landing-accent-ring{width:120px;height:120px}#view-landing .landing-section{padding:60px 20px}#view-landing .landing-about-layout{grid-template-columns:1fr;gap:32px}#view-landing .landing-about-photo{max-width:240px;margin:0 auto}#view-landing .landing-steps-grid{grid-template-columns:1fr;gap:16px}#view-landing .landing-step-card{padding:24px 22px}#view-landing .landing-quotes-grid{grid-template-columns:1fr;gap:16px}#view-landing .schedule-row{grid-template-columns:64px 1fr;gap:8px}#view-landing .schedule-book,#view-landing .schedule-full,#view-landing .schedule-spots,#view-landing .schedule-trainer{grid-column:2}#view-landing .pricing,#view-landing .qualification,#view-landing .schedule-public{padding:60px 20px}#view-landing .landing-testimonials{padding:60px 20px}#view-landing .landing-footer-inner{flex-direction:column;gap:16px}#view-landing .landing-footer-links{gap:16px}}@media(max-width:480px){#view-landing .landing-hero{padding:calc(90px + env(safe-area-inset-top,0px)) 16px 50px}#view-landing .landing-section{padding:50px 16px}#view-landing .landing-disciplines{gap:8px}#view-landing .landing-discipline-tag{padding:6px 14px;font-size:.75rem}}#view-landing .landing-hero-wrapper{min-height:70vh;overflow:visible;background:linear-gradient(135deg,var(--dw-black) 0,#1a1308 60%,#0f0c08 100%)}#view-landing .landing-hero-bg{display:none}#view-landing .landing-hero{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 32px 54px;max-width:none;margin:0}#view-landing .landing-hero-content{max-width:720px;margin:0 auto}#view-landing .landing-hero h1{font-family:var(--dw-font-display);font-size:3.2rem;letter-spacing:1px;line-height:1.05;color:var(--white);margin:0 0 18px}#view-landing .hero-emphasis,#view-landing .hero-trainer-name{color:var(--accent)}#view-landing .hero-emphasis{font-weight:700}#view-landing .hero-sub{font-size:1.05rem;color:var(--muted);line-height:1.65;margin:0 0 32px}#view-landing .hero-cta-primary{display:inline-block;padding:16px 36px;background:var(--accent);color:var(--black);border-radius:10px;font-weight:800;font-size:1.05rem;text-decoration:none;letter-spacing:.5px;box-shadow:0 6px 24px rgba(201,162,75,.35);transition:transform .15s,box-shadow .15s}#view-landing .hero-cta-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(201,162,75,.45)}#view-landing .hero-secondary{font-size:.86rem;color:var(--muted);margin:24px 0 0}#view-landing .hero-secondary a{color:var(--accent);text-decoration:none}#view-landing .landing-telegram-card{padding:60px 32px;background:linear-gradient(135deg,var(--dw-mid) 0,var(--dw-mid2) 60%,var(--dw-mid) 100%);display:flex;justify-content:center}#view-landing .tg-card-inner{max-width:920px;width:100%;display:flex;align-items:center;gap:48px;background:rgba(36,161,222,.08);border:2px solid #24a1de;border-radius:18px;padding:36px 40px;box-shadow:0 8px 40px rgba(36,161,222,.2)}#view-landing .tg-card-text{flex:1}#view-landing .tg-card-text h2{font-family:var(--dw-font-display);font-size:1.8rem;letter-spacing:1px;color:#24a1de;margin:0 0 12px}#view-landing .tg-card-text p{font-size:.95rem;color:var(--white);line-height:1.65;margin:0 0 20px;opacity:.92}#view-landing .tg-card-cta{display:inline-block;background:#24a1de;color:#fff;padding:12px 24px;border-radius:10px;font-weight:700;text-decoration:none;font-size:.95rem;box-shadow:0 4px 18px rgba(36,161,222,.4);transition:transform .15s}#view-landing .tg-card-cta:hover{transform:translateY(-2px)}#view-landing .tg-card-qr{background:#fff;padding:12px;border-radius:10px;width:184px;height:184px;display:flex;align-items:center;justify-content:center;flex:0 0 184px}#view-landing .landing-pricing{padding:60px 32px;background:var(--black);text-align:center}#view-landing .landing-pricing-inner{max-width:920px;margin:0 auto}#view-landing .landing-pricing h2{font-family:var(--dw-font-display);font-size:2.2rem;letter-spacing:1px;color:var(--white);margin:0 0 8px}#view-landing #landing-pricing-anchor{color:var(--accent)}#view-landing .landing-pricing-sub{font-size:.95rem;color:var(--muted);margin:0 0 24px}#view-landing .landing-pricing-expand{background:0 0;border:1px solid var(--accent);color:var(--accent);padding:10px 24px;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer}#view-landing .landing-pricing-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:32px}#view-landing .landing-tier-card{background:rgba(201,162,75,.06);border:1px solid rgba(201,162,75,.2);border-radius:12px;padding:24px 16px;position:relative}#view-landing .tier-popular{border-color:var(--accent);background:rgba(201,162,75,.12);box-shadow:0 4px 20px rgba(201,162,75,.25)}#view-landing .tier-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--black);padding:3px 10px;border-radius:10px;font-size:.68rem;font-weight:800;letter-spacing:.5px;white-space:nowrap}#view-landing .tier-freq{font-size:.86rem;color:var(--muted);margin-bottom:8px}#view-landing .tier-price{font-family:var(--dw-font-display);font-size:2.2rem;color:var(--white)}#view-landing .tier-mo{font-size:.7rem;color:var(--muted)}#view-landing .tier-cta{display:block;margin-top:12px;background:var(--accent);color:var(--black);padding:8px 14px;border-radius:7px;font-weight:700;font-size:.84rem;text-decoration:none}@media(max-width:720px){#view-landing .landing-hero{padding:100px 20px 46px}#view-landing .landing-hero h1{font-size:2.7rem}#view-landing .tg-card-inner{flex-direction:column;gap:24px;padding:24px;text-align:center}#view-landing .tg-card-qr{width:160px;height:160px;flex-basis:160px}}.heatmap-grid{display:grid;gap:6px;margin-bottom:4px}.heatmap-header{display:grid;grid-template-columns:90px repeat(7,1fr);gap:6px;margin-bottom:10px}.heatmap-row{display:grid;grid-template-columns:90px repeat(7,1fr);gap:6px;align-items:center}.heatmap-cell{min-width:64px;height:48px;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.78rem;transition:all .15s;cursor:default;border:1px solid var(--border)}.heatmap-cell:hover{transform:scale(1.03)}.heatmap-cell.inactive{opacity:.3;border-color:transparent}.heatmap-cell .hm-count{font-weight:600}.heatmap-cell .hm-status{font-size:.58rem;text-transform:uppercase;letter-spacing:.5px;margin-top:1px}.heatmap-nav{display:flex;align-items:center;gap:12px;margin-bottom:16px}.heatmap-nav button{background:0 0;border:1px solid var(--border);color:var(--white);border-radius:6px;padding:6px 12px;font-family:var(--dw-font-body);font-size:.82rem;cursor:pointer;transition:all .15s}.heatmap-nav button:hover{border-color:var(--accent);color:var(--accent)}.heatmap-nav .hm-week-label{font-size:.85rem;font-weight:600;color:var(--white)}.heatmap-nav .hm-today-btn{font-size:.72rem;color:var(--muted);background:0 0;border:1px solid var(--border);padding:4px 10px}.heatmap-today-col{border-top:2px solid var(--accent)}.feedback-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--red,var(--dw-red));margin-left:6px;vertical-align:middle}#revenue-breakdown{max-height:400px;overflow-y:auto;background:var(--dark);border:1px solid var(--border);border-radius:10px;margin-top:8px;transition:max-height .3s ease}.rb-row{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);font-size:.82rem}.rb-row:last-child{border-bottom:none}.rb-client{flex:2;color:var(--text);font-weight:600}.rb-period{flex:2;color:var(--muted)}.rb-date{flex:1;color:var(--muted);text-align:center}.rb-amount{flex:1;color:var(--accent);text-align:right;font-family:var(--dw-font-display);font-size:1rem}.rb-empty{text-align:center;padding:20px;color:var(--muted);font-style:italic}.rb-chevron{font-size:.75rem;color:var(--accent);margin-left:6px;transition:transform .3s;display:inline-block}.rb-chevron.expanded{transform:rotate(180deg)}:focus-visible{outline:2px solid var(--dw-accent);outline-offset:2px}.session-past{opacity:.45;filter:grayscale(40%);position:relative}.session-past::after{content:'';position:absolute;inset:0;background:rgba(11,9,7,.55);border-radius:inherit;pointer-events:none}.toast-success{background:#2ecc71!important;color:#fff!important}.toast-error{background:#e74c3c!important;color:#fff!important}.toast-info{background:#3498db!important;color:#fff!important}@keyframes toastSlideOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(10px)}}@keyframes pulse{0%,100%{opacity:.7}50%{opacity:.4}}@keyframes row-flash-anim{0%{background-color:rgba(255,215,0,.32)}100%{background-color:transparent}}tr.row-flash{animation:row-flash-anim 2s ease-out}#view-coaches-content{max-width:720px;margin:0 auto;padding:0 16px 40px}.mcmd-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 12px}.mcmd-section-head h3{font-family:var(--dw-font-display);letter-spacing:1.5px;font-size:1.05rem;color:var(--white);margin:0}.mcmd-add-btn{background:var(--accent);color:var(--black);border:none;border-radius:10px;padding:11px 18px;font-family:var(--dw-font-body);font-weight:700;font-size:.86rem;cursor:pointer}.mcmd-coach-card{background:var(--mid);border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin-bottom:12px}.mcmd-coach-card.paused{opacity:.62}.mcmd-coach-top{display:flex;align-items:center;gap:12px}.mcmd-coach-avatar{width:46px;height:46px;border-radius:50%;background:var(--dark,var(--dw-chart-bg));border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex:0 0 auto;overflow:hidden}.mcmd-coach-avatar img{width:100%;height:100%;object-fit:cover}.mcmd-coach-meta{flex:1 1 auto;min-width:0}.mcmd-coach-name{font-weight:700;color:var(--white);font-size:.98rem}.mcmd-coach-disc{font-size:.82rem;color:var(--accent);margin-top:2px}.mcmd-pill{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:20px;background:var(--border);color:var(--muted)}.mcmd-coach-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.mcmd-act{border:1px solid var(--border);background:0 0;color:var(--white);border-radius:8px;padding:8px 13px;font-size:.78rem;font-weight:700;cursor:pointer}.mcmd-act.primary{background:var(--accent);color:var(--black);border-color:var(--accent)}.mcmd-act.danger{color:#e8736b;border-color:#5a2b27}.mcmd-empty{text-align:center;color:var(--muted);padding:34px 18px;border:1px dashed var(--border);border-radius:14px}.mcmd-invite-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--mid);border:1px solid var(--border);border-radius:10px;padding:11px 14px;margin-bottom:8px;font-size:.84rem;color:var(--muted)}.mcmd-field-label{display:block;font-size:.78rem;font-weight:700;color:var(--muted);margin:14px 0 5px;text-transform:uppercase;letter-spacing:.5px}.mcmd-input,.mcmd-select{width:100%;box-sizing:border-box;background:var(--dark,var(--dw-chart-bg));border:1px solid var(--border);color:var(--white);border-radius:9px;padding:11px 12px;font-family:var(--dw-font-body);font-size:.92rem}.mcmd-modal-error{color:#e8736b;font-size:.82rem;margin-top:12px}.modal-btn.modal-btn-secondary{background:0 0;border:1px solid var(--border);color:var(--white)}.mcmd-discipline-filter{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 14px}.mcmd-df-chip{border:1px solid var(--border);background:0 0;color:var(--muted);border-radius:20px;padding:6px 13px;font-size:.78rem;font-weight:700;cursor:pointer}.mcmd-df-chip.active{background:var(--accent);color:var(--black);border-color:var(--accent)}#view-directory-content{max-width:720px;margin:0 auto;padding:0 16px 40px}.mcmd-coach-bio{font-size:.84rem;color:var(--muted);margin-top:9px;line-height:1.45}.mcmd-coach-sub{font-size:.8rem;color:var(--muted);margin-top:8px}.mcmd-signals{display:flex;flex-direction:column;gap:5px;margin-top:11px}.mcmd-signal{font-size:.8rem;color:var(--muted)}.mcmd-signal.mcmd-verified{color:var(--dw-green);font-weight:700}.mcmd-cap{display:inline-block;align-self:flex-start;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;margin-top:3px}.mcmd-cap-accepting{background:rgba(74,222,128,.16);color:var(--dw-green)}.mcmd-cap-waitlist{background:rgba(251,191,36,.16);color:#fbbf24}.mcmd-cap-full{background:var(--border);color:var(--muted)}.mcmd-prev-tag{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:2px 8px;margin-left:7px}.mcmd-badge-disc-head{font-family:var(--dw-font-display);letter-spacing:1.5px;font-size:1rem;color:var(--accent);margin:20px 0 9px;border-bottom:1px solid var(--border);padding-bottom:5px}.tl-badge-disc{color:var(--accent);font-weight:700}.tl-badge-by{color:var(--muted);font-weight:400;font-size:.9em}.dw-heading{font-family:var(--dw-font-display);font-weight:700;letter-spacing:var(--dw-track-display, 2px);color:var(--dw-white);margin:0;line-height:1}.dw-italic{color:var(--dw-accent);font-style:normal;font-weight:700}.dw-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--dw-mid);color:var(--dw-accent);font-weight:700;box-shadow:0 0 0 2px var(--dw-accent-wash),0 0 12px rgba(201,162,75,.18);overflow:hidden}.dw-avatar--xs{width:24px;height:24px;font-size:.65rem}.dw-avatar--sm{width:32px;height:32px;font-size:.72rem}.dw-avatar--md{width:40px;height:40px;font-size:.82rem}.dw-avatar--lg{width:56px;height:56px;font-size:1rem}.dw-avatar--xl{width:72px;height:72px;font-size:1.2rem}.dw-avatar img{width:100%;height:100%;object-fit:cover;display:block}.dw-pill{display:inline-flex;align-items:center;gap:4px;border-radius:var(--dw-r-full);padding:3px 10px;font-family:var(--dw-font-body);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:var(--dw-track-label, 1.5px);background:var(--dw-mid2);color:var(--dw-muted);border:1px solid var(--dw-border);white-space:nowrap}.dw-pill--confirmed{background:rgba(138,160,90,.14);color:var(--dw-green);border-color:rgba(138,160,90,.4)}.dw-pill--pending{background:rgba(240,144,48,.14);color:var(--dw-orange);border-color:rgba(240,144,48,.4)}.dw-pill--cancelled{background:rgba(216,88,74,.14);color:var(--dw-red);border-color:rgba(216,88,74,.4)}.dw-pill--waitlisted{background:rgba(201,162,75,.14);color:var(--dw-accent);border-color:rgba(201,162,75,.4)}.dw-pill--info{background:rgba(111,147,201,.14);color:var(--dw-blue);border-color:rgba(111,147,201,.4)}.dw-pill--accent{background:rgba(201,162,75,.14);color:var(--dw-accent);border-color:rgba(201,162,75,.4)}.dw-card{position:relative;background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-xl,16px);padding:var(--dw-space-5,18px);box-shadow:0 2px 14px rgba(201,162,75,.06);border-top:3px solid transparent;transition:border-color var(--dw-dur, .2s),box-shadow var(--dw-dur, .2s),transform var(--dw-dur, .2s)}.dw-card.dw-card--active,.dw-card:hover{border-top-color:var(--dw-accent);box-shadow:0 4px 22px rgba(201,162,75,.12)}.dw-card__title{font-family:var(--dw-font-body);font-weight:700;color:var(--dw-white);font-size:.96rem}.dw-card__meta{color:var(--dw-muted);font-size:.78rem;margin-top:4px}.dw-capacity-bar{height:6px;border-radius:4px;background:var(--dw-chart-bg);overflow:hidden;margin:8px 0;border:1px solid var(--dw-border)}.dw-capacity-bar__fill{height:100%;border-radius:4px;transition:width var(--dw-dur-slow, .3s);background:linear-gradient(90deg,var(--dw-accent) 0,var(--dw-accent-light) 40%,var(--dw-orange) 70%,var(--dw-red) 100%)}.dw-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--dw-font-body);font-weight:700;font-size:.84rem;letter-spacing:var(--dw-track-btn, 1px);text-transform:uppercase;padding:11px 18px;border-radius:var(--dw-r-md,9px);border:1px solid transparent;cursor:pointer;transition:background var(--dw-dur),color var(--dw-dur),border-color var(--dw-dur),box-shadow var(--dw-dur);min-height:44px}.dw-btn--primary{background:var(--dw-accent);color:var(--dw-black);border-color:var(--dw-accent)}.dw-btn--primary:hover{background:var(--dw-accent-dark);border-color:var(--dw-accent-dark)}.dw-btn--ghost{background:0 0;color:var(--dw-white);border-color:var(--dw-border)}.dw-btn--ghost:hover{border-color:var(--dw-accent);color:var(--dw-accent)}.dw-btn--danger{background:0 0;color:var(--dw-red);border-color:rgba(216,88,74,.4)}.dw-btn--danger:hover{border-color:var(--dw-red)}.dw-btn--full{width:100%}.dw-input-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.dw-label{font-family:var(--dw-font-body);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:var(--dw-track-label, 1.5px);color:var(--dw-muted)}.dw-input{background:var(--dw-mid2);border:1px solid var(--dw-border);color:var(--dw-white);padding:12px 16px;border-radius:var(--dw-r-md,9px);font-family:var(--dw-font-body);font-size:.92rem;outline:0;transition:border-color var(--dw-dur),box-shadow var(--dw-dur)}.dw-input:focus{border-color:var(--dw-accent);box-shadow:0 0 0 2px rgba(201,162,75,.18)}.dw-input::placeholder{color:var(--dw-border-hover)}.dw-input-error{font-size:.74rem;color:var(--dw-red);margin-top:2px}.dw-tab-bar{display:flex;gap:4px;border-bottom:1px solid var(--dw-border);margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch}.dw-tab{background:0 0;border:none;color:var(--dw-muted);font-family:var(--dw-font-body);font-weight:700;font-size:.82rem;letter-spacing:.5px;padding:10px 14px;border-bottom:2px solid transparent;cursor:pointer;transition:color var(--dw-dur),border-color var(--dw-dur);white-space:nowrap;min-height:44px}.dw-tab:hover{color:var(--dw-white)}.dw-tab--active{color:var(--dw-accent);border-bottom-color:var(--dw-accent)}.dw-slide-over-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1099;opacity:0;pointer-events:none;transition:opacity var(--dw-dur-slow)}.dw-slide-over-backdrop.dw-open{opacity:1;pointer-events:auto}.dw-slide-over{position:fixed;top:0;right:0;bottom:0;width:min(380px,100vw);background:var(--dw-mid);border-left:1px solid var(--dw-border-hover);box-shadow:-4px 0 24px rgba(0,0,0,.5),-4px 0 24px rgba(201,162,75,.06);transform:translateX(100%);transition:transform var(--dw-dur-slow) var(--dw-ease);z-index:1100;overflow-y:auto;padding:20px;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.dw-slide-over.dw-open{transform:translateX(0)}.dw-kpi-card{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-lg,14px);padding:20px;box-shadow:0 2px 12px rgba(201,162,75,.06);border-top:3px solid transparent;transition:border-color var(--dw-dur)}.dw-kpi-card:hover{border-top-color:var(--dw-accent)}.dw-kpi-card__value{font-family:var(--dw-font-display);font-size:2.2rem;font-weight:700;color:var(--dw-accent);letter-spacing:1px;line-height:1}.dw-kpi-card__label{font-family:var(--dw-font-body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:var(--dw-track-label, 1.5px);color:var(--dw-muted);margin-top:6px}.dw-kpi-card__trend{font-size:.78rem;margin-top:8px}.dw-kpi-card__trend--up{color:var(--dw-green)}.dw-kpi-card__trend--down{color:var(--dw-red)}.dw-table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--dw-font-body);font-size:.85rem}.dw-table thead th{text-align:left;padding:12px 16px;font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:var(--dw-track-label, 1.5px);color:var(--dw-muted);border-bottom:2px solid var(--dw-accent)}.dw-table tbody tr{background:var(--dw-chart-bg);transition:background var(--dw-dur-fast)}.dw-table tbody tr:nth-child(2n){background:var(--dw-mid)}.dw-table tbody tr:hover{background:rgba(201,162,75,.06)}.dw-table tbody td{padding:10px 16px;color:var(--dw-white);border-bottom:1px solid rgba(46,37,24,.45)}.dw-badge-tile{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-lg,14px);padding:16px;text-align:center;transition:border-color var(--dw-dur),box-shadow var(--dw-dur)}.dw-badge-tile:hover{border-color:var(--dw-accent)}.dw-badge-tile__icon{font-size:2rem;line-height:1;margin-bottom:8px}.dw-badge-tile__name{font-family:var(--dw-font-body);font-weight:700;color:var(--dw-white);font-size:.9rem}.dw-badge-tile__date{color:var(--dw-muted);font-size:.72rem;margin-top:4px}.dw-badge-tile--unseen{box-shadow:0 0 0 2px var(--dw-accent-wash);animation:dw-badge-pulse 2.2s ease-in-out infinite}@keyframes dw-badge-pulse{0%,100%{box-shadow:0 0 0 2px var(--dw-accent-wash)}50%{box-shadow:0 0 0 5px rgba(201,162,75,.15),0 0 18px rgba(201,162,75,.1)}}@keyframes dw-pin-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.dw-pin-shake{animation:dw-pin-shake .4s ease}#toast{bottom:90px!important;right:auto!important;left:50%!important;transform:translate(-50%,12px);background:var(--dw-mid)!important;color:var(--dw-white)!important;border:1px solid var(--dw-accent-wash)!important;border-radius:var(--dw-r-full,9999px)!important;padding:10px 22px!important;font-weight:600!important;font-size:.86rem!important;letter-spacing:.3px!important;box-shadow:0 6px 22px rgba(0,0,0,.5),0 4px 16px rgba(201,162,75,.18)!important;max-width:min(420px,calc(100vw - 32px))!important;text-align:center}#toast.show{transform:translate(-50%,0)}#toast.success,#toast.toast-success{background:var(--dw-mid)!important;color:var(--dw-green)!important;border-color:rgba(138,160,90,.4)!important}#toast.error,#toast.toast-error{background:var(--dw-mid)!important;color:var(--dw-red)!important;border-color:rgba(216,88,74,.45)!important}#toast.info,#toast.toast-info{background:var(--dw-mid)!important;color:var(--dw-blue)!important;border-color:rgba(111,147,201,.4)!important}#toast.warn{background:var(--dw-mid)!important;color:var(--dw-orange)!important;border-color:rgba(240,144,48,.4)!important}@media (max-width:640px){#toast{bottom:88px!important;max-width:calc(100vw - 32px)!important}}.dw-auth-modal{text-align:center;padding-top:32px}.dw-auth-logo{display:block;width:56px;height:56px;border-radius:50%;object-fit:cover;margin:0 auto 18px;background:var(--dw-mid2);box-shadow:0 0 0 2px var(--dw-accent-wash),0 0 16px rgba(201,162,75,.22)}.dw-auth-modal h2{text-align:center;font-size:2rem;letter-spacing:2.5px}.dw-auth-modal h2 em{color:var(--dw-accent);font-style:normal;font-weight:700}.dw-auth-modal .modal-sub{text-align:center;max-width:320px;margin-left:auto;margin-right:auto}.dw-auth-modal .modal-area-badge{align-self:center}.dw-auth-modal .form-field input:focus{border-color:var(--dw-accent);box-shadow:0 0 0 2px rgba(201,162,75,.18)}.dw-auth-modal .modal-btn{letter-spacing:1.5px;box-shadow:0 2px 14px rgba(201,162,75,.18)}.dw-auth-modal .modal-btn:hover{box-shadow:0 4px 20px rgba(201,162,75,.28)}@media (max-width:640px){.mobile-bottom-nav,.portal-mobile-nav{background:rgba(11,9,7,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--dw-accent-wash);box-shadow:0 -2px 14px rgba(201,162,75,.06)}.mobile-bottom-nav .nav-tab,.portal-mobile-nav .portal-nav-btn{border-top:3px solid transparent;transition:color var(--dw-dur, .2s),border-color var(--dw-dur, .2s)}.mobile-bottom-nav .nav-tab.active{border-bottom:none!important;border-top-color:var(--dw-accent)!important;color:var(--dw-accent)!important;background:0 0!important}.portal-mobile-nav .portal-nav-btn.active{border-top-color:var(--dw-accent);color:var(--dw-accent)}.mobile-bottom-nav .nav-tab .tab-label-full,.mobile-bottom-nav .nav-tab .tab-label-short,.portal-mobile-nav .portal-nav-btn span:not(.nav-icon){text-transform:uppercase;letter-spacing:.5px}}#view-account .client-hero h1 em,#view-client .client-hero h1 em,#view-dashboard .client-hero h1 em,#view-invoices .client-hero h1 em,#view-membership .client-hero h1 em,#view-noticeboard .client-hero h1 em,#view-progress .client-hero h1 em,#view-shop .client-hero h1 em{font-style:italic;color:var(--dw-accent)}.sessions-grid .session-card{box-shadow:0 2px 14px rgba(201,162,75,.06)}.sessions-grid .session-card:hover:not(.full-locked){box-shadow:0 4px 22px rgba(201,162,75,.14)}.sessions-grid .cap-bar{height:6px;border-radius:4px;background:var(--dw-chart-bg);border:1px solid var(--dw-border);margin-bottom:8px}.sessions-grid .cap-fill{border-radius:4px;background:linear-gradient(90deg,var(--dw-accent) 0,var(--dw-accent-light) 40%,var(--dw-orange) 70%,var(--dw-red) 100%)}.sessions-grid .cap-fill.full-bar,.sessions-grid .cap-fill.high{background:linear-gradient(90deg,var(--dw-accent) 0,var(--dw-orange) 50%,var(--dw-red) 100%)}.session-card .sc-coach-line{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--dw-accent);font-weight:600;margin-bottom:8px}.session-card .sc-coach-dot{width:8px;height:8px;border-radius:50%;background:var(--dw-accent);box-shadow:0 0 0 2px rgba(201,162,75,.25);flex-shrink:0}.session-card .sc-coach-rate{color:var(--dw-muted);font-weight:500}.session-card .status-badge.dw-pill{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}.session-card .book-btn.available{box-shadow:0 2px 10px rgba(201,162,75,.18)}.session-card .book-btn.available:hover{box-shadow:0 4px 18px rgba(201,162,75,.28)}#view-client .empty-state.gs-grid{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:16px;padding:40px 24px;box-shadow:0 2px 14px rgba(201,162,75,.06);grid-column:1/-1}#view-client .empty-state.gs-grid .icon{font-size:2.4rem}#shop-products-grid .shop-category-tabs{margin-bottom:18px!important;border-bottom:1px solid var(--dw-border);padding-bottom:0;gap:4px!important}#shop-products-grid .shop-category-tabs button{background:0 0!important;color:var(--dw-muted)!important;border:none!important;border-bottom:2px solid transparent!important;border-radius:0!important;padding:12px 16px!important;font-family:var(--dw-font-body);font-weight:700;font-size:.8rem;letter-spacing:.5px;cursor:pointer;transition:color .2s,border-color .2s;white-space:nowrap;min-height:44px;flex-shrink:0}#shop-products-grid .shop-category-tabs button:hover{color:var(--dw-white)!important}#shop-products-grid .shop-category-tabs button.dw-tab--active,#shop-products-grid .shop-category-tabs button[style*="var(--accent)"]{color:var(--dw-accent)!important;border-bottom-color:var(--dw-accent)!important;background:0 0!important}#shop-products-grid .card{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-xl,16px);position:relative;overflow:visible;box-shadow:0 2px 14px rgba(201,162,75,.06);border-top:3px solid transparent;transition:border-color .2s,box-shadow .2s,transform .2s}#shop-products-grid .card:hover{border-top-color:var(--dw-accent);box-shadow:0 4px 22px rgba(201,162,75,.14)}#shop-products-grid .card img,#shop-products-grid .card>div:first-child>div{border-radius:12px!important}#shop-products-grid .card>div:first-child>div:not(:has(img)){background:linear-gradient(135deg,var(--dw-mid2) 0,var(--dw-chart-bg) 100%)!important;color:var(--dw-accent)!important;box-shadow:inset 0 0 0 1px rgba(201,162,75,.18)}#shop-products-grid .card .shop-buy-btn,#shop-products-grid .card button[onclick*=bookEvent],#shop-products-grid .card button[onclick*=openEventBookingsModal],#shop-products-grid .card button[onclick*=openMenuModal]{box-shadow:0 2px 10px rgba(201,162,75,.18);transition:box-shadow .2s,transform .15s}#shop-products-grid .card .shop-buy-btn:hover,#shop-products-grid .card button[onclick*=bookEvent]:hover,#shop-products-grid .card button[onclick*=openEventBookingsModal]:hover,#shop-products-grid .card button[onclick*=openMenuModal]:hover{box-shadow:0 4px 18px rgba(201,162,75,.28);transform:translateY(-1px)}#shop-products-grid>div[style*=border-bottom]{border-bottom:1px solid var(--dw-accent-wash)!important}#shop-products-grid>div[style*=border-bottom]>div>div:first-child{font-family:var(--dw-font-display)!important;letter-spacing:1.5px!important}#shop-products-grid .empty-state{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:16px;padding:48px 24px;text-align:center;box-shadow:0 2px 14px rgba(201,162,75,.06)}#shop-products-grid .empty-state .icon{font-size:2.6rem;margin-bottom:8px}@media (max-width:480px){#shop-products-grid .shop-category-tabs button{padding:12px 11px!important;font-size:.76rem}}.mi-outstanding-banner{max-width:980px;margin:0 auto 18px;padding:18px 22px;background:linear-gradient(135deg,rgba(201,162,75,.1) 0,rgba(201,162,75,.04) 100%);border:1px solid rgba(201,162,75,.25);border-left:4px solid var(--dw-accent);border-radius:12px;box-shadow:0 4px 18px rgba(201,162,75,.1);display:flex;align-items:center;gap:14px;flex-wrap:wrap}.mi-outstanding-banner__icon{font-size:1.6rem;line-height:1}.mi-outstanding-banner__body{flex:1;min-width:200px}.mi-outstanding-banner__title{font-family:var(--dw-font-display);font-size:1.1rem;letter-spacing:1px;color:var(--dw-white);margin-bottom:2px}.mi-outstanding-banner__sub{font-size:.82rem;color:var(--dw-muted)}.mi-outstanding-banner__total{font-family:var(--dw-font-display);font-size:1.6rem;color:var(--dw-accent);letter-spacing:1px;margin-left:auto}.mi-outstanding-banner.mi-banner--clear{background:linear-gradient(135deg,rgba(138,160,90,.1) 0,rgba(138,160,90,.04) 100%);border-color:rgba(138,160,90,.3);border-left-color:var(--dw-green)}.mi-outstanding-banner.mi-banner--clear .mi-outstanding-banner__total{color:var(--dw-green)}.mi-card{position:relative;overflow:visible;box-shadow:0 2px 14px rgba(201,162,75,.06);border-top:3px solid transparent;transition:border-color .2s,box-shadow .2s}.mi-card:hover{border-top-color:var(--dw-accent);box-shadow:0 4px 22px rgba(201,162,75,.14)}.mi-card::after,.mi-card::before{content:'';position:absolute;width:26px;height:26px;pointer-events:none}.mi-card::before{top:-1px;left:-1px;border-top:2px solid var(--dw-accent);border-left:2px solid var(--dw-accent);border-radius:14px 0 0 0;opacity:.55}.mi-card::after{bottom:-1px;right:-1px;border-bottom:2px solid var(--dw-accent);border-right:2px solid var(--dw-accent);border-radius:0 0 14px 0;opacity:.55}.mi-card .inv-status{display:inline-flex;align-items:center;gap:4px;padding:3px 12px;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;border:1px solid transparent}.mi-card .inv-status.pending{background:rgba(240,144,48,.14);color:var(--dw-orange);border-color:rgba(240,144,48,.4)}.mi-card .inv-status.paid{background:rgba(138,160,90,.14);color:var(--dw-green);border-color:rgba(138,160,90,.4)}.mi-card .mi-period{color:var(--dw-white)}.mi-card .mi-period em{color:var(--dw-accent);font-style:italic}.mi-card button[onclick*=payInvoice]{box-shadow:0 2px 10px rgba(201,162,75,.22)!important;transition:box-shadow .2s,transform .15s}.mi-card button[onclick*=payInvoice]:hover{box-shadow:0 4px 18px rgba(201,162,75,.34)!important;transform:translateY(-1px)}.mi-empty{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:16px;padding:48px 24px;text-align:center;font-style:normal!important;color:var(--dw-muted);box-shadow:0 2px 14px rgba(201,162,75,.06)}.mi-empty::before{content:'🧾';display:block;font-size:2.4rem;margin-bottom:12px}.pg-section{margin:0 0 22px}.pg-section__title{font-family:var(--dw-font-display);font-size:.84rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--dw-muted);margin:0 0 10px;display:flex;align-items:baseline;gap:10px}.pg-section__title em{font-style:italic;color:var(--dw-accent)}.pg-section__sub{font-size:.78rem;color:var(--dw-muted);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none}.pg-summary-row{display:flex;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:4px 2px 8px;margin-bottom:8px}.pg-summary-pill{display:inline-flex;align-items:center;gap:8px;background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:999px;padding:8px 14px;font-size:.82rem;font-weight:600;color:var(--dw-white);white-space:nowrap;box-shadow:0 2px 10px rgba(201,162,75,.06);flex-shrink:0}.pg-summary-pill__emoji{font-size:1.05rem;line-height:1}.pg-summary-pill__count{color:var(--dw-accent);font-weight:700;font-size:.9rem}.pg-summary-pill--total{border-color:rgba(201,162,75,.4);background:rgba(201,162,75,.08)}.pg-badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px}.pg-badge-tile{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:14px;padding:16px 12px;text-align:center;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative;cursor:pointer;box-shadow:0 2px 10px rgba(201,162,75,.04)}.pg-badge-tile:hover{border-color:var(--dw-accent);transform:translateY(-2px);box-shadow:0 4px 18px rgba(201,162,75,.12)}.pg-badge-tile__emoji{font-size:2.1rem;line-height:1;margin-bottom:8px}.pg-badge-tile__name{font-family:var(--dw-font-body);font-weight:700;color:var(--dw-white);font-size:.78rem;letter-spacing:.5px;margin-bottom:4px}.pg-badge-tile__date{color:var(--dw-muted);font-size:.66rem;letter-spacing:.5px}.pg-badge-tile__newtag{position:absolute;top:-7px;right:10px;background:var(--dw-accent);color:var(--dw-black);font-size:.58rem;font-weight:700;letter-spacing:1px;padding:2px 8px;border-radius:999px;box-shadow:0 2px 8px rgba(201,162,75,.4)}.pg-badge-tile--unseen{border-color:rgba(201,162,75,.55);box-shadow:0 0 0 2px rgba(201,162,75,.25),0 4px 18px rgba(201,162,75,.18);animation:pg-badge-pulse 2.2s ease-in-out infinite}@keyframes pg-badge-pulse{0%,100%{box-shadow:0 0 0 2px rgba(201,162,75,.25),0 4px 18px rgba(201,162,75,.18)}50%{box-shadow:0 0 0 5px rgba(201,162,75,.12),0 0 20px rgba(201,162,75,.18)}}#progress-timeline-feed .prog-entry{background:var(--dw-mid);border:1px solid var(--dw-border);border-left:3px solid var(--dw-accent);box-shadow:0 2px 14px rgba(201,162,75,.06);transition:box-shadow .2s,transform .2s,border-color .2s}#progress-timeline-feed .prog-entry:hover{box-shadow:0 4px 22px rgba(201,162,75,.12);transform:translateY(-1px)}#progress-timeline-feed .prog-entry-badge{border-left-color:var(--dw-accent);background:rgba(201,162,75,.06)}#progress-timeline-feed .prog-rating{font-weight:600;letter-spacing:.3px}#progress-timeline-feed .prog-badge{background:rgba(201,162,75,.14);color:var(--dw-accent);border-color:rgba(201,162,75,.4)}#progress-timeline-feed .prog-empty{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:16px;padding:48px 24px;text-align:center;color:var(--dw-muted);box-shadow:0 2px 14px rgba(201,162,75,.06)}#progress-timeline-feed .prog-empty::before{content:'🏆';display:block;font-size:2.4rem;margin-bottom:10px}@media (max-width:480px){.pg-badge-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px}.pg-badge-tile{padding:14px 8px}.pg-badge-tile__emoji{font-size:1.8rem}.pg-badge-tile__name{font-size:.72rem}}.account-profile-header{display:flex;align-items:center;gap:16px;padding:20px 22px;background:linear-gradient(135deg,rgba(201,162,75,.1) 0,rgba(201,162,75,.03) 100%);border:1px solid rgba(201,162,75,.25);border-radius:14px;margin-bottom:18px;box-shadow:0 4px 18px rgba(201,162,75,.1)}.account-profile-avatar{width:56px;height:56px;border-radius:50%;background:var(--dw-mid2);color:var(--dw-accent);display:flex;align-items:center;justify-content:center;font-family:var(--dw-font-display);font-weight:700;font-size:1.3rem;letter-spacing:1px;box-shadow:0 0 0 3px rgba(201,162,75,.35),0 0 16px rgba(201,162,75,.2);flex-shrink:0}.account-profile-meta{flex:1;min-width:0}.account-profile-name{font-family:var(--dw-font-display);font-size:1.3rem;letter-spacing:1px;color:var(--dw-white);line-height:1.1;overflow-wrap:anywhere}.account-profile-handle{font-size:.82rem;color:var(--dw-muted);margin-top:4px;overflow-wrap:anywhere}#view-account .account-section{position:relative;transition:border-color .2s,box-shadow .2s;border-top:3px solid transparent;background:var(--dw-mid);border-left:1px solid var(--dw-border);border-right:1px solid var(--dw-border);border-bottom:1px solid var(--dw-border);box-shadow:0 2px 14px rgba(201,162,75,.05)}#view-account .account-section:hover{border-top-color:var(--dw-accent);box-shadow:0 4px 22px rgba(201,162,75,.12)}#view-account .account-section h3 em{font-style:italic;color:var(--dw-accent)}#view-account .account-section-help{color:var(--dw-muted);font-size:.84rem;margin:-8px 0 14px;line-height:1.55}#view-account .account-section--danger{border-top-color:rgba(216,88,74,.35)}#view-account .account-section--danger:hover{border-top-color:var(--dw-red)}#view-account .account-section--danger h3 em{color:var(--dw-red)}.account-signout-btn{box-shadow:0 2px 10px rgba(216,88,74,.1);transition:background .2s,color .2s,box-shadow .2s,transform .15s}.account-signout-btn:hover{box-shadow:0 4px 18px rgba(216,88,74,.28);transform:translateY(-1px)}body.trainer-shell-active #view-admin .admin-header{border-bottom:1px solid rgba(201,162,75,.18);padding-bottom:18px;margin-bottom:18px}body.trainer-shell-active #view-admin .admin-header h2{font-family:var(--dw-font-display);font-weight:500;letter-spacing:3px;color:var(--dw-white)}body.trainer-shell-active #view-admin .admin-header h2 span{color:var(--dw-accent);font-style:italic;letter-spacing:2px;text-transform:lowercase;font-weight:400}body.trainer-shell-active #view-admin .stat-pill{background:var(--dw-mid);border:1px solid var(--dw-border);border-top:3px solid transparent;box-shadow:0 2px 12px rgba(201,162,75,.06);transition:border-color var(--dw-dur, .2s),box-shadow var(--dw-dur, .2s)}body.trainer-shell-active #view-admin .stat-pill:hover{border-top-color:var(--dw-accent);box-shadow:0 4px 18px rgba(201,162,75,.14)}body.trainer-shell-active #view-admin .stat-pill .num{color:var(--dw-accent)}body.trainer-shell-active #view-admin .admin-subtabs{border-bottom-color:rgba(201,162,75,.15)}body.trainer-shell-active #view-admin .subtab{border-bottom-width:3px;transition:color var(--dw-dur),border-color var(--dw-dur)}body.trainer-shell-active #view-admin .subtab:hover{color:var(--dw-white)}body.trainer-shell-active #view-admin .subtab.active{color:var(--dw-accent);border-bottom-color:var(--dw-accent)}body.trainer-shell-active #trainer-signout-top{box-shadow:0 2px 10px rgba(216,88,74,.1);transition:background .15s,color .15s,box-shadow .15s,transform .12s}body.trainer-shell-active #trainer-signout-top:hover{background:rgba(216,88,74,.1);box-shadow:0 4px 18px rgba(216,88,74,.26);transform:translateY(-1px)}body.trainer-shell-active .admin-section{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-xl,16px);box-shadow:0 2px 10px rgba(201,162,75,.04);transition:border-color var(--dw-dur, .2s),box-shadow var(--dw-dur, .2s)}body.trainer-shell-active .admin-section:hover{border-color:var(--dw-border-hover)}body.trainer-shell-active .admin-section.expanded{border-left:none;border-top:3px solid var(--dw-accent);box-shadow:0 4px 18px rgba(201,162,75,.1)}body.trainer-shell-active .admin-section-header .chevron{color:var(--dw-accent)}body.trainer-shell-active .admin-section-header .section-title{font-family:var(--dw-font-body);font-weight:700;color:var(--dw-white);letter-spacing:.4px}body.trainer-shell-active #sub-schedule .week-nav{background:var(--dw-mid2);border:1px solid var(--dw-border);border-radius:var(--dw-r-md,9px);padding:10px 14px}body.trainer-shell-active #sub-schedule .week-nav-btn{background:var(--dw-mid);border:1px solid var(--dw-border);color:var(--dw-white);border-radius:50%;width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s}body.trainer-shell-active #sub-schedule .week-nav-btn:hover{background:var(--dw-accent);color:var(--dw-black);border-color:var(--dw-accent)}body.trainer-shell-active #sub-schedule .week-nav-today{border-radius:999px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:.7rem;padding:6px 14px}body.trainer-shell-active #sub-schedule .week-nav-today:hover{background:var(--dw-accent);color:var(--dw-black)}body.trainer-shell-active #sub-schedule .day-subheader{color:var(--dw-accent);border-bottom-color:rgba(201,162,75,.2);font-style:italic;font-weight:500;letter-spacing:1.5px}body.trainer-shell-active #sub-schedule .sess-row{position:relative;background:var(--dw-mid);border:1px solid var(--dw-border);border-top:3px solid transparent;border-radius:var(--dw-r-lg,14px);padding:18px 22px;box-shadow:0 2px 12px rgba(201,162,75,.05);transition:border-color var(--dw-dur, .2s),box-shadow var(--dw-dur, .2s)}body.trainer-shell-active #sub-schedule .sess-row:hover{border-top-color:var(--dw-accent);box-shadow:0 4px 22px rgba(201,162,75,.12)}body.trainer-shell-active #sub-schedule .sess-dt .sd{color:var(--dw-white);font-family:var(--dw-font-display)}body.trainer-shell-active #sub-schedule .sess-dt .st{color:var(--dw-accent)}body.trainer-shell-active #sub-schedule .sess-dt .sl{color:var(--dw-muted)}body.trainer-shell-active #sub-schedule .chip{background:var(--dw-mid2);border:1px solid var(--dw-border-hover);color:var(--dw-white);border-radius:999px;padding:4px 12px;font-size:.76rem;transition:border-color .15s,background .15s}body.trainer-shell-active #sub-schedule .chip:hover{border-color:var(--dw-accent)}body.trainer-shell-active #sub-schedule .chip.wlc{background:rgba(240,144,48,.1);border-color:rgba(240,144,48,.4);color:var(--dw-orange)}body.trainer-shell-active #sub-schedule .sbadge{font-family:var(--dw-font-body);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:1.2px;padding:4px 12px;border-radius:999px}body.trainer-shell-active #sub-schedule .sbadge.open{background:rgba(138,160,90,.14);color:var(--dw-green);border:1px solid rgba(138,160,90,.4)}body.trainer-shell-active #sub-schedule .sbadge.full{background:rgba(216,88,74,.14);color:var(--dw-red);border:1px solid rgba(216,88,74,.4)}body.trainer-shell-active #sub-schedule .del-btn{border-radius:999px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;padding:6px 14px}body.trainer-shell-active #sub-schedule .sess-note-input:focus{border-color:var(--dw-accent);box-shadow:0 0 0 2px rgba(201,162,75,.18)}body.trainer-shell-active #sub-schedule .save-note-btn{background:var(--dw-accent);color:var(--dw-black);border:none;border-radius:var(--dw-r-md,9px);padding:9px 16px;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:background .15s}body.trainer-shell-active #sub-schedule .save-note-btn:hover{background:var(--dw-accent-dark)}body.trainer-shell-active #sub-schedule .template-slot-row{padding:4px 0;border-radius:6px;transition:background .15s}body.trainer-shell-active #sub-schedule .template-slot-row:hover{background:rgba(201,162,75,.04)}body.trainer-shell-active #sub-schedule .slot-toggle{accent-color:var(--dw-accent)}body.trainer-shell-active #sub-schedule #add-timeslot-select:focus,body.trainer-shell-active #sub-schedule #custom-end:focus,body.trainer-shell-active #sub-schedule #custom-start:focus{border-color:var(--dw-accent)!important;outline:0;box-shadow:0 0 0 2px rgba(201,162,75,.16)}body.trainer-shell-active #sub-schedule .add-btn{background:var(--dw-accent);color:var(--dw-black);border:none;border-radius:var(--dw-r-md,9px);padding:11px 20px;font-family:var(--dw-font-body);font-weight:700;font-size:.82rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:background .15s,box-shadow .15s;min-height:44px;box-shadow:0 2px 10px rgba(201,162,75,.1)}body.trainer-shell-active #sub-schedule .add-btn:hover{background:var(--dw-accent-dark);box-shadow:0 4px 16px rgba(201,162,75,.22)}body.trainer-shell-active #sub-clients #qa-card{background:var(--dw-mid);border:1px solid var(--dw-border);border-top:3px solid transparent;border-radius:var(--dw-r-lg,14px);padding:16px 18px;box-shadow:0 2px 12px rgba(201,162,75,.06);transition:border-color var(--dw-dur),box-shadow var(--dw-dur)}body.trainer-shell-active #sub-clients #qa-card:hover{border-top-color:var(--dw-accent);box-shadow:0 4px 18px rgba(201,162,75,.12)}body.trainer-shell-active #sub-clients #qa-fname,body.trainer-shell-active #sub-clients #qa-phone{background:var(--dw-mid2);border:1px solid var(--dw-border);color:var(--dw-white);transition:border-color .15s,box-shadow .15s}body.trainer-shell-active #sub-clients #qa-fname:focus,body.trainer-shell-active #sub-clients #qa-phone:focus{border-color:var(--dw-accent);outline:0;box-shadow:0 0 0 2px rgba(201,162,75,.18)}body.trainer-shell-active #sub-clients .dw-clients-search-wrap{position:relative}body.trainer-shell-active #sub-clients .dw-clients-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-size:.92rem;opacity:.7;pointer-events:none}body.trainer-shell-active #sub-clients .dw-clients-search-input{flex:1;background:var(--dw-mid2);border:1px solid var(--dw-border);color:var(--dw-white);padding:11px 14px 11px 38px;border-radius:var(--dw-r-md,9px);font-family:var(--dw-font-body);font-size:.92rem;outline:0;transition:border-color .15s,box-shadow .15s;-webkit-appearance:none;appearance:none;min-height:44px}body.trainer-shell-active #sub-clients .dw-clients-search-input::placeholder{color:var(--dw-border-hover)}body.trainer-shell-active #sub-clients .dw-clients-search-input:focus{border-color:var(--dw-accent);box-shadow:0 0 0 2px rgba(201,162,75,.18)}body.trainer-shell-active #sub-clients #client-sort-mode,body.trainer-shell-active #sub-clients #clients-filter{background:var(--dw-mid2);border:1px solid var(--dw-border);color:var(--dw-white)}body.trainer-shell-active #sub-clients #client-sort-mode:focus,body.trainer-shell-active #sub-clients #clients-filter:focus{border-color:var(--dw-accent);outline:0;box-shadow:0 0 0 2px rgba(201,162,75,.16)}body.trainer-shell-active #sub-clients .clients-table-wrap{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-lg,14px);overflow:hidden;box-shadow:0 2px 12px rgba(201,162,75,.04)}body.trainer-shell-active #sub-clients #clients-table thead tr{border-bottom:2px solid rgba(201,162,75,.35)}body.trainer-shell-active #sub-clients #clients-table thead th{font-family:var(--dw-font-body);font-weight:700;font-size:.66rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--dw-muted);background:var(--dw-mid2);padding:12px 14px}body.trainer-shell-active #sub-clients #clients-table tbody tr{border-bottom:1px solid rgba(46,37,24,.6);transition:background .15s}body.trainer-shell-active #sub-clients #clients-table tbody tr:hover{background:rgba(201,162,75,.06)}body.trainer-shell-active #sub-clients #clients-table tbody td{color:var(--dw-white);padding:12px 14px}body.trainer-shell-active #sub-clients .client-invoices-panel,body.trainer-shell-active #sub-clients .profile-panel,body.trainer-shell-active #sub-clients .progress-panel{background:var(--dw-mid);border:1px solid var(--dw-border);border-top:3px solid var(--dw-accent);border-radius:var(--dw-r-xl,16px);box-shadow:0 4px 24px rgba(201,162,75,.1)}body.trainer-shell-active #sub-clients .profile-panel-title{font-family:var(--dw-font-display);font-weight:500;color:var(--dw-white);letter-spacing:2px}body.trainer-shell-active #sub-clients .profile-panel-title strong{color:var(--dw-white);font-weight:500}body.trainer-shell-active #sub-clients .profile-panel-tabs{border-bottom-color:rgba(201,162,75,.18);gap:6px}body.trainer-shell-active #sub-clients .profile-tab{background:0 0;border:1px solid var(--dw-border);color:var(--dw-muted);border-radius:999px;font-size:.74rem;letter-spacing:.5px;padding:7px 14px;transition:background .15s,color .15s,border-color .15s}body.trainer-shell-active #sub-clients .profile-tab:hover{border-color:var(--dw-accent);color:var(--dw-white)}body.trainer-shell-active #sub-clients .profile-tab.active{background:var(--dw-accent);border-color:var(--dw-accent);color:var(--dw-black);box-shadow:0 2px 10px rgba(201,162,75,.18)}body.trainer-shell-active #sub-clients .profile-contact-grid>div,body.trainer-shell-active #sub-clients .profile-info-card{background:var(--dw-mid2);border:1px solid var(--dw-border);border-radius:var(--dw-r-md,9px);transition:border-color .15s,box-shadow .15s}body.trainer-shell-active #sub-clients .profile-contact-grid>div:hover,body.trainer-shell-active #sub-clients .profile-info-card:hover{border-color:var(--dw-border-hover);box-shadow:0 2px 10px rgba(201,162,75,.06)}body.trainer-shell-active #sub-clients .progress-panel-name{font-family:var(--dw-font-display);font-weight:500;color:var(--dw-white);letter-spacing:2px}body.trainer-shell-active #sub-clients .progress-textarea:focus{border-color:var(--dw-accent);box-shadow:0 0 0 2px rgba(201,162,75,.16)}body.trainer-shell-active #sub-clients .progress-add-btn{background:var(--dw-accent);color:var(--dw-black);border-radius:var(--dw-r-md,9px);letter-spacing:.8px;text-transform:uppercase;font-weight:700;font-size:.78rem;box-shadow:0 2px 10px rgba(201,162,75,.1)}body.trainer-shell-active #sub-clients .progress-add-btn:hover{background:var(--dw-accent-dark);box-shadow:0 4px 16px rgba(201,162,75,.22)}body.trainer-shell-active #sub-clients .award-badge-btn{background:rgba(201,162,75,.1);color:var(--dw-accent);border:1px solid rgba(201,162,75,.4);border-radius:var(--dw-r-md,9px);padding:11px 18px;font-family:var(--dw-font-body);font-weight:700;font-size:.78rem;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:background .15s,border-color .15s,color .15s}body.trainer-shell-active #sub-clients .award-badge-btn:hover{background:var(--dw-accent);color:var(--dw-black)}body.trainer-shell-active #sub-clients .progress-note{background:var(--dw-mid2);border:1px solid var(--dw-border);border-radius:var(--dw-r-lg,14px);transition:border-color .15s,box-shadow .15s}body.trainer-shell-active #sub-clients .progress-note:hover{border-color:var(--dw-border-hover);box-shadow:0 2px 12px rgba(201,162,75,.06)}body.trainer-shell-active #sub-clients .progress-note-date{color:var(--dw-accent);letter-spacing:1px}body.trainer-shell-active #sub-clients .cip-close,body.trainer-shell-active #sub-clients .close-btn,body.trainer-shell-active #sub-clients .progress-close{transition:color .15s,border-color .15s,background .15s}body.trainer-shell-active #sub-clients .cip-close:hover,body.trainer-shell-active #sub-clients .close-btn:hover,body.trainer-shell-active #sub-clients .progress-close:hover{color:var(--dw-red)}body.trainer-shell-active #sub-earnings .dw-earnings-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding-bottom:14px;border-bottom:1px solid rgba(201,162,75,.18);margin-bottom:22px}body.trainer-shell-active #sub-earnings .dw-earnings-header__title{font-family:var(--dw-font-display);font-weight:500;font-size:1.6rem;letter-spacing:2px;color:var(--dw-white);text-transform:uppercase}body.trainer-shell-active #sub-earnings .dw-earnings-header__sub{font-size:.82rem;color:var(--dw-muted);margin-top:4px}body.trainer-shell-active #sub-earnings .dw-earnings-period-nav{display:inline-flex;align-items:center;gap:10px;background:var(--dw-mid2);border:1px solid var(--dw-border);border-radius:999px;padding:6px 8px;box-shadow:0 2px 12px rgba(201,162,75,.06)}body.trainer-shell-active #sub-earnings .dw-earnings-period-btn{width:36px;height:36px;border-radius:50%;background:var(--dw-mid);border:1px solid var(--dw-border);color:var(--dw-white);font-size:.85rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s,transform .1s;min-width:36px;min-height:36px}body.trainer-shell-active #sub-earnings .dw-earnings-period-btn:hover{background:var(--dw-accent);color:var(--dw-black);border-color:var(--dw-accent)}body.trainer-shell-active #sub-earnings .dw-earnings-period-btn:active{transform:scale(.94)}body.trainer-shell-active #sub-earnings .dw-earnings-period-label{font-family:var(--dw-font-body);font-weight:700;font-size:.88rem;color:var(--dw-accent);min-width:130px;text-align:center;letter-spacing:.5px}body.trainer-shell-active #sub-earnings .dw-earnings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px}body.trainer-shell-active #sub-earnings .dw-earnings-card{background:var(--dw-mid);border:1px solid var(--dw-border);border-top:3px solid transparent;border-radius:var(--dw-r-lg,14px);padding:18px 16px;text-align:center;box-shadow:0 2px 12px rgba(201,162,75,.05);transition:border-color var(--dw-dur),box-shadow var(--dw-dur),transform var(--dw-dur)}body.trainer-shell-active #sub-earnings .dw-earnings-card:hover{border-top-color:var(--dw-accent);box-shadow:0 4px 22px rgba(201,162,75,.12);transform:translateY(-1px)}body.trainer-shell-active #sub-earnings .dw-earnings-card__label{font-family:var(--dw-font-body);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:1.4px;color:var(--dw-muted);margin-bottom:8px}body.trainer-shell-active #sub-earnings .dw-earnings-card__value{font-family:var(--dw-font-display);font-size:1.7rem;font-weight:500;letter-spacing:1px;color:var(--dw-white);line-height:1.1}body.trainer-shell-active #sub-earnings .dw-earnings-card--accent .dw-earnings-card__value{color:var(--dw-accent)}body.trainer-shell-active #sub-earnings .dw-earnings-card--total{border-color:rgba(201,162,75,.45);cursor:pointer}body.trainer-shell-active #sub-earnings .dw-earnings-card--total:hover{border-top-color:var(--dw-accent);background:rgba(201,162,75,.04)}body.trainer-shell-active #sub-earnings .dw-earnings-empty{text-align:center;padding:24px;color:var(--dw-muted);font-size:.88rem;font-style:italic}body.trainer-shell-active #sub-earnings .dw-earnings-breakdown-label{font-family:var(--dw-font-body);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--dw-muted);margin:8px 0 12px}body.trainer-shell-active #sub-earnings .dw-earnings-table{width:100%;border-collapse:separate;border-spacing:0;font-family:var(--dw-font-body);background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-lg,14px);overflow:hidden;box-shadow:0 2px 12px rgba(201,162,75,.05)}body.trainer-shell-active #sub-earnings .dw-earnings-table thead th{text-align:left;padding:12px 14px;font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--dw-muted);background:var(--dw-mid2);border-bottom:2px solid rgba(201,162,75,.35)}body.trainer-shell-active #sub-earnings .dw-earnings-table thead th.num{text-align:right}body.trainer-shell-active #sub-earnings .dw-earnings-table tbody tr{transition:background .15s}body.trainer-shell-active #sub-earnings .dw-earnings-table tbody tr:nth-child(2n){background:var(--dw-mid2)}body.trainer-shell-active #sub-earnings .dw-earnings-table tbody tr:hover{background:rgba(201,162,75,.06)}body.trainer-shell-active #sub-earnings .dw-earnings-table td{padding:12px 14px;font-size:.86rem;color:var(--dw-white);border-bottom:1px solid rgba(46,37,24,.6)}body.trainer-shell-active #sub-earnings .dw-earnings-table td.num{text-align:right;font-variant-numeric:tabular-nums}body.trainer-shell-active #sub-earnings .dw-earnings-table td.num.accent{color:var(--dw-accent);font-weight:700}body.trainer-shell-active #sub-earnings .dw-earnings-table__name{font-weight:700;color:var(--dw-white)}body.trainer-shell-active #sub-requests .dw-requests-wrap{display:block}body.trainer-shell-active #sub-requests .dw-requests-section-label{font-family:var(--dw-font-body);font-weight:700;font-size:.84rem;color:var(--dw-white);letter-spacing:.5px;margin:18px 0 12px;display:inline-flex;align-items:center;gap:8px}body.trainer-shell-active #sub-requests .dw-requests-section-label:first-child{margin-top:4px}body.trainer-shell-active #sub-requests .dw-requests-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;padding:2px 8px;border-radius:999px;background:rgba(201,162,75,.14);border:1px solid rgba(201,162,75,.35);color:var(--dw-accent);font-size:.7rem;font-weight:700;margin-left:4px}body.trainer-shell-active #sub-requests .dw-requests-empty{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-lg,14px);padding:28px 20px;text-align:center;color:var(--dw-muted);font-size:.88rem;font-style:italic;margin-bottom:24px}body.trainer-shell-active #sub-requests .dw-request-card{background:var(--dw-mid);border:1px solid var(--dw-border);border-top:3px solid transparent;border-radius:var(--dw-r-lg,14px);padding:16px 18px;margin-bottom:12px;box-shadow:0 2px 12px rgba(201,162,75,.05);transition:border-color var(--dw-dur),box-shadow var(--dw-dur),transform var(--dw-dur)}body.trainer-shell-active #sub-requests .dw-request-card:hover{box-shadow:0 4px 22px rgba(201,162,75,.1);transform:translateY(-1px)}body.trainer-shell-active #sub-requests .dw-request-card--pending{border-top-color:rgba(240,144,48,.5)}body.trainer-shell-active #sub-requests .dw-request-card--pending:hover{border-top-color:var(--dw-orange)}body.trainer-shell-active #sub-requests .dw-request-card--payment{border-top-color:rgba(201,162,75,.5)}body.trainer-shell-active #sub-requests .dw-request-card--payment:hover{border-top-color:var(--dw-accent)}body.trainer-shell-active #sub-requests .dw-request-card--active{border-top-color:rgba(138,160,90,.5)}body.trainer-shell-active #sub-requests .dw-request-card--active:hover{border-top-color:var(--dw-green)}body.trainer-shell-active #sub-requests .dw-request-card--cue{border-top-color:rgba(111,147,201,.5)}body.trainer-shell-active #sub-requests .dw-request-card--cue:hover{border-top-color:var(--dw-blue)}body.trainer-shell-active #sub-requests .dw-request-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}body.trainer-shell-active #sub-requests .dw-request-card__id{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:220px}body.trainer-shell-active #sub-requests .dw-request-card__avatar{flex-shrink:0}body.trainer-shell-active #sub-requests .dw-request-card__name{font-family:var(--dw-font-body);font-weight:700;color:var(--dw-white);font-size:.96rem;line-height:1.2}body.trainer-shell-active #sub-requests .dw-request-card__meta{font-size:.78rem;color:var(--dw-muted);margin-top:3px;line-height:1.45}body.trainer-shell-active #sub-requests .dw-request-card__sub{font-size:.74rem;color:var(--dw-muted);margin-top:4px;line-height:1.4}body.trainer-shell-active #sub-requests .dw-request-card__cue-body{font-size:.9rem;line-height:1.55;color:var(--dw-white);white-space:pre-wrap;margin-top:6px}body.trainer-shell-active #sub-requests .dw-request-card__readonly{font-size:.78rem;color:var(--dw-muted);padding:8px 0}body.trainer-shell-active #sub-requests .dw-request-card__actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}body.trainer-shell-active #sub-requests .dw-request-card .dw-btn{font-size:.78rem;padding:9px 16px;min-height:40px}body.trainer-shell-active #sub-requests .dw-request-approve{box-shadow:0 2px 10px rgba(201,162,75,.1)}body.trainer-shell-active #sub-requests .dw-request-approve:hover{box-shadow:0 4px 18px rgba(201,162,75,.24)}body.trainer-shell-active #sub-requests .dw-request-decline:hover{background:rgba(216,88,74,.1);border-color:var(--dw-red)}body.trainer-shell-active #sub-dashboard{display:none;flex-direction:column;gap:22px;padding:6px 2px 18px}body.trainer-shell-active #sub-dashboard.active{display:flex}.dw-dashboard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}.dw-dashboard-title{margin:0;font:var(--dw-section);letter-spacing:var(--dw-track-display);color:var(--dw-white);text-transform:uppercase}.dw-dashboard-title .dw-italic{font-style:italic;color:var(--dw-accent);font-weight:700}.dw-dashboard-sub{font:var(--dw-body-sm);color:var(--dw-muted);margin-top:4px;letter-spacing:.4px}.dw-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.dw-kpi-card{position:relative;display:flex;flex-direction:column;gap:4px;min-height:108px}.dw-kpi-card__icon{position:absolute;top:14px;right:16px;font-size:1rem;opacity:.55}.dw-kpi-card__value--alert{color:var(--dw-red)}.dw-kpi-card .dw-capacity-bar{margin-top:10px}.dw-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.dw-chart-card{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-lg,14px);padding:16px 18px 18px;box-shadow:0 2px 12px rgba(201,162,75,.06);display:flex;flex-direction:column;gap:10px;height:320px;border-top:3px solid transparent;transition:border-color var(--dw-dur)}.dw-chart-card:hover{border-top-color:var(--dw-accent)}.dw-chart-card__title{font-family:var(--dw-font-body);font-weight:700;font-size:.82rem;letter-spacing:var(--dw-track-label, 1.5px);text-transform:uppercase;color:var(--dw-muted);margin:0}.dw-chart-card__title .dw-italic{font-style:italic;color:var(--dw-accent);font-weight:700;letter-spacing:.6px;text-transform:none}.dw-chart-card__canvas-wrap{position:relative;flex:1 1 auto;min-height:220px}.dw-chart-card__canvas-wrap canvas{max-width:100%;width:100%!important;height:100%!important}.dw-chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--dw-muted);font-size:.85rem;text-align:center;padding:12px;pointer-events:none}.dw-dashboard-tables{display:grid;grid-template-columns:1fr;gap:16px}.dw-table-section{background:var(--dw-mid);border:1px solid var(--dw-border);border-radius:var(--dw-r-lg,14px);padding:14px 16px 8px;box-shadow:0 2px 12px rgba(201,162,75,.05);border-top:3px solid transparent;transition:border-color var(--dw-dur)}.dw-table-section:hover{border-top-color:var(--dw-accent)}.dw-table-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:4px 4px 12px;border-bottom:1px solid var(--dw-border);margin-bottom:6px;flex-wrap:wrap}.dw-table-section__title{margin:0;font-family:var(--dw-font-body);font-weight:700;font-size:.84rem;text-transform:uppercase;letter-spacing:var(--dw-track-label, 1.5px);color:var(--dw-muted)}.dw-table-section__title .dw-italic{font-style:italic;color:var(--dw-accent);font-weight:700;letter-spacing:.6px;text-transform:none}.dw-table-section__count{font-family:var(--dw-font-body);font-size:.74rem;color:var(--dw-accent);letter-spacing:.4px}.dw-table-section__scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.dw-table tbody td .dw-pill{font-size:.65rem;padding:2px 8px}.dw-table .dw-table__num{text-align:right;font-variant-numeric:tabular-nums}.dw-table .dw-table__alert{color:var(--dw-red);font-weight:700}.dw-table-empty{padding:22px 12px;text-align:center;color:var(--dw-muted);font-size:.84rem}#dashboard-subtab.dw-owner-only-hidden,#sub-dashboard.dw-owner-only-hidden{display:none!important}@media (max-width:640px){body.trainer-shell-active #sub-dashboard{gap:16px;padding:4px 0 14px}.dw-kpi-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.dw-kpi-card{padding:14px;min-height:90px}.dw-kpi-card__value{font-size:1.7rem}.dw-chart-grid{gap:12px;grid-template-columns:1fr}.dw-chart-card{padding:14px 14px 16px;height:280px}}