 *,*::before,*::after{box-sizing:border-box;margin:0;padding:0} :root{color-scheme:dark;--bg:#04111f;--bg2:#071828;--bg3:#0a1e35;--cyan:#00d4ff;--teal:#0ef0d4;--text:#e8f4fd;--muted:#7a9bb5;--soft:#c5dae8;--brd:rgba(0,212,255,0.08);--red:#ff4d4d;--grn:#00e5a0;--yel:#ffd166;--pur:#a78bfa;--r:16px;--glass:rgba(7,24,40,0.7);--glass-brd:rgba(255,255,255,0.05);} .cal-wrap {background: rgba(255,255,255,0.03);border: 1px solid var(--brd);border-radius: 14px;padding: 15px;user-select: none;} .cal-head {display: flex;justify-content: space-between;align-items: center;margin-bottom: 15px;} .cal-grid {display: grid;grid-template-columns: repeat(7, 1fr);gap: 5px;text-align: center;} .cal-day-label {font-size: 10px;font-weight: 800;color: var(--muted);text-transform: uppercase;padding-bottom: 8px;} .cal-day {aspect-ratio: 1;display: flex;align-items: center;justify-content: center;font-size: 13px;font-weight: 600;border-radius: 8px;cursor: pointer;transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);border: 1px solid transparent;} .cal-day:hover:not(.disabled) {background: rgba(0,212,255,0.1);border-color: rgba(0,212,255,0.3);color: var(--cyan);transform: translateY(-2px);} .cal-day.today {color: var(--cyan);text-decoration: underline;font-weight: 800;} .cal-day.selected {background: var(--cyan);color: #06111f;box-shadow: 0 4px 12px rgba(0,212,255,0.3);transform: scale(1.05);} .cal-day.disabled {opacity: 0.15;cursor: not-allowed;filter: grayscale(1);} .cal-day.has-class {background: rgba(0,212,255,0.05);border-color: rgba(0,212,255,0.15);color: var(--soft);} .cal-day.has-class::after {content: '';position: absolute;bottom: 4px;width: 4px;height: 4px;background: var(--cyan);border-radius: 50%;} .cal-btn {background: rgba(255,255,255,0.05);border: 1px solid var(--brd);width: 28px;height: 28px;border-radius: 50%;display: flex;align-items: center;justify-content: center;cursor: pointer;transition: 0.2s;} .cal-btn:hover {background: var(--cyan);color: #06111f;border-color: var(--cyan);} html,body{height:100%;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:14px;overflow-x:hidden} h1,h2,h3,h4{font-family:'Syne',sans-serif} button,input,select,textarea{font-family:'DM Sans',sans-serif} button{cursor:pointer} ::-webkit-scrollbar{width:4px} ::-webkit-scrollbar-thumb{background:var(--brd);border-radius:99px} .auth-screen{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:1000} .auth-screen.hidden{display:none} .auth-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none} .auth-bg::before{content:'';position:absolute;top:-20%;left:-10%;width:700px;height:700px;background:radial-gradient(circle,rgba(0,212,255,.07),transparent 70%);animation:bgf 10s ease-in-out infinite} .auth-bg::after{content:'';position:absolute;bottom:-20%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(14,240,212,.05),transparent 70%);animation:bgf 12s ease-in-out infinite reverse} @keyframes bgf{0%,100%{transform:translate(0,0)}50%{transform:translate(25px,-25px)}} .auth-card{position:relative;z-index:2;background:rgba(7,24,40,.95);border:1px solid rgba(0,212,255,.15);border-radius:22px;padding:40px 36px;width:420px;max-width:92vw;box-shadow:0 40px 100px rgba(0,0,0,.7)} .auth-logo{display:flex;flex-direction:column;align-items:center;margin-bottom:22px} .auth-logo img{width:56px;height:56px;border-radius:12px;object-fit:cover;margin-bottom:10px;border:2px solid rgba(0,212,255,.2)} .auth-logo-t{font-size:22px;font-weight:800;color:var(--text);letter-spacing:.5px} .auth-logo-s{font-size:10px;color:var(--cyan);font-weight:700;text-transform:uppercase;letter-spacing:1.2px;margin-top:2px} .auth-tabs{display:flex;background:rgba(255,255,255,.04);border-radius:9px;padding:3px;margin-bottom:18px} .auth-tab{flex:1;padding:8px;border-radius:7px;border:none;background:transparent;color:var(--muted);font-size:13px;font-weight:600;transition:all .15s} .auth-tab.active{background:var(--cyan);color:#06111f} .auth-back{position:absolute;top:14px;left:14px;background:transparent;border:none;color:var(--muted);font-size:12px;display:flex;align-items:center;gap:4px} .auth-back:hover{color:var(--cyan)} #app{display:none;height:100vh;overflow:hidden;position:relative;background:var(--bg)} .layout{display:flex;height:100%;position:relative;z-index:2;background:radial-gradient(circle at 50% 0%, rgba(0,212,255,0.03), transparent 70%);} #sidebar{width:250px;background:var(--glass);border-right:1px solid var(--brd);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;backdrop-filter:blur(20px);transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1);} #main{flex:1;overflow-y:auto;padding:32px 40px 80px;background:transparent;scroll-behavior:smooth;} #app-canvas{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0.3} .s-top{padding:24px 20px;border-bottom:1px solid var(--brd);display:flex;align-items:center;gap:12px} .s-top img{width:38px;height:38px;border-radius:10px;object-fit:cover;flex-shrink:0;border:2px solid rgba(0,212,255,.3);box-shadow:0 0 15px rgba(0,212,255,0.1)} .s-tn{font-size:16px;font-weight:800;color:var(--text);letter-spacing:0.5px} .s-ts{font-size:10px;color:var(--cyan);font-weight:700;letter-spacing:1px;text-transform:uppercase} .snav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px} .nsep{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:rgba(122,155,181,.25);padding:18px 12px 6px} .nb2{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;color:var(--muted);font-size:13.5px;font-weight:600;border:none;background:transparent;width:100%;text-align:left;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1);position:relative;margin-bottom:2px} .nb2:hover{background:rgba(255,255,255,.03);color:var(--text);transform:translateX(4px)} .nb2.active{background:linear-gradient(90deg, rgba(0,212,255,.12), transparent);color:var(--cyan);font-weight:700} .nb2.active::after{content:'';position:absolute;right:0;top:20%;bottom:20%;width:3px;background:var(--cyan);border-radius:3px 0 0 3px;box-shadow:0 0 10px var(--cyan)} .nb-icon{width:18px;text-align:center;font-size:14px;flex-shrink:0;opacity:0.8} .nbadge{background:var(--red);color:#fff;border-radius:99px;font-size:9px;font-weight:800;padding:2px 6px;margin-left:auto;box-shadow:0 0 10px rgba(255,77,77,0.3)} .s-bot{padding:16px;border-top:1px solid var(--brd);background:rgba(0,0,0,0.1)} .s-usr{display:flex;align-items:center;gap:12px;padding:8px;margin-bottom:12px;background:rgba(255,255,255,0.02);border-radius:12px;border:1px solid var(--glass-brd)} .ava{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--cyan),#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#fff;flex-shrink:0;box-shadow:0 4px 10px rgba(0,0,0,0.2)} .ava.lg{width:64px;height:64px;font-size:24px;border-radius:18px} .s-un{font-size:13px;font-weight:700;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px} .s-ur{font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:0.5px} .btn-out{width:100%;background:rgba(255,77,77,0.05);border:1px solid rgba(255,77,77,0.1);color:var(--red);border-radius:10px;padding:10px;font-size:12px;font-weight:700;transition:all 0.3s;display:flex;align-items:center;justify-content:center;gap:8px} .btn-out:hover{background:var(--red);color:white;transform:translateY(-1px);box-shadow:0 5px 15px rgba(255,77,77,0.2)} .page{display:none;animation:pageIn 0.4s cubic-bezier(0.16, 1, 0.3, 1)} @keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}} .page.active{display:block} .pgh{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;gap:15px;position:relative} .pgh::after{content:'';position:absolute;bottom:-12px;left:0;width:40px;height:3px;background:var(--cyan);border-radius:3px} .pgt{font-size:28px;font-weight:800;color:var(--text);line-height:1.1;letter-spacing:-0.5px} .pgs{font-size:14px;color:var(--muted);margin-top:4px;font-weight:500} .fl{display:block;font-size:10.5px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:4px;margin-top:11px} .fi{width:100%;padding:8px 11px;background:rgba(255,255,255,.04);border:1.5px solid var(--brd);border-radius:8px;color:var(--text);font-size:13px;outline:none;transition:border .16s;color-scheme:dark} .fi:focus{border-color:var(--cyan)} .fi option{background:#071828;color:var(--text)} .fi optgroup{background:#071828;color:var(--cyan);font-weight:700;font-style:normal;padding:4px 0} .fi::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0.6;transition:all .2s;filter:invert(0.8) sepia(1) hue-rotate(140deg) saturate(3)} .fi::-webkit-calendar-picker-indicator:hover{opacity:1;transform:scale(1.1);filter:invert(0.8) sepia(1) hue-rotate(140deg) saturate(5) brightness(1.3)} .frow{display:flex;gap:10px;flex-wrap:wrap} .fg{flex:1;min-width:130px} .ferr{background:rgba(255,77,109,.1);color:var(--red);border:1px solid rgba(255,77,109,.18);border-radius:7px;padding:6px 10px;font-size:12px;margin-top:6px} .fok{background:rgba(0,229,160,.1);color:var(--grn);border:1px solid rgba(0,229,160,.18);border-radius:7px;padding:6px 10px;font-size:12px;margin-top:6px} .btn{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1);border:1px solid transparent;line-height:1;user-select:none;position:relative;overflow:hidden;} .btn:active{transform:scale(0.96)} .bp{background:var(--cyan);color:#04111f;box-shadow:0 8px 20px rgba(0,212,255,0.2)} .bp:hover{background:var(--teal);transform:translateY(-2px);box-shadow:0 12px 25px rgba(0,212,255,0.3)} .bd{background:rgba(255,77,77,0.1);color:var(--red);border-color:rgba(255,77,77,0.2)} .bd:hover{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(255,77,77,0.2)} .bgn{background:rgba(0,229,160,0.1);color:var(--grn);border-color:rgba(0,229,160,0.2)} .bgn:hover{background:var(--grn);color:#fff;box-shadow:0 8px 20px rgba(0,229,160,0.2)} .bg2{background:rgba(255,255,255,0.05);color:var(--text);border-color:var(--brd)} .bg2:hover{background:rgba(255,255,255,0.1);border-color:var(--cyan)} .bsm{padding:8px 16px;font-size:12px;border-radius:10px} .panel{background:var(--bg2);border:1px solid var(--brd);border-radius:var(--r);padding:24px;margin-bottom:20px;box-shadow:0 10px 30px rgba(0,0,0,0.15);position:relative;overflow:hidden} .panel::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg, transparent, rgba(0,212,255,0.2), transparent);opacity:0.5} .ptit{font-size:14px;font-weight:800;color:var(--text);margin-bottom:16px;text-transform:uppercase;letter-spacing:0.5px;display:flex;align-items:center;gap:8px} .ptit::before{content:'';width:4px;height:14px;background:var(--cyan);border-radius:2px} .sg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-bottom:24px} .sc2{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);padding:20px;position:relative;overflow:hidden;transition:all 0.3s cubic-bezier(0.16, 1, 0.3, 1)} .sc2:hover{transform:translateY(-5px);border-color:rgba(0,212,255,0.3);box-shadow:0 15px 35px rgba(0,212,255,0.1)} .sc2::after{content:'';position:absolute;bottom:-10px;right:-10px;width:60px;height:60px;background:var(--cyan);border-radius:50%;opacity:0.03;filter:blur(20px)} .sv{font-size:28px;font-weight:800;color:var(--text);margin:8px 0 2px;font-family:'Syne',sans-serif;letter-spacing:-1px} .sl{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:700;letter-spacing:0.5px} .two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px} @media(max-width:768px){.two-col{grid-template-columns:1fr}} .tbl{background:var(--bg2);border:1px solid var(--brd);border-radius:var(--r);overflow:hidden;box-shadow:0 8px 25px rgba(0,0,0,0.2)} .th{display:flex;padding:16px 24px;background:rgba(255,255,255,.05);border-bottom:1px solid var(--brd);font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1px;gap:12px} .tr{display:flex;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.03);font-size:14px;transition:all 0.2s;cursor:default;gap:12px} .tr:hover{background:rgba(0,212,255,0.03);color:var(--cyan)} .tr:last-child{border-bottom:none} .empty{padding:40px;text-align:center;color:var(--muted);font-size:14px;font-style:italic} .bge{display:inline-block;padding:2px 8px;border-radius:99px;font-size:10.5px;font-weight:600;background:rgba(255,255,255,.07);color:var(--muted)} .bg-g{background:rgba(0,229,160,.1);color:var(--grn)} .bg-r{background:rgba(255,77,109,.1);color:var(--red)} .bg-y{background:rgba(255,209,102,.1);color:var(--yel)} .bg-c{background:rgba(0,212,255,.1);color:var(--cyan)} .bg-p{background:rgba(167,139,250,.1);color:var(--pur)} .dchips{display:flex;gap:5px;flex-wrap:wrap} .dc{padding:5px 12px;border-radius:99px;border:1.5px solid var(--brd);background:rgba(255,255,255,0.03);color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .11s} .dc:hover{border-color:var(--cyan);color:var(--cyan)} .dc.sel{background:var(--cyan);border-color:var(--cyan);color:#06111f;font-weight:700} .neon-highlight {animation: neonBlink 0.8s ease-in-out infinite alternate;border-color: var(--cyan) !important;box-shadow: 0 0 12px var(--cyan), inset 0 0 6px var(--cyan);color: #fff !important;font-weight: 800 !important;z-index: 10;} @keyframes neonBlink {from {opacity: 0.7;transform: scale(0.96);} to {opacity: 1;transform: scale(1.04);box-shadow: 0 0 20px var(--cyan), inset 0 0 10px var(--cyan);}} .tabs{display:flex;gap:5px;flex-wrap:wrap} .tab{padding:5px 13px;border-radius:99px;border:1.5px solid var(--brd);background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .11s} .tab.active{background:var(--cyan);border-color:var(--cyan);color:#06111f} .sched-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:11px} .scard{background:var(--bg2);border:1px solid var(--brd);border-radius:11px;padding:13px 14px;border-left:3px solid var(--cyan);transition:transform .12s} .scard:hover{transform:translateY(-2px)} .sc-t{font-family:'Syne',sans-serif;font-size:20px;font-weight:800;color:var(--text)} .bar-bg{height:4px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin:6px 0} .bar-fill{height:100%;border-radius:99px;transition:width .5s} .sec-note{background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.1);border-radius:6px;padding:6px 10px;font-size:11px;color:var(--cyan);margin-bottom:9px;display:flex;align-items:center;gap:5px} .pool-wrap{background:var(--bg3);border:1px solid var(--brd);border-radius:var(--r);padding:16px;margin-bottom:14px;overflow-x:auto} .pool-ctl{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap;align-items:center} .psel{padding:6px 10px;background:rgba(255,255,255,.04);border:1.5px solid var(--brd);border-radius:7px;color:var(--text);font-size:12px;outline:none;color-scheme:dark} .psel:focus{border-color:var(--cyan)} .psel option{background:var(--bg2)} .pts{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-left:auto} .pts-dot{width:7px;height:7px;border-radius:50%;background:var(--grn);animation:bl 2s ease-in-out infinite} @keyframes bl{0%,100%{opacity:1}50%{opacity:.3}} .pool-scene{perspective:900px;perspective-origin:50% 25%} .pool-inner{transform:rotateX(34deg);transform-style:preserve-3d;display:inline-block;min-width:100%} .pool-lanes{display:flex;justify-content:center;gap:0;padding:14px 8px 28px;background:linear-gradient(180deg,rgba(0,40,80,.6),rgba(0,80,140,.4));border-radius:10px;border:2px solid rgba(0,212,255,.25);box-shadow:0 0 50px rgba(0,100,200,.2),inset 0 0 30px rgba(0,50,150,.15);position:relative;background-image: repeating-linear-gradient(0deg,transparent,transparent 26px,rgba(0,212,255,.03) 26px,rgba(0,212,255,.03) 27px), repeating-linear-gradient(90deg,transparent,transparent 36px,rgba(0,212,255,.03) 36px,rgba(0,212,255,.03) 37px), linear-gradient(180deg,rgba(0,40,80,.6),rgba(0,80,140,.4));} .pool-wm{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);font-family:'Syne',sans-serif;font-size:10px;font-weight:800;color:rgba(0,212,255,.1);letter-spacing:3px;text-transform:uppercase;white-space:nowrap;pointer-events:none} .lane-col{width:76px;flex-shrink:0;position:relative;border-right:1px solid rgba(255,255,255,.1);padding:3px 3px 0;min-height:260px;display:flex;flex-direction:column;align-items:center} .lane-col:last-child{border-right:none} .lane-hdr{text-align:center;margin-bottom:7px;padding:3px;border-radius:5px;background:rgba(0,0,0,.2);width:100%} .lane-num{font-family:'Syne',sans-serif;font-size:15px;font-weight:900;color:rgba(255,255,255,.45);line-height:1} .lane-dot{width:7px;height:7px;border-radius:50%;margin:2px auto 0;display:block} .lane-sw{flex:1;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:3px;align-content:start;padding:2px} .swimmer{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:#fff;border:2px solid rgba(255,255,255,.35);box-shadow:0 3px 10px rgba(0,0,0,.4);cursor:pointer;transition:transform .2s;position:relative;margin:0 auto} .swimmer:hover{transform:scale(1.18)} .swimmer::after{content:attr(data-name);position:absolute;bottom:calc(100% + 3px);left:50%;transform:translateX(-50%);background:rgba(0,0,0,.85);color:#fff;font-size:9px;font-weight:600;white-space:nowrap;padding:2px 6px;border-radius:4px;opacity:0;transition:opacity .2s;pointer-events:none;z-index:10} .swimmer:hover::after{opacity:1} .slot-e{width:30px;height:30px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.1);margin:0 auto} @keyframes neonPulse{0%,100%{box-shadow:0 0 8px var(--cyan),0 0 18px rgba(0,212,255,.3)}50%{box-shadow:0 0 14px var(--cyan),0 0 30px rgba(0,212,255,.5)}} .swimmer-combo{border-radius:50%} .lane-ftr{width:100%;padding:3px 2px 2px;text-align:center} .lane-cb{height:3px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin:0 3px 2px} .lane-cf{height:100%;border-radius:99px;transition:width .5s} .lane-ct{font-size:8px;color:rgba(255,255,255,.3);font-weight:600} .pool-leg{display:flex;gap:11px;margin-top:11px;flex-wrap:wrap} .pl-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)} .pl-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0} .bal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-bottom:16px} .bal{border-radius:var(--r);padding:16px;text-align:center} .bal.i{background:rgba(0,229,160,.07);border:1px solid rgba(0,229,160,.15)} .bal.e{background:rgba(255,77,109,.07);border:1px solid rgba(255,77,109,.15)} .bal.p{background:rgba(0,212,255,.07);border:1px solid rgba(0,212,255,.15)} .bv{font-family:'Syne',sans-serif;font-size:24px;font-weight:800} .bv.i{color:var(--grn)}.bv.e{color:var(--red)}.bv.p{color:var(--cyan)} .bl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:3px} .chart-row{display:flex;align-items:center;gap:8px;margin-bottom:6px} .chart-m{width:42px;font-size:10px;color:var(--muted);flex-shrink:0} .chart-bw{flex:1;height:18px;background:rgba(255,255,255,.05);border-radius:4px;overflow:hidden} .chart-b{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--cyan),var(--teal));transition:width .6s} .chart-v{font-size:10px;color:var(--soft);width:60px;text-align:right;flex-shrink:0} .plan-card{border-radius:var(--r);padding:16px 18px;margin-bottom:14px;display:flex;align-items:center;gap:16px} .plan-card.ok{background:rgba(0,229,160,.07);border:1px solid rgba(0,229,160,.2)} .plan-card.warn{background:rgba(255,209,102,.08);border:1px solid rgba(255,209,102,.25)} .plan-card.late{background:rgba(255,77,109,.08);border:1px solid rgba(255,77,109,.25)} .pc-days{font-family:'Syne',sans-serif;font-size:36px;font-weight:900;min-width:68px;text-align:center;line-height:1} .pc-days.ok{color:var(--grn)}.pc-days.warn{color:var(--yel)}.pc-days.late{color:var(--red)} .pc-lbl{font-size:12px;font-weight:600;color:var(--soft)} .pc-desc{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.5} .pc-cash{font-size:12px;color:var(--grn);font-weight:600;margin-top:6px;padding:5px 10px;background:rgba(0,229,160,.08);border:1px solid rgba(0,229,160,.15);border-radius:7px;display:inline-block} .member-card{background:linear-gradient(135deg,rgba(0,212,255,.06),rgba(14,240,212,.03));border:1px solid rgba(0,212,255,.12);border-radius:var(--r);padding:14px 16px;display:flex;align-items:center;gap:14px;margin-bottom:14px} .mc-years{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:var(--cyan);min-width:50px;text-align:center} .trophy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:9px;margin-top:8px} .trophy{border-radius:11px;padding:13px;text-align:center;border:1.5px solid var(--brd);background:rgba(255,255,255,.02);transition:all .2s} .trophy.unlocked{border-color:var(--yel);background:rgba(255,209,102,.06);box-shadow:0 0 14px rgba(255,209,102,.1)} .trophy.locked{opacity:.35} .trophy-icon{font-size:26px;margin-bottom:5px} .trophy-name{font-size:11px;font-weight:700;color:var(--soft)} .trophy-desc{font-size:10px;color:var(--muted);margin-top:2px} .rcard{background:var(--bg2);border:1px solid var(--brd);border-radius:var(--r);padding:13px 15px;margin-bottom:8px;border-left:3px solid var(--yel)} .rcard.approved{border-left-color:var(--grn)} .rcard.denied{border-left-color:var(--red)} .rcard.counter_proposed{border-left-color:var(--pur)} .nitem{padding:10px 13px;border-bottom:1px solid rgba(255,255,255,.04);display:flex;gap:10px;align-items:flex-start;cursor:pointer;transition:background .1s} .nitem:hover{background:rgba(255,255,255,.02)} .nitem.unread{background:rgba(0,212,255,.04)} .ni-icon{font-size:17px;flex-shrink:0;margin-top:1px} .ni-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.3} .ni-msg{font-size:11px;color:var(--muted);margin-top:2px;line-height:1.5} .qe-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));gap: 10px;margin-top: 10px;} .qe-card {background: var(--bg2);border: 1px solid var(--brd);border-radius: 12px;padding: 12px;cursor: pointer;transition: all .2s;position: relative;overflow: hidden;} .qe-card:hover {border-color: var(--cyan);background: rgba(0,212,255,.05);transform: translateY(-2px);} .qe-card.active {border-color: var(--cyan);background: rgba(0,212,255,.1);box-shadow: 0 0 15px rgba(0,212,255,.2);} .qe-card.full {opacity: .6;cursor: not-allowed;border-color: var(--red);} .qe-card-time {font-family: 'Syne', sans-serif;font-weight: 800;font-size: 14px;color: var(--text);} .qe-card-lane {font-size: 10px;color: var(--muted);text-transform: uppercase;margin-top: 2px;} .qe-card-info {display: flex;justify-content: space-between;align-items: center;margin-top: 8px;font-size: 10px;font-weight: 700;} .qe-card-tag {position: absolute;top: 0;right: 0;background: var(--cyan);color: #000;font-size: 8px;font-weight: 900;padding: 2px 6px;border-radius: 0 0 0 8px;} .qe-card.promo {border-color: var(--yel);} .qe-card.promo.active {border-color: var(--yel);box-shadow: 0 0 15px rgba(255,209,102,.2);} .lane-grid-adm{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px} .lc{background: linear-gradient(145deg, var(--bg2), var(--bg3));border: 1px solid var(--brd);border-radius: 24px;padding: 24px;position: relative;overflow: hidden;transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);box-shadow: 0 10px 30px rgba(0,0,0,0.2);} .lc:hover {transform: translateY(-8px);border-color: var(--cyan);box-shadow: 0 20px 40px rgba(0,212,255,0.1);} .lc::before {content: attr(data-lane-num);position: absolute;top: -10px;left: 10px;font-family: 'Syne', sans-serif;font-size: 100px;font-weight: 900;color: rgba(255,255,255,0.03);line-height: 1;pointer-events: none;} .lc-status {position: absolute;top: 20px;right: 20px;padding: 4px 10px;border-radius: 8px;font-size: 10px;font-weight: 800;text-transform: uppercase;letter-spacing: 0.5px;} .lc-status.active {background: rgba(0,229,160,0.15);color: var(--grn);} .lc-status.inactive {background: rgba(255,77,77,0.15);color: var(--red);} .lc-name{font-family:'Syne', sans-serif;font-weight:800;font-size:18px;color:var(--text);margin: 30px 0 15px;position: relative;z-index: 1;} .lc-stats{display:grid;grid-template-columns: repeat(3, 1fr);gap:12px;margin-bottom:20px;text-align: center;background: rgba(255,255,255,0.02);padding: 12px;border-radius: 15px;} .lc-sl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-weight: 700;margin-bottom:4px} .lc-sv{font-size:22px;font-weight:900;font-family:'Syne',sans-serif;color:var(--text);letter-spacing: -1px} .lc-info {font-size: 11px;color: var(--muted);margin-bottom: 8px;display: flex;align-items: center;gap: 8px;} .lc-info i {color: var(--cyan);width: 14px;text-align: center;} .lc-btns {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin-top: 15px;} .lc-btn {padding: 10px;border-radius: 12px;font-weight: 700;font-size: 12px;transition: all 0.2s;border: 1px solid var(--brd);display: flex;align-items: center;justify-content: center;gap: 6px;} .lc-btn-edit {background: rgba(255,255,255,0.03);color: var(--soft);} .lc-btn-edit:hover {background: var(--cyan);color: #000;border-color: var(--cyan);} .lc-btn-toggle {background: rgba(255,77,77,0.05);color: var(--red);} .lc-btn-toggle:hover {background: var(--red);color: white;border-color: var(--red);} .phase-tag{display:inline-block;padding:2px 9px;border-radius:99px;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px} .ph-aquecimento{background:rgba(255,209,102,.12);color:var(--yel)} .ph-principal {background:rgba(0,212,255,.12);color:var(--cyan)} .ph-resistencia{background:rgba(255,77,109,.12);color:var(--red)} .ph-tecnico {background:rgba(167,139,250,.12);color:var(--pur)} .ph-desaquecimento{background:rgba(0,229,160,.1);color:var(--grn)} .ph-outro {background:rgba(255,255,255,.07);color:var(--muted)} .int-leve {color:var(--grn);font-weight:700} .int-moderado{color:var(--yel);font-weight:700} .int-forte {color:#ff8c42;font-weight:700} .int-maximo {color:var(--red);font-weight:700} .wi-card{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:start;padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.05);transition:background .1s;} .wi-card:hover{background:rgba(255,255,255,.02)} .wi-card:last-child{border-bottom:none} .wi-num{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:rgba(255,255,255,.12);line-height:1.2;text-align:center} .wi-activity{font-size:13px;font-weight:600;color:var(--text)} .wi-detail{font-size:12px;color:var(--muted);margin-top:2px;line-height:1.5} .wi-meters{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;color:var(--cyan);text-align:right;white-space:nowrap} .wi-meters-label{font-size:9px;color:var(--muted);text-align:right;text-transform:uppercase;letter-spacing:.4px} .workout-total-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,rgba(0,212,255,.08),rgba(14,240,212,.05));border-top:2px solid rgba(0,212,255,.2);border-radius:0 0 var(--r) var(--r);} .wi-drag{cursor:grab;color:rgba(255,255,255,.2);font-size:16px;margin-right:4px} .wi-drag:active{cursor:grabbing} .wi-form-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-bottom:8px;align-items:end} #toast{position:fixed;top:15px;right:15px;z-index:9999;display:flex;flex-direction:column;gap:5px;pointer-events:none} .toast-item{padding:9px 14px;border-radius:9px;font-weight:600;font-size:13px;display:flex;align-items:center;gap:7px;box-shadow:0 8px 24px rgba(0,0,0,.5);animation:sli .22s ease;pointer-events:auto} .t-ok{background:rgba(0,229,160,.1);border:1px solid rgba(0,229,160,.2);color:var(--grn)} .t-err{background:rgba(255,77,109,.1);border:1px solid rgba(255,77,109,.2);color:var(--red)} .dropdown-list {position:absolute;top:100%;left:0;right:0;background:var(--bg2);border:1px solid var(--brd);border-radius:8px;z-index:100;max-height:200px;overflow-y:auto;margin-top:4px;box-shadow:0 10px 25px rgba(0,0,0,.3);} .dropdown-item {padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--brd);transition:.2s;} .dropdown-item:last-child {border-bottom:none;} .dropdown-item:hover {background:var(--bg3);color:var(--cyan);} @media(max-width: 800px) {.layout {flex-direction: column;} #sidebar {position: fixed;top: 0;bottom: 0;left: -280px;width: 280px;z-index: 10001;transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);box-shadow: 10px 0 30px rgba(0,0,0,0.5);} #sidebar.open {left: 0;} #main {padding: 24px 16px 100px;width: 100vw;margin-left: 0;margin-top: 55px;} .mobile-header {display: flex;position: fixed;top: 0;left: 0;right: 0;height: 55px;background: var(--bg2);border-bottom: 1px solid var(--brd);z-index: 9999;align-items: center;padding: 0 15px;box-shadow: 0 4px 10px rgba(0,0,0,0.3);} .mobile-menu-btn {background: transparent;border: none;color: var(--cyan);font-size: 26px;margin-right: 15px;} .mobile-logo {font-size: 16px;font-weight: 800;color: var(--text);letter-spacing: 1px;font-family: 'Syne', sans-serif;} .sidebar-overlay {display: none;position: fixed;inset: 0;background: rgba(0,0,0,0.7);z-index: 10000;opacity: 0;transition: opacity 0.3s;} .sidebar-overlay.active {display: block;opacity: 1;} .auth-card {width: 95%;padding: 30px 20px;margin: 10px auto;} .pgh {flex-direction: column !important;align-items: stretch !important;gap: 16px;margin-bottom: 30px;} .pgt {font-size: 26px;} .two-col, .bal-grid, .sched-grid, .sg, .bal-grid {grid-template-columns: 1fr !important;gap: 16px !important;} .panel {padding: 20px 16px;margin-bottom: 24px;border-radius: 14px;} .frow {flex-direction: column !important;gap: 0 !important;display: block !important;} .fg {width: 100% !important;margin-bottom: 16px !important;display: block !important;} .fi {font-size: 14px;padding: 10px 12px;} .modal-c {width: 95% !important;margin: 10px;padding: 24px 20px !important;max-height: 94vh;border-radius: 24px !important;backdrop-filter: blur(30px) !important;background: rgba(7, 24, 40, 0.9) !important;} .pool-wrap {padding: 12px;margin: 0 -16px 24px;border-radius: 0;border-left: none;border-right: none;} .lane-col {width: 85px;} .tbl {border: none !important;background: transparent !important;overflow: visible !important;} .th {display: none !important;} .tr {flex-direction: column !important;align-items: stretch !important;background: var(--bg2) !important;border: 1px solid var(--brd) !important;border-radius: 14px !important;margin-bottom: 16px !important;padding: 18px !important;min-width: 0 !important;box-shadow: 0 4px 12px rgba(0,0,0,0.2) !important;} .tr > div {width: 100% !important;flex: none !important;padding: 6px 0 !important;border: none !important;text-align: left !important;display: block !important;min-height: auto !important;} .tr > div:not(:last-child) {border-bottom: 1px solid rgba(255,255,255,0.03) !important;} .tr div, .th div {white-space: normal !important;word-break: break-word !important;line-height: 1.5 !important;overflow: visible !important;} .trophy-grid {grid-template-columns: 1fr 1fr !important;gap: 12px;} .btn {width: 100% !important;justify-content: center;padding: 12px 16px;font-size: 15px;margin-top: 5px;} .bsm {width: 100% !important;font-size: 13px;padding: 10px;} .rcard, .nitem {padding: 18px;margin-bottom: 16px;border-radius: 14px;} .cal-grid {gap: 6px;} .cal-day {font-size: 15px;min-height: 40px;} div.pool-ctl {flex-direction: column !important;align-items: stretch !important;gap: 12px !important;display: flex !important;} div#pool-day-chips.dchips {display: flex !important;flex-direction: row !important;overflow-x: auto !important;flex-wrap: nowrap !important;padding-bottom: 8px !important;-webkit-overflow-scrolling: touch !important;gap: 8px !important;width: 100% !important;} #pool-day-chips .dc {flex-shrink: 0 !important;padding: 10px 16px !important;width: auto !important;min-width: 60px !important;text-align: center !important;} .psel#pool-time {width: 100% !important;height: 44px !important;font-size: 15px !important;} #chart-summary, #reports-filters, #dash-stats, .sg, .bal-grid {flex-direction: column !important;display: flex !important;align-items: stretch !important;gap: 16px !important;} #chart-summary > div, #reports-filters > div, .sg > div, .bal-grid > div {width: 100% !important;min-width: 100% !important;margin-bottom: 8px;} .flex-m-stack {flex-direction: column !important;align-items: stretch !important;gap: 12px !important;} .th > div, .tr > div {flex-shrink: 0;}} @media(min-width: 801px) {.mobile-header {display: none;}} .avail-slot {display: grid;grid-template-columns: 100px 100px 32px;gap: 10px;align-items: center;margin-bottom: 6px;} @keyframes neonGlow {from {box-shadow: 0 0 5px var(--cyan), 0 0 10px var(--cyan);border-color: var(--cyan);} to {box-shadow: 0 0 15px var(--cyan), 0 0 30px var(--cyan);border-color: var(--cyan);}} .hall-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));gap: 24px;margin-bottom: 40px;} .hall-card {background: linear-gradient(165deg, rgba(255,209,102,0.15), rgba(10,20,40,0.85));backdrop-filter: blur(12px);border: 1px solid rgba(255,209,102,0.2);border-radius: 28px;padding: 28px;position: relative;overflow: hidden;transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);box-shadow: 0 15px 35px rgba(0,0,0,0.3), inset 0 0 20px rgba(255,209,102,0.05);} .hall-card:hover {transform: translateY(-12px);border-color: rgba(255,209,102,0.6);box-shadow: 0 30px 60px rgba(255,209,102,0.2), inset 0 0 30px rgba(255,209,102,0.1);} .hall-card::before {content: '';position: absolute;top: -50%;left: -50%;width: 200%;height: 200%;background: linear-gradient(45deg, transparent, rgba(255,255,255,0.03), transparent);transform: rotate(45deg);transition: 0.8s;pointer-events: none;} .hall-card:hover::before {transform: rotate(45deg) translate(50%, 50%);} .hall-card::after {content: '\f091';font-family: 'Font Awesome 5 Free';font-weight: 900;position: absolute;bottom: -20px;right: -20px;font-size: 140px;color: rgba(255,209,102,0.03);transform: rotate(-10deg);pointer-events: none;} .hall-icon {width: 64px;height: 64px;background: linear-gradient(135deg, #ffd166, #ff9f43);border-radius: 20px;display: flex;align-items: center;justify-content: center;font-size: 30px;color: #1a1a1a;margin-bottom: 24px;box-shadow: 0 10px 20px rgba(255,209,102,0.3);border: 2px solid rgba(255,255,255,0.2);position: relative;z-index: 2;} .hall-title {font-family: 'Syne', sans-serif;font-size: 22px;font-weight: 800;color: #fff;margin-bottom: 10px;line-height: 1.1;letter-spacing: -0.5px;} .hall-student {font-size: 15px;font-weight: 700;color: #ffd166;margin-bottom: 16px;display: flex;align-items: center;gap: 10px;letter-spacing: 0.5px;} .hall-badge-row {display: flex;flex-wrap: wrap;gap: 10px;margin-bottom: 20px;} .hall-badge {background: rgba(255,255,255,0.06);border: 1px solid rgba(255,255,255,0.12);padding: 6px 12px;border-radius: 12px;font-size: 12px;color: #e0e0e0;display: flex;align-items: center;gap: 6px;font-weight: 600;transition: 0.3s;} .hall-badge:hover {background: rgba(255,255,255,0.1);transform: scale(1.05);} .hall-desc {font-size: 14px;color: #b0b0b0;line-height: 1.7;margin-top: 15px;border-left: 2px solid rgba(255,209,102,0.3);padding-left: 15px;font-style: italic;} .hall-date {font-size: 11px;color: rgba(255,209,102,0.7);font-weight: 800;text-transform: uppercase;letter-spacing: 2px;margin-top: 25px;display: flex;align-items: center;gap: 10px;} .hall-date::after {content: '';flex: 1;height: 1px;background: linear-gradient(90deg, rgba(255,209,102,0.3), transparent);} .hall-admin-btns {position: absolute;top: 20px;right: 20px;display: flex;gap: 8px;z-index: 10;} .hab {width: 36px;height: 36px;border-radius: 12px;border: 1px solid rgba(255,255,255,0.1);display: flex;align-items: center;justify-content: center;cursor: pointer;transition: 0.3s;backdrop-filter: blur(5px);} .hab-edit {background: rgba(0, 212, 255, 0.15);color: var(--cyan);} .hab-del {background: rgba(255, 77, 109, 0.15);color: var(--red);} .hab:hover {transform: translateY(-3px) scale(1.1);box-shadow: 0 5px 15px rgba(0,0,0,0.3);} .hab-edit:hover {background: var(--cyan);color: #000;} .hab-del:hover {background: var(--red);color: #fff;} #pwa-install-banner {position: fixed;top: 15px;left: 15px;right: 15px;background: rgba(10, 26, 46, 0.95);backdrop-filter: blur(20px);border: 1px solid rgba(0, 212, 255, 0.3);border-radius: 18px;padding: 12px 16px;z-index: 10001;display: none;align-items: center;gap: 12px;box-shadow: 0 15px 45px rgba(0,0,0,0.5);animation: pwaSlideDown 0.5s cubic-bezier(0.16, 1, 0.3, 1);max-width: 500px;margin: 0 auto;} @keyframes pwaSlideDown {from {transform: translateY(-100%);opacity: 0;} to {transform: translateY(0);opacity: 1;}} .pwa-icon-box {width: 48px;height: 48px;border-radius: 12px;background: linear-gradient(135deg, #00d4ff, #0ef0d4);display: flex;align-items: center;justify-content: center;font-size: 24px;flex-shrink: 0;box-shadow: 0 4px 10px rgba(0,212,255,0.3);} .pwa-text-box {flex: 1;min-width: 0;} .pwa-title {display: block;font-weight: 800;font-size: 14px;color: #fff;margin-bottom: 1px;} .pwa-desc {display: block;font-size: 11px;color: var(--muted);line-height: 1.2;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;} .pwa-install-btn {background: var(--cyan);color: #06111f;border: none;padding: 8px 16px;border-radius: 8px;font-weight: 800;font-size: 13px;cursor: pointer;transition: all 0.2s;white-space: nowrap;} .pwa-install-btn:active {transform: scale(0.95);} .pwa-close-btn {background: transparent;border: none;color: var(--muted);font-size: 20px;cursor: pointer;padding: 0 4px;line-height: 1;} 