*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--w: #ffffff;--b: #000000;--g: #f0f0f0;--mg: #888888;--acc: #FF3B00;--border: #e8e8e8}html{scroll-behavior:smooth}body{background:var(--w);color:var(--b);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{text-decoration:none;color:inherit}.nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:0 auto;padding:16px 48px;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:100vw;height:1px;background:var(--border)}.nav-logo{font-size:18px;font-weight:900;letter-spacing:-.5px}.nav-logo sup{font-size:10px;color:var(--acc);font-weight:700;vertical-align:super;letter-spacing:0}.nav-links{display:flex;gap:36px;list-style:none}.nav-links a{color:var(--mg);font-size:13px;letter-spacing:.02em;transition:color .15s}.nav-links a:hover{color:var(--b)}.nav-right{display:flex;gap:12px;align-items:center}.btn-login{font-size:13px;color:var(--mg);padding:8px 16px;transition:color .15s}.btn-login:hover{color:var(--b)}.btn-start{background:var(--b);color:var(--w);padding:9px 22px;border-radius:4px;font-size:13px;font-weight:700;letter-spacing:.02em;transition:background .15s}.btn-start:hover{background:#222}.hero{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:120px 48px 72px}.hero-left{display:flex;flex-direction:column;justify-content:center}.hero-tag{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:20px}.hero-tag:before{content:"";width:24px;height:2px;background:var(--acc);flex-shrink:0}.hero-h1{font-size:clamp(44px,5vw,68px);font-weight:900;line-height:.94;letter-spacing:-2.5px;margin-bottom:24px}.hero-h1 .stroke{-webkit-text-stroke:2px var(--b);color:transparent}.hero-desc{font-size:15px;color:var(--mg);line-height:1.7;max-width:380px;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:20px}.cta-main{background:var(--acc);color:var(--w);padding:14px 32px;border-radius:4px;font-weight:800;font-size:14px;letter-spacing:-.2px;transition:opacity .2s}.cta-main:hover{opacity:.85}.cta-link{font-size:14px;color:var(--b);border-bottom:1px solid var(--b);padding-bottom:2px;transition:opacity .15s}.cta-link:hover{opacity:.6}.hero-right{position:relative;display:flex;justify-content:center;align-items:center;min-height:420px}.big-visual{position:relative;width:100%;display:flex;align-items:center;justify-content:center}.big-num{position:absolute;font-size:clamp(120px,14vw,200px);font-weight:900;color:var(--g);letter-spacing:-8px;top:50%;left:50%;transform:translate(-50%,-55%);line-height:1;-webkit-user-select:none;user-select:none;z-index:0}.cards-stack{position:relative;z-index:1;display:flex;flex-direction:column;gap:0;width:100%;max-width:320px}.today-marker{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--acc);font-weight:700;letter-spacing:.08em;margin-bottom:10px}.today-marker:before{content:"";flex:1;height:1px;background:var(--acc);opacity:.3}.mini-card{background:var(--w);border:1.5px solid #e8e8e8;border-radius:10px;padding:14px 16px;margin-bottom:6px;box-shadow:0 2px 8px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.mini-card:nth-child(2){transform:translate(12px)}.mini-card:nth-child(3){transform:translate(6px)}.mini-card:nth-child(4){transform:translate(18px)}.mini-card:nth-child(5){transform:translate(8px)}.mini-card:hover{border-color:var(--b);box-shadow:0 6px 20px #00000014;transform:translate(0)!important}.mc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mc-name{font-size:13px;font-weight:700}.mc-tag{font-size:10px;font-weight:700;padding:3px 10px;border-radius:100px;letter-spacing:.05em}.tag-r{background:#fff0ed;color:var(--acc)}.tag-b{background:#edf4ff;color:#06f}.tag-g{background:#edfff4;color:#0a4}.mc-bar-wrap{background:#f0f0f0;border-radius:100px;height:4px;margin-bottom:6px}.mc-bar{height:4px;border-radius:100px;background:var(--b)}.mc-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--mg)}.marquee-wrap{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0;background:var(--b)}.marquee{display:flex;animation:marquee-scroll 20s linear infinite;width:max-content}.marquee-item{font-size:13px;font-weight:700;color:var(--w);padding:0 40px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.marquee-item span{color:var(--acc);margin-right:40px}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.features{max-width:1180px;margin:0 auto;padding:100px 48px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.feat-left .fl-num{font-size:120px;font-weight:900;color:var(--g);line-height:1;letter-spacing:-4px;margin-bottom:-20px}.feat-left h2{font-size:clamp(36px,4vw,56px);font-weight:900;line-height:1.05;letter-spacing:-2px;margin-bottom:24px}.feat-left p{font-size:16px;color:var(--mg);line-height:1.7;max-width:420px}.feat-right{display:flex;flex-direction:column;gap:0}.feat-item{padding:28px 0;border-bottom:1px solid var(--border);display:flex;gap:24px;align-items:flex-start;transition:all .2s;cursor:default}.feat-item:first-child{border-top:1px solid var(--border)}.feat-item:hover .fi-num{color:var(--acc)}.fi-num{font-size:11px;font-weight:700;color:#ccc;letter-spacing:.05em;padding-top:4px;min-width:28px;transition:color .2s}.fi-content h3{font-size:16px;font-weight:800;margin-bottom:8px;letter-spacing:-.3px}.fi-content p{font-size:14px;color:var(--mg);line-height:1.6}.stats-row{background:var(--b);color:var(--w);padding:72px 48px}.stats-row-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.stat-item{padding:0 24px;border-left:1px solid #333}.stat-item:first-child{border:none;padding-left:0}.si-num{font-size:clamp(40px,4vw,64px);font-weight:900;letter-spacing:-2px;line-height:1}.si-acc{color:var(--acc)}.si-label{font-size:13px;color:#888;margin-top:8px;line-height:1.5}.pricing{max-width:1180px;margin:0 auto;padding:100px 48px}.pricing-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:60px}.pricing-head h2{font-size:clamp(36px,4vw,56px);font-weight:900;letter-spacing:-2px;line-height:1}.pricing-head p{font-size:14px;color:var(--mg);max-width:240px;text-align:right;line-height:1.6}.plans{display:grid;grid-template-columns:repeat(3,1fr);border:1.5px solid var(--b);border-radius:12px;overflow:hidden}.plan{padding:36px 32px;border-right:1.5px solid var(--b)}.plan:last-child{border-right:none}.plan.hot{background:var(--b);color:var(--w)}.plan-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px;color:var(--mg)}.plan.hot .plan-label{color:#888}.plan-price{font-size:clamp(36px,3vw,52px);font-weight:900;letter-spacing:-2px}.plan-period{font-size:14px;font-weight:500;color:var(--mg);margin-left:4px}.plan.hot .plan-period{color:#888}.plan-tagline{font-size:13px;color:var(--mg);margin-top:4px;margin-bottom:32px;line-height:1.5}.plan.hot .plan-tagline{color:#aaa}.plan-list{list-style:none;margin-bottom:36px;display:flex;flex-direction:column;gap:12px}.plan-list li{font-size:13px;display:flex;gap:10px;align-items:flex-start;line-height:1.4}.plan-list li:before{content:"→";font-weight:700;flex-shrink:0;color:var(--acc)}.plan-list li.na{color:var(--mg);opacity:.5}.plan-list li.na:before{content:"–";color:currentColor}.plan-cta{display:block;text-align:center;padding:13px;border-radius:4px;font-size:13px;font-weight:800;letter-spacing:.02em;transition:all .2s;cursor:pointer}.plan-cta-dark{background:var(--b);color:var(--w)}.plan-cta-dark:hover{background:#333}.plan-cta-light{background:var(--w);color:var(--b)}.plan-cta-light:hover{background:#f0f0f0}.plan-cta-outline{border:1.5px solid var(--b);color:var(--b)}.plan-cta-outline:hover{background:var(--b);color:var(--w)}.final-cta{max-width:1180px;margin:0 auto;padding:100px 48px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;border-top:1px solid var(--border)}.fc-left h2{font-size:clamp(40px,5vw,72px);font-weight:900;letter-spacing:-3px;line-height:.95}.fc-left h2 .stroke{-webkit-text-stroke:2px var(--b);color:transparent}.fc-right{display:flex;flex-direction:column;gap:24px}.fc-right p{font-size:16px;color:var(--mg);line-height:1.7}.fc-btns{display:flex;gap:12px;align-items:center}.trust-bar{max-width:1180px;margin:0 auto;padding:36px 48px;display:flex;flex-direction:column;align-items:center;gap:20px;border-bottom:1px solid var(--border)}.trust-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mg)}.trust-logos{display:flex;gap:48px;align-items:center;flex-wrap:wrap;justify-content:center}.trust-logo{font-size:15px;font-weight:800;color:#ccc;letter-spacing:-.3px;transition:color .2s;cursor:default}.trust-logo:hover{color:var(--b)}.hiw{max-width:1180px;margin:0 auto;padding:88px 48px;border-top:1px solid var(--border)}.hiw-head{margin-bottom:64px}.hiw-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:16px;display:flex;align-items:center;gap:10px}.hiw-tag:before{content:"";width:24px;height:2px;background:var(--acc);flex-shrink:0}.hiw-title{font-size:clamp(36px,4vw,56px);font-weight:900;line-height:1.05;letter-spacing:-2px}.hiw-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hiw-step{padding:28px 24px;border:1.5px solid var(--border);border-radius:10px;transition:border-color .3s}.hiw-step:hover{border-color:var(--b)}.hiw-num-row{display:flex;align-items:center;gap:12px;margin-bottom:16px}.hiw-num{font-size:32px;font-weight:900;color:#e0e0e0;letter-spacing:-1px;line-height:1;flex-shrink:0}.hiw-line{flex:1;height:1.5px;background:#e0e0e0}.hiw-step:hover .hiw-num{color:var(--acc);transition:color .3s}.hiw-step-title{font-size:16px;font-weight:800;letter-spacing:-.3px;margin-bottom:8px}.hiw-step-desc{font-size:13px;color:var(--mg);line-height:1.7}.testimonials{max-width:1180px;margin:0 auto;padding:88px 48px;border-top:1px solid var(--border)}.test-head{margin-bottom:56px}.test-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:16px;display:flex;align-items:center;gap:10px}.test-tag:before{content:"";width:24px;height:2px;background:var(--acc);flex-shrink:0}.test-title{font-size:clamp(36px,4vw,56px);font-weight:900;line-height:1.05;letter-spacing:-2px}.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.test-card{padding:32px;border:1.5px solid var(--border);border-radius:12px;display:flex;flex-direction:column;justify-content:space-between;transition:border-color .3s}.test-card:hover{border-color:var(--b)}.test-quote{font-size:15px;line-height:1.7;color:#444;margin-bottom:28px;flex:1}.test-author{display:flex;align-items:center;gap:12px}.test-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;font-weight:800;flex-shrink:0}.test-name{font-size:13px;font-weight:800;letter-spacing:-.2px}.test-role{font-size:12px;color:var(--mg);margin-top:2px}.faq{max-width:1180px;margin:0 auto;padding:88px 48px;border-top:1px solid var(--border)}.faq-layout{display:grid;grid-template-columns:1fr 2fr;gap:80px}.faq-tag{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);margin-bottom:16px;display:flex;align-items:center;gap:10px}.faq-tag:before{content:"";width:24px;height:2px;background:var(--acc);flex-shrink:0}.faq-title{font-size:clamp(36px,4vw,56px);font-weight:900;line-height:1.05;letter-spacing:-2px;margin-bottom:20px}.faq-sub{font-size:14px;color:var(--mg);line-height:1.7}.faq-link{color:var(--b);font-weight:700;border-bottom:1px solid var(--b);padding-bottom:1px;transition:opacity .15s}.faq-link:hover{opacity:.6}.faq-right{display:flex;flex-direction:column}.faq-item{padding:20px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:all .15s}.faq-item:first-child{border-top:1px solid var(--border)}.faq-q{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;letter-spacing:-.3px;gap:16px}.faq-toggle{font-size:22px;font-weight:300;color:var(--mg);flex-shrink:0;width:24px;text-align:center;transition:color .2s}.faq-item.open .faq-toggle{color:var(--acc)}.faq-a{margin-top:12px;font-size:14px;color:var(--mg);line-height:1.7;max-width:560px}.footer-new{border-top:1px solid var(--border)}.footer-top{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px;padding:56px 48px 44px}.footer-brand{display:flex;flex-direction:column;gap:12px}.foot-logo{font-size:18px;font-weight:900;letter-spacing:-.5px}.foot-logo sup{font-size:9px;color:var(--acc)}.footer-tagline{font-size:14px;color:var(--mg);line-height:1.6}.footer-social{display:flex;gap:16px;margin-top:4px}.social-link{font-size:12px;font-weight:700;color:var(--mg);transition:color .15s}.social-link:hover{color:var(--b)}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col-title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--b);margin-bottom:4px}.footer-link{font-size:13px;color:var(--mg);transition:color .15s}.footer-link:hover{color:var(--b)}.footer-bottom{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:20px 48px;border-top:1px solid var(--border)}.footer-bottom p{font-size:12px;color:var(--mg)}@media(max-width:900px){.nav{padding:16px 24px}.nav-links{display:none}.hero{grid-template-columns:1fr;padding:90px 24px 48px}.hero-left{padding-right:0;margin-bottom:40px}.trust-bar{padding:32px 24px}.trust-logos{gap:24px}.features{grid-template-columns:1fr;padding:60px 24px;gap:40px}.hiw{padding:60px 24px}.hiw-steps{grid-template-columns:1fr;gap:12px}.stats-row{grid-template-columns:repeat(2,1fr);padding:60px 24px}.testimonials{padding:60px 24px}.test-grid{grid-template-columns:1fr}.pricing{padding:60px 24px}.pricing-head{flex-direction:column;align-items:flex-start;gap:16px}.pricing-head p{text-align:left}.plans{grid-template-columns:1fr}.plan{border-right:none;border-bottom:1.5px solid var(--b)}.plan:last-child{border-bottom:none}.faq{padding:60px 24px}.faq-layout{grid-template-columns:1fr;gap:40px}.final-cta{grid-template-columns:1fr;padding:60px 24px;gap:40px}.footer-top{grid-template-columns:1fr 1fr;padding:40px 24px 32px;gap:32px}.footer-brand{grid-column:1 / -1}.footer-bottom{padding:16px 24px;flex-direction:column;gap:8px;text-align:center}}.app-root{display:flex;min-height:100vh;background:#fff}.app-content{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:#f4f4f4;border-right:1.5px solid #e8e8e8;display:flex;flex-direction:column;min-height:100vh}.sb-logo{padding:20px 20px 16px;font-size:17px;font-weight:900;letter-spacing:-.5px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.sb-logo sup{font-size:9px;color:var(--acc);font-weight:700}.sb-section{padding:16px 12px 8px;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#bbb}.sb-item{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:12px;color:#888;cursor:pointer;border-radius:6px;margin:1px 8px;transition:all .12s;text-decoration:none}.sb-item.active{background:#fff;color:#000;font-weight:700;box-shadow:0 1px 4px #00000014}.sb-item:hover:not(.active){background:#0000000a;color:#000}.sb-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sb-badge{margin-left:auto;background:var(--acc);color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:100px}.sb-spacer{flex:1}.sb-bottom{padding:12px 8px;border-top:1px solid #e8e8e8}.sb-user{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:pointer}.sb-user:hover{background:#0000000a}.sb-av{width:28px;height:28px;border-radius:50%;background:#000;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:800;flex-shrink:0}.sb-uname{font-size:12px;font-weight:700}.sb-urole{font-size:10px;color:#888}.topbar{padding:16px 24px;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;justify-content:space-between;background:#fff;flex-shrink:0}.tb-title{font-size:18px;font-weight:900;letter-spacing:-.5px}.tb-sub{font-size:11px;color:#888;margin-top:2px}.tb-right{display:flex;gap:8px;align-items:center}.tb-btn{background:#000;color:#fff;border:none;padding:8px 18px;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer;letter-spacing:.02em;font-family:inherit;transition:background .15s}.tb-btn:hover{background:#222}.tb-btn-ghost{background:#fff;color:#000;border:1.5px solid #e8e8e8;padding:8px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s}.tb-btn-ghost:hover{border-color:#000}.tb-btn-acc{background:var(--acc)}.tb-btn-acc:hover{background:#e03400}.tb-search{background:#f4f4f4;border:1px solid #e8e8e8;border-radius:4px;padding:7px 12px;font-size:12px;color:#888;width:200px;font-family:inherit}.tb-search:focus{outline:none;border-color:#000;color:#000}.tb-notif{width:32px;height:32px;border-radius:50%;background:#f4f4f4;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;border:1.5px solid #e8e8e8}.notif-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background:var(--acc);border-radius:50%;border:1.5px solid #fff}.page-content{padding:24px;background:#fff;flex:1;overflow-y:auto}.wf-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#888;margin-bottom:6px}.wf-val{font-size:28px;font-weight:900;letter-spacing:-1px}.wf-sub{font-size:11px;color:#888;margin-top:2px}.wf-g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wf-g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.wf-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.wf-row{display:flex;gap:12px;align-items:flex-start}.wf-col{display:flex;flex-direction:column;gap:12px}.wf-card{background:#fff;border:1.5px solid #e8e8e8;border-radius:8px;padding:16px}.wf-card-dark{background:#000;color:#fff;border-color:#000}.wf-card-acc{background:#fff5f3;border-color:#ffd0c8}.stat-card{padding:16px;background:#fff;border:1.5px solid #e8e8e8;border-radius:8px}.wf-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:100px;font-size:10px;font-weight:700;white-space:nowrap}.tag-r{background:#ffeeed;color:#c20}.tag-b{background:#eef3ff;color:#25c}.tag-g{background:#efe;color:#171}.tag-o{background:#fff5ee;color:#c60}.tag-k{background:#000;color:#fff}.tag-purple{background:#f0e8ff;color:#51c}.tag-muted{background:#e8e8e8;color:#888}.wf-divider{height:1px;background:#e8e8e8;margin:12px 0}.avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex-shrink:0}.avatar-sm{width:28px;height:28px;font-size:10px}.avatar-md{width:32px;height:32px;font-size:11px}.avatar-lg{width:40px;height:40px;font-size:14px}.avatar-xl{width:64px;height:64px;font-size:22px}.progress-bar{height:4px;background:#e8e8e8;border-radius:4px;overflow:hidden;width:80px}.progress-fill{height:4px;background:#000;border-radius:4px}.wf-table{width:100%;border-collapse:collapse;font-size:12px}.wf-table thead th{text-align:left;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#888;padding:8px 12px;border-bottom:1.5px solid #e8e8e8}.wf-table tbody td{padding:10px 12px;border-bottom:1px solid #e8e8e8;vertical-align:middle}.wf-table tbody tr:hover td{background:#f4f4f4}.cal-header{display:grid;grid-template-columns:72px repeat(7,1fr);gap:2px;margin-bottom:4px}.cal-header span{font-size:10px;font-weight:700;text-align:center;padding:6px 4px;letter-spacing:.04em;text-transform:uppercase;color:#888}.cal-header span.cal-today-h{color:var(--acc);font-weight:900}.cal-header span.cal-weekend{color:#bbb}.cal-row{display:grid;grid-template-columns:72px repeat(7,1fr);gap:2px;margin-bottom:2px}.cal-time{font-size:10px;color:#bbb;display:flex;align-items:center;justify-content:flex-end;padding-right:8px}.cal-cell{min-height:48px;border:1px solid #e8e8e8;border-radius:4px;position:relative;background:#fafafa}.cal-cell.cal-today{border-color:#ff3b0040;background:#fffaf9}.ses{position:absolute;inset:3px;border-radius:3px;padding:4px 6px;font-size:9px;font-weight:700;overflow:hidden;line-height:1.3;white-space:pre-line}.ses-r{background:#ffe8e3;color:#c30;border-left:2px solid var(--acc)}.ses-b{background:#e8eeff;color:#24c;border-left:2px solid #2244CC}.ses-g{background:#e8ffe8;color:#171;border-left:2px solid #117711}.ses-p{background:#f0e8ff;color:#51c;border-left:2px solid #5511CC}.sheet-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 80px;gap:1px;background:#e8e8e8;border-radius:6px 6px 0 0;overflow:hidden}.sh-cell{background:#fff;padding:8px 12px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#888}.sh-cell.sh-ex{background:#000;color:#fff}.sheet-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 80px;gap:1px;background:#e8e8e8;margin-bottom:1px}.sr-cell{background:#fff;padding:10px 12px;font-size:12px;display:flex;align-items:center;gap:8px}.sr-cell.sr-ex-name{font-weight:700}.sr-val{background:#f4f4f4;border:none;border-radius:3px;padding:4px 8px;font-size:11px;width:100%;color:#000;font-family:inherit;text-align:center}.rpe-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:2px;flex-shrink:0}.add-ex-btn{border:1.5px dashed #d0d0d0;border-radius:6px;padding:12px;text-align:center;font-size:12px;color:#bbb;cursor:pointer;margin-top:1px;transition:all .15s}.add-ex-btn:hover{border-color:#000;color:#000}.ex-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.ex-card{border:1.5px solid #e8e8e8;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .15s}.ex-card:hover{border-color:#000;transform:translateY(-2px)}.ex-thumb{height:80px;background:#f4f4f4;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #e8e8e8}.ex-info{padding:10px 12px}.ex-name{font-size:12px;font-weight:800;margin-bottom:4px}.ex-tags{display:flex;gap:4px;flex-wrap:wrap}.profile-header{background:#f4f4f4;padding:24px;border-bottom:1px solid #e8e8e8;display:flex;gap:20px;align-items:center}.profile-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}.pm-item{font-size:11px;color:#888}.wf-tabs{display:flex;gap:0;border-bottom:1.5px solid #e8e8e8;padding:0 24px;background:#fff}.wf-tab{padding:12px 16px;font-size:12px;font-weight:600;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1.5px;transition:all .12s;white-space:nowrap}.wf-tab.active{color:#000;border-bottom-color:#000;font-weight:800}.wf-tab:hover:not(.active){color:#444}.chart-area{padding:16px;background:#f4f4f4;border-radius:6px}.chart-bars{display:flex;gap:4px;align-items:flex-end;height:80px}.bar-wrap{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.wf-bar{width:100%;border-radius:3px 3px 0 0;background:#000}.wf-bar-acc{background:var(--acc)}.bar-label{font-size:8px;color:#bbb}.chat-layout{display:grid;grid-template-columns:260px 1fr;height:calc(100vh - 57px);overflow:hidden}.chat-list{border-right:1.5px solid #e8e8e8;overflow-y:auto;display:flex;flex-direction:column}.chat-search{padding:12px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.chat-search input{width:100%;background:#f4f4f4;border:none;padding:7px 10px;border-radius:4px;font-size:11px;color:#888;font-family:inherit}.chat-item{padding:12px 16px;border-bottom:1px solid #e8e8e8;cursor:pointer;display:flex;gap:10px;align-items:flex-start;transition:background .12s}.chat-item:hover{background:#f4f4f4}.chat-item.active{background:#f8f8f8}.ci-name{font-size:12px;font-weight:700;margin-bottom:2px}.ci-preview{font-size:11px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.ci-time{font-size:10px;color:#bbb;flex-shrink:0}.ci-unread{width:8px;height:8px;background:var(--acc);border-radius:50%;margin-top:4px;flex-shrink:0}.chat-main{display:flex;flex-direction:column;overflow:hidden}.chat-topbar{padding:12px 20px;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;gap:12px;flex-shrink:0;background:#fff}.chat-messages{flex:1;padding:20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;background:#fafafa}.msg-wrap{display:flex;gap:8px;align-items:flex-end}.msg-wrap.me{flex-direction:row-reverse}.msg-av2{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;color:#fff;flex-shrink:0}.bubble{max-width:360px;padding:10px 14px;border-radius:12px;font-size:12px;line-height:1.5}.bubble-in{background:#fff;border:1px solid #e8e8e8;border-radius:4px 12px 12px}.bubble-out{background:#000;color:#fff;border-radius:12px 4px 12px 12px}.chat-day-sep{text-align:center;font-size:10px;color:#bbb;margin:4px 0}.chat-input-wrap{padding:12px 16px;border-top:1px solid #e8e8e8;display:flex;gap:8px;align-items:center;background:#fff;flex-shrink:0}.chat-input-box{flex:1;background:#f4f4f4;border:1px solid #e8e8e8;border-radius:4px;padding:10px 14px;font-size:12px;color:#888;font-family:inherit}.chat-input-box:focus{outline:none;border-color:#000;color:#000}.chat-send{background:#000;color:#fff;border:none;padding:10px 20px;border-radius:4px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}.notif-list{display:flex;flex-direction:column;gap:2px}.notif-item{display:flex;gap:12px;padding:12px 16px;border-radius:6px;align-items:flex-start;cursor:pointer;transition:background .12s}.notif-item:hover{background:#f4f4f4}.notif-item.unread{background:#fffaf9}.notif-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-title{font-size:12px;font-weight:700;margin-bottom:2px}.notif-sub{font-size:11px;color:#888;line-height:1.4}.notif-time{font-size:10px;color:#bbb;flex-shrink:0;margin-left:auto}.settings-layout{display:grid;grid-template-columns:200px 1fr;min-height:calc(100vh - 57px)}.settings-nav{border-right:1px solid #e8e8e8;padding:16px 0}.sn-item{padding:9px 20px;font-size:12px;color:#888;cursor:pointer;transition:all .12s}.sn-item.active{color:#000;font-weight:700;border-right:2px solid #000}.sn-item:hover:not(.active){background:#f4f4f4;color:#000}.sn-item-danger{color:var(--acc)!important}.settings-content{padding:24px}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #e8e8e8}.setting-row:last-of-type{border:none}.setting-info h4{font-size:13px;font-weight:700;margin-bottom:3px}.setting-info p{font-size:11px;color:#888;line-height:1.4;max-width:380px}.wf-toggle{width:36px;height:20px;background:#000;border-radius:10px;position:relative;cursor:pointer;flex-shrink:0;transition:background .2s}.wf-toggle:after{content:"";position:absolute;right:3px;top:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:all .2s}.wf-toggle.off{background:#d0d0d0}.wf-toggle.off:after{right:auto;left:3px}.invite-box{border:1.5px dashed #d0d0d0;border-radius:8px;padding:24px;text-align:center;background:#f4f4f4}.invite-box h3{font-size:15px;font-weight:800;margin-bottom:8px}.invite-box p{font-size:12px;color:#888;margin-bottom:16px;line-height:1.5}.invite-link-row{background:#fff;border:1.5px solid #e8e8e8;border-radius:4px;padding:10px 14px;font-size:11px;color:#888;font-family:monospace;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;overflow:hidden}.invite-link-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-welcome{margin-bottom:20px}.dash-welcome-name{font-size:22px;font-weight:900;letter-spacing:-.5px}.dash-welcome-date{font-size:12px;color:#888;margin-top:2px}.dash-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-bottom:20px}.stat-card-action{padding:16px;background:#fff;border:1.5px solid #e8e8e8;border-radius:8px;cursor:pointer;transition:all .15s}.stat-card-action:hover{border-color:#000}.stat-card-action .stat-cta{font-size:10px;font-weight:700;color:var(--acc);margin-top:6px;letter-spacing:.03em}.invite-banner{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#f4f4f4;border:1.5px solid #e8e8e8;border-radius:8px;margin-bottom:16px}.invite-banner-icon{width:28px;height:28px;background:#000;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0}.invite-banner-text{font-size:12px;font-weight:700;flex-shrink:0}.invite-banner-link{flex:1;font-size:11px;color:#888;font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-progress-wrap{display:flex;align-items:center;gap:12px;padding:12px 0;margin-bottom:16px}.sheet-progress-bar{flex:1;height:6px;background:#e8e8e8;border-radius:6px;overflow:hidden}.sheet-progress-fill{height:6px;background:#000;border-radius:6px;transition:width .3s}.sheet-progress-fill.complete{background:#171}.sheet-progress-label{font-size:11px;font-weight:700;color:#888;flex-shrink:0}.rpe-pill{display:inline-flex;align-items:center;justify-content:center;width:32px;height:22px;border-radius:4px;font-size:11px;font-weight:800;background:#f4f4f4;color:#000}.rpe-pill.rpe-high{background:#ffeeed;color:#c20}.rpe-pill.rpe-mid{background:#fff5ee;color:#c60}.rpe-pill.rpe-low{background:#efe;color:#171}.notif-filter-tabs{display:flex;gap:8px;margin-bottom:16px}.notif-date-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#bbb;padding:12px 0 6px}.notif-date-label:first-child{padding-top:0}.ex-thumb-push{background:#fff0ed}.ex-thumb-pull{background:#eef3ff}.ex-thumb-legs{background:#efe}.ex-subtitle{font-size:10px;color:#888;margin-bottom:4px}.wellness-row{display:flex;align-items:center;gap:10px;font-size:12px}.wellness-label{width:64px;flex-shrink:0;color:#888}.wellness-track{flex:1;height:6px;background:#e8e8e8;border-radius:6px;overflow:hidden}.wellness-fill{height:6px;border-radius:6px;transition:width .3s}.wellness-val{width:32px;text-align:right;font-weight:700;flex-shrink:0}.cal-athlete-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.cal-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:600;cursor:pointer;border:1.5px solid #e8e8e8;background:#fff;transition:all .12s}.cal-chip.active{background:#000;color:#fff;border-color:#000}.cal-chip:hover:not(.active){border-color:#000}.cal-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.auth-page{min-height:100vh;background:#f0f0f0;display:flex;align-items:center;justify-content:center;padding:40px 24px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.auth-frame{width:100%;max-width:440px;background:#fff;border:1.5px solid #000;border-radius:12px;padding:40px;box-shadow:0 8px 40px #0000001a}.auth-logo{font-size:24px;font-weight:900;letter-spacing:-.5px;margin-bottom:8px}.auth-logo sup{font-size:10px;color:var(--acc)}.auth-sub{font-size:14px;color:#888;margin-bottom:32px;line-height:1.5}.form-group{margin-bottom:16px}.form-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#888;margin-bottom:6px;display:block}.form-input{width:100%;border:1.5px solid #e8e8e8;border-radius:4px;padding:10px 14px;font-size:14px;color:#000;font-family:inherit;transition:border-color .15s}.form-input:focus{outline:none;border-color:#000}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus{-webkit-text-fill-color:#000;-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;caret-color:#000;font-family:inherit;font-size:14px;transition:background-color 9999s ease-in-out 0s}.form-btn{width:100%;background:#000;color:#fff;border:none;padding:13px;border-radius:4px;font-size:14px;font-weight:800;cursor:pointer;margin-top:8px;letter-spacing:.02em;font-family:inherit;transition:background .15s}.form-btn:hover{background:#222}.form-btn-acc{background:var(--acc)}.form-btn-acc:hover{background:#e03400}.form-btn-ghost{width:100%;background:#fff;color:#000;border:1.5px solid #e8e8e8;padding:11px;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s}.form-btn-ghost:hover{border-color:#000}.form-link{text-align:center;font-size:12px;color:#888;margin-top:16px}.form-link a{color:#000;font-weight:700}.form-divider{display:flex;align-items:center;gap:12px;margin:20px 0;font-size:11px;color:#bbb}.form-divider:before,.form-divider:after{content:"";flex:1;height:1px;background:#e8e8e8}.onboard-steps{display:flex;gap:8px;margin-bottom:28px}.os-step{flex:1;height:3px;border-radius:3px;background:#e8e8e8}.os-step.done{background:#000}.os-step.active{background:var(--acc)}.ath-cal{display:grid;grid-template-columns:200px 1fr 220px;gap:0;height:100%;min-height:0}.ath-cal-left{border-right:1px solid #e8e8e8;padding:16px 12px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.ath-cal-left-field{display:flex;flex-direction:column;gap:4px}.ath-cal-left-label{font-size:9px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em}.ath-cal-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:10px;font-size:10px;font-weight:600;background:#f4f4f4;color:#000;border:1px solid #e8e8e8}.ath-cal-health{display:flex;flex-direction:column;gap:6px}.ath-cal-competition-box{padding:8px;border-radius:4px;border:1px solid #e8e8e8;background:#f4f4f4;font-size:10px;color:#000;display:flex;flex-direction:column;gap:4px}.ath-cal-grid{display:flex;flex-direction:column;min-height:0}.ath-cal-nav{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #e8e8e8;flex-shrink:0}.ath-cal-nav-center{display:flex;flex-direction:column;align-items:center;gap:2px}.ath-cal-nav-week{font-size:12px;font-weight:700;color:#000}.ath-cal-nav-range{font-size:10px;color:#888}.ath-cal-days{display:grid;grid-template-columns:repeat(7,1fr);flex:1;overflow-y:auto}.ath-cal-day{border-right:1px solid #e8e8e8;display:flex;flex-direction:column;min-height:280px;background:#fff}.ath-cal-day:last-child{border-right:none}.ath-cal-day.is-today .ath-cal-day-header{background:var(--acc);color:#fff}.ath-cal-day.is-today .ath-cal-day-name,.ath-cal-day.is-today .ath-cal-day-date{color:#fff}.ath-cal-day.is-today{background:#fff8f5}.ath-cal-day.is-weekend{background:#fafafa}.ath-cal-day-header{padding:6px 8px 4px;border-bottom:1px solid #e8e8e8;display:flex;flex-direction:column;gap:1px;flex-shrink:0}.ath-cal-day-name{font-size:9px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em}.ath-cal-day-date{font-size:16px;font-weight:700;color:#000;line-height:1}.ath-cal-day-context{display:flex;flex-direction:column;gap:2px;padding:4px 8px 0;flex-shrink:0}.ath-cal-dm{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:3px;font-size:9px;font-weight:700;line-height:1.3}.ath-cal-dm.dm-far{background:#e8f5e9;color:#2e7d32}.ath-cal-dm.dm-near{background:#fff3e0;color:#e65100}.ath-cal-dm.dm-match{background:#ffebee;color:#c62828}.ath-cal-dm.dm-after{background:#e3f2fd;color:#1565c0}.ath-cal-phase{display:inline-flex;align-items:center;padding:2px 6px;border-radius:3px;font-size:9px;font-weight:600;background:#f4f4f4;color:#000;border:1px solid #e8e8e8}.ath-cal-trainings{display:flex;flex-direction:column;gap:4px;padding:6px 6px 4px;flex:1}.ath-cal-training{display:flex;align-items:center;gap:5px;padding:4px 6px;border-radius:3px;border:1px solid #e8e8e8;background:#fff;cursor:pointer;transition:border-color .12s}.ath-cal-training:hover{border-color:#bbb}.ath-cal-training-emoji{font-size:14px;line-height:1;flex-shrink:0}.ath-cal-training-name{font-size:10px;font-weight:600;color:#000;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ath-cal-training-time{font-size:9px;color:#888;flex-shrink:0}.ath-cal-training-rpe{font-size:9px;font-weight:700;padding:1px 4px;border-radius:2px;flex-shrink:0}.rpe-low{background:#e8f5e9;color:#2e7d32}.rpe-mid{background:#fff3e0;color:#e65100}.rpe-high{background:#ffebee;color:#c62828}.rpe-none{background:#f4f4f4;color:#888}.ath-cal-add-btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:4px 6px;border-radius:3px;border:1px dashed #e8e8e8;background:transparent;font-size:10px;color:#888;cursor:pointer;transition:border-color .12s,color .12s;width:100%;text-align:center}.ath-cal-add-btn:hover{border-color:var(--acc);color:var(--acc)}.ath-cal-competition-marker{display:flex;align-items:center;gap:4px;padding:3px 6px;background:#ffebee;border-top:2px solid #C62828;font-size:9px;font-weight:700;color:#c62828;flex-shrink:0}.ath-cal-monitoring{display:flex;align-items:center;gap:4px;padding:4px 6px;border-top:1px solid #e8e8e8;flex-shrink:0;flex-wrap:wrap}.ath-cal-mon-item{display:flex;flex-direction:column;align-items:center;gap:1px;flex:1;min-width:20px}.ath-cal-mon-icon{font-size:12px;line-height:1}.ath-cal-mon-icon.no-data{opacity:.3}.ath-cal-mon-value{font-size:8px;font-weight:700;color:#000;line-height:1}.ath-cal-mon-value.alert-green{color:#4caf50}.ath-cal-mon-value.alert-yellow{color:#ff9800}.ath-cal-mon-value.alert-red{color:#f44336}.ath-cal-mon-value.no-data{color:#ccc}@keyframes pulse-alert{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.ath-cal-mon-item.alert-pulse{animation:pulse-alert 2s ease-in-out infinite}.ath-cal-right{border-left:1px solid #e8e8e8;padding:16px 12px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}.ath-cal-right-title{font-size:10px;font-weight:700;color:#000;text-transform:uppercase;letter-spacing:.06em;margin-bottom:-8px}.ath-cal-summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ath-cal-summary-label{font-size:10px;color:#888;flex:1}.ath-cal-summary-val{font-size:11px;font-weight:700;color:#000}.ath-cal-alert-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.ath-cal-alert-dot.green{background:#4caf50}.ath-cal-alert-dot.yellow{background:#ff9800}.ath-cal-alert-dot.red{background:#f44336}.ath-cal-vs-week{display:flex;flex-direction:column;gap:6px}.ath-cal-vs-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.ath-cal-vs-val{font-size:11px;font-weight:700;color:#888}.ath-cal-vs-val.positive{color:#2e7d32}.ath-cal-vs-val.negative{color:#c62828}.ath-cal-popover{position:absolute;z-index:100;background:#fff;border:1.5px solid #e8e8e8;border-radius:6px;box-shadow:0 8px 24px #0000001f;padding:12px;min-width:200px;max-width:260px;display:flex;flex-direction:column;gap:8px}.ath-cal-popover:before{content:"";position:absolute;top:-7px;left:20px;width:12px;height:12px;background:#fff;border-left:1.5px solid #e8e8e8;border-top:1.5px solid #e8e8e8;transform:rotate(45deg)}.ath-cal-popover-header{font-size:11px;font-weight:700;color:#000;padding-bottom:6px;border-bottom:1px solid #e8e8e8;display:flex;align-items:center;gap:6px}.ath-cal-popover-header.alert-green{color:#2e7d32}.ath-cal-popover-header.alert-yellow{color:#e65100}.ath-cal-popover-header.alert-red{color:#c62828}.ath-cal-popover-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:10px;color:#888}.ath-cal-popover-row strong{color:#000;font-weight:700}.ath-cal-sparkline{display:flex;align-items:flex-end;gap:2px;height:24px;padding:0}.ath-cal-sparkline-bar{flex:1;min-height:2px;border-radius:1px;background:#e8e8e8}.ath-cal-sparkline-bar.active{background:var(--acc)}.ath-cal-popover-link{font-size:10px;font-weight:600;color:var(--acc);text-decoration:none;cursor:pointer}.ath-cal-popover-link:hover{text-decoration:underline}.ath-cal-popover-timestamp{font-size:9px;color:#bbb}.ath-cal-action-bar{padding:10px 12px;border-top:1px solid #e8e8e8;background:#fff;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.ath-cal-action-title{font-size:10px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em}.ath-cal-action-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ath-cal-action-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border-radius:4px;border:1px solid #e8e8e8;background:#fff;font-size:10px;font-weight:600;color:#000;cursor:pointer;transition:border-color .12s,background .12s;text-align:center}.ath-cal-action-btn:hover{border-color:#bbb;background:#fafafa}.ath-cal-action-btn.completed{border-color:#4caf50;background:#e8f5e9;color:#2e7d32}.ath-cal-action-progress{height:4px;border-radius:2px;background:#e8e8e8;overflow:hidden}.ath-cal-action-progress-fill{height:100%;border-radius:2px;background:var(--acc);transition:width .3s ease}.ath-cal-multi{display:flex;flex-direction:column;gap:0}.ath-cal-multi-header{display:grid;grid-template-columns:80px repeat(7,1fr) 120px;border-bottom:2px solid #e8e8e8;padding:6px 0}.ath-cal-multi-header>*{font-size:9px;font-weight:700;color:#888;text-transform:uppercase;letter-spacing:.06em;padding:0 6px}.ath-cal-multi-row{display:grid;grid-template-columns:80px repeat(7,1fr) 120px;border-bottom:1px solid #e8e8e8;min-height:48px}.ath-cal-multi-row:last-child{border-bottom:none}.ath-cal-multi-meta{padding:8px 6px;display:flex;flex-direction:column;gap:2px;border-right:1px solid #e8e8e8;font-size:10px;font-weight:600;color:#000}.ath-cal-multi-day{padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;border-right:1px solid #f4f4f4}.ath-cal-multi-day:last-of-type{border-right:none}.ath-cal-multi-emoji{font-size:14px;line-height:1}.ath-cal-multi-rpe{font-size:8px;font-weight:700;padding:1px 4px;border-radius:2px}.ath-cal-multi-summary{padding:8px;border-left:1px solid #e8e8e8;display:flex;flex-direction:column;gap:3px;font-size:10px;color:#888}.ath-cal-topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid #e8e8e8;background:#fff}.ath-cal-topbar-left{display:flex;align-items:center;gap:16px}.ath-cal-topbar-right{display:flex;gap:8px}.ath-cal-athlete-info{display:flex;align-items:center;gap:8px}.ath-cal-avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;font-weight:800;flex-shrink:0}.ath-cal-athlete-name{font-size:14px;font-weight:800}.ath-cal-title{font-size:18px;font-weight:900;letter-spacing:-.5px;margin:0}.ath-cal-multiweek-toggle{background:#fff;color:#000;border:1.5px solid #e8e8e8;padding:6px 14px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s}.ath-cal-multiweek-toggle:hover{border-color:#000}.ath-cal-multiweek-toggle.active{background:#000;color:#fff;border-color:#000}.ath-cal-nav-btn{background:#fff;color:#000;border:1.5px solid #e8e8e8;padding:6px 12px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:border-color .15s}.ath-cal-nav-btn:hover{border-color:#000}.ath-cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.ath-cal-nav-btn.today-btn{font-size:11px}.ath-cal-no-trainings{font-size:11px;color:#ccc;text-align:center;padding:12px 4px}.athlete-calendar-v2,.trainer-calendar-v2{--t-hero: 28px;--t-h1: 28px;--t-h2: 18px;--t-h3: 14px;--t-body: 13px;--t-sm: 12px;--t-xs: 11px;--t-caps: 10px;--t-num: 20px;--t-num-sm: 14px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--bg: #ffffff;--bg-soft: #fafafa;--bg-sunken: #f4f4f4;--fg: #0b0b0b;--fg-muted: #6b6b6b;--fg-faint: #9a9a9a;--border: #ececec;--border-strong: #d6d6d6;--ok: #1f8b5f;--amber: #c47a20;--red: #b8372b;--info: #2a5fc4;--okres-przyg: #5B8DB8;--okres-przedstart: #C6843C;--okres-start: #A63D2A;--okres-roztren: #4A8B6B;--blok-gpp: #6B8CAE;--blok-aku: #B89538;--blok-int: #B05E2E;--blok-tap: #7E5E9B;--blok-reg: #5D8F73;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--fg);background:var(--bg);height:100vh;display:flex;flex-direction:column;overflow:hidden}.athlete-calendar-v2 *,.athlete-calendar-v2 *:before,.athlete-calendar-v2 *:after,.trainer-calendar-v2 *,.trainer-calendar-v2 *:before,.trainer-calendar-v2 *:after{box-sizing:border-box}.athlete-calendar-v2 :focus-visible,.trainer-calendar-v2 :focus-visible{outline:2px solid var(--acc);outline-offset:1px}@media(prefers-reduced-motion:reduce){.athlete-calendar-v2 *,.athlete-calendar-v2 *:before,.athlete-calendar-v2 *:after,.trainer-calendar-v2 *,.trainer-calendar-v2 *:before,.trainer-calendar-v2 *:after{transition-duration:0ms!important;animation-duration:0ms!important}}.athlete-calendar-v2 .cal2-header{height:56px;flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--s-5);border-bottom:1px solid var(--border);background:var(--bg)}.athlete-calendar-v2 .cal2-header-left{display:flex;align-items:center;gap:var(--s-2)}.athlete-calendar-v2 .cal2-header-center{display:flex;flex-direction:column;align-items:center;line-height:1}.athlete-calendar-v2 .cal2-header-right{display:flex;justify-content:flex-end;align-items:center}.athlete-calendar-v2 .cal2-week-title{font-size:var(--t-h1);font-weight:900;letter-spacing:-.03em;line-height:1}.athlete-calendar-v2 .cal2-week-range{font-size:var(--t-xs);color:var(--fg-faint);letter-spacing:.02em;margin-top:4px}.athlete-calendar-v2 .cal2-icon-btn{width:32px;height:32px;border:1px solid var(--border);background:var(--bg);border-radius:4px;font-size:18px;line-height:1;color:var(--fg);cursor:pointer;transition:background .15s cubic-bezier(.2,0,0,1),border-color .15s cubic-bezier(.2,0,0,1)}.athlete-calendar-v2 .cal2-icon-btn:hover{background:var(--bg-soft);border-color:var(--border-strong)}.athlete-calendar-v2 .cal2-icon-btn:active{transform:scale(.98)}.athlete-calendar-v2 .cal2-today-btn{height:32px;padding:0 var(--s-3);border:1px solid var(--border);background:var(--bg);border-radius:4px;font-size:var(--t-sm);font-weight:600;color:var(--fg);cursor:pointer;transition:background .15s cubic-bezier(.2,0,0,1)}.athlete-calendar-v2 .cal2-today-btn:hover{background:var(--bg-soft)}.athlete-calendar-v2 .cal2-seg{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;height:32px}.athlete-calendar-v2 .cal2-seg-btn{padding:0 var(--s-3);height:100%;border:none;background:var(--bg);color:var(--fg-muted);font-size:var(--t-sm);font-weight:600;cursor:pointer;transition:background .15s,color .15s}.athlete-calendar-v2 .cal2-seg-btn:hover{background:var(--bg-soft);color:var(--fg)}.athlete-calendar-v2 .cal2-seg-btn.is-active{background:var(--fg);color:var(--bg)}.athlete-calendar-v2 .cal2-left-rail{width:240px;flex-shrink:0;background:var(--bg-soft);border-right:1px solid var(--border);overflow-y:auto}.athlete-calendar-v2 .cal2-rail-section{padding:var(--s-4);border-bottom:1px solid var(--border);position:relative}.athlete-calendar-v2 .cal2-rail-section:last-child{border-bottom:none}.athlete-calendar-v2 .cal2-caps{font-size:var(--t-caps);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:var(--s-2)}.athlete-calendar-v2 .cal2-rail-value{font-size:var(--t-body);font-weight:700;color:var(--fg);letter-spacing:-.01em}.athlete-calendar-v2 .cal2-rail-subvalue{font-size:var(--t-xs);color:var(--fg-muted);margin-top:3px;font-variant-numeric:tabular-nums}.athlete-calendar-v2 .cal2-rail-chip-row{display:flex;align-items:center;gap:var(--s-2)}.athlete-calendar-v2 .cal2-rail-section.has-chip{padding-left:20px}.athlete-calendar-v2 .cal2-rail-section.has-chip:before{content:"";position:absolute;left:0;top:var(--s-4);bottom:var(--s-4);width:3px;background:var(--rail-chip-color, var(--border-strong))}.athlete-calendar-v2 .cal2-color-chip{display:inline-block;width:24px;height:10px;border-radius:2px;flex-shrink:0}.athlete-calendar-v2 .cal2-dot-sm{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.athlete-calendar-v2 .cal2-day-cell{flex:1 1 0;min-width:140px;min-height:100%;border-right:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;cursor:pointer;position:relative;transition:background .15s cubic-bezier(.2,0,0,1)}.athlete-calendar-v2 .cal2-day-cell:last-child{border-right:none}.athlete-calendar-v2 .cal2-day-cell:hover{background:var(--bg-soft)}.athlete-calendar-v2 .cal2-day-cell:before{content:"";display:block;height:4px;width:100%;background:var(--cell-phase, transparent);flex-shrink:0}.athlete-calendar-v2 .cal2-day-cell.is-today{background:#fff8f4}.athlete-calendar-v2 .cal2-day-cell.is-today:before{background:var(--acc);height:5px}.athlete-calendar-v2 .cal2-day-cell.is-today:hover{background:#fff1e8}.athlete-calendar-v2 .cal2-day-cell.is-empty{flex:0 0 48px;min-width:48px;background:var(--bg-soft)}.athlete-calendar-v2 .cal2-day-cell.is-empty:hover{background:var(--bg-sunken)}.athlete-calendar-v2 .cal2-day-cell.is-empty .cal2-day-header{flex-direction:column;gap:2px;align-items:center;justify-content:center;height:44px}.athlete-calendar-v2 .cal2-day-cell.is-empty .cal2-empty-vlabel{margin-top:auto;margin-bottom:var(--s-4);writing-mode:vertical-rl;transform:rotate(180deg);font-size:var(--t-xs);color:var(--fg-faint);letter-spacing:.1em;text-transform:uppercase;text-align:center}.athlete-calendar-v2 .cal2-day-header{display:flex;justify-content:space-between;align-items:baseline;height:44px;padding:0 var(--s-3);background:var(--bg-soft);border-bottom:1px solid var(--border);flex-shrink:0}.athlete-calendar-v2 .cal2-day-cell.is-today .cal2-day-header{background:#ffede2;border-bottom-color:#ff3b0040}.athlete-calendar-v2 .cal2-day-name{letter-spacing:.1em;color:var(--fg-muted);font-size:var(--t-xs);font-weight:700;text-transform:uppercase}.athlete-calendar-v2 .cal2-day-cell.is-today .cal2-day-name{color:var(--acc);font-weight:800}.athlete-calendar-v2 .cal2-day-num{font-size:18px;font-weight:800;color:var(--fg);letter-spacing:-.02em}.athlete-calendar-v2 .cal2-day-cell.is-today .cal2-day-num{color:var(--acc)}.athlete-calendar-v2 .cal2-today-chip{position:absolute;top:8px;right:8px;font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--acc);text-transform:uppercase}.athlete-calendar-v2 .cal2-day-body{padding:var(--s-3);display:flex;flex-direction:column;flex:1;gap:var(--s-2)}.athlete-calendar-v2 .cal2-pill-row{display:flex;gap:var(--s-1);align-items:center}.athlete-calendar-v2 .cal2-pill{display:inline-flex;align-items:center;height:18px;padding:0 var(--s-2);border-radius:2px;font-size:10px;font-weight:800;letter-spacing:.05em;line-height:1;text-transform:uppercase}.athlete-calendar-v2 .cal2-pill-dm{background:#1a1a1a;color:#fff;font-variant-numeric:tabular-nums}.athlete-calendar-v2 .cal2-pill-dm.is-match{background:var(--acc);color:#fff}.athlete-calendar-v2 .cal2-pill-blok{background:var(--bg-sunken);color:var(--fg);padding-left:10px;position:relative;overflow:hidden}.athlete-calendar-v2 .cal2-pill-blok:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pill-blok-color, var(--border-strong))}.athlete-calendar-v2 .cal2-sessions{display:flex;flex-direction:column;gap:var(--s-1);flex:1}.athlete-calendar-v2 .cal2-session-card{border:1px solid var(--border);border-left:4px solid var(--session-color, var(--border-strong));border-radius:3px;padding:8px 10px;background:var(--bg);transition:border-color .15s,box-shadow .15s,transform .15s}.athlete-calendar-v2 .cal2-session-card:hover{border-color:var(--border-strong);border-left-color:var(--session-color, var(--border-strong));box-shadow:0 1px 2px #0000000f}.athlete-calendar-v2 .cal2-session-title{display:flex;align-items:center;gap:6px;font-size:var(--t-body);font-weight:700;color:var(--fg);letter-spacing:-.01em}.athlete-calendar-v2 .cal2-session-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0}.athlete-calendar-v2 .cal2-session-meta{font-size:var(--t-xs);color:var(--fg-muted);margin-top:3px;font-variant-numeric:tabular-nums}.athlete-calendar-v2 .cal2-empty-day{font-size:var(--t-xs);color:var(--fg-faint);text-align:center;padding:var(--s-3) 0;font-style:italic}.athlete-calendar-v2 .cal2-wellness-row{margin-top:auto;padding-top:var(--s-2);border-top:1px solid var(--border)}.athlete-calendar-v2 .cal2-wellness-dots{display:flex;gap:var(--s-2);align-items:center;height:20px;justify-content:flex-start}.athlete-calendar-v2 .cal2-wellness-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;cursor:pointer;transition:transform .15s}.athlete-calendar-v2 .cal2-wellness-dot:hover{transform:scale(1.4)}.athlete-calendar-v2 .cal2-week-grid{flex:1;display:flex;overflow:auto;background:var(--bg)}.athlete-calendar-v2 .cal2-right-rail{width:300px;flex-shrink:0;background:var(--bg);border-left:1px solid var(--border);overflow-y:auto}.athlete-calendar-v2 .cal2-sum-row{display:flex;justify-content:space-between;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--border)}.athlete-calendar-v2 .cal2-sum-row:last-child{border-bottom:none}.athlete-calendar-v2 .cal2-sum-label{font-size:var(--t-xs);color:var(--fg-muted);letter-spacing:.02em}.athlete-calendar-v2 .cal2-sum-value{font-size:var(--t-num);font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums;letter-spacing:-.02em;display:inline-flex;align-items:baseline;gap:4px;line-height:1}.athlete-calendar-v2 .cal2-sum-value.is-wow{font-size:var(--t-num-sm)}.athlete-calendar-v2 .cal2-sum-warn{font-size:13px}.athlete-calendar-v2 .cal2-flags-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.athlete-calendar-v2 .cal2-flag-group{border-bottom:1px solid var(--border)}.athlete-calendar-v2 .cal2-flag-group:last-child{border-bottom:none}.athlete-calendar-v2 .cal2-flag-group-header{display:flex;align-items:center;justify-content:space-between;padding:10px 0;cursor:pointer;-webkit-user-select:none;user-select:none}.athlete-calendar-v2 .cal2-flag-group-header:hover{color:var(--acc)}.athlete-calendar-v2 .cal2-flag-group-title{font-size:var(--t-sm);font-weight:700;color:var(--fg);letter-spacing:.02em}.athlete-calendar-v2 .cal2-flag-group-count{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);color:var(--fg-muted);font-variant-numeric:tabular-nums}.athlete-calendar-v2 .cal2-flag-group-dots{display:inline-flex;gap:3px}.athlete-calendar-v2 .cal2-flag-group-dot{width:6px;height:6px;border-radius:50%;background:var(--border-strong)}.athlete-calendar-v2 .cal2-flag-group-dot.is-yellow{background:var(--amber)}.athlete-calendar-v2 .cal2-flag-group-dot.is-red{background:var(--red)}.athlete-calendar-v2 .cal2-flag-group-chev{color:var(--fg-faint);font-size:10px;transition:transform .15s}.athlete-calendar-v2 .cal2-flag-group.is-open .cal2-flag-group-chev{transform:rotate(90deg)}.athlete-calendar-v2 .cal2-flag-items{list-style:none;padding:0 0 var(--s-2) var(--s-3);margin:0;display:flex;flex-direction:column;gap:2px}.athlete-calendar-v2 .cal2-flag-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:3px;font-size:var(--t-sm);color:var(--fg);cursor:pointer;transition:background .15s;border-left:2px solid transparent}.athlete-calendar-v2 .cal2-flag-item:hover{background:var(--bg-soft)}.athlete-calendar-v2 .cal2-flag-item.is-yellow{border-left-color:var(--amber)}.athlete-calendar-v2 .cal2-flag-item.is-red{border-left-color:var(--red)}.athlete-calendar-v2 .cal2-flag-metric{font-weight:600}.athlete-calendar-v2 .cal2-flag-value{color:var(--fg-muted);font-variant-numeric:tabular-nums}.athlete-calendar-v2 .cal2-flag-showall{background:none;border:none;color:var(--fg-muted);font-size:var(--t-xs);cursor:pointer;padding:var(--s-2) 0 0 0;text-decoration:underline;font-family:inherit}.athlete-calendar-v2 .cal2-flag-showall:hover{color:var(--fg)}.athlete-calendar-v2 .cal2-drawer-backdrop{position:fixed;inset:0;background:#0b0b0b52;z-index:40;animation:cal2-fade-in .15s cubic-bezier(.2,0,0,1)}.athlete-calendar-v2 .cal2-drawer{position:fixed;top:0;right:0;width:480px;max-width:100vw;height:100vh;background:var(--bg);border-left:1px solid var(--border);box-shadow:-8px 0 24px #00000014;z-index:41;display:flex;flex-direction:column;animation:cal2-slide-in .2s cubic-bezier(.2,0,0,1)}@keyframes cal2-fade-in{0%{opacity:0}to{opacity:1}}@keyframes cal2-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.athlete-calendar-v2 .cal2-drawer-header{height:64px;flex-shrink:0;padding:0 var(--s-5);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.athlete-calendar-v2 .cal2-drawer-title{display:flex;flex-direction:column;gap:4px}.athlete-calendar-v2 .cal2-drawer-date{font-size:var(--t-h2);font-weight:800;letter-spacing:-.01em}.athlete-calendar-v2 .cal2-drawer-pills{display:flex;gap:var(--s-1)}.athlete-calendar-v2 .cal2-drawer-body{flex:1;overflow-y:auto;padding:var(--s-5)}.athlete-calendar-v2 .cal2-drawer-section{margin-bottom:var(--s-5)}.athlete-calendar-v2 .cal2-drawer-section:last-child{margin-bottom:0}.athlete-calendar-v2 .cal2-drawer-section-title{font-size:var(--t-caps);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);margin:0 0 var(--s-3) 0}.athlete-calendar-v2 .cal2-drawer-row{display:flex;justify-content:space-between;align-items:center;height:36px;font-size:var(--t-body);border-bottom:1px solid var(--border)}.athlete-calendar-v2 .cal2-drawer-row:last-child{border-bottom:none}.athlete-calendar-v2 .cal2-drawer-label{color:var(--fg-muted)}.athlete-calendar-v2 .cal2-drawer-value{font-size:var(--t-num);font-weight:600;color:var(--fg)}.athlete-calendar-v2 .cal2-drawer-empty{font-size:var(--t-sm);color:var(--fg-faint);padding:var(--s-2) 0}.athlete-calendar-v2 .cal2-drawer-subtext{font-size:var(--t-sm);color:var(--fg-muted);margin-top:4px}.athlete-calendar-v2 .cal2-multiweek{flex:1;overflow:auto;padding:var(--s-5)}.athlete-calendar-v2 .cal2-mw-table{width:100%;border-collapse:collapse;font-size:var(--t-body)}.athlete-calendar-v2 .cal2-mw-table th,.athlete-calendar-v2 .cal2-mw-table td{padding:0 var(--s-3);height:40px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.athlete-calendar-v2 .cal2-mw-table th{height:32px;background:var(--bg-sunken);font-size:var(--t-caps);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}.athlete-calendar-v2 .cal2-mw-table .num{text-align:right;font-variant-numeric:tabular-nums}.athlete-calendar-v2 .cal2-mw-table tbody tr{cursor:pointer;transition:background .15s}.athlete-calendar-v2 .cal2-mw-table tbody tr:hover{background:var(--bg-soft)}.athlete-calendar-v2 .cal2-mw-table tr.is-current{background:#ff3b000a;box-shadow:inset 2px 0 0 var(--acc)}.athlete-calendar-v2 .cal2-mw-label{margin-left:var(--s-2);font-size:var(--t-sm);color:var(--fg)}.athlete-calendar-v2 .cal2-mw-rpe{display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px}.athlete-calendar-v2 .cal2-mw-bar{display:block;width:64px;height:6px;background:var(--border);border-radius:1px;overflow:hidden}.athlete-calendar-v2 .cal2-mw-bar-fill{display:block;height:100%;background:var(--fg);opacity:.5}.athlete-calendar-v2 .cal2-body{flex:1;display:flex;min-height:0;overflow:hidden}.trainer-calendar-v2{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;color:var(--fg);background:var(--bg);display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.trainer-calendar-v2 .tc2-header{height:56px;flex-shrink:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--s-5);border-bottom:1px solid var(--border);background:var(--bg)}.trainer-calendar-v2 .tc2-header-left,.trainer-calendar-v2 .tc2-header-right{display:flex;align-items:center;gap:var(--s-2)}.trainer-calendar-v2 .tc2-header-right{justify-content:flex-end}.trainer-calendar-v2 .tc2-header-center{display:flex;flex-direction:column;align-items:center;line-height:1}.trainer-calendar-v2 .tc2-title{font-size:var(--t-lg);font-weight:800;letter-spacing:-.02em;line-height:1}.trainer-calendar-v2 .tc2-title-sub{font-size:9px;color:var(--fg-faint);letter-spacing:.06em;margin-top:3px;text-transform:uppercase;font-weight:600;opacity:.6}.trainer-calendar-v2 .tc2-icon-btn,.trainer-calendar-v2 .tc2-ghost-btn{height:32px;padding:0 var(--s-3);border:1px solid var(--border);background:var(--bg);border-radius:4px;font-size:var(--t-sm);font-weight:600;color:var(--fg);cursor:pointer;transition:background .15s cubic-bezier(.2,0,0,1),border-color .15s cubic-bezier(.2,0,0,1)}.trainer-calendar-v2 .tc2-icon-btn{width:32px;padding:0;font-size:18px}.trainer-calendar-v2 .tc2-icon-btn:hover,.trainer-calendar-v2 .tc2-ghost-btn:hover{background:var(--bg-soft);border-color:var(--border-strong)}.trainer-calendar-v2 .tc2-primary-btn{height:32px;padding:0 var(--s-4);border:1px solid var(--fg);background:var(--fg);color:var(--bg);border-radius:4px;font-size:var(--t-sm);font-weight:700;cursor:pointer;letter-spacing:-.01em;transition:background .15s}.trainer-calendar-v2 .tc2-primary-btn:hover{background:#000}.trainer-calendar-v2 .tc2-seg{display:inline-flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;height:32px}.trainer-calendar-v2 .tc2-seg-btn{padding:0 var(--s-3);height:100%;border:none;background:var(--bg);color:var(--fg-muted);font-size:var(--t-sm);font-weight:600;cursor:pointer;transition:background .15s,color .15s}.trainer-calendar-v2 .tc2-seg-btn:hover{background:var(--bg-soft);color:var(--fg)}.trainer-calendar-v2 .tc2-seg-btn.is-active{background:var(--fg);color:var(--bg)}.trainer-calendar-v2 .tc2-filter{flex-shrink:0;padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--border);background:var(--bg-soft);display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.trainer-calendar-v2 .tc2-filter-label{font-size:var(--t-caps);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);margin-right:2px}.trainer-calendar-v2 .tc2-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 var(--s-3);border:1px solid var(--border);border-radius:13px;background:var(--bg);font-size:var(--t-sm);font-weight:600;color:var(--fg-muted);cursor:pointer;transition:all .15s cubic-bezier(.2,0,0,1)}.trainer-calendar-v2 .tc2-chip:hover{border-color:var(--border-strong);color:var(--fg)}.trainer-calendar-v2 .tc2-chip.is-active{background:var(--fg);border-color:var(--fg);color:var(--bg)}.trainer-calendar-v2 .tc2-chip-dot{width:8px;height:8px;border-radius:50%;background:var(--chip-athlete-color, var(--border-strong));flex-shrink:0}.trainer-calendar-v2 .tc2-chip.is-active .tc2-chip-dot{background:currentColor}.trainer-calendar-v2 .tc2-body{flex:1;overflow:auto;padding:var(--s-4) var(--s-5)}.trainer-calendar-v2 .tc2-week-label{font-size:var(--t-caps);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);margin:0 0 var(--s-2) 72px;padding-bottom:var(--s-1)}.trainer-calendar-v2 .tc2-grid-header{display:grid;grid-template-columns:72px repeat(7,1fr);border-bottom:1px solid var(--border);background:var(--bg-soft)}.trainer-calendar-v2 .tc2-grid-header span{font-size:var(--t-xs);font-weight:700;text-align:center;padding:var(--s-2) var(--s-1);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);border-right:1px solid var(--border)}.trainer-calendar-v2 .tc2-grid-header span:last-child{border-right:none}.trainer-calendar-v2 .tc2-grid-header span.is-today{color:var(--acc);font-weight:900;background:#ffede2;box-shadow:inset 0 3px 0 var(--acc)}.trainer-calendar-v2 .tc2-grid-header span.is-weekend{color:var(--fg-faint)}.trainer-calendar-v2 .tc2-grid-row{display:grid;grid-template-columns:72px repeat(7,1fr);border-bottom:1px solid var(--border)}.trainer-calendar-v2 .tc2-grid-row:last-child{border-bottom:none}.trainer-calendar-v2 .tc2-time{font-size:var(--t-xs);color:var(--fg-faint);display:flex;align-items:flex-start;justify-content:flex-end;padding:6px 8px 0 0;border-right:1px solid var(--border);font-variant-numeric:tabular-nums}.trainer-calendar-v2 .tc2-cell{min-height:52px;border-right:1px solid var(--border);position:relative;background:var(--bg);transition:background .15s}.trainer-calendar-v2 .tc2-cell:last-child{border-right:none}.trainer-calendar-v2 .tc2-cell:hover{background:var(--bg-soft)}.trainer-calendar-v2 .tc2-cell.is-today{background:#fff8f4}.trainer-calendar-v2 .tc2-cell.is-today:hover{background:#fff1e8}.trainer-calendar-v2 .tc2-session{position:absolute;inset:2px;border-radius:3px;padding:4px 6px 4px 8px;font-size:var(--t-xs);font-weight:700;overflow:hidden;line-height:1.3;background:var(--bg);border:1px solid var(--border);border-left:3px solid var(--session-athlete-color, var(--border-strong));color:var(--fg);cursor:pointer;transition:box-shadow .15s,border-color .15s}.trainer-calendar-v2 .tc2-session:hover{box-shadow:0 2px 4px #00000014;border-color:var(--border-strong)}.trainer-calendar-v2 .tc2-session-meta{font-size:10px;font-weight:500;color:var(--fg-muted);margin-top:2px}.trainer-calendar-v2 .tc2-week{margin-bottom:var(--s-5)}.trainer-calendar-v2 .tc2-week:last-child{margin-bottom:0}.trainer-calendar-v2 .tc2-session.ses-r{--session-athlete-color: var(--acc)}.trainer-calendar-v2 .tc2-session.ses-b{--session-athlete-color: #2a5fc4}.trainer-calendar-v2 .tc2-session.ses-g{--session-athlete-color: #1f8b5f}.trainer-calendar-v2 .tc2-session.ses-p{--session-athlete-color: #7e5e9b}.trainer-calendar-v2 .tc2-session-wrap{position:absolute;inset:2px}.trainer-calendar-v2 .tc2-session-wrap .tc2-session{position:relative;inset:unset}.trainer-calendar-v2 .tc2-popover{position:absolute;left:calc(100% + 6px);top:0;z-index:50;min-width:220px;background:var(--bg);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 16px #0000001f;font-size:var(--t-xs);pointer-events:none;animation:tc2-pop-in .12s ease-out}@keyframes tc2-pop-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.trainer-calendar-v2 .tc2-popover-header{padding:8px 10px;border-left:3px solid var(--border-strong);border-radius:6px 6px 0 0;border-bottom:1px solid var(--border);font-weight:800}.trainer-calendar-v2 .tc2-popover-body{padding:6px 10px 8px;display:flex;flex-direction:column;gap:4px}.trainer-calendar-v2 .tc2-popover-row{display:flex;justify-content:space-between;gap:12px}.trainer-calendar-v2 .tc2-popover-label{color:var(--fg-muted);font-weight:500}.trainer-calendar-v2 .tc2-popover-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.trainer-calendar-v2 .tc2-status-completed{color:#1f8b5f}.trainer-calendar-v2 .tc2-status-in_progress{color:var(--acc)}.trainer-calendar-v2 .tc2-status-cancelled{color:var(--fg-muted)}.trainer-calendar-v2 .tc2-month-title{font-size:var(--t-lg);font-weight:900;margin-bottom:var(--s-3)}.trainer-calendar-v2 .tc2-month-header{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:4px}.trainer-calendar-v2 .tc2-month-header span{text-align:center;font-size:var(--t-xs);font-weight:700;color:var(--fg-muted);padding:4px 0}.trainer-calendar-v2 .tc2-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:6px;overflow:hidden}.trainer-calendar-v2 .tc2-month-day{background:var(--bg);min-height:72px;padding:4px 6px;cursor:pointer;transition:background .1s}.trainer-calendar-v2 .tc2-month-day:hover{background:var(--bg-hover, #fafafa)}.trainer-calendar-v2 .tc2-month-day.is-outside{opacity:.35}.trainer-calendar-v2 .tc2-month-day.is-today .tc2-month-day-num{background:var(--acc);color:#fff;border-radius:50%;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center}.trainer-calendar-v2 .tc2-month-day-num{font-size:var(--t-xs);font-weight:700;display:block;margin-bottom:2px}.trainer-calendar-v2 .tc2-month-dots{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}.trainer-calendar-v2 .tc2-month-dot{width:7px;height:7px;border-radius:50%}.trainer-calendar-v2 .tc2-month-dot-more{font-size:9px;font-weight:700;color:var(--fg-muted);line-height:7px}.tc2-modal-overlay{position:fixed;inset:0;z-index:100;background:#00000059;display:flex;align-items:center;justify-content:center;animation:tc2-fade-in .12s ease-out}@keyframes tc2-fade-in{0%{opacity:0}to{opacity:1}}.tc2-modal{background:var(--bg);border-radius:10px;box-shadow:0 8px 32px #0000002e;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;animation:tc2-slide-up .15s ease-out}@keyframes tc2-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tc2-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.tc2-modal-header h3{font-size:var(--t-lg);font-weight:800;margin:0}.tc2-modal-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--fg-muted);padding:0 4px;line-height:1}.tc2-modal-close:hover{color:var(--fg)}.tc2-modal-body{padding:20px;display:flex;flex-direction:column;gap:14px}.tc2-field{display:flex;flex-direction:column;gap:4px;flex:1}.tc2-field>span{font-size:var(--t-xs);font-weight:700;color:var(--fg-muted)}.tc2-field input,.tc2-field select,.tc2-field textarea{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:var(--t-sm);font-family:inherit;background:var(--bg);color:var(--fg);transition:border-color .12s}.tc2-field input:focus,.tc2-field select:focus,.tc2-field textarea:focus{outline:none;border-color:var(--fg)}.tc2-field-row{display:flex;gap:12px}.tc2-modal-footer{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--border)}.tc2-btn-danger{background:none;border:1px solid #d32f2f;color:#d32f2f;border-radius:6px;padding:7px 14px;font-size:var(--t-sm);font-weight:700;cursor:pointer}.tc2-btn-danger:hover{background:#d32f2f;color:#fff}.trainer-calendar-v2 .tc2-dup-btn{margin-left:12px;font-size:11px;padding:2px 8px;opacity:0;transition:opacity .15s}.trainer-calendar-v2 .tc2-week-label:hover .tc2-dup-btn{opacity:1}.trainer-calendar-v2 .tc2-cell.is-drag-over{background:#ff3b000f;outline:2px dashed var(--acc);outline-offset:-2px;border-radius:4px}.trainer-calendar-v2 .tc2-session-wrap[draggable=true]{cursor:grab}.trainer-calendar-v2 .tc2-session-wrap[draggable=true]:active{cursor:grabbing}.tc2-undo-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:var(--b);color:var(--w);padding:10px 20px;border-radius:8px;font-size:var(--t-sm);font-weight:600;box-shadow:0 4px 16px #0003;z-index:9999;animation:tc2-toast-in .2s ease}.tc2-undo-toast button{background:none;border:1px solid rgba(255,255,255,.3);color:var(--acc);font-weight:700;padding:4px 12px;border-radius:4px;cursor:pointer;font-size:var(--t-sm)}.tc2-undo-toast button:hover{background:#ffffff1a}@keyframes tc2-toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tc2-status-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--border);margin-bottom:4px}.tc2-status-badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 8px;border-radius:4px;background:var(--bg-hover, #f4f4f4)}.tc2-status-badge.tc2-status-completed{color:#1f8b5f;background:#e8f5e9}.tc2-status-badge.tc2-status-cancelled{color:#888;background:#f0f0f0}.tc2-status-badge.tc2-status-in_progress{color:var(--acc);background:#fff3e0}.tc2-status-btn{font-size:12px;font-weight:700;padding:4px 10px;border-radius:5px;border:1px solid var(--border);background:var(--bg);cursor:pointer;transition:all .1s}.tc2-status-btn:hover{background:var(--bg-hover, #f4f4f4)}.tc2-status-btn-complete{color:#1f8b5f;border-color:#1f8b5f}.tc2-status-btn-complete:hover{background:#1f8b5f;color:#fff}.tc2-status-btn-cancel{color:#888}.athlete-calendar-v2 .cal2-trend-wrap{position:relative;display:inline-flex;align-items:center;justify-content:flex-end;width:40px;margin-right:10px;color:#c4c4c4;cursor:default;outline:none;opacity:.9;transition:color .15s,opacity .15s}.athlete-calendar-v2 .cal2-trend-wrap:hover,.athlete-calendar-v2 .cal2-trend-wrap:focus-visible{color:var(--fg-muted);opacity:1}.athlete-sessions-panel{padding:16px 20px;border-top:1px solid var(--border);margin-top:12px}.athlete-sessions-panel h3{font-size:var(--t-base);font-weight:800;margin:0 0 12px}.athlete-sessions-list{display:flex;flex-direction:column;gap:8px}.athlete-session-card{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--border);border-radius:6px;font-size:var(--t-sm);border-left:3px solid var(--acc)}.athlete-session-card.athlete-session-completed{border-left-color:#1f8b5f;opacity:.7}.athlete-session-card.athlete-session-cancelled{border-left-color:#888;opacity:.5}.athlete-session-date{font-weight:700;font-size:var(--t-xs);color:var(--fg-muted);min-width:80px}.athlete-session-info{flex:1;display:flex;align-items:center;gap:8px}.athlete-session-time{font-size:var(--t-xs);color:var(--fg-muted)}.athlete-session-status{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.athlete-session-status-completed{color:#1f8b5f}.athlete-session-status-cancelled{color:#888}.athlete-session-status-in_progress{color:var(--acc)}.athlete-session-action{font-size:11px;font-weight:700;padding:4px 10px;border-radius:5px;border:1px solid var(--border);background:var(--bg);cursor:pointer;margin-left:4px;transition:all .1s}.athlete-session-action:hover{background:var(--bg-hover, #f4f4f4)}.athlete-session-action-complete{color:#1f8b5f;border-color:#1f8b5f}.athlete-session-action-complete:hover{background:#1f8b5f;color:#fff}.cal2-trend-popover{z-index:100;width:240px;background:#fff;border:1px solid #d6d6d6;border-radius:6px;box-shadow:0 6px 20px #0000001f;padding:10px 12px;animation:cal2-pop-in .1s cubic-bezier(.2,0,0,1);pointer-events:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;color:#0b0b0b}@keyframes cal2-pop-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.cal2-trend-popover .cal2-trend-title{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--t-caps);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted);font-weight:700;margin-bottom:6px}.cal2-trend-popover .cal2-trend-current{font-size:var(--t-num-sm);color:var(--fg);font-weight:700;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:-.01em}.cal2-trend-popover .cal2-trend-unit{font-size:10px;color:var(--fg-muted);margin-left:1px;font-weight:500}.cal2-trend-popover .cal2-trend-chart{display:block;width:100%;height:auto}.cal2-trend-popover .cal2-trend-xlabels{display:flex;justify-content:space-between;font-size:10px;color:var(--fg-faint);margin-top:2px;font-variant-numeric:tabular-nums}.cal2-trend-popover .cal2-trend-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.cal2-trend-popover .cal2-trend-stats>div{display:flex;flex-direction:column;gap:1px}.cal2-trend-popover .cal2-trend-stat-label{font-size:9px;color:var(--fg-faint);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.cal2-trend-popover .cal2-trend-stat-value{font-size:var(--t-sm);color:var(--fg);font-weight:600;font-variant-numeric:tabular-nums}.cal2-trend-popover .cal2-trend-empty{font-size:var(--t-xs);color:var(--fg-faint);padding:8px 0;font-style:italic}.sb-bell-wrapper{position:relative}.sb-bell-btn{background:none;border:none;cursor:pointer;padding:6px 8px;display:flex;align-items:center;gap:6px;color:var(--b);border-radius:6px}.sb-bell-btn:hover{background:#e8e8e8}.notif-dropdown{position:absolute;bottom:40px;left:0;width:340px;max-height:440px;background:var(--w);border:1px solid #e8e8e8;border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:100;display:flex;flex-direction:column;overflow:hidden}.notif-dropdown-header{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid #e8e8e8}.notif-dropdown-title{font-weight:700;font-size:13px}.notif-dropdown-mark-all{background:none;border:none;color:var(--acc);font-size:11px;cursor:pointer;font-weight:600}.notif-dropdown-list{flex:1;overflow-y:auto}.notif-dropdown-empty{text-align:center;padding:32px 14px;color:var(--mg);font-size:12px}.notif-dropdown-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;cursor:pointer;position:relative}.notif-dropdown-item:hover{background:#f8f8f8}.notif-dropdown-item.unread{background:#fafafa}.notif-dropdown-icon{width:28px;height:28px;border-radius:50%;background:var(--g);display:flex;align-items:center;justify-content:center;flex-shrink:0}.notif-dropdown-content{flex:1;min-width:0}.notif-dropdown-item-title{font-size:12px;font-weight:600}.notif-dropdown-item-body{font-size:11px;color:var(--mg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-dropdown-time{font-size:10px;color:var(--mg);white-space:nowrap;flex-shrink:0}.notif-dropdown-dot{width:7px;height:7px;border-radius:50%;background:var(--acc);position:absolute;right:14px;top:50%;transform:translateY(-50%)}.notif-dropdown-footer{text-align:center;padding:10px;font-size:11px;font-weight:600;color:var(--acc);cursor:pointer;border-top:1px solid #e8e8e8}.notif-dropdown-footer:hover{background:#fafafa}@media(max-width:1024px){.sidebar{width:60px;overflow:hidden}.sb-logo{padding:16px 0;text-align:center;font-size:14px}.sb-section{display:none}.sb-item{justify-content:center;padding:10px 0}.sb-item span:not(.sb-icon){display:none}.sb-icon{margin-right:0}.sb-badge{position:absolute;top:2px;right:6px}.sb-item{position:relative}.sb-bottom{padding:8px 0}.sb-bottom .sb-item span:not(.sb-icon){display:none}.dash-stats-grid{grid-template-columns:1fr 1fr}.cal-header,.cal-week{grid-template-columns:repeat(7,1fr)}.cal-time,.cal2-left-rail,.cal2-right-rail{display:none}.cal2-main-area{grid-column:1 / -1}.chat-layout{grid-template-columns:200px 1fr}.settings-layout{grid-template-columns:160px 1fr}.sheet-table-wrap{overflow-x:auto}.ath-profile-layout{grid-template-columns:200px 1fr}.ath-profile-sidebar-right{display:none}.wf-g4,.wf-g3{grid-template-columns:1fr 1fr}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.page-content{padding:16px}}@media(max-width:640px){.sidebar{display:none}.app-root{flex-direction:column}.page-content{padding:12px}.page-title{font-size:20px}.dash-stats-grid{grid-template-columns:1fr}.dash-cols{flex-direction:column}.wf-g2,.wf-g3,.wf-g4{grid-template-columns:1fr}.cal-header,.cal-week{grid-template-columns:repeat(7,minmax(80px,1fr));min-width:560px}.cal-wrap{overflow-x:auto}.cal2-week-row,.cal2-header-row{grid-template-columns:repeat(7,minmax(70px,1fr));min-width:490px}.cal2-scroll-area{overflow-x:auto}.chat-layout{grid-template-columns:1fr;grid-template-rows:240px 1fr}.chat-list{border-right:none;border-bottom:1.5px solid #e8e8e8}.settings-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.settings-nav{border-right:none;border-bottom:1px solid #e8e8e8;display:flex;overflow-x:auto;padding:8px 0}.sn-item{white-space:nowrap;padding:6px 12px}.sn-item.active{border-right:none;border-bottom:2px solid #000}.ath-table-wrap{overflow-x:auto}.ath-profile-layout{grid-template-columns:1fr}.sheet-table-wrap{overflow-x:auto}.sheet-row{grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr 60px;min-width:520px}.lib-grid{grid-template-columns:1fr}.notify-item{padding:10px 12px}.wf-val{font-size:22px}.os-steps{gap:4px}}.ex-detail{max-width:1000px}.ex-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 20px 14px}.ex-title{font-size:24px;font-weight:900;letter-spacing:-.01em}.ex-badges{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.ex-badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 11px;border-radius:999px}.ex-badge.cat{background:#eaf0ff;color:#3b6fed}.ex-badge.diff{background:#f1f2f5;color:#6c7280}.ex-actions{display:flex;gap:8px;flex-shrink:0}.ex-actbtn{width:38px;height:38px;border-radius:11px;border:1px solid var(--border);background:#fff;display:grid;place-items:center;cursor:pointer;font-size:15px;transition:border-color .12s,color .12s}.ex-actbtn:hover{border-color:#000}.ex-actbtn.active{color:var(--acc);border-color:var(--acc)}.ex-tabs{display:flex;gap:4px;border-top:1px solid var(--border);padding:0 8px}.ex-tab{font-size:13px;font-weight:800;padding:13px 14px;color:#9aa0aa;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer}.ex-tab.on{color:#000;border-bottom-color:var(--acc)}.ex-row{display:flex;gap:14px;align-items:stretch}.ex-pad{padding:20px}.ex-media-card{flex:0 0 300px;overflow:hidden;padding:0}.ex-media{background:linear-gradient(135deg,#f3f5f8,#e9edf3);border-radius:14px;display:grid;place-items:center;position:relative;overflow:hidden;height:100%}.ex-media img{width:100%;height:100%;object-fit:cover}.ex-glyph{font-size:64px;font-weight:900;color:#cdd3dc}.ex-media-hint{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:11px;font-weight:700;letter-spacing:.08em;color:#aab0ba;text-transform:uppercase}.ex-videoflag{position:absolute;top:12px;right:12px;background:#15181e;color:#fff;font-size:10px;font-weight:800;padding:4px 9px;border-radius:7px;letter-spacing:.05em;text-transform:uppercase}.ex-lbl{font-size:11px;font-weight:800;letter-spacing:.1em;color:#9aa0aa;text-transform:uppercase;margin-bottom:8px}.ex-mchips{display:flex;flex-wrap:wrap;gap:8px}.ex-mchip{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:#f5f6f8;color:#2b2f36}.ex-dot{width:9px;height:9px;border-radius:50%}.ex-body{font-size:14px;line-height:1.65;color:#3a3f47}.ex-steps{list-style:none;counter-reset:step;display:flex;flex-direction:column;gap:12px;padding:0;margin:0}.ex-steps li{counter-increment:step;display:flex;gap:12px;font-size:14px;line-height:1.55;color:#3a3f47}.ex-steps li:before{content:counter(step);flex:0 0 26px;height:26px;border-radius:8px;background:#fff1ec;color:var(--acc);font-weight:800;font-size:13px;display:grid;place-items:center}.ex-tag{display:inline-block;font-size:11px;font-weight:700;padding:5px 11px;border-radius:8px;background:#000;color:#fff}.ex-gallery{display:flex;flex-wrap:wrap;gap:8px}.ex-gallery img{width:120px;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--border);cursor:pointer}.ex-video-card{display:flex;align-items:center;gap:12px;padding:18px;border:1px dashed #cfd5de;border-radius:12px;color:#8b9099;font-size:13px;font-weight:600}.ex-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.ex-overlay.dark{background:#000c;cursor:pointer}.ex-dialog{background:var(--w);border-radius:12px;padding:24px;max-width:400px;width:90%}@media(max-width:640px){.ex-overview{flex-direction:column}.ex-media-card{flex-basis:auto}.ex-media{min-height:200px}}
