
:root{--carbon:#1A1A1A;--ivory:#F4F1EB;--sage:#A7B0A4;--sage-dk:#7A8A78;--stone:#D4CEC6;--white:#FFFFFF;--accent:#6BC47A;--danger:#E05252;--warn:#E5A732;}
*{margin:0;padding:0;box-sizing:border-box;}
html,body{font-family:'DM Sans',sans-serif;background:var(--carbon);color:var(--ivory);height:100vh;overflow:hidden;}
.page{display:none;width:100%;height:100vh;}
.page.active{display:flex;flex-direction:column;}

/* HOME */
#page-home{background:var(--ivory);color:var(--carbon);align-items:center;justify-content:center;overflow-y:auto;}
.home-wrap{width:100%;max-width:680px;padding:60px 32px 80px;display:flex;flex-direction:column;align-items:center;}
.home-logo{display:flex;align-items:center;gap:14px;margin-bottom:52px;}
.home-logo-name{font-family:'Montserrat',sans-serif;font-size:22px;font-weight:600;letter-spacing:4px;color:var(--carbon);}
.home-title{font-family:'Montserrat',sans-serif;font-size:36px;font-weight:600;text-align:center;line-height:1.2;color:var(--carbon);margin-bottom:12px;}
.home-title em{color:var(--sage-dk);font-style:normal;}
.home-sub{font-size:15px;color:var(--sage-dk);text-align:center;line-height:1.6;margin-bottom:48px;max-width:440px;}
.section-label{font-size:11px;text-transform:uppercase;letter-spacing:2.5px;color:var(--sage-dk);margin-bottom:16px;align-self:flex-start;width:100%;}
.clubs-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:16px;}
.club-card{background:var(--white);border:1px solid rgba(31,31,31,.09);border-radius:14px;padding:22px 18px;cursor:pointer;transition:all .2s;position:relative;overflow:hidden;}
.club-card:hover{border-color:var(--sage);transform:translateY(-3px);box-shadow:0 10px 28px rgba(31,31,31,.09);}
.club-card-icon{width:36px;height:36px;border-radius:8px;background:var(--ivory);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.club-card-name{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;color:var(--carbon);margin-bottom:3px;}
.club-card-loc{font-size:12px;color:var(--sage-dk);}
.club-card-arrow{position:absolute;top:18px;right:16px;opacity:0;transition:opacity .2s;color:var(--sage);}
.club-card:hover .club-card-arrow{opacity:1;}
.club-card-demo{border:1px dashed rgba(107,196,122,.4);background:rgba(107,196,122,.03);}
.club-card-demo:hover{border-color:var(--accent);}
.btn-admin-home{margin-top:28px;display:flex;align-items:center;gap:8px;padding:10px 20px;background:transparent;border:1px solid var(--stone);border-radius:8px;color:var(--sage-dk);font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .15s;}
.btn-admin-home:hover{border-color:var(--carbon);color:var(--carbon);}

/* COURT */
#page-court{background:#0E0E0E;flex-direction:row;position:relative;}
.video-area{flex:1;position:relative;display:flex;align-items:stretch;min-width:0;overflow:hidden;}
#liveImg{width:100%;height:100%;object-fit:contain;background:#000;display:block;position:absolute;inset:0;visibility:hidden;z-index:3;}
.stream-iframe{position:absolute;inset:0;width:100%;height:100%;border:none;background:#000;z-index:1;}
.no-signal{position:absolute;inset:0;z-index:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#080808;pointer-events:none;}
.no-signal-icon{opacity:.12;}
.no-signal-text{font-size:13px;color:rgba(244,241,235,.28);text-align:center;max-width:340px;line-height:1.7;}
.no-signal-text b{font-weight:500;opacity:.7;}

/* HUD */
.hud-top{position:absolute;top:0;left:0;right:0;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(to bottom,rgba(0,0,0,.72) 0%,transparent 100%);z-index:10;pointer-events:none;}
.hud-top>*{pointer-events:all;}
.hud-left{display:flex;align-items:center;gap:12px;}
.hud-logo{display:flex;align-items:center;gap:9px;cursor:pointer;text-decoration:none;}
.hud-logo-name{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:3px;color:rgba(244,241,235,.9);}
.hud-sep{width:1px;height:16px;background:rgba(255,255,255,.14);}
.breadcrumb{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(244,241,235,.45);}
.bc-link{cursor:pointer;transition:color .15s;}.bc-link:hover{color:var(--ivory);}
.bc-cur{color:rgba(244,241,235,.8);}
.hud-clock{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:600;color:rgba(244,241,235,.88);letter-spacing:2px;min-width:80px;text-align:center;}
.hud-right{display:flex;align-items:center;gap:8px;}
.hud-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:7px;font-size:12px;color:rgba(244,241,235,.75);cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;backdrop-filter:blur(6px);}
.hud-btn:hover{background:rgba(255,255,255,.13);color:var(--ivory);}
.cam-select-wrap{position:relative;}
.cam-select-btn{display:flex;align-items:center;gap:7px;padding:6px 12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.11);border-radius:7px;font-size:12px;color:rgba(244,241,235,.75);cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;backdrop-filter:blur(6px);}
.cam-select-btn:hover{background:rgba(255,255,255,.13);color:var(--ivory);}
.cam-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.cam-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:rgba(18,18,18,.98);border:1px solid rgba(255,255,255,.1);border-radius:10px;overflow:hidden;min-width:230px;z-index:100;display:none;backdrop-filter:blur(16px);box-shadow:0 8px 32px rgba(0,0,0,.5);}
.cam-dropdown.open{display:block;}
.cam-dd-hdr{padding:10px 14px 6px;font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:rgba(244,241,235,.28);}
.cam-option{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s;font-size:13px;color:rgba(244,241,235,.7);}
.cam-option:hover{background:rgba(255,255,255,.06);color:var(--ivory);}
.cam-option.active{color:var(--accent);}
.cam-opt-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.18);flex-shrink:0;}
.cam-option.active .cam-opt-dot{background:var(--accent);}
.cam-opt-name{flex:1;font-weight:500;}.cam-opt-sub{font-size:11px;color:rgba(244,241,235,.28);}

/* HUD BOTTOM */
.hud-bottom{position:absolute;bottom:0;left:0;right:0;padding:18px 22px 22px;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,transparent 100%);z-index:10;display:flex;align-items:flex-end;justify-content:space-between;pointer-events:none;}
.hud-bottom>*{pointer-events:all;}
.hud-court-info{flex:1;}
.live-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(18,18,18,.65);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px);padding:4px 11px;border-radius:20px;font-size:11px;color:var(--ivory);font-weight:500;letter-spacing:.4px;margin-bottom:8px;}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.live-fps{font-size:11px;color:rgba(244,241,235,.38);margin-left:6px;}
.court-title-big{font-family:'Montserrat',sans-serif;font-size:21px;font-weight:600;color:var(--ivory);margin-bottom:3px;}
.court-sub-text{font-size:12px;color:rgba(244,241,235,.4);margin-bottom:14px;}
.replay-controls{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.replay-btn{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;background:var(--sage);color:var(--carbon);border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;white-space:nowrap;}
.replay-btn:hover:not(:disabled){background:#8fa08d;transform:scale(1.02);}
.replay-btn:active:not(:disabled){transform:scale(.98);}
.replay-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;}
.replay-btn.loading{background:rgba(167,176,164,.35);cursor:not-allowed;}
.dur-pills{display:flex;gap:5px;}
.dur-pill{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:rgba(244,241,235,.6);transition:all .15s;font-family:'DM Sans',sans-serif;}
.dur-pill.active,.dur-pill:hover{background:rgba(167,176,164,.2);border-color:var(--sage);color:var(--ivory);}
.training-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;background:rgba(229,167,50,.14);color:var(--warn);border:1px solid rgba(229,167,50,.28);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;white-space:nowrap;}
.training-btn:hover{background:rgba(229,167,50,.24);border-color:var(--warn);}
.training-btn.recording{background:rgba(229,167,50,.9);color:#1a1a1a;border-color:var(--warn);animation:tPulse 2s infinite;}
@keyframes tPulse{0%,100%{box-shadow:0 0 0 0 rgba(229,167,50,.4)}50%{box-shadow:0 0 0 8px rgba(229,167,50,0)}}
.training-banner{position:absolute;top:58px;left:50%;transform:translateX(-50%);z-index:15;display:none;align-items:center;gap:10px;padding:8px 18px;background:rgba(229,167,50,.92);border-radius:30px;color:#1a1a1a;font-size:13px;font-weight:600;letter-spacing:.3px;}
.training-banner.visible{display:flex;}
.t-rec-dot{width:8px;height:8px;border-radius:50%;background:#1a1a1a;animation:blink 1s infinite;}

/* CLIPS */
.clips-panel{width:310px;background:rgba(14,14,14,.99);border-left:1px solid rgba(255,255,255,.055);display:flex;flex-direction:column;z-index:20;transition:width .28s cubic-bezier(.4,0,.2,1),opacity .28s;}
.clips-panel.collapsed{width:0;opacity:0;overflow:hidden;}
.clips-panel-hdr{padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.055);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;}
.clips-panel-title{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:600;color:var(--ivory);}
.clips-count-badge{font-size:11px;color:var(--sage);background:rgba(167,176,164,.1);padding:2px 8px;border-radius:10px;}
.clips-scroll{flex:1;overflow-y:auto;padding:8px;}
.clips-scroll::-webkit-scrollbar{width:3px;}.clips-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.08);border-radius:2px;}
.clip-item{display:flex;gap:10px;padding:9px;border-radius:8px;cursor:pointer;transition:background .15s;margin-bottom:3px;}
.clip-item:hover{background:rgba(255,255,255,.05);}
.clip-thumb{width:68px;height:46px;border-radius:6px;background:#1c1c1c;flex-shrink:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.06);}
.clip-play-icon{width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:background .15s;}
.clip-item:hover .clip-play-icon{background:rgba(107,196,122,.3);}
.clip-info{flex:1;min-width:0;}
.clip-name{font-size:11px;font-weight:500;color:var(--ivory);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px;}
.clip-meta{font-size:10px;color:rgba(244,241,235,.3);margin-bottom:6px;}
.clip-actions{display:flex;gap:4px;}
.clip-btn{padding:3px 9px;border-radius:5px;font-size:11px;font-weight:500;cursor:pointer;border:none;transition:all .12s;font-family:'DM Sans',sans-serif;}
.clip-btn-p{background:rgba(167,176,164,.15);color:var(--sage);border:1px solid rgba(167,176,164,.2);}.clip-btn-p:hover{background:rgba(167,176,164,.28);}
.clip-btn-dl{background:rgba(255,255,255,.05);color:rgba(244,241,235,.45);border:1px solid rgba(255,255,255,.08);}.clip-btn-dl:hover{color:var(--ivory);background:rgba(255,255,255,.1);}
.clips-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:36px 16px;color:rgba(244,241,235,.18);}
.clips-empty-text{font-size:12px;text-align:center;line-height:1.5;}

/* CLUB PAGE */
#page-club{background:var(--ivory);color:var(--carbon);overflow-y:auto;}
.club-hero-dark{background:var(--carbon);padding:52px 48px 44px;position:relative;overflow:hidden;}
.club-hero-grid{position:absolute;inset:0;opacity:.035;background-image:linear-gradient(90deg,var(--sage) 1px,transparent 1px),linear-gradient(0deg,var(--sage) 1px,transparent 1px);background-size:44px 44px;}
.club-hero-inner{position:relative;}
.club-tag-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(167,176,164,.13);border:1px solid rgba(167,176,164,.22);padding:4px 12px;border-radius:20px;font-size:11px;color:var(--sage);letter-spacing:1px;text-transform:uppercase;margin-bottom:14px;}
.club-hero-name{font-family:'Montserrat',sans-serif;font-size:28px;font-weight:600;color:var(--ivory);margin-bottom:8px;}
.club-hero-sub{font-size:13px;color:var(--sage-dk);}
.club-body-pad{padding:36px 48px;}
.courts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;}
.court-card{background:var(--white);border:1px solid rgba(31,31,31,.08);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .2s;}
.court-card:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(31,31,31,.1);border-color:var(--sage);}
.court-thumb-area{height:120px;background:#1a1a1a;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.court-thumb-snap{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;}
.court-thumb-fallback{position:absolute;inset:0;display:none;align-items:center;justify-content:center;z-index:0;}
.court-thumb-lines{position:absolute;inset:0;opacity:.07;background-image:linear-gradient(90deg,var(--sage) 1px,transparent 1px),linear-gradient(0deg,var(--sage) 1px,transparent 1px);background-size:34px 34px;}
.court-thumb-icon{position:relative;opacity:.2;}
.court-live-pill{position:absolute;top:10px;left:10px;display:flex;align-items:center;gap:5px;background:rgba(18,18,18,.72);backdrop-filter:blur(6px);padding:3px 9px;border-radius:10px;font-size:10px;color:var(--ivory);font-weight:500;}
.court-card-body{padding:16px 18px;}
.court-card-name{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;color:var(--carbon);margin-bottom:3px;}
.court-card-status{font-size:12px;color:var(--sage-dk);margin-bottom:14px;}
.court-card-btns{display:flex;gap:7px;}
.cc-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:all .15s;}
.cc-btn-dark{background:var(--carbon);color:var(--ivory);}.cc-btn-dark:hover{background:#333;}
.cc-btn-outline{background:transparent;color:var(--carbon);border:1px solid var(--stone);}.cc-btn-outline:hover{background:var(--ivory);}

/* LOGIN */
#loginModal{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px);}
#loginModal.open{display:flex;}
.login-box{background:var(--white);border-radius:18px;padding:36px 32px;max-width:380px;width:100%;box-shadow:0 24px 64px rgba(0,0,0,.4);}
.login-logo{display:flex;align-items:center;gap:10px;margin-bottom:28px;}
.login-title{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:600;color:var(--carbon);margin-bottom:4px;}
.login-sub{font-size:13px;color:var(--sage-dk);margin-bottom:26px;}
.login-field{margin-bottom:14px;}
.login-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--sage-dk);margin-bottom:6px;font-weight:500;}
.login-input{width:100%;padding:11px 14px;border:1px solid var(--stone);border-radius:9px;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--carbon);background:var(--ivory);transition:border-color .15s;}
.login-input:focus{outline:none;border-color:var(--sage);}
.login-error{font-size:12px;color:var(--danger);margin-bottom:12px;display:none;}
.login-error.show{display:block;}
.login-submit{width:100%;padding:12px;background:var(--carbon);color:var(--ivory);border:none;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .15s;margin-top:4px;}
.login-submit:hover{background:#333;}

/* ADMIN */
#page-admin{background:var(--ivory);color:var(--carbon);overflow-y:auto;}
.admin-layout{display:grid;grid-template-columns:220px 1fr;height:100%;}
.admin-sidebar{background:var(--carbon);color:var(--ivory);padding:28px 0;border-right:1px solid rgba(255,255,255,.055);display:flex;flex-direction:column;}
.admin-sidebar-logo{padding:0 22px 26px;display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(255,255,255,.055);margin-bottom:12px;}
.admin-sidebar-title{font-family:'Montserrat',sans-serif;font-size:13px;font-weight:600;letter-spacing:3px;color:var(--ivory);}
.admin-tag{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--sage-dk);background:rgba(167,176,164,.12);padding:2px 7px;border-radius:5px;}
.admin-nav-item{display:flex;align-items:center;gap:10px;padding:10px 22px;cursor:pointer;font-size:13px;color:rgba(244,241,235,.5);transition:all .15s;border-left:2px solid transparent;}
.admin-nav-item:hover{color:var(--ivory);background:rgba(255,255,255,.04);}
.admin-nav-item.active{color:var(--ivory);background:rgba(255,255,255,.06);border-left-color:var(--sage);}
.admin-sidebar-footer{margin-top:auto;padding:16px 22px 0;border-top:1px solid rgba(255,255,255,.055);}
.admin-back-btn{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sage-dk);cursor:pointer;padding:8px 0;transition:color .15s;background:none;border:none;font-family:'DM Sans',sans-serif;}
.admin-back-btn:hover{color:var(--ivory);}
.admin-logout-btn{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(224,82,82,.7);cursor:pointer;padding:8px 0;transition:color .15s;background:none;border:none;font-family:'DM Sans',sans-serif;margin-top:6px;}
.admin-logout-btn:hover{color:var(--danger);}
.admin-content{padding:36px 40px;overflow-y:auto;}
.admin-section{display:none;}.admin-section.active{display:block;}
.admin-content-title{font-family:'Montserrat',sans-serif;font-size:20px;font-weight:600;color:var(--carbon);margin-bottom:6px;}
.admin-content-sub{font-size:13px;color:var(--sage-dk);margin-bottom:26px;line-height:1.5;}
.admin-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;}
.btn-add{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:8px;background:var(--carbon);color:var(--ivory);border:none;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s;font-family:'DM Sans',sans-serif;}
.btn-add:hover{background:#333;}
.admin-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:26px;}
.admin-stat-card{background:var(--white);border:1px solid rgba(31,31,31,.08);border-radius:12px;padding:18px 16px;}
.admin-stat-val{font-family:'Montserrat',sans-serif;font-size:26px;font-weight:600;color:var(--carbon);margin-bottom:4px;}
.admin-stat-label{font-size:12px;color:var(--sage-dk);}
.admin-table{width:100%;border-collapse:collapse;font-size:13px;}
.admin-table th{text-align:left;padding:9px 12px;font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--sage-dk);font-weight:500;border-bottom:1px solid rgba(31,31,31,.09);}
.admin-table td{padding:13px 12px;border-bottom:1px solid rgba(31,31,31,.055);color:var(--carbon);vertical-align:middle;}
.admin-table tr:hover td{background:rgba(31,31,31,.025);}
.td-name{font-weight:500;}.td-mono{font-family:monospace;font-size:12px;color:var(--sage-dk);}
.status-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:500;}
.status-online{background:rgba(107,196,122,.12);color:#3a8a4a;}.status-demo{background:rgba(167,176,164,.15);color:var(--sage-dk);}
.tbl-actions{display:flex;gap:6px;}
.tbl-btn{padding:5px 10px;border-radius:6px;font-size:11px;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;font-weight:500;transition:all .12s;}
.tbl-btn-edit{background:rgba(31,31,31,.07);color:var(--carbon);}.tbl-btn-edit:hover{background:rgba(31,31,31,.14);}
.tbl-btn-del{background:rgba(224,82,82,.09);color:var(--danger);}.tbl-btn-del:hover{background:rgba(224,82,82,.18);}
.tbl-btn-view{background:rgba(167,176,164,.15);color:var(--sage-dk);}.tbl-btn-view:hover{background:rgba(167,176,164,.25);color:var(--carbon);}

/* MODALS */
.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.72);display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px);padding:24px;}
.modal-overlay.open{display:flex;}
.video-modal{background:#111;border-radius:14px;overflow:hidden;max-width:900px;width:100%;position:relative;}
.modal-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--ivory);border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .15s;}
.modal-close:hover{background:rgba(255,255,255,.2);}
#modalVideo{width:100%;max-height:70vh;display:block;background:#000;}
.form-modal{background:var(--white);border-radius:16px;max-width:480px;width:100%;padding:28px;}
.form-modal-title{font-family:'Montserrat',sans-serif;font-size:16px;font-weight:600;color:var(--carbon);margin-bottom:20px;}
.form-group{margin-bottom:15px;}
.form-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--sage-dk);margin-bottom:6px;font-weight:500;}
.form-input{width:100%;padding:10px 13px;border:1px solid var(--stone);border-radius:8px;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--carbon);background:var(--ivory);transition:border-color .15s;}
.form-input:focus{outline:none;border-color:var(--sage);}
.form-row{display:flex;gap:10px;}.form-row .form-group{flex:1;}
.form-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end;}
.btn-cancel{padding:9px 18px;border-radius:8px;background:transparent;border:1px solid var(--stone);color:var(--sage-dk);font-size:13px;cursor:pointer;font-family:'DM Sans',sans-serif;transition:all .15s;}
.btn-cancel:hover{border-color:var(--carbon);color:var(--carbon);}
.btn-save{padding:9px 18px;border-radius:8px;background:var(--carbon);color:var(--ivory);border:none;font-size:13px;font-weight:500;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .15s;}
.btn-save:hover{background:#333;}
.training-modal{background:var(--carbon);border:1px solid rgba(229,167,50,.3);border-radius:16px;max-width:400px;width:100%;padding:30px;}
.training-modal-icon{font-size:36px;margin-bottom:16px;}
.training-modal-title{font-family:'Montserrat',sans-serif;font-size:18px;font-weight:600;color:var(--ivory);margin-bottom:8px;}
.training-modal-sub{font-size:13px;color:rgba(244,241,235,.55);line-height:1.5;margin-bottom:24px;}
.training-modal-actions{display:flex;gap:10px;}
.btn-train-go{flex:1;padding:12px;background:var(--warn);color:#1a1a1a;border:none;border-radius:9px;font-size:14px;font-weight:700;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background .15s;}
.btn-train-go:hover{background:#f0b830;}
.btn-train-cancel{flex:1;padding:12px;background:rgba(255,255,255,.07);color:rgba(244,241,235,.7);border:1px solid rgba(255,255,255,.1);border-radius:9px;font-size:14px;cursor:pointer;font-family:'DM Sans',sans-serif;}
.btn-train-cancel:hover{background:rgba(255,255,255,.12);color:var(--ivory);}

/* TOAST */
.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(80px);background:rgba(18,18,18,.97);border:1px solid rgba(255,255,255,.09);padding:10px 18px;border-radius:30px;font-size:13px;color:var(--ivory);display:flex;align-items:center;gap:9px;z-index:999;transition:transform .28s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(10px);white-space:nowrap;}
.toast.show{transform:translateX(-50%) translateY(0);}
.toast-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);}

@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin .8s linear infinite;display:inline-block;}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .45s ease both;}
