@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap";.layout{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-bg)}.header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;background-color:#000000d9;border-bottom:1px solid var(--color-card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.logo{display:flex;flex-direction:column;line-height:1;text-decoration:none;height:100%}.logo-text{font-family:var(--font-title);font-size:1.6rem;letter-spacing:.12em;color:var(--color-white);text-transform:uppercase}.logo-sub{font-family:var(--font-body);font-size:.65rem;letter-spacing:.35em;color:var(--color-lavender);text-transform:uppercase}.logo-img{width:120px;height:100%;position:absolute;left:0}.nav{display:flex;gap:2rem;align-items:center}.nav a{font-family:var(--font-body);font-weight:500;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-lavender);text-decoration:none;transition:color var(--transition-fast);position:relative;padding-bottom:2px}.nav a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background-color:var(--color-cream);transition:width var(--transition-normal)}.nav a:hover{color:var(--color-white)}.nav a:hover:after,.nav a.active:after{width:100%}.nav a.active{color:var(--color-white)}.nav-header-user:hover{opacity:1}.main{flex:1}.footer{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.5rem;border-top:1px solid var(--color-card-border);background-color:#0009}.footer-copy{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:#e5d8ff4d;text-align:center}.footer-links{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:center}.footer-link{font-family:var(--font-body);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#e5d8ff66;text-decoration:none;transition:color .2s}.footer-link:hover{color:#e5d8ffcc}.footer-link:after{display:none!important}.footer-sep{color:#e5d8ff33;font-size:.65rem}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}.nav-toggle span{display:block;width:24px;height:2px;background-color:var(--color-lavender);transition:all var(--transition-normal)}.nav-header-user,.nav-header-login{display:none}.nav-auth-btn{margin-left:auto}@media (max-width: 600px){.header{padding:0 1.2rem}.footer{padding:.85rem 1rem;gap:.35rem}.logo{order:1}.nav-auth-btn{display:none}.nav-toggle{display:flex;order:3}.nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;background-color:#000000f7;border-bottom:1px solid var(--color-card-border);padding:1rem 0;z-index:99}.nav-header-user{display:flex!important;align-items:center;order:2;background:none;border:1px solid var(--color-card-border);color:var(--color-lavender);font-family:var(--font-body);font-size:.78rem;letter-spacing:.06em;padding:.28rem .8rem;border-radius:var(--radius-full);cursor:pointer;opacity:.75;transition:opacity var(--transition-fast);margin-left:auto;margin-right:.6rem}.nav-header-user:hover{opacity:1}.nav-header-login{display:flex!important;align-items:center;order:2;margin-left:auto;margin-right:.6rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white)!important;font-family:var(--font-body);font-size:.78rem;letter-spacing:.06em;padding:.28rem .8rem;border-radius:var(--radius-full);text-decoration:none;transition:filter var(--transition-fast)}.nav-header-login:hover{filter:brightness(1.2)}.nav-header-login:after{display:none!important}.nav.open{display:flex}.nav a{padding:.9rem 1.5rem;font-size:.9rem;border-bottom:1px solid var(--color-card-border)}.nav a:after{display:none}}.nav-login{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-light));color:var(--color-white)!important;padding:.35rem 1rem!important;border-radius:var(--radius-full)!important;font-size:.8rem!important;letter-spacing:.06em;transition:filter var(--transition-fast),box-shadow var(--transition-fast)!important}.nav-login:hover{filter:brightness(1.2);box-shadow:0 0 14px #3a22d480!important}.nav-login:after{display:none!important}.nav-logout{background:none;border:1px solid var(--color-card-border);color:var(--color-lavender);font-family:var(--font-body);font-size:.8rem;letter-spacing:.06em;padding:.3rem .9rem;border-radius:var(--radius-full);cursor:pointer;opacity:.7;transition:opacity var(--transition-fast),border-color var(--transition-fast)}.nav-logout:hover{opacity:1;border-color:#e5d8ff73}.home{position:relative;height:calc(100vh - 100px);display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-bg);isolation:isolate}.deco{position:absolute;width:max(620px,55vh);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none}.deco-top-right{top:-270px;right:-250px;transform:rotate(215deg);opacity:.9}.deco-bottom-left{bottom:-440px;left:-110px;transform:rotate(-1deg);width:max(900px,75vh)}.home-content{display:flex;flex-direction:column;align-items:center;text-align:center;z-index:1;gap:1rem}.home-year{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.4em;text-transform:uppercase;color:var(--color-lavender)}.home-title{display:flex;flex-direction:column;line-height:.95;gap:0}.home-title-main{font-family:var(--font-title);font-size:clamp(4rem,12vw,9rem);letter-spacing:.06em;text-transform:uppercase;font-style:italic;color:var(--color-white);text-shadow:0 0 7px rgba(229,216,255,.6),0 0 16px rgba(229,216,255,.35),0 0 35px rgba(24,0,173,.55),0 0 70px rgba(24,0,173,.25);animation:neon-pulse 3s ease-in-out infinite alternate}.home-title-sub{font-family:var(--font-sub);font-size:clamp(1.5rem,4vw,3rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;position:relative;display:inline-block;white-space:nowrap;isolation:isolate;color:transparent;-webkit-text-stroke:1.5px #004aad}.home-title-sub:before{content:"Lab Studio";position:absolute;top:-.07em;left:.59em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #00ffff;font-family:var(--font-sub);font-size:clamp(1.5rem,4vw,3rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;z-index:-1}.home-title-sub:after{content:"Lab Studio";position:absolute;top:.06em;left:.65em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #ff00ff;font-family:var(--font-sub);font-size:clamp(1.5rem,4vw,3rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;z-index:-2}.home-tagline{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-lavender);margin-top:.5rem;letter-spacing:.05em}.home-actions{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap;justify-content:center}@media (max-width: 768px){.home{height:calc(100vh - 100px)}.deco-top-right{width:320px;top:-160px;right:-140px}.deco-bottom-left{width:500px;bottom:-260px;left:-60px}.home-tagline{font-size:var(--text-base);padding:0 1rem}.home-actions{flex-direction:column;align-items:center}.home-title-sub:before{top:0;left:0;transform:translate(-2px,-1px)}.home-title-sub:after{top:0;left:0;transform:translate(3px,2px)}}.planning-page{padding:var(--spacing-xs) var(--spacing-sm);max-width:100%;margin:0 auto;box-sizing:border-box;position:relative}.planning-header{text-align:left;margin-bottom:var(--spacing-sm)}.planning-header-title{display:inline-flex;flex-direction:column;align-items:flex-start;gap:0;line-height:1}.planning-title-main{font-family:var(--font-title);font-size:clamp(1.8rem,4vw,3rem);text-transform:uppercase;font-style:italic;color:var(--color-white);text-shadow:0 0 7px rgba(229,216,255,.6),0 0 16px rgba(229,216,255,.35),0 0 35px rgba(24,0,173,.55),0 0 70px rgba(24,0,173,.25);animation:neon-pulse 3s ease-in-out infinite alternate}.planning-title-sub{font-family:var(--font-sub);font-size:clamp(1.2rem,3.5vw,2.5rem);text-transform:uppercase;letter-spacing:.12em;font-style:italic;position:relative;display:inline-block;white-space:nowrap;isolation:isolate;color:transparent;-webkit-text-stroke:1.5px #004aad}.planning-title-sub:before{content:attr(data-text);position:absolute;top:-.04em;left:-.045em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #00ffff;font-family:var(--font-sub);font-size:clamp(1.2rem,3.5vw,2.5rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;z-index:-1}.planning-title-sub:after{content:attr(data-text);position:absolute;top:.04em;left:.035em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #ff00ff;font-family:var(--font-sub);font-size:clamp(1.2rem,3.5vw,2.5rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;z-index:-2}.planning-mobile{display:none}.planning-scroll{display:block}.mobile-day-tabs{display:flex;gap:.3rem;margin-bottom:.8rem;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.mobile-day-tabs::-webkit-scrollbar{display:none}.mobile-tab{flex-shrink:0;background:transparent;border:1px solid rgba(229,216,255,.15);border-radius:4px;color:#e5d8ff73;font-family:var(--font-title);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;padding:.35rem .7rem;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.mobile-tab--active{background:rgba(229,216,255,.1);border-color:#e5d8ff80;color:#e5d8ff}.mobile-day-content{display:flex;flex-direction:column;gap:.5rem}.mobile-studios{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.mobile-studio-col{display:flex;flex-direction:column;gap:.4rem}.mobile-studio-header{font-family:var(--font-title);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:.25rem 0;border-radius:4px;margin-bottom:.2rem;background:rgba(229,216,255,.06);color:#e5d8ff80;border:1px solid rgba(229,216,255,.12)}.mobile-empty-col{text-align:center;color:#e5d8ff33;font-size:1rem;padding:1rem 0}.mobile-event-card{border-left:3px solid var(--ev-color, rgba(58,34,212,.55));background:color-mix(in srgb,var(--ev-color, rgba(58,34,212,.55)) 20%,transparent);position:relative;border-radius:var(--radius-sm);padding:.6rem .8rem .6rem .75rem;display:flex;flex-direction:column;gap:.2rem}.mobile-event-time{font-family:var(--font-body);font-size:.7rem;opacity:.55;letter-spacing:.05em}.mobile-event-title{font-family:var(--font-sub);font-size:.9rem;letter-spacing:.04em;font-style:italic}.mobile-event-meta{display:flex;gap:.6rem;align-items:center;font-family:var(--font-body);font-size:.65rem;opacity:.5;text-transform:uppercase;letter-spacing:.06em;margin-top:.1rem}.mobile-studio-badge{opacity:1;font-size:.6rem;font-weight:600;letter-spacing:.08em;padding:1px 6px;border-radius:3px;text-transform:uppercase}.mobile-studio-badge--1{background:rgba(229,216,255,.12);color:#e5d8ffd9;border:1px solid rgba(229,216,255,.25)}.mobile-studio-badge--2{background:rgba(0,220,255,.1);color:#00dcffd9;border:1px solid rgba(0,220,255,.25)}.mobile-admin-actions{position:absolute;top:.4rem;right:.4rem;display:flex;gap:4px}.mobile-delete,.mobile-edit{background:rgba(255,60,80,.15);border:1px solid rgba(255,60,80,.4);border-radius:4px;color:#ff4050;font-size:.75rem;padding:2px 5px;cursor:pointer;line-height:1}.mobile-edit{background:rgba(180,130,255,.15);border-color:#b482ff66;color:#c8a2ff}.mobile-delete:hover{background:rgba(255,60,80,.3);border-color:#ff4050}.mobile-edit:hover{background:rgba(180,130,255,.3);border-color:#c8a2ff}.mobile-btn-add{display:block;width:100%;margin-bottom:.75rem;text-align:center}.mobile-empty{font-family:var(--font-body);font-size:.8rem;color:#e5d8ff4d;text-align:center;padding:2rem 0;letter-spacing:.08em;text-transform:uppercase}.planning-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin-bottom:var(--spacing-md)}.legend-item{display:flex;align-items:center;gap:.45rem}.legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.legend-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-lavender);opacity:.75;text-transform:uppercase;letter-spacing:.06em}.planning-scroll{width:100%;overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-card)}.planning-grid{display:grid;width:100%;min-width:0;grid-template-columns:42px repeat(10,minmax(0,1fr));grid-template-rows:auto auto;grid-auto-rows:min(calc((100vh - 181px)/32),1.6rem);background:#050510}.sat-grid{grid-template-columns:42px repeat(2,minmax(0,1fr));grid-auto-rows:min(calc((100vh - 181px)/32),1.6rem)}.sat-section{margin-top:1.25rem;max-width:calc(30% + 42px);margin-left:auto;margin-right:auto}.sat-scroll-hint{position:fixed;bottom:2rem;right:2rem;z-index:50;display:flex;align-items:center;gap:.6rem;background:var(--color-primary);border:1px solid rgba(229,216,255,.4);border-radius:999px;padding:.65rem 1.2rem .65rem 1rem;cursor:pointer;color:var(--color-lavender);font-family:var(--font-sub);font-size:.82rem;font-style:italic;letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000080,0 0 0 1px #e5d8ff14;transition:background .2s,border-color .2s,transform .2s;animation:sat-pulse 2.5s ease-in-out infinite}.sat-scroll-hint:hover{background:var(--color-primary-light);border-color:#e5d8ffb3;transform:translateY(-2px)}.sat-scroll-hint-arrow{font-size:1rem;animation:sat-bounce 1.4s ease-in-out infinite}.sat-scroll-hint-hours{font-family:var(--font-body);font-size:.7rem;font-style:normal;opacity:.6}@keyframes sat-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes sat-pulse{0%,to{box-shadow:0 4px 20px #00000080,0 0 0 1px #e5d8ff14}50%{box-shadow:0 4px 24px #00000080,0 0 12px #e5d8ff33}}.sat-section-label{display:flex;align-items:baseline;gap:.75rem;padding:0 .25rem .5rem;font-family:var(--font-sub);font-size:.82rem;font-style:italic;letter-spacing:.1em;text-transform:uppercase;color:var(--color-lavender);opacity:.7}.sat-time-range{font-family:var(--font-body);font-size:.7rem;font-style:normal;opacity:.5}.sat-empty{font-family:var(--font-body);font-size:.8rem;color:#e5d8ff4d;text-align:center;padding:1.5rem 0;letter-spacing:.08em;text-transform:uppercase}.cell-corner{background:#050510;border-right:1px solid rgba(229,216,255,.08);border-bottom:1px solid rgba(229,216,255,.08)}.day-header{font-family:var(--font-sub);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-style:italic;text-align:center;color:var(--color-lavender);padding:.25rem .4rem .2rem;background:rgba(24,0,173,.18);border-left:1px solid rgba(229,216,255,.12);border-bottom:1px solid rgba(229,216,255,.15);position:sticky;top:0;z-index:10}.studio-header{font-family:var(--font-body);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-white);opacity:.35;text-align:center;padding:.15rem 0;background:#050510;border-left:1px solid rgba(229,216,255,.08);border-bottom:1px solid rgba(229,216,255,.18)}.studio-header--2{border-right:1px solid rgba(229,216,255,.2)}.time-label{font-family:var(--font-body);font-size:.6rem;color:var(--color-lavender);opacity:.5;text-align:right;padding-right:.5rem;padding-top:.12rem;letter-spacing:.02em;border-right:1px solid rgba(229,216,255,.1);background:#050510;z-index:5;position:relative}.hour-line{border-top:1px solid rgba(229,216,255,.07);pointer-events:none;z-index:1}.day-bg{pointer-events:none;z-index:0}.day-bg--even{background:rgba(255,255,255,0)}.day-bg--odd{background:rgba(229,216,255,.025)}.event-card{margin:2px 3px;border-radius:var(--radius-sm);padding:.2rem .35rem .2rem .5rem;display:flex;flex-direction:column;justify-content:center;gap:.02rem;cursor:grab;position:relative;z-index:3;overflow:hidden;border-left:3px solid var(--ev-color, rgba(58,34,212,.55));background:color-mix(in srgb,var(--ev-color, rgba(58,34,212,.55)) 30%,transparent);transition:filter var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.event-card:hover{filter:brightness(1.2);transform:scale(1.03);z-index:10;box-shadow:0 0 6px var(--ev-color),0 0 14px var(--ev-color),0 0 28px var(--ev-color),0 4px 20px #0009;border-left-width:3px}.ev-pole{--ev-color: rgba(229, 216, 255, .55)}.ev-heels{--ev-color: rgba(255, 0, 255, .55)}.ev-street{--ev-color: rgba( 0, 255, 255, .55)}.ev-hiphop{--ev-color: rgba(106, 85, 255, .55)}.ev-commercial{--ev-color: rgba(192, 96, 255, .55)}.ev-classique{--ev-color: rgba(246, 227, 199, .45)}.ev-contemp{--ev-color: rgba(255, 255, 255, .35)}.ev-jazz{--ev-color: rgba(255, 215, 0, .55)}.ev-default{--ev-color: rgba( 58, 34, 212, .55)}.event-card--short{padding:.15rem .4rem .15rem .55rem}.event-title{font-family:var(--font-sub);font-size:clamp(.5rem,.9vw,.7rem);font-style:italic;letter-spacing:.04em;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-card:not(.event-card--short) .event-title{line-height:1.3;white-space:nowrap}.event-time{font-family:var(--font-body);font-size:clamp(.44rem,.7vw,.58rem);opacity:.75;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-teacher{font-family:var(--font-body);font-size:clamp(.44rem,.7vw,.58rem);opacity:.55;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-spots{font-family:var(--font-body);font-size:clamp(.42rem,.65vw,.55rem);opacity:.7;margin-top:auto;letter-spacing:.04em;white-space:nowrap}.planning-loading{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff6;font-family:var(--font-body);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase}.planning-overlap-error{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:rgba(255,60,80,.12);border:1px solid rgba(255,60,80,.45);color:#ff6b7a;font-family:var(--font-body);font-size:.78rem;letter-spacing:.06em;padding:.55rem 1.2rem;border-radius:6px;z-index:200;white-space:nowrap;animation:fadeInUp .2s ease}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.planning-admin-bar{position:absolute;top:70px;right:2rem;z-index:20}.btn-add-course{background:transparent;border:1px solid rgba(229,216,255,.35);color:#e5d8ffd9;font-family:var(--font-title);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.4rem 1rem;border-radius:4px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.btn-add-course:hover{background:rgba(229,216,255,.08);border-color:#e5d8ffb3;color:#e5d8ff}.event-admin-actions{position:absolute;top:4px;right:4px;display:flex;gap:2px;opacity:0;transition:opacity .15s}.event-card:hover .event-admin-actions{opacity:1}.event-edit,.event-delete{background:rgba(0,0,0,.55);border:none;border-radius:3px;padding:2px 6px;font-size:.8rem;line-height:1;cursor:pointer;transition:background .15s}.event-edit{color:#c8a2ff}.event-delete{color:#ff6b7a}.event-edit:hover{background:rgba(130,80,255,.35)}.event-delete:hover{background:rgba(255,60,80,.35)}.event-card--dragging{opacity:.35}.day-bg--drop{background:rgba(229,216,255,.05)!important;outline:1px dashed rgba(229,216,255,.25)}.drop-indicator{margin:2px 3px;border-radius:var(--radius-sm);border:2px dashed rgba(229,216,255,.5);background:rgba(229,216,255,.06);z-index:5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(5,5,16,.75);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{position:relative;background:#0d0d1f;border:1px solid rgba(229,216,255,.15);border-radius:8px;padding:2rem;width:100%;max-width:420px;box-shadow:0 0 40px #e5d8ff0f}.modal-close{position:absolute;top:.8rem;right:.9rem;background:transparent;border:none;color:#e5d8ff66;font-size:.9rem;cursor:pointer;transition:color .15s}.modal-close:hover{color:#e5d8ff}.modal-title{font-family:var(--font-title);font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:#e5d8ffe6;margin:0 0 1.4rem}.modal-form{display:flex;flex-direction:column;gap:.75rem}.modal-form label{display:flex;flex-direction:column;gap:.3rem;font-family:var(--font-body);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#e5d8ff73}.modal-form input,.modal-form select{background:rgba(229,216,255,.04);border:1px solid rgba(229,216,255,.15);border-radius:4px;color:#e5d8ffe6;font-family:var(--font-body);font-size:.85rem;padding:.4rem .6rem;outline:none;transition:border-color .15s}.modal-form input:focus,.modal-form select:focus{border-color:#e5d8ff73}.modal-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.modal-error{font-size:.75rem;color:#ff6b9d;margin:0}.modal-submit{margin-top:.4rem;background:rgba(229,216,255,.08);border:1px solid rgba(229,216,255,.25);border-radius:4px;color:#e5d8ffe6;font-family:var(--font-title);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;padding:.6rem;cursor:pointer;transition:background .2s,border-color .2s}.modal-submit:hover:not(:disabled){background:rgba(229,216,255,.14);border-color:#e5d8ff80}.modal-submit:disabled{opacity:.4;cursor:not-allowed}.ev-pole{background:rgba(229,216,255,.09);border-left-color:#e5d8ff;color:#e5d8ff}.legend-dot.ev-pole{background:#e5d8ff}.ev-heels{background:rgba(255,0,255,.08);border-left-color:#f0f;color:#ffb3ff}.legend-dot.ev-heels{background:#ff00ff}.ev-street{background:rgba(0,255,255,.07);border-left-color:#0ff;color:#a0f5f5}.legend-dot.ev-street{background:#00ffff}.ev-hiphop{background:rgba(58,34,212,.2);border-left-color:#6a55ff;color:#b8b0ff}.legend-dot.ev-hiphop{background:#6a55ff}.ev-commercial{background:rgba(180,0,255,.1);border-left-color:#c060ff;color:#dab0ff}.legend-dot.ev-commercial{background:#c060ff}.ev-classique{background:rgba(246,227,199,.07);border-left-color:#f6e3c7;color:#f6e3c7}.legend-dot.ev-classique{background:#f6e3c7}.ev-contemp{background:rgba(255,255,255,.05);border-left-color:#ffffff80;color:#fffc}.legend-dot.ev-contemp{background:rgba(255,255,255,.5)}.ev-jazz{background:rgba(255,215,0,.07);border-left-color:gold;color:#ffe87a}.legend-dot.ev-jazz{background:#ffd700}.ev-default{background:var(--color-card-bg);border-left-color:var(--color-primary-light);color:var(--color-lavender)}.legend-dot.ev-default{background:var(--color-primary-light)}.planning-page{padding:0 var(--spacing-sm)!important;max-width:100%!important;margin:0!important;width:100%}@media (max-width: 600px){.planning-mobile{display:block}.planning-scroll,.planning-admin-bar,.sat-section{display:none}.sat-scroll-hint{display:none!important}.planning-title-sub:before{top:-1px;left:-1.5px}.planning-title-sub:after{top:1px;left:1px}}.tarif-page{position:relative;min-height:calc(100vh - 100px);background:var(--color-bg);overflow:hidden;isolation:isolate}.tarif-inner{max-width:1200px;margin:0 auto;padding:3rem 2rem 5rem;position:relative;z-index:1}.tarif-deco{position:absolute;width:max(620px,55vh);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.tarif-deco-top-right{top:-270px;right:-250px;transform:rotate(215deg);opacity:.9}.tarif-deco-bottom-left{bottom:-440px;left:-110px;transform:rotate(-1deg);width:max(900px,75vh)}.tarif-header,.tarif-grid,.tarif-loading,.tarif-footer-note,.tarif-admin-bar{position:relative;z-index:1}.tarif-header{text-align:center;margin-bottom:3rem}.tarif-title{font-family:var(--font-title);font-size:clamp(3rem,8vw,6rem);font-style:italic;letter-spacing:.08em;color:var(--color-white);text-shadow:0 0 8px rgba(229,216,255,.6),0 0 20px rgba(229,216,255,.3),0 0 50px rgba(24,0,173,.5);margin:0 0 .25rem}.tarif-subtitle{font-family:var(--font-sub);font-size:.9rem;letter-spacing:.4em;text-transform:uppercase;color:var(--color-lavender);opacity:.7;margin:0 0 1rem}.tarif-intro{font-family:var(--font-body);font-size:.9rem;color:#e5d8ff8c;max-width:520px;margin:0 auto;line-height:1.6}.tarif-badges{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;margin:0 auto 3rem}.tarif-admission{display:inline-flex;align-items:center;gap:.6rem;padding:.3rem 1rem;background:rgba(229,216,255,.05);border:1px solid rgba(229,216,255,.18);border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);width:fit-content}.tarif-admission--discount{border-color:#64dcb440;background:rgba(100,220,180,.05)}.tarif-admission--discount .tarif-admission-price{color:#64dcb4f2}.tarif-admission-icon{font-size:.85rem;flex-shrink:0;line-height:1}.tarif-admission>div{display:flex;align-items:baseline;gap:.35rem}.tarif-admission-label{font-family:var(--font-body);font-size:.75rem;color:#e5d8ffa6;letter-spacing:.04em}.tarif-admission-price{font-family:var(--font-title);font-size:.9rem;font-style:italic;color:var(--color-white);letter-spacing:.04em}.tarif-admission-note{font-family:var(--font-body);font-size:.65rem;color:#e5d8ff4d;letter-spacing:.05em;white-space:nowrap}.tarif-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem;margin-bottom:2.5rem}.tarif-card,.tarif-card-add{grid-column:span 2}.tarif-card:last-child:nth-child(3n+1){grid-column:3 / 5}.tarif-card:nth-last-child(2):nth-child(3n+1){grid-column:2 / 4}.tarif-card:last-child:nth-child(3n+2){grid-column:4 / 6}.tarif-card-add{background:rgba(229,216,255,.03);border:2px dashed rgba(229,216,255,.2);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:160px;cursor:pointer;transition:background .2s,border-color .2s;color:#e5d8ff66}.tarif-card-add:hover{background:rgba(229,216,255,.07);border-color:#e5d8ff73;color:#e5d8ffcc}.tarif-card-add-icon{font-size:2rem;font-weight:300;line-height:1}.tarif-card-add-label{font-family:var(--font-body);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.tarif-card{position:relative;background:rgba(5,3,20,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(229,216,255,.12);border-radius:12px;overflow:hidden;transition:transform .15s,box-shadow .15s,opacity .15s}.tarif-card[draggable=true]{cursor:grab}.tarif-card[draggable=true]:active{cursor:grabbing}.tarif-card--dragover{transform:scale(1.025);box-shadow:0 0 0 2px #e5d8ff66,0 8px 30px #0006;opacity:.85}.tarif-card:hover{transform:translateY(-6px)}.tarif-card-top{position:relative;height:90px;display:flex;align-items:center;justify-content:center;overflow:hidden}.tarif-card-glow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.tarif-card-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;flex:1}.tarif-card--lavender{border-color:#b464ff4d}.tarif-card--lavender .tarif-card-top{background:rgba(180,100,255,.18)}.tarif-card--lavender .tarif-card-glow{background:radial-gradient(ellipse at center,rgba(180,100,255,.4) 0%,transparent 70%)}.tarif-card--lavender:hover{border-color:#b464ffa6;box-shadow:0 12px 40px #00000080,0 0 36px #b464ff4d}.tarif-card--cyan{border-color:#00c8ff40}.tarif-card--cyan .tarif-card-top{background:rgba(0,200,255,.15)}.tarif-card--cyan .tarif-card-glow{background:radial-gradient(ellipse at center,rgba(0,200,255,.4) 0%,transparent 70%)}.tarif-card--cyan:hover{border-color:#00c8ff99;box-shadow:0 12px 40px #00000080,0 0 36px #00c8ff40}.tarif-card--gold{border-color:#ffc83c40}.tarif-card--gold .tarif-card-top{background:rgba(255,200,60,.15)}.tarif-card--gold .tarif-card-glow{background:radial-gradient(ellipse at center,rgba(255,200,60,.4) 0%,transparent 70%)}.tarif-card--gold:hover{border-color:#ffc83c99;box-shadow:0 12px 40px #00000080,0 0 36px #ffc83c40}.tarif-badge{position:absolute;top:-10px;right:16px;background:linear-gradient(135deg,#ffb800,#ff6b00);color:#000;font-family:var(--font-body);font-size:.6rem;font-weight:700;letter-spacing:.15em;padding:.2rem .6rem;border-radius:20px;text-transform:uppercase}.tarif-card-header{padding-bottom:.75rem;border-bottom:1px solid rgba(229,216,255,.1)}.tarif-card-emoji{font-size:2.4rem;position:relative;z-index:1;filter:drop-shadow(0 0 14px rgba(255,255,255,.4))}.tarif-card-title{font-family:var(--font-title);font-size:1.2rem;font-style:italic;letter-spacing:.06em;text-transform:uppercase;color:var(--color-white);margin:0;text-align:center}.tarif-section{display:flex;flex-direction:column;gap:.5rem}.tarif-section-title{font-family:var(--font-body);font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:#e5d8ff8c;margin:0}.tarif-table{width:100%;border-collapse:collapse}.tarif-table tr{border-bottom:1px solid rgba(229,216,255,.06)}.tarif-table tr:last-child{border-bottom:none}.tarif-table td{padding:.35rem .25rem;font-family:var(--font-body);font-size:.92rem;vertical-align:middle}.tarif-table-label{color:#e5d8ffcc;width:70%}.tarif-table-note{display:block;color:#e5d8ff59;font-size:.78rem;margin-top:.1rem;line-height:1.3}.tarif-table-price{color:var(--color-white);font-weight:600;text-align:right;white-space:nowrap;vertical-align:top;padding-top:.35rem}.tarif-loading{text-align:center;color:#e5d8ff66;font-family:var(--font-body);padding:3rem 0}.tarif-footer-note{text-align:center;font-family:var(--font-body);font-size:.8rem;color:#e5d8ff59;margin-top:1rem}.tarif-admin-bar{position:relative;z-index:2;display:flex;justify-content:flex-end;gap:.6rem;padding:0 0 1rem}.tarif-admin-btn{background:rgba(229,216,255,.08);border:1px solid rgba(229,216,255,.25);color:var(--color-lavender);font-family:var(--font-body);font-size:.8rem;letter-spacing:.08em;padding:.5rem 1.2rem;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s}.tarif-admin-btn:hover{background:rgba(229,216,255,.15);border-color:#e5d8ff80}.tarif-admin-btn--add{border-color:#64dcb44d;color:#64dcb4e6}.tarif-admin-btn--add:hover{background:rgba(100,220,180,.1);border-color:#64dcb499}.tarif-card-edit-btn{position:absolute;top:.5rem;left:.5rem;background:rgba(180,100,255,.1);border:1px solid rgba(180,100,255,.3);border-radius:5px;padding:.2rem .35rem;font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .2s,background .2s;line-height:1;z-index:2}.tarif-card-top:hover .tarif-card-edit-btn,.tarif-card-edit-btn:focus{opacity:1}.tarif-card-edit-btn:hover{background:rgba(180,100,255,.25);border-color:#b464ff99}.tarif-delete-btn{position:absolute;top:.5rem;right:.5rem;background:rgba(255,60,60,.1);border:1px solid rgba(255,60,60,.25);border-radius:5px;padding:.2rem .35rem;font-size:.75rem;cursor:pointer;opacity:0;transition:opacity .2s,background .2s;line-height:1}.tarif-card-top:hover .tarif-delete-btn,.tarif-delete-btn:focus{opacity:1}.tarif-delete-btn:hover{background:rgba(255,60,60,.25);border-color:#ff3c3c80}.tarif-delete-btn--small{position:static;opacity:0;font-size:.65rem;padding:.15rem .3rem;margin-left:.4rem;flex-shrink:0}.tarif-section-header:hover .tarif-delete-btn--small,.tarif-delete-btn--small:focus{opacity:1}.tarif-table-row--admin:hover .tarif-delete-btn--row,.tarif-delete-btn--row:focus{opacity:1}.tarif-delete-btn--row{position:static;opacity:0;font-size:.65rem;padding:.15rem .3rem}.tarif-table-actions{width:30px;text-align:right;padding:0 .2rem}.tarif-section-header{display:flex;align-items:center;gap:.3rem;margin-bottom:.4rem}.tarif-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.75);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.tarif-modal{background:#0d0b1f;border:1px solid rgba(229,216,255,.2);border-radius:12px;width:100%;max-width:680px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.tarif-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid rgba(229,216,255,.1);gap:1rem}.tarif-modal-tabs{display:flex;gap:.25rem;background:rgba(229,216,255,.05);border:1px solid rgba(229,216,255,.12);border-radius:8px;padding:.25rem}.tarif-modal-tab{background:none;border:none;color:#e5d8ff80;font-family:var(--font-body);font-size:.8rem;letter-spacing:.06em;padding:.4rem 1rem;border-radius:6px;cursor:pointer;transition:background .2s,color .2s}.tarif-modal-tab:hover{color:#e5d8ffd9}.tarif-modal-tab--active{background:rgba(229,216,255,.12);color:var(--color-white)}.tarif-add-body{gap:0!important;padding:0!important;overflow-y:auto}.tarif-add-block{padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem}.tarif-add-block-title{font-family:var(--font-title);font-size:.85rem;font-style:italic;letter-spacing:.06em;color:var(--color-white);margin:0}.tarif-add-row{display:flex;gap:.5rem;flex-wrap:wrap}.tarif-add-row .tarif-modal-input,.tarif-add-row .tarif-modal-select{flex:1;min-width:120px}.tarif-modal-input--emoji{max-width:70px;text-align:center;flex:0 0 70px!important}.tarif-modal-select{background:rgba(229,216,255,.05);border:1px solid rgba(229,216,255,.15);border-radius:5px;color:var(--color-white);font-family:var(--font-body);font-size:.82rem;padding:.4rem .6rem;outline:none;cursor:pointer;transition:border-color .2s}.tarif-modal-select:focus{border-color:#e5d8ff73}.tarif-modal-select option{background:#0d0b1f;color:var(--color-white)}.tarif-add-btn{align-self:flex-start;background:rgba(100,220,180,.1);border:1px solid rgba(100,220,180,.3);color:#64dcb4e6;font-family:var(--font-body);font-size:.8rem;padding:.45rem 1.1rem;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s}.tarif-add-btn:hover:not(:disabled){background:rgba(100,220,180,.18);border-color:#64dcb499}.tarif-add-btn:disabled{opacity:.45;cursor:not-allowed}.tarif-add-divider{height:1px;background:rgba(229,216,255,.08);margin:0 1.5rem}.tarif-modal-success{color:#64dcb4e6;font-size:.82rem;text-align:center;padding:.5rem 1.5rem 0;margin:0}.tarif-modal-title{font-family:var(--font-title);font-size:1rem;font-style:italic;letter-spacing:.06em;color:var(--color-white);margin:0}.tarif-modal-close{background:none;border:none;color:#e5d8ff80;font-size:1rem;cursor:pointer;padding:.25rem;transition:color .2s}.tarif-modal-close:hover{color:var(--color-white)}.tarif-modal-body{overflow-y:auto;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.tarif-modal-cat{font-family:var(--font-title);font-size:.9rem;font-style:italic;letter-spacing:.06em;text-transform:uppercase;color:var(--color-white);margin:1rem 0 .2rem;border-bottom:1px solid rgba(229,216,255,.1);padding-bottom:.4rem}.tarif-modal-sec{font-family:var(--font-body);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#e5d8ff66;margin:.6rem 0 .2rem}.tarif-modal-row{display:grid;grid-template-columns:1fr 90px 120px;gap:.5rem;align-items:center}.tarif-modal-row--cat{grid-template-columns:50px 1fr 110px}.tarif-modal-row--sec{grid-template-columns:1fr}.tarif-modal-separator{height:1px;background:rgba(229,216,255,.1);margin:1rem 0}.tarif-modal-input{background:rgba(229,216,255,.05);border:1px solid rgba(229,216,255,.15);border-radius:5px;color:var(--color-white);font-family:var(--font-body);font-size:.82rem;padding:.4rem .6rem;outline:none;transition:border-color .2s}.tarif-modal-input:focus{border-color:#e5d8ff73}.tarif-modal-input--price{text-align:center;font-weight:600}.tarif-modal-input--note{color:#e5d8ff80;font-size:.75rem}.tarif-modal-error{color:#ff5050e6;font-size:.8rem;text-align:center;padding:0 1.5rem;margin:0}.tarif-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid rgba(229,216,255,.1)}.tarif-modal-cancel{background:none;border:1px solid rgba(229,216,255,.2);color:#e5d8ff99;font-family:var(--font-body);font-size:.82rem;padding:.5rem 1.2rem;border-radius:6px;cursor:pointer;transition:border-color .2s}.tarif-modal-cancel:hover{border-color:#e5d8ff66}.tarif-modal-save{background:var(--color-primary);border:none;color:#fff;font-family:var(--font-body);font-size:.82rem;font-weight:600;padding:.5rem 1.5rem;border-radius:6px;cursor:pointer;transition:background .2s}.tarif-modal-save:hover:not(:disabled){background:var(--color-primary-light)}.tarif-modal-save:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 600px){.tarif-modal{max-width:100%}.tarif-inner{padding:2rem 1rem 3rem}.tarif-deco-top-right{width:320px;top:-160px;right:-140px}.tarif-deco-bottom-left{width:500px;bottom:-260px;left:-60px}.tarif-title{font-size:clamp(2.5rem,12vw,4rem)}.tarif-grid{grid-template-columns:1fr;gap:1rem}.tarif-card,.tarif-card-add{grid-column:auto}.tarif-card:nth-last-child(2):nth-child(3n+1),.tarif-card:last-child:nth-child(3n+2){grid-column:auto}.tarif-card:last-child:nth-child(3n+1),.tarif-card:last-child:nth-child(odd){grid-column:auto;max-width:100%;justify-self:auto}.tarif-badges{flex-direction:column;align-items:center}.tarif-admission{width:100%;justify-content:center}.tarif-admission-note{display:none}.tarif-card-top{height:70px}.tarif-admin-bar{flex-wrap:wrap;gap:.4rem}.tarif-modal{max-height:95vh;border-radius:12px 12px 0 0;align-self:flex-end}.tarif-modal-overlay{align-items:flex-end;padding:0}.tarif-modal-row{grid-template-columns:1fr 70px}.tarif-modal-input--note{grid-column:1 / -1}.tarif-modal-row--cat{grid-template-columns:44px 1fr}.tarif-modal-row--cat .tarif-modal-select{grid-column:1 / -1}.tarif-footer-note{font-size:.78rem;text-align:center}}.cours-page{position:relative;overflow:hidden;isolation:isolate}.cours-page-inner{max-width:1400px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-xl)}.cours-deco{position:absolute;width:max(620px,55vh);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.cours-deco--tr{top:-270px;right:-250px;transform:rotate(215deg)}.cours-deco--bl{bottom:-440px;left:-110px;transform:rotate(-1deg);width:max(900px,75vh)}.cours-header{position:relative;z-index:1;text-align:center;margin-bottom:var(--spacing-3xl)}.cours-header-label{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:.25em;text-transform:uppercase;color:var(--color-lavender);opacity:.7;margin-bottom:var(--spacing-sm)}.cours-header-title{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1;margin-bottom:var(--spacing-lg)}.cours-title-main{font-family:var(--font-title);font-size:clamp(3.5rem,10vw,7rem);text-transform:uppercase;font-style:italic;color:var(--color-white);text-shadow:0 0 7px rgba(229,216,255,.6),0 0 16px rgba(229,216,255,.35),0 0 35px rgba(24,0,173,.55),0 0 70px rgba(24,0,173,.25);animation:neon-pulse 3s ease-in-out infinite alternate}.cours-title-sub{font-family:var(--font-sub);font-size:clamp(2rem,6vw,4.5rem);text-transform:uppercase;letter-spacing:.12em;font-style:italic;position:relative;display:inline-block;white-space:nowrap;isolation:isolate;color:transparent;-webkit-text-stroke:1.5px #004aad}.cours-title-sub:before{content:"Cours";position:absolute;top:-.04em;left:-.045em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #00ffff;font-family:var(--font-sub);font-size:clamp(2rem,6vw,4.5rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;z-index:-1}.cours-title-sub:after{content:"Cours";position:absolute;top:.04em;left:.035em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #ff00ff;font-family:var(--font-sub);font-size:clamp(2rem,6vw,4.5rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;z-index:-2}.cours-header-desc{font-size:var(--text-lg);color:var(--color-lavender);opacity:.8;max-width:620px;margin:0 auto;line-height:1.7}.cours-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--spacing-xl)}.cours-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal);position:relative}.cours-card,.cours-card-add{grid-column:span 2}.cours-card:last-child:nth-child(3n+1){grid-column:3 / 5}.cours-card:nth-last-child(2):nth-child(3n+1){grid-column:2 / 4}.cours-card:last-child:nth-child(3n+2){grid-column:4 / 6}.cours-card:hover{transform:translateY(-6px);border-color:#e5d8ff73;box-shadow:0 16px 48px #00000080,0 0 30px color-mix(in srgb,var(--accent) 30%,transparent)}.cours-card-top{position:relative;height:100px;background:color-mix(in srgb,var(--accent) 25%,#0a0a0a);display:flex;align-items:center;justify-content:center;overflow:hidden}.cours-card-emoji{font-size:2.8rem;position:relative;z-index:1;filter:drop-shadow(0 0 12px color-mix(in srgb,var(--accent) 80%,transparent))}.cours-card-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 40%,transparent) 0%,transparent 70%);pointer-events:none}.cours-card-body{padding:var(--spacing-lg) var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-md);flex:1}.cours-card-name{font-family:var(--font-title);font-size:var(--text-2xl);color:var(--color-white);letter-spacing:.06em;text-transform:uppercase;font-style:italic}.cours-card-levels{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.cours-level-badge{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 10px;border-radius:var(--radius-full);background:color-mix(in srgb,var(--accent) 20%,transparent);border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);color:color-mix(in srgb,var(--accent) 80%,#fff)}.cours-card-desc{font-size:var(--text-sm);color:#e5d8ffbf;line-height:1.7;white-space:pre-line}.cours-card-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.cours-tag{font-size:var(--text-xs);color:var(--color-lavender);opacity:.55;font-style:italic}.cours-card-prof{display:flex;flex-direction:column;gap:.4rem;padding:.75rem 1rem;background:rgba(255,255,255,.04);border-radius:var(--radius-sm);border-left:3px solid color-mix(in srgb,var(--accent) 80%,transparent);margin-top:auto}.cours-card-prof--single{flex-direction:row;align-items:center;gap:.5rem}.cours-prof-label{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-lavender);opacity:.5}.cours-prof-name{font-size:var(--text-sm);font-weight:600;color:var(--color-cream);display:flex;align-items:center;gap:.4rem}.cours-prof-name:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:color-mix(in srgb,var(--accent) 90%,transparent);flex-shrink:0}.cours-prof-name--single{font-size:var(--text-sm);font-weight:600;color:var(--color-cream)}.list-prof-name{display:flex;flex-direction:column;gap:.25rem}.cours-card-spots{margin-bottom:.75rem}.cours-spots-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem;border-radius:999px;background:rgba(34,197,94,.12);color:#22c55e;border:1px solid rgba(34,197,94,.25)}.cours-spots-badge.full{background:rgba(99,102,241,.12);color:#818cf8;border-color:#6366f140}.cours-card-cta{text-align:center;width:100%;margin-top:var(--spacing-sm)}@keyframes neon-pulse{0%{text-shadow:0 0 7px rgba(229,216,255,.6),0 0 16px rgba(229,216,255,.35),0 0 35px rgba(24,0,173,.55),0 0 70px rgba(24,0,173,.25)}to{text-shadow:0 0 10px rgba(229,216,255,.8),0 0 24px rgba(229,216,255,.55),0 0 55px rgba(24,0,173,.75),0 0 100px rgba(24,0,173,.4),0 0 160px rgba(24,0,173,.18)}}.cours-card-add{background:rgba(229,216,255,.03);border:2px dashed rgba(229,216,255,.2);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;min-height:220px;cursor:pointer;transition:background .2s,border-color .2s;color:#e5d8ff66}.cours-card-add:hover{background:rgba(229,216,255,.07);border-color:#e5d8ff73;color:#e5d8ffcc}.cours-card-add-icon{font-size:2.2rem;font-weight:300;line-height:1}.cours-card-add-label{font-family:var(--font-body);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.cours-drop-end{border-radius:16px;border:2px dashed rgba(229,216,255,.15);min-height:80px;transition:border-color .15s,background .15s}.cours-drop-end--over{border-color:#e5d8ff99;background:rgba(229,216,255,.05)}.cours-card-top .admin-card-btn{position:absolute;top:.5rem;z-index:5}.cours-card-top .admin-card-btn:first-of-type{right:2.6rem}.cours-card-top .admin-card-btn:last-of-type{right:.5rem}.cours-delete-confirm{background:#0d0b1f;border:1px solid rgba(255,80,80,.3);border-radius:16px;padding:2rem;width:100%;max-width:420px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 12px 50px #000000b3;color:var(--color-white)}.cours-delete-confirm p{margin:0;font-size:1rem}.cours-delete-confirm-sub{font-size:.82rem;opacity:.6}.cours-card-drag-handle{position:absolute;top:.5rem;left:.5rem;z-index:5;background:rgba(13,11,31,.75);border:1px solid rgba(229,216,255,.25);border-radius:8px;padding:.3rem .4rem;font-size:1rem;cursor:grab;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .2s;line-height:1;color:#e5d8ffb3}.cours-card:hover .cours-card-drag-handle{opacity:1}.cours-card-drag-handle:active{cursor:grabbing}.cours-card--dragging{opacity:.4;transform:scale(.97);border:1px dashed rgba(229,216,255,.4)!important}.cours-card--dragover{border:1px solid rgba(229,216,255,.7)!important;box-shadow:0 0 0 2px #e5d8ff40,0 0 20px #e5d8ff1a;transform:scale(1.02)}.cours-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.cours-edit-modal{background:#0d0b1f;border:1px solid rgba(229,216,255,.2);border-radius:16px;width:100%;max-width:600px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 12px 50px #000000b3;overflow:hidden}.cours-edit-title{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--color-white);margin:0;text-transform:none;letter-spacing:0}.cours-edit-title em{color:#e5d8ff99;font-style:normal}.cours-edit-body{padding:2rem 2rem 1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;flex:1}.cours-edit-footer{padding:1rem 2rem;border-top:1px solid rgba(229,216,255,.1);background:#0d0b1f;border-radius:0 0 16px 16px;flex-shrink:0}.cours-edit-body{padding:2rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;flex:1}.cours-edit-footer{padding:1rem 2rem;border-top:1px solid rgba(229,216,255,.1);background:#0d0b1f;border-radius:0 0 16px 16px}.cours-edit-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.cours-edit-field{display:flex;flex-direction:column;gap:.4rem}.cours-edit-field label,.cours-edit-row label{font-family:var(--font-body);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#e5d8ff80}.cours-edit-field label span{text-transform:none;letter-spacing:0;opacity:.6}.cours-edit-input{background:rgba(229,216,255,.05);border:1px solid rgba(229,216,255,.15);border-radius:7px;color:var(--color-white);font-family:var(--font-body);font-size:.88rem;padding:.55rem .75rem;outline:none;width:100%;transition:border-color .2s}.cours-edit-input:focus{border-color:#e5d8ff73}.cours-edit-input--sm{width:80px}.cours-edit-color{width:44px;height:36px;border:1px solid rgba(229,216,255,.2);border-radius:7px;background:none;cursor:pointer;padding:2px}.cours-edit-color-hex{font-family:var(--font-body);font-size:.78rem;color:#e5d8ff80}.cours-edit-textarea{background:rgba(229,216,255,.05);border:1px solid rgba(229,216,255,.15);border-radius:7px;color:var(--color-white);font-family:var(--font-body);font-size:.85rem;padding:.6rem .75rem;outline:none;resize:vertical;width:100%;line-height:1.6;transition:border-color .2s}.cours-edit-textarea:focus{border-color:#e5d8ff73}.cours-edit-error{font-size:.82rem;color:#ff5050e6;margin:0}.cours-edit-actions{display:flex;gap:.75rem;justify-content:flex-end}@media (max-width: 600px){.cours-page-inner{padding:var(--spacing-xl) var(--spacing-md)}.cours-deco--tr{width:320px;top:-160px;right:-140px}.cours-deco--bl{width:500px;bottom:-260px;left:-60px}.cours-grid{grid-template-columns:1fr;gap:var(--spacing-lg)}.cours-card,.cours-card-add{grid-column:auto}.cours-card:last-child:nth-child(3n+1),.cours-card:nth-last-child(2):nth-child(3n+1),.cours-card:last-child:nth-child(3n+2){grid-column:auto}.cours-header{margin-bottom:var(--spacing-2xl)}.cours-card-body{padding:var(--spacing-md)}.cours-title-sub:before{top:0;left:0;transform:translate(-2px,-1px)}.cours-title-sub:after{top:0;left:0;transform:translate(3px,2px)}}.inscriptions-page{position:relative;min-height:calc(100vh - 100px);background:var(--color-bg);overflow:hidden;isolation:isolate}.inscriptions-inner{max-width:1100px;margin:0 auto;padding:3rem 2rem 5rem;position:relative;z-index:1}.inscriptions-deco{position:absolute;width:max(620px,55vh);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.inscriptions-deco-top-right{top:-270px;right:-250px;transform:rotate(215deg)}.inscriptions-deco-bottom-left{bottom:-440px;left:-110px;transform:rotate(-1deg);width:max(900px,75vh)}.inscriptions-header{text-align:center;margin-bottom:2.5rem}.inscriptions-title{font-family:var(--font-title);font-size:clamp(3rem,8vw,6rem);font-style:italic;letter-spacing:.08em;color:var(--color-white);text-shadow:0 0 8px rgba(229,216,255,.6),0 0 20px rgba(229,216,255,.3),0 0 50px rgba(24,0,173,.5);margin:0 0 .25rem}.inscriptions-intro{font-family:var(--font-body);font-size:.9rem;color:#e5d8ff8c;max-width:480px;margin:0 auto;line-height:1.6}.inscriptions-stepper{display:flex;justify-content:center;gap:0;margin-bottom:2.5rem;position:relative}.inscriptions-stepper:before{content:"";position:absolute;top:16px;left:15%;right:15%;height:1px;background:rgba(229,216,255,.15)}.inscriptions-step{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex:1;max-width:130px;position:relative;z-index:1}.inscriptions-step-dot{width:32px;height:32px;border-radius:50%;border:1px solid rgba(229,216,255,.2);background:var(--color-bg);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.8rem;color:#e5d8ff59;transition:all .3s}.inscriptions-step--active .inscriptions-step-dot{background:var(--color-lavender);border-color:var(--color-lavender);color:#0d0b1f;font-weight:700;box-shadow:0 0 12px #e5d8ff66}.inscriptions-step--done .inscriptions-step-dot{background:rgba(100,220,180,.15);border-color:#64dcb480;color:#64dcb4e6}.inscriptions-step-label{font-family:var(--font-body);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#e5d8ff59}.inscriptions-step--active .inscriptions-step-label{color:var(--color-lavender)}.inscriptions-step--done .inscriptions-step-label{color:#64dcb499}.inscriptions-section{position:relative;z-index:1}.inscriptions-section--centered{display:flex;justify-content:center}.inscriptions-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.inscriptions-filter-btn{background:rgba(229,216,255,.06);border:1px solid rgba(229,216,255,.15);color:#e5d8ff99;font-family:var(--font-body);font-size:.78rem;letter-spacing:.06em;padding:.35rem .9rem;border-radius:20px;cursor:pointer;transition:all .2s}.inscriptions-filter-btn:hover{background:rgba(229,216,255,.12);color:var(--color-white)}.inscriptions-filter-btn--active{background:rgba(229,216,255,.15);border-color:#e5d8ff66;color:var(--color-white)}.inscriptions-courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.inscriptions-course-card{background:rgba(5,3,20,.82);border:1px solid rgba(229,216,255,.12);border-radius:12px;padding:1.25rem;display:flex;flex-direction:column;gap:.4rem;cursor:pointer;position:relative;text-align:left;width:100%;transition:border-color .2s,transform .2s,box-shadow .2s}.inscriptions-course-card:hover{border-color:#e5d8ff4d;transform:translateY(-3px)}.inscriptions-course-card--selected{border-color:#b482ffb3!important;background:rgba(180,130,255,.08)!important;box-shadow:0 0 14px #b482ff33}.inscriptions-check{position:absolute;top:.75rem;right:.75rem;width:1.4rem;height:1.4rem;background:rgba(180,130,255,.9);color:#fff;border-radius:50%;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:700}.inscriptions-course-day{font-family:var(--font-body);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#b482ffe6;margin-bottom:.1rem}.inscriptions-course-card--full{border-color:#fac86440}.inscriptions-basket{position:sticky;top:4rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(10,5,40,.95);border:1px solid rgba(180,130,255,.4);border-radius:12px;padding:.9rem 1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 4px 24px #00000080;z-index:20}.inscriptions-basket-count{font-family:var(--font-body);font-size:.9rem;color:#e5d8ffd9}.inscriptions-course-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.inscriptions-course-type{font-family:var(--font-body);font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--color-lavender);opacity:.8}.inscriptions-course-badge{font-family:var(--font-body);font-size:.62rem;padding:.1rem .5rem;border-radius:10px;background:rgba(229,216,255,.1);border:1px solid rgba(229,216,255,.2);color:#e5d8ff99;letter-spacing:.05em}.inscriptions-course-badge--full{background:rgba(255,80,80,.1);border-color:#ff50504d;color:#ff5050cc}.inscriptions-course-title{font-family:var(--font-title);font-size:1.05rem;font-style:italic;color:var(--color-white);margin:0;letter-spacing:.04em}.inscriptions-course-instructor,.inscriptions-course-time,.inscriptions-course-date{font-family:var(--font-body);font-size:.78rem;color:#e5d8ff80;margin:0}.inscriptions-course-footer{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid rgba(229,216,255,.08)}.inscriptions-course-price{font-family:var(--font-title);font-size:1.1rem;font-style:italic;color:var(--color-white)}.inscriptions-course-spots{font-family:var(--font-body);font-size:.72rem;color:#e5d8ff66;flex:1}.inscriptions-course-waitlist{font-family:var(--font-body);font-size:.72rem;color:#fac864bf;flex:1}.inscriptions-course-already{font-family:var(--font-body);font-size:.72rem;color:#86efacb3;flex:1}.inscriptions-course-card--registered{opacity:.55;cursor:default;border-color:#86efac33!important}.inscriptions-course-badge--registered{position:absolute;top:.6rem;right:.6rem;font-family:var(--font-body);font-size:.65rem;font-weight:700;letter-spacing:.05em;padding:.2rem .5rem;border-radius:4px;background:rgba(134,239,172,.15);color:#86efac;border:1px solid rgba(134,239,172,.3)}.inscriptions-course-btn{background:rgba(229,216,255,.08);border:1px solid rgba(229,216,255,.25);color:var(--color-lavender);font-family:var(--font-body);font-size:.78rem;padding:.4rem 1rem;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.inscriptions-course-btn:hover:not(:disabled){background:rgba(229,216,255,.15);border-color:#e5d8ff80}.inscriptions-course-btn:disabled{opacity:.4;cursor:not-allowed}.inscriptions-auth-card{background:rgba(5,3,20,.85);border:1px solid rgba(229,216,255,.15);border-radius:14px;padding:2rem;width:100%;max-width:460px}.inscriptions-auth-tabs{display:flex;gap:.25rem;background:rgba(229,216,255,.05);border:1px solid rgba(229,216,255,.1);border-radius:8px;padding:.25rem;margin-bottom:1.5rem}.inscriptions-auth-tab{flex:1;background:none;border:none;color:#e5d8ff80;font-family:var(--font-body);font-size:.82rem;padding:.45rem;border-radius:6px;cursor:pointer;transition:all .2s}.inscriptions-auth-tab:hover{color:#e5d8ffd9}.inscriptions-auth-tab--active{background:rgba(229,216,255,.12);color:var(--color-white)}.inscriptions-form{display:flex;flex-direction:column;gap:1rem}.inscriptions-form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.inscriptions-field{display:flex;flex-direction:column;gap:.35rem}.inscriptions-field label{font-family:var(--font-body);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#e5d8ff80}.inscriptions-field input{background:rgba(229,216,255,.05);border:1px solid rgba(229,216,255,.15);border-radius:6px;color:var(--color-white);font-family:var(--font-body);font-size:.88rem;padding:.55rem .75rem;outline:none;transition:border-color .2s}.inscriptions-field input:focus{border-color:#e5d8ff73}.inscriptions-field input::placeholder{color:#e5d8ff33}.inscriptions-form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.inscriptions-btn-primary{background:var(--color-lavender);border:none;color:#0d0b1f;font-family:var(--font-body);font-size:.85rem;font-weight:700;padding:.6rem 1.5rem;border-radius:7px;cursor:pointer;transition:opacity .2s}.inscriptions-btn-primary:hover:not(:disabled){opacity:.85}.inscriptions-btn-primary:disabled{opacity:.4;cursor:not-allowed}.inscriptions-btn-secondary{background:none;border:1px solid rgba(229,216,255,.2);color:#e5d8ff99;font-family:var(--font-body);font-size:.85rem;padding:.6rem 1.2rem;border-radius:7px;cursor:pointer;transition:border-color .2s,color .2s}.inscriptions-btn-secondary:hover{border-color:#e5d8ff73;color:var(--color-white)}.inscriptions-confirm-card{background:rgba(5,3,20,.85);border:1px solid rgba(229,216,255,.15);border-radius:14px;padding:2rem;width:100%;max-width:520px;display:flex;flex-direction:column;gap:1.25rem}.inscriptions-confirm-title{font-family:var(--font-title);font-size:1.2rem;font-style:italic;letter-spacing:.06em;color:var(--color-white);margin:0}.inscriptions-confirm-subtitle{font-family:var(--font-body);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:#e5d8ff66;margin:0 0 .5rem}.inscriptions-confirm-courses{display:flex;flex-direction:column;gap:.35rem}.inscriptions-confirm-course-row{display:flex;align-items:center;gap:.6rem;background:rgba(229,216,255,.04);border:1px solid rgba(229,216,255,.1);border-radius:8px;padding:.55rem .75rem}.inscriptions-confirm-day{font-family:var(--font-body);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:#b482ffd9;white-space:nowrap;min-width:5rem}.inscriptions-confirm-name{font-family:var(--font-sub);font-size:.88rem;font-style:italic;color:var(--color-white);flex:1}.inscriptions-confirm-time{font-family:var(--font-body);font-size:.72rem;color:#e5d8ff73;white-space:nowrap}.inscriptions-confirm-remove{background:none;border:none;color:#ff505099;cursor:pointer;font-size:.75rem;padding:0 .2rem;line-height:1;transition:color .15s}.inscriptions-confirm-remove:hover{color:#ff5050}.inscriptions-confirm-fee{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(229,216,255,.12);padding-top:1rem;font-family:var(--font-body);font-size:.9rem;color:#e5d8ffb3}.inscriptions-confirm-fee strong{font-family:var(--font-title);font-size:1.3rem;font-style:italic;color:var(--color-white)}.inscriptions-confirm-fee-note{font-family:var(--font-body);font-size:.72rem;color:#e5d8ff59;line-height:1.5;margin:-.5rem 0 0}.inscriptions-reglement{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.inscriptions-reglement-label{font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#e5d8ff80}.inscriptions-reglement-scroll{height:220px;overflow-y:auto;background:rgba(0,0,0,.3);border:1px solid rgba(229,216,255,.12);border-radius:8px;padding:1rem 1.25rem;font-family:var(--font-body);font-size:.78rem;color:#e5d8ffa6;line-height:1.6;scrollbar-width:thin;scrollbar-color:rgba(229,216,255,.2) transparent}.inscriptions-reglement-scroll p{margin-bottom:.6rem}.inscriptions-reglement-scroll strong{color:#e5d8ffe6}.inscriptions-reglement-check{display:flex;align-items:center;gap:.65rem;font-family:var(--font-body);font-size:.83rem;color:#e5d8ffbf;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.75rem 1rem;background:rgba(229,216,255,.04);border:1px solid rgba(229,216,255,.12);border-radius:8px;transition:background .2s,border-color .2s}.inscriptions-reglement-check:has(input:checked){background:rgba(134,239,172,.07);border-color:#86efac4d;color:#e5d8fff2}.inscriptions-reglement-check input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:#86efac;flex-shrink:0}display: flex; flex-direction: column; gap: .25rem; } .inscriptions-confirm-user p{font-family:var(--font-body);font-size:.82rem;color:#e5d8ff99;margin:0}.inscriptions-warnings{background:rgba(255,180,0,.06);border:1px solid rgba(255,180,0,.2);border-radius:8px;padding:.75rem 1rem;list-style:none;margin:0;display:flex;flex-direction:column;gap:.3rem}.inscriptions-warnings li{font-family:var(--font-body);font-size:.78rem;color:#ffc850d9}.inscriptions-payment-label{font-family:var(--font-body);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:#e5d8ff66;margin:0 0 .5rem}.inscriptions-payment-choice{display:flex;flex-direction:column;gap:.5rem}.inscriptions-payment-option{display:flex;align-items:center;gap:.75rem;background:rgba(229,216,255,.04);border:1px solid rgba(229,216,255,.12);border-radius:8px;padding:.75rem 1rem;cursor:pointer;transition:border-color .2s,background .2s}.inscriptions-payment-option input[type=radio]{accent-color:var(--color-lavender)}.inscriptions-payment-option>div{display:flex;justify-content:space-between;align-items:center;flex:1}.inscriptions-payment-option strong{font-family:var(--font-body);font-size:.85rem;color:#e5d8ffcc;font-weight:600}.inscriptions-payment-option span{font-family:var(--font-title);font-size:.95rem;font-style:italic;color:var(--color-white)}.inscriptions-payment-option--active{border-color:#e5d8ff59;background:rgba(229,216,255,.08)}.inscriptions-done-card{background:rgba(5,3,20,.85);border:1px solid rgba(100,220,180,.2);border-radius:14px;padding:2.5rem 2rem;max-width:480px;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1rem}.inscriptions-done-icon{font-size:2.5rem}.inscriptions-done-title{font-family:var(--font-title);font-size:1.4rem;font-style:italic;color:#64dcb4f2;margin:0}.inscriptions-done-text{font-family:var(--font-body);font-size:.85rem;color:#e5d8ff99;line-height:1.6;margin:0}.inscriptions-done-text strong{color:var(--color-white)}.inscriptions-done-actions{display:flex;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:.5rem}.inscriptions-done-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem;width:100%;text-align:left}.inscriptions-done-list li{font-family:var(--font-body);font-size:.82rem;color:#e5d8ffb3;padding:.4rem .75rem;background:rgba(229,216,255,.04);border-radius:6px;border-left:2px solid rgba(100,220,180,.4)}.inscriptions-loading,.inscriptions-empty{text-align:center;font-family:var(--font-body);font-size:.88rem;color:#e5d8ff66;padding:3rem 0}.inscriptions-error{font-family:var(--font-body);font-size:.82rem;color:#ff5050e6;margin:0;text-align:center}@media (max-width: 600px){.inscriptions-inner{padding:2rem 1rem 3rem}.inscriptions-deco-top-right{width:320px;top:-160px;right:-140px}.inscriptions-deco-bottom-left{width:500px;bottom:-260px;left:-60px}.inscriptions-stepper:before{left:10%;right:10%}.inscriptions-step{max-width:none}.inscriptions-step-label{font-size:.58rem;letter-spacing:.04em}.inscriptions-courses{grid-template-columns:1fr}.inscriptions-basket{top:3.5rem;flex-direction:column;align-items:stretch;gap:.6rem}.inscriptions-basket-count{text-align:center}.inscriptions-confirm-course-row{flex-wrap:wrap;gap:.3rem .6rem}.inscriptions-confirm-day{min-width:auto}.inscriptions-confirm-name{flex-basis:100%;order:-1}.inscriptions-confirm-time{flex:1}.inscriptions-confirm-remove{margin-left:auto}.inscriptions-form-row{grid-template-columns:1fr}.inscriptions-auth-card,.inscriptions-confirm-card,.inscriptions-done-card{padding:1.25rem}.inscriptions-form-actions{flex-direction:column-reverse}.inscriptions-btn-primary,.inscriptions-btn-secondary{width:100%;text-align:center}.inscriptions-done-actions{flex-direction:column}.inscriptions-done-actions .inscriptions-btn-primary,.inscriptions-done-actions .inscriptions-btn-secondary{width:100%}}.login-page{height:calc(100vh - 100px);display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl);position:relative;overflow:hidden;isolation:isolate}.login-deco{position:absolute;width:max(620px,55vh);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none}.login-deco--tr{top:-270px;right:-250px;transform:rotate(215deg);opacity:.9}.login-deco--bl{bottom:-440px;left:-110px;transform:rotate(-1deg);width:max(900px,75vh)}.login-card{width:100%;max-width:420px;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--radius-xl);padding:var(--spacing-2xl) var(--spacing-xl);box-shadow:var(--shadow-card),0 0 40px #1800ad26;position:relative;z-index:1}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-title{font-family:var(--font-title);font-size:clamp(2rem,6vw,3.5rem);text-transform:uppercase;font-style:italic;color:var(--color-white);text-shadow:0 0 7px rgba(229,216,255,.6),0 0 16px rgba(229,216,255,.35),0 0 35px rgba(24,0,173,.55),0 0 70px rgba(24,0,173,.25);animation:neon-pulse 3s ease-in-out infinite alternate;line-height:1;margin-bottom:var(--spacing-sm)}.login-sub{font-family:var(--font-sub);font-size:clamp(1rem,2.5vw,1.4rem);text-transform:uppercase;letter-spacing:.1em;font-style:italic;position:relative;display:inline-block;white-space:nowrap;isolation:isolate;color:transparent;-webkit-text-stroke:1px #004aad}.login-sub:before{content:attr(data-text);position:absolute;top:-.04em;left:-.04em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #00ffff;font-family:var(--font-sub);font-size:clamp(1rem,2.5vw,1.4rem);letter-spacing:.1em;text-transform:uppercase;font-style:italic;z-index:-1}.login-sub:after{content:attr(data-text);position:absolute;top:.04em;left:.035em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px #ff00ff;font-family:var(--font-sub);font-size:clamp(1rem,2.5vw,1.4rem);letter-spacing:.1em;text-transform:uppercase;font-style:italic;z-index:-2}.login-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group label{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-lavender);letter-spacing:.05em;opacity:.8}.form-group input{background:rgba(229,216,255,.05);border:1px solid var(--color-card-border);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--color-white);font-family:var(--font-body);font-size:var(--text-base);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-group input::placeholder{color:#e5d8ff40}.form-group input:focus{border-color:var(--color-primary-light);box-shadow:0 0 0 3px #3a22d440,0 0 12px #3a22d433}.login-error{font-family:var(--font-body);font-size:var(--text-sm);color:#ff6b8a;text-align:center;padding:.5rem .75rem;background:rgba(255,50,80,.1);border:1px solid rgba(255,50,80,.25);border-radius:var(--radius-md)}.login-btn{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-white);font-family:var(--font-sub);font-size:var(--text-base);font-style:italic;letter-spacing:.08em;text-transform:uppercase;border:none;border-radius:var(--radius-md);padding:.85rem 1rem;cursor:pointer;transition:filter var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast);margin-top:var(--spacing-sm)}.login-btn:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-2px);box-shadow:0 0 16px #3a22d480,0 4px 20px #0000004d}.login-btn:disabled{opacity:.5;cursor:not-allowed}.login-footer{margin-top:var(--spacing-lg);text-align:center;font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-lavender);opacity:.6}.login-footer a{color:var(--color-lavender);opacity:1;text-decoration:underline;text-underline-offset:3px;transition:color var(--transition-fast)}.login-footer a:hover{color:var(--color-white)}.login-forgot{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-lavender);opacity:.6;text-decoration:underline;text-underline-offset:3px;transition:opacity var(--transition-fast)}.login-forgot:hover{opacity:1}@keyframes neon-pulse{0%{text-shadow:0 0 7px rgba(229,216,255,.6),0 0 16px rgba(229,216,255,.35),0 0 35px rgba(24,0,173,.55),0 0 70px rgba(24,0,173,.25)}to{text-shadow:0 0 10px rgba(229,216,255,.8),0 0 24px rgba(229,216,255,.55),0 0 55px rgba(24,0,173,.75),0 0 100px rgba(24,0,173,.4)}}@media (max-width: 768px){.login-deco--tr{width:320px;top:-160px;right:-140px}.login-deco--bl{width:500px;bottom:-260px;left:-60px}}.student-dashboard{position:relative;min-height:calc(100vh - 100px);background:var(--color-bg);overflow:hidden;isolation:isolate}.student-dashboard-inner{max-width:900px;margin:0 auto;padding:3rem 2rem 5rem;position:relative;z-index:1}.sd-deco{position:absolute;width:max(620px,55vh);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:0}.sd-deco-top-right{top:-80px;right:-120px;transform:rotate(15deg)}.sd-deco-bottom-left{bottom:-80px;left:-120px;transform:rotate(-170deg)}.sd-header{margin-bottom:2.5rem}.sd-header h1{font-size:2.2rem;font-weight:700;color:var(--color-text);margin-bottom:.3rem}.sd-header p{color:var(--color-muted, #888);font-size:1rem}.sd-stats{display:flex;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}.sd-stat-card{background:var(--color-card, rgba(255,255,255,.05));border:1px solid var(--color-border, rgba(255,255,255,.1));border-radius:12px;padding:1.2rem 1.8rem;flex:1;min-width:140px}.sd-stat-card .stat-number{font-size:2rem;font-weight:700;color:var(--color-accent, #c084fc);line-height:1}.sd-stat-card .stat-label{font-size:.8rem;color:var(--color-muted, #888);margin-top:.3rem;text-transform:uppercase;letter-spacing:.05em}.sd-section-title{font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border, rgba(255,255,255,.1))}.sd-registrations{display:flex;flex-direction:column;gap:.75rem}.sd-reg-card{background:var(--color-card, rgba(255,255,255,.05));border:1px solid var(--color-border, rgba(255,255,255,.1));border-radius:12px;padding:1.2rem 1.5rem;display:flex;align-items:center;gap:1rem;transition:border-color .2s}.sd-reg-card:hover{border-color:var(--color-accent, #c084fc)}.sd-reg-card.cancelled{opacity:.45}.sd-reg-color{width:4px;min-height:48px;border-radius:4px;flex-shrink:0}.sd-reg-info{flex:1;min-width:0}.sd-reg-title{font-size:1rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sd-reg-meta{font-size:.82rem;color:var(--color-muted, #888);margin-top:.2rem}.sd-reg-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.sd-badge{font-size:.72rem;font-weight:600;padding:.3rem .75rem;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.sd-badge.confirmed{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3)}.sd-badge.pending{background:rgba(234,179,8,.15);color:#eab308;border:1px solid rgba(234,179,8,.3)}.sd-badge.cancelled{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}.sd-badge.waitlisted{background:rgba(99,102,241,.15);color:#818cf8;border:1px solid rgba(99,102,241,.3)}.sd-btn-cancel{background:transparent;border:1px solid rgba(239,68,68,.4);color:#ef4444;border-radius:8px;padding:.4rem .9rem;font-size:.8rem;cursor:pointer;transition:background .2s,border-color .2s}.sd-btn-cancel:hover{background:rgba(239,68,68,.1);border-color:#ef4444}.sd-btn-cancel:disabled{opacity:.4;cursor:not-allowed}.sd-btn-pay-admission{background:linear-gradient(135deg,rgba(245,158,11,.2),rgba(251,191,36,.15));border:1px solid rgba(245,158,11,.6);color:#fbbf24;border-radius:8px;padding:.45rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}.sd-btn-pay-admission:hover{background:rgba(245,158,11,.25);border-color:#fbbf24}.sd-btn-pay-admission:disabled{opacity:.5;cursor:not-allowed}.sd-btn-inscrit{display:inline-block;margin-top:1.5rem;padding:.75rem 2rem;background:var(--color-accent, #c084fc);color:#fff;border-radius:10px;font-weight:600;text-decoration:none;transition:opacity .2s}.sd-btn-inscrit:hover{opacity:.85}.sd-loading,.sd-empty{color:var(--color-muted, #888);text-align:center;padding:3rem 0;font-size:1rem}.sd-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000}.sd-dialog{background:var(--color-bg);border:1px solid var(--color-border, rgba(255,255,255,.15));border-radius:16px;padding:2rem;max-width:380px;width:90%;text-align:center}.sd-dialog h3{font-size:1.15rem;font-weight:700;margin-bottom:.75rem;color:var(--color-text)}.sd-dialog p{font-size:.9rem;color:var(--color-muted, #888);margin-bottom:1.5rem}.sd-dialog-actions{display:flex;gap:.75rem;justify-content:center}.sd-dialog-actions button{padding:.6rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;border:none;font-size:.9rem}.sd-dialog-actions .btn-confirm-cancel{background:#ef4444;color:#fff}.sd-dialog-actions .btn-keep{background:var(--color-card, rgba(255,255,255,.1));color:var(--color-text);border:1px solid var(--color-border, rgba(255,255,255,.15))}.sd-btn-sign-reglement{background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.35);color:#a78bfa;font-size:.78rem;font-weight:600;padding:.3rem .75rem;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .2s}.sd-btn-sign-reglement:hover{background:rgba(167,139,250,.2)}.sd-dialog--reglement{max-width:560px;gap:1rem}.sd-reglement-scroll{max-height:200px;overflow-y:auto;font-size:.8rem;color:#e5d8ff99;line-height:1.6;border:1px solid rgba(229,216,255,.1);border-radius:6px;padding:.75rem}.sd-reglement-check{display:flex;align-items:center;gap:.6rem;font-size:.83rem;color:#e5d8ffbf;cursor:pointer}@media (max-width: 600px){.student-dashboard-inner{padding:1.5rem 1rem 4rem}.sd-header h1{font-size:1.45rem}.sd-header p{font-size:.88rem}.sd-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.sd-stat-card{padding:.85rem 1rem;min-width:0}.sd-stat-card .stat-number{font-size:1.4rem}.sd-stat-card .stat-label{font-size:.72rem}.sd-reg-card{flex-direction:column;align-items:flex-start;gap:.75rem;padding:1rem}.sd-reg-color{width:100%;min-height:3px;height:3px;border-radius:2px}.sd-reg-title{font-size:.95rem;white-space:normal}.sd-reg-meta{font-size:.78rem;line-height:1.5}.sd-reg-right{width:100%;flex-wrap:wrap;gap:.5rem}.sd-badge{font-size:.68rem;padding:.25rem .65rem}.sd-btn-cancel,.sd-btn-pay-admission{flex:1;text-align:center;padding:.55rem .75rem;font-size:.78rem}.sd-deco{display:none}.sd-dialog{max-width:100%;width:calc(100% - 2rem);padding:1.5rem 1.25rem;border-radius:12px}.sd-dialog-actions{flex-direction:column}.sd-dialog-actions button{width:100%}.sd-dialog--reglement{max-width:calc(100% - 2rem);text-align:left}.sd-reglement-scroll{max-height:150px}.sd-btn-sign-reglement{flex:1;text-align:center}}.admin-dashboard{position:relative;min-height:calc(100vh - 100px);background:var(--color-bg);overflow:hidden;isolation:isolate}.admin-dashboard-inner{max-width:1100px;margin:0 auto;padding:3rem 2rem 5rem;position:relative;z-index:1}.admin-header{margin-bottom:2rem}.admin-header h1{font-size:2.2rem;font-weight:700;color:var(--color-text);margin-bottom:.3rem}.admin-header p{color:var(--color-muted, #888);font-size:.95rem}.admin-stats{display:flex;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap}.admin-stat-card{background:var(--color-card, rgba(255,255,255,.05));border:1px solid var(--color-border, rgba(255,255,255,.1));border-radius:12px;padding:1.2rem 1.8rem;flex:1;min-width:130px}.admin-stat-card .stat-number{font-size:2rem;font-weight:700;color:var(--color-accent, #c084fc);line-height:1}.admin-stat-card .stat-label{font-size:.78rem;color:var(--color-muted, #888);margin-top:.3rem;text-transform:uppercase;letter-spacing:.05em}.admin-filters{display:flex;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.admin-search{flex:1;min-width:200px;background:var(--color-card, rgba(255,255,255,.05));border:1px solid var(--color-border, rgba(255,255,255,.15));border-radius:8px;padding:.6rem 1rem;color:var(--color-text);font-size:.9rem;outline:none}.admin-search:focus{border-color:var(--color-accent, #c084fc)}.admin-filter-btn{background:var(--color-card, rgba(255,255,255,.05));border:1px solid var(--color-border, rgba(255,255,255,.15));border-radius:8px;padding:.6rem 1.1rem;color:var(--color-muted, #888);font-size:.82rem;cursor:pointer;transition:all .2s;white-space:nowrap}.admin-filter-btn.active,.admin-filter-btn:hover{border-color:var(--color-accent, #c084fc);color:var(--color-accent, #c084fc);background:rgba(192,132,252,.08)}.admin-view-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.admin-view-tab{padding:.55rem 1.4rem;border-radius:999px;border:1px solid var(--color-border, rgba(255,255,255,.15));background:rgba(255,255,255,.04);color:var(--color-text-muted, rgba(255,255,255,.55));font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.admin-view-tab.active,.admin-view-tab:hover{background:rgba(192,132,252,.15);border-color:var(--color-accent, #c084fc);color:#fff}.admin-student-course-row{display:flex;align-items:center;gap:.85rem;padding:.6rem 1.5rem .6rem 1rem;border-top:1px solid var(--color-border, rgba(255,255,255,.07))}.admin-student-course-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.admin-student-course-info{display:flex;flex-direction:column;flex:1}.admin-student-course-title{font-size:.9rem;font-weight:600;color:var(--color-text)}.admin-student-course-slot{font-size:.75rem;color:var(--color-text-muted, rgba(255,255,255,.5))}.admin-waitlist-pos{font-size:1em;opacity:1;font-weight:800;margin-left:4px;letter-spacing:.01em}.admin-section-title{font-size:1.05rem;font-weight:600;color:var(--color-text);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border, rgba(255,255,255,.1))}.admin-course-card{background:var(--color-card, rgba(255,255,255,.04));border:1px solid var(--color-border, rgba(255,255,255,.1));border-radius:14px;margin-bottom:1.25rem;overflow:hidden}.admin-course-header{display:flex;align-items:center;gap:1rem;padding:1.1rem 1.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.admin-course-header:hover{background:rgba(255,255,255,.03)}.admin-course-color{width:4px;height:44px;border-radius:4px;flex-shrink:0}.admin-course-info{flex:1;min-width:0}.admin-course-title{font-size:1rem;font-weight:600;color:var(--color-text)}.admin-course-meta{font-size:.8rem;color:var(--color-muted, #888);margin-top:.15rem}.admin-course-right{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.admin-pill{font-size:.75rem;font-weight:600;padding:.25rem .7rem;border-radius:999px;white-space:nowrap}.admin-pill.confirmed{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.25)}.admin-pill.pending{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.25)}.admin-pill.waitlist{background:rgba(99,102,241,.15);color:#818cf8;border:1px solid rgba(99,102,241,.25)}.admin-pill.capacity{background:rgba(255,255,255,.06);color:var(--color-muted, #888);border:1px solid rgba(255,255,255,.1)}.admin-pill.full{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.25)}.admin-chevron{color:var(--color-muted, #888);transition:transform .2s;font-size:.8rem}.admin-chevron.open{transform:rotate(180deg)}.admin-course-body{border-top:1px solid var(--color-border, rgba(255,255,255,.08));padding:.75rem 1.5rem 1rem}.admin-reg-section-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-muted, #888);margin:.75rem 0 .5rem}.admin-reg-list{display:flex;flex-direction:column;gap:.4rem}.admin-reg-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;background:rgba(255,255,255,.03);font-size:.88rem}.admin-reg-row.waitlisted{opacity:.8}.admin-reg-pos{width:22px;text-align:center;font-size:.75rem;font-weight:700;color:#818cf8;flex-shrink:0}.admin-reg-name{font-weight:600;color:var(--color-text);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-reg-email{font-size:.78rem;color:var(--color-muted, #888);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-reg-date{font-size:.75rem;color:var(--color-muted, #888);flex-shrink:0}.admin-reg-badge{font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0}.admin-reg-badge.confirmed{background:rgba(34,197,94,.15);color:#22c55e}.admin-reg-badge.pending{background:rgba(234,179,8,.15);color:#eab308}.admin-reg-badge.waitlisted{background:rgba(99,102,241,.15);color:#818cf8}.admin-reg-actions{display:flex;align-items:center;gap:.6rem}.admin-reg-actions select{width:100%}.admin-reg-pdf-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-family:var(--font-body, sans-serif);font-weight:600;padding:.25rem .6rem;border-radius:5px;background:rgba(134,239,172,.1);border:1px solid rgba(134,239,172,.3);color:#86efac;text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}.admin-reg-pdf-btn:hover{background:rgba(134,239,172,.2);border-color:#86efac80}.admin-reg-pdf-missing{font-size:.72rem;color:#e5d8ff4d;white-space:nowrap}.admin-reg-sign-btn{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-family:var(--font-body, sans-serif);font-weight:600;padding:.25rem .6rem;border-radius:5px;background:rgba(167,139,250,.1);border:1px solid rgba(167,139,250,.35);color:#a78bfa;white-space:nowrap;cursor:pointer;transition:background .2s,border-color .2s}.admin-reg-sign-btn:hover:not(:disabled){background:rgba(167,139,250,.2);border-color:#a78bfa99}.admin-reg-sign-btn:disabled{opacity:.45;cursor:not-allowed}.admin-reg-row.pending-unpaid{background:rgba(245,158,11,.05);border-left:3px solid rgba(245,158,11,.5)}.admin-reg-pending-warn{color:#fbbf24!important;opacity:1!important}.admin-reg-release-btn{background:transparent;border:1px solid rgba(245,158,11,.5);color:#fbbf24;border-radius:8px;padding:.35rem .8rem;font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}.admin-reg-release-btn:hover{background:rgba(245,158,11,.15);border-color:#fbbf24}.admin-reg-release-btn:disabled{opacity:.4;cursor:not-allowed}.admin-reg-section-label.pending{color:#fbbf24;border-left-color:#f59e0b80;background:rgba(245,158,11,.06)}.admin-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.admin-confirm-dialog{background:#0d0b1f;border:1px solid rgba(229,216,255,.2);border-radius:14px;padding:1.5rem 1.75rem;max-width:360px;width:100%;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 8px 40px #0009}.admin-confirm-text{font-family:var(--font-body);font-size:.9rem;color:#e5d8ffcc;line-height:1.5;margin:0}.admin-confirm-text strong{color:#fff}.admin-confirm-actions{display:flex;gap:.75rem;justify-content:flex-end}.admin-confirm-btn{font-family:var(--font-body);font-size:.85rem;font-weight:600;padding:.55rem 1.25rem;border-radius:8px;border:none;cursor:pointer;transition:opacity .2s}.admin-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.admin-confirm-btn--cancel{background:rgba(229,216,255,.08);border:1px solid rgba(229,216,255,.2);color:#e5d8ff99}.admin-confirm-btn--cancel:hover{background:rgba(229,216,255,.14);color:#fff}.admin-confirm-btn--ok{background:var(--color-lavender, #e5d8ff);color:#0d0b1f}.admin-confirm-btn--ok:hover:not(:disabled){opacity:.85}.admin-loading{color:var(--color-muted, #888);text-align:center;padding:3rem 0}.admin-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:rgba(30,20,50,.95);border:1px solid rgba(192,132,252,.4);color:#e5d8ff;padding:.75rem 1.5rem;border-radius:999px;font-size:.88rem;font-weight:500;z-index:2000;box-shadow:0 4px 20px #00000080;white-space:nowrap}@media (max-width: 600px){.admin-toast{white-space:normal;text-align:center;max-width:calc(100% - 2rem)}.admin-dashboard-inner{padding:1.5rem 1rem 3rem}.admin-header h1{font-size:1.45rem}.admin-header p{font-size:.82rem}.admin-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.admin-stat-card{min-width:0;padding:.9rem 1rem}.admin-stat-card .stat-number{font-size:1.6rem}.admin-stat-card .stat-label{font-size:.72rem}.admin-filters{flex-direction:column;gap:.5rem}.admin-search{min-width:0;width:100%}.admin-filter-btns-row{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none}.admin-filter-btns-row::-webkit-scrollbar{display:none}.admin-filter-btn{white-space:nowrap;flex-shrink:0;padding:.5rem .8rem;font-size:.76rem}.admin-view-tabs{gap:.4rem}.admin-view-tab{flex:1;text-align:center;padding:.45rem .5rem;font-size:.82rem}.admin-course-header{padding:.9rem 1rem;flex-wrap:wrap;gap:.5rem}.admin-course-color{height:36px}.admin-course-info{flex-basis:calc(100% - 24px)}.admin-course-right{width:100%;flex-wrap:wrap;gap:.4rem}.admin-course-title{font-size:.92rem}.admin-course-meta{font-size:.72rem}.admin-pill{font-size:.68rem;padding:.2rem .55rem}.admin-chevron{margin-left:auto}.admin-course-body{padding:.5rem .75rem .75rem}.admin-reg-row{flex-wrap:wrap;gap:.3rem .5rem;padding:.65rem .75rem}.admin-reg-pos{width:auto}.admin-reg-name{font-size:.85rem;flex-basis:100%}.admin-reg-email{font-size:.72rem;flex:1}.admin-reg-date{font-size:.7rem}.admin-reg-badge{font-size:.65rem}.admin-reg-actions{flex-basis:100%}.admin-reg-actions select{width:100%;padding:.35rem .5rem;font-size:.82rem}.admin-reg-release-btn{flex:1;text-align:center;padding:.45rem}.admin-student-course-row{flex-wrap:wrap;padding:.5rem .75rem;gap:.4rem}.admin-confirm-dialog{max-width:calc(100% - 2rem);padding:1.25rem}.admin-confirm-actions{flex-direction:column}.admin-confirm-btn{width:100%;text-align:center}}.contact-page{position:relative;min-height:calc(100vh - 100px);background:var(--color-bg);overflow:hidden;isolation:isolate}.contact-deco{position:absolute;width:max(620px,55vh);opacity:.9;pointer-events:none;-webkit-user-select:none;user-select:none}.contact-deco--tr{top:-270px;right:-250px;transform:rotate(215deg)}.contact-deco--bl{bottom:-440px;left:-110px;transform:rotate(-1deg);width:max(900px,75vh)}.contact-inner{position:relative;z-index:1;max-width:820px;margin:0 auto;padding:4rem 2rem 6rem;display:flex;flex-direction:column;gap:3rem}.contact-header{text-align:center}.contact-title{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1;margin-bottom:1rem}.contact-title-main{font-family:var(--font-title);font-size:clamp(3.5rem,10vw,7rem);text-transform:uppercase;font-style:italic;color:var(--color-white);text-shadow:0 0 7px rgba(229,216,255,.6),0 0 16px rgba(229,216,255,.35),0 0 35px rgba(24,0,173,.55),0 0 70px rgba(24,0,173,.25)}.contact-title-sub{font-family:var(--font-sub);font-size:clamp(2rem,6vw,4.5rem);text-transform:uppercase;letter-spacing:.12em;font-style:italic;position:relative;display:inline-block;white-space:nowrap;isolation:isolate;color:transparent;-webkit-text-stroke:1.5px #004aad}.contact-title-sub:before{content:"Contacter";position:absolute;top:-.04em;left:-.045em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #00ffff;font-family:var(--font-sub);font-size:clamp(2rem,6vw,4.5rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;z-index:-1}.contact-title-sub:after{content:"Contacter";position:absolute;top:.04em;left:.035em;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px #ff00ff;font-family:var(--font-sub);font-size:clamp(2rem,6vw,4.5rem);letter-spacing:.12em;text-transform:uppercase;font-style:italic;z-index:-2}.contact-subtitle{font-family:var(--font-body);font-size:.95rem;color:#e5d8ff8c;max-width:480px;margin:0 auto;line-height:1.6}.contact-cards{display:flex;flex-direction:column;gap:1rem}.contact-card{display:flex;align-items:center;gap:1.25rem;background:rgba(229,216,255,.04);border:1px solid rgba(229,216,255,.12);border-radius:14px;padding:1.4rem 1.75rem;text-decoration:none;transition:background .2s,border-color .2s,transform .2s;color:inherit}.contact-card:hover{background:rgba(229,216,255,.08);border-color:#e5d8ff4d;transform:translateY(-2px)}.contact-card--email{border-left:3px solid rgba(180,140,255,.5)}.contact-card--instagram{border-left:3px solid rgba(255,100,150,.5)}.contact-card--address{border-left:3px solid rgba(100,200,255,.4)}.contact-insta-svg{width:2rem;height:2rem;display:block}.contact-card-icon{font-size:1.75rem;flex-shrink:0;width:2.5rem;text-align:center}.contact-card-content{display:flex;flex-direction:column;gap:.18rem;flex:1}.contact-card-label{font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#e5d8ff73}.contact-card-value{font-family:var(--font-body);font-size:1rem;font-weight:500;color:var(--color-white)}.contact-card-note{font-family:var(--font-body);font-size:.8rem;color:#e5d8ff73;margin-top:.2rem}.contact-card-arrow{font-size:1.1rem;color:#e5d8ff4d;flex-shrink:0;transition:color .2s,transform .2s}.contact-card:hover .contact-card-arrow{color:#e5d8ffcc;transform:translate(4px)}.contact-map{width:100%;height:320px;border-radius:14px;overflow:hidden;border:1px solid rgba(229,216,255,.12);opacity:.85}.contact-map:hover{opacity:1}@media (max-width: 600px){.contact-title-sub:before{top:0;left:0;transform:translate(-2px,-1px)}.contact-title-sub:after{top:0;left:0;transform:translate(3px,2px)}.contact-inner{padding:2.5rem 1rem 4rem;gap:2rem}.contact-card{padding:1rem 1.1rem}.contact-card-value{font-size:.9rem}.contact-map{height:220px}.contact-deco--tr{width:320px;top:-160px;right:-140px}.contact-deco--bl{width:500px;bottom:-260px;left:-60px}}@font-face{font-family:Sifonn;src:url(/fonts/SIFONN_PRO.otf) format("opentype");font-weight:400;font-style:normal}:root{--color-bg: #000000;--color-primary: #1800ad;--color-lavender: #e5d8ff;--color-white: #ffffff;--color-cream: #f6e3c7;--color-primary-dark: #10007a;--color-primary-light: #3a22d4;--color-overlay: rgba(24, 0, 173, .15);--color-card-bg: rgba(229, 216, 255, .08);--color-card-border: rgba(229, 216, 255, .2);--font-title: "Impact", "Arial Narrow", sans-serif;--font-sub: "Sifonn", "Arial Narrow", sans-serif;--font-body: "Open Sans", "Arial", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.75rem;--text-5xl: 4rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 5rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-glow-primary: 0 0 20px rgba(24, 0, 173, .6);--shadow-glow-lavender: 0 0 20px rgba(229, 216, 255, .3);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--transition-fast: .15s ease;--transition-normal: .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--text-base);background-color:var(--color-bg);color:var(--color-white);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-title);letter-spacing:.04em;text-transform:uppercase;line-height:1.1}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}p{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-lavender)}a{color:var(--color-lavender);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-white)}.btn{font-family:var(--font-body);font-weight:600;font-size:var(--text-sm);padding:.6rem 1.5rem;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all var(--transition-normal);letter-spacing:.05em;text-transform:uppercase;display:inline-flex;align-items:center;gap:var(--spacing-sm)}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-primary-light);box-shadow:var(--shadow-glow-primary);transform:translateY(-1px)}.btn-outline{background-color:transparent;color:var(--color-lavender);border:1px solid var(--color-card-border)}.btn-outline:hover{background-color:var(--color-card-bg);border-color:var(--color-lavender);color:var(--color-white)}.btn-cream{background-color:var(--color-cream);color:var(--color-primary)}.btn-cream:hover{opacity:.9;transform:translateY(-1px)}.card{background-color:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.badge{font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;padding:.2rem .75rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.badge-primary{background-color:var(--color-primary);color:var(--color-white)}.badge-lavender{background-color:var(--color-lavender);color:var(--color-primary)}.badge-cream{background-color:var(--color-cream);color:var(--color-primary)}.divider{border:none;border-top:1px solid var(--color-card-border);margin:var(--spacing-xl) 0}.text-primary{color:var(--color-primary)}.text-lavender{color:var(--color-lavender)}.text-cream{color:var(--color-cream)}.text-white{color:var(--color-white)}.title-impact{font-family:var(--font-title);text-transform:uppercase;letter-spacing:.05em}.glow-primary{text-shadow:0 0 20px rgba(24,0,173,.8)}.glow-lavender{text-shadow:0 0 20px rgba(229,216,255,.6)}select{background-color:#0d0b1f;color:var(--color-lavender);border:1px solid rgba(229,216,255,.2);border-radius:var(--radius-sm);padding:.35rem 1.8rem .35rem .6rem;font-family:var(--font-body);font-size:.85rem;cursor:pointer;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23e5d8ff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .55rem center;transition:border-color .2s}select:focus{border-color:#e5d8ff80}select:hover{border-color:#e5d8ff59}select option{background-color:#0d0b1f;color:var(--color-lavender)}.admin-card-btn{background:rgba(13,11,31,.8);border:1px solid rgba(229,216,255,.22);border-radius:7px;padding:.28rem .48rem;font-size:.8rem;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .18s,border-color .18s,background .18s;line-height:1}.admin-card-btn--edit{border-color:#b48cff4d}.admin-card-btn--delete{border-color:#ff50504d}.admin-card-hover:hover .admin-card-btn{opacity:1}.admin-card-btn--edit:hover{border-color:#b48cffcc;background:rgba(13,11,31,.95)}.admin-card-btn--delete:hover{border-color:#ff5050bf;background:rgba(50,5,5,.9)}.admin-card-actions{display:flex;gap:.3rem;opacity:0;transition:opacity .18s}.admin-card-hover:hover .admin-card-actions{opacity:1}.admin-btn{font-family:var(--font-body);font-size:.85rem;font-weight:600;padding:.6rem 1.4rem;border-radius:8px;border:none;cursor:pointer;transition:opacity .2s,background .2s,border-color .2s}.admin-btn:disabled{opacity:.45;cursor:not-allowed}.admin-btn--cancel{background:rgba(229,216,255,.08);border:1px solid rgba(229,216,255,.2);color:#e5d8ff99}.admin-btn--cancel:hover:not(:disabled){background:rgba(229,216,255,.14);color:#fff}.admin-btn--save{background:var(--color-lavender, #c084fc);color:#0d0b1f;border:none}.admin-btn--save:hover:not(:disabled){opacity:.85}.admin-btn--delete{background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.35);color:#ff6b6b}.admin-btn--delete:hover:not(:disabled){background:rgba(255,80,80,.22);color:#f44}.admin-top-bar{display:flex;justify-content:flex-end;gap:.6rem;padding:0 0 1rem}.admin-top-btn{background:rgba(229,216,255,.07);border:1px solid rgba(229,216,255,.22);color:var(--color-lavender);font-family:var(--font-body);font-size:.8rem;letter-spacing:.07em;padding:.45rem 1.1rem;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s}.admin-top-btn:hover{background:rgba(229,216,255,.14);border-color:#e5d8ff80}.admin-top-btn--add{border-color:#64dcb44d;color:#64dcb4e6}.admin-top-btn--add:hover{background:rgba(100,220,180,.1);border-color:#64dcb499}
