*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--deep-900: #030810;--deep-800: #060e1c;--deep-700: #0a1628;--deep-600: #0d2040;--deep-500: #0f2d56;--deep-400: #133a6e;--cyan-900: #083344;--cyan-700: #0e7490;--cyan-500: #06b6d4;--cyan-400: #22d3ee;--cyan-300: #67e8f9;--cyan-glow: rgba(6, 182, 212, .25);--cyan-glow-strong: rgba(6, 182, 212, .5);--orange-600: #c2410c;--orange-500: #ea580c;--orange-400: #f97316;--orange-300: #fb923c;--orange-glow: rgba(249, 115, 22, .35);--text-primary: #e0f2fe;--text-secondary: #7dd3fc;--text-muted: #4a7a96;--red-500: #ef4444;--red-300: #fca5a5;--green-500: #10b981;--green-300: #6ee7b7;--card-bg: rgba(9, 20, 38, .88);--card-border: rgba(6, 182, 212, .2);--card-shadow: 0 8px 40px rgba(0, 0, 0, .5), 0 0 0 1px rgba(6, 182, 212, .1);--radius-sm: 10px;--radius-md: 16px;--radius-lg: 22px;--radius-xl: 28px;--radius-full: 9999px;--font: "Nunito", sans-serif}html,body{height:100%}body{font-family:var(--font);background:radial-gradient(ellipse 120% 80% at 50% 100%,#0d2a4a 0%,transparent 60%),radial-gradient(ellipse 80% 60% at 20% 20%,#0a1e38 0%,transparent 50%),linear-gradient(180deg,#050e1c,#081628 30%,#0a1e38,#0d2848);background-attachment:fixed;color:var(--text-primary);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(6,182,212,.018) 3px,rgba(6,182,212,.018) 4px);pointer-events:none;z-index:0}#root{position:relative;z-index:1}.bubbles-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.bubble{position:absolute;bottom:-80px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#06b6d44d,#06b6d40f);border:1px solid rgba(6,182,212,.3);animation:bubble-rise linear infinite}@keyframes bubble-rise{0%{transform:translateY(0) translate(0) scale(1);opacity:0}5%{opacity:1}50%{transform:translateY(-50vh) translate(12px) scale(1.05)}90%{opacity:.7}to{transform:translateY(-105vh) translate(-8px) scale(.9);opacity:0}}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:36px 16px 72px;position:relative;z-index:1}.page-narrow{width:100%;max-width:520px}.page-wide{width:100%;max-width:1100px}.card{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);padding:28px;border:1px solid var(--card-border);position:relative}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,rgba(6,182,212,.07) 0%,transparent 40%);pointer-events:none}.card-sm{padding:20px 24px}.porthole{width:160px;height:160px;border-radius:50%;overflow:hidden;margin:0 auto 24px;position:relative;flex-shrink:0;box-shadow:0 0 0 6px #0f2d56,0 0 0 10px #1a3f68,0 0 0 12px #0f2d56,0 0 0 16px #06b6d44d,0 0 50px #f9731640,0 0 100px #f973161a,inset 0 0 30px #0009}.porthole img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.porthole:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.06) 0%,transparent 60%);pointer-events:none}.site-logo{text-align:center;margin-bottom:32px}.site-logo h1{font-size:44px;font-weight:900;letter-spacing:-1px;line-height:1;background:linear-gradient(135deg,var(--orange-400) 0%,var(--orange-300) 50%,#fbbf24 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 0 20px var(--orange-glow))}.site-logo .subtitle{font-size:15px;color:var(--text-muted);font-weight:600;margin-top:6px;letter-spacing:.5px}.sonar-wrap{position:relative;display:flex;align-items:center;justify-content:center}.sonar-ring{position:absolute;border-radius:50%;border:1px solid rgba(6,182,212,.4);animation:sonar-expand 4s ease-out infinite;pointer-events:none}@keyframes sonar-expand{0%{width:170px;height:170px;opacity:.8}to{width:340px;height:340px;opacity:0}}@keyframes wheel-sonar{0%{transform:scale(1);opacity:.8}to{transform:scale(2.4);opacity:0}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius-full);font-family:var(--font);font-weight:700;font-size:15px;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s,background .15s,opacity .15s;text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--orange-500),var(--orange-600));color:#fff;box-shadow:0 4px 20px var(--orange-glow),0 0 0 1px #f973164d}.btn-primary:hover{background:linear-gradient(135deg,var(--orange-400),var(--orange-500));box-shadow:0 6px 28px #f9731680,0 0 0 1px #f9731666}.btn-primary:disabled{background:var(--deep-500);box-shadow:none;cursor:not-allowed;opacity:.5}.btn-secondary{background:#06b6d414;color:var(--cyan-400);border:1.5px solid rgba(6,182,212,.3)}.btn-secondary:hover{background:#06b6d426;border-color:var(--cyan-500)}.btn-danger{background:#ef44441a;color:var(--red-300);border:1.5px solid rgba(239,68,68,.3)}.btn-danger:hover{background:#ef444433;border-color:var(--red-500)}.btn-sm{padding:7px 16px;font-size:13px}.btn-lg{padding:15px 32px;font-size:17px}.btn-full{width:100%}.input-wrap{position:relative;margin-bottom:16px}.input-wrap label{display:block;font-weight:700;font-size:12px;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.9px}.input{width:100%;padding:13px 18px;border-radius:var(--radius-md);border:1.5px solid rgba(6,182,212,.2);background:#061428b3;font-family:var(--font);font-size:16px;font-weight:600;color:var(--text-primary);outline:none;transition:border-color .2s,box-shadow .2s}.input:focus{border-color:var(--cyan-500);box-shadow:0 0 0 3px #06b6d426}.input::placeholder{color:var(--text-muted);font-weight:500}.counter-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#06b6d414;border-radius:var(--radius-full);font-weight:800;font-size:14px;color:var(--text-secondary);border:1.5px solid rgba(6,182,212,.2)}.counter-badge .count{font-size:20px;color:var(--cyan-400)}.calendar-wrap{width:100%}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-month-title{font-weight:800;font-size:18px;color:var(--text-primary)}.cal-nav-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(6,182,212,.25);background:#06b6d40f;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;color:var(--cyan-400);transition:background .15s,border-color .15s;font-family:var(--font)}.cal-nav-btn:hover{background:#06b6d426;border-color:var(--cyan-500)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:11px;font-weight:800;color:var(--text-muted);padding:6px 2px;text-transform:uppercase;letter-spacing:.6px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:9px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,transform .1s;position:relative;overflow:hidden;border:1.5px solid transparent;-webkit-user-select:none;user-select:none;min-width:34px;min-height:34px;color:var(--text-secondary)}.cal-day:hover:not(.cal-day--other-month):not(.cal-day--selected):not(.cal-day--preview){background:#06b6d41a;border-color:#06b6d433;transform:scale(1.08)}.cal-day--other-month{opacity:.18;cursor:default}.cal-day--today{border-color:#06b6d480!important;color:var(--cyan-300);font-weight:900}.cal-day--selected-noavail{background:#ef44442e;color:var(--red-300);border-color:#ef444459}.cal-day--selected-noavail.cal-day--range-start,.cal-day--selected-noavail.cal-day--range-end{background:#ef444473;color:#fff;border-color:#ef444499}.cal-day--selected-pref{background:#10b9812e;color:var(--green-300);border-color:#10b98159}.cal-day--selected-pref.cal-day--range-start,.cal-day--selected-pref.cal-day--range-end{background:#10b98173;color:#fff;border-color:#10b98199}.cal-day--preview-noavail{background:#ef44441a;color:var(--red-300);border-color:#ef444433}.cal-day--preview-pref{background:#10b9811a;color:var(--green-300);border-color:#10b98133}.cal-day--selecting{animation:pulse-select 1.2s ease-in-out infinite}@keyframes pulse-select{0%,to{box-shadow:0 0 #f9731680}50%{box-shadow:0 0 0 5px #f9731600}}.ranges-list{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px;min-height:32px}.range-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 12px;border-radius:var(--radius-full);font-size:13px;font-weight:700}.range-chip--noavail{background:#ef44441f;color:var(--red-300);border:1.5px solid rgba(239,68,68,.3)}.range-chip--pref{background:#10b9811f;color:var(--green-300);border:1.5px solid rgba(16,185,129,.3)}.range-chip-remove{width:18px;height:18px;border-radius:50%;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:900;transition:background .12s;flex-shrink:0}.range-chip--noavail .range-chip-remove{background:#ef444440;color:var(--red-300)}.range-chip--noavail .range-chip-remove:hover{background:#ef444480;color:#fff}.range-chip--pref .range-chip-remove{background:#10b98140;color:var(--green-300)}.range-chip--pref .range-chip-remove:hover{background:#10b98180;color:#fff}.ranges-empty{font-size:13px;color:var(--text-muted);font-weight:500;font-style:italic;align-self:center}.results-cal-day{aspect-ratio:1;border-radius:9px;position:relative;overflow:hidden;cursor:default;min-width:34px;min-height:34px;display:flex;align-items:center;justify-content:center;background:#06b6d408}.results-cal-day .day-num{position:relative;z-index:3;font-size:13px;font-weight:700;color:var(--text-secondary);pointer-events:none}.results-cal-day--other{opacity:.15}.results-cal-day--today .day-num{color:var(--cyan-300);font-weight:900}.legend{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-muted)}.legend-dot{width:22px;height:22px;border-radius:6px;flex-shrink:0}.participant-row{padding:16px;border-radius:var(--radius-md);background:#ffffff08;border:1px solid rgba(6,182,212,.1);margin-bottom:10px}.participant-row-header{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.participant-row-name{font-weight:800;font-size:16px;color:var(--text-primary)}.participant-row-note{font-size:12px;color:var(--text-muted);font-weight:600}.participant-dates-section{margin-top:4px}.participant-dates-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.participant-dates-label--noavail{color:var(--red-300)}.participant-dates-label--pref{color:var(--green-300)}.participant-dates-val{font-size:14px;font-weight:600;color:var(--text-secondary)}.admin-card{padding:18px;border-radius:var(--radius-md);background:#ffffff08;border:1px solid rgba(6,182,212,.12);margin-bottom:10px}.admin-p-name{font-weight:800;font-size:17px;color:var(--text-primary)}.admin-p-note-display{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:2px}.status-hint{text-align:center;font-size:13px;color:var(--text-muted);font-weight:600;font-style:italic}.divider{height:1px;background:#06b6d41f;margin:20px 0}.error-msg{background:#ef44441f;color:var(--red-300);border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-md);padding:12px 16px;font-weight:700;font-size:14px;text-align:center}.success-msg{background:#10b9811f;color:var(--green-300);border:1px solid rgba(16,185,129,.25);border-radius:var(--radius-md);padding:12px 16px;font-weight:700;font-size:14px;text-align:center}.section-title{font-weight:800;font-size:20px;color:var(--text-primary);margin-bottom:16px}.section-icon{font-size:22px;margin-right:8px}.cal-type-label{font-size:18px;font-weight:800;margin-bottom:16px;display:flex;align-items:center;gap:8px}.cal-type-label--noavail{color:var(--red-300)}.cal-type-label--pref{color:var(--green-300)}.selecting-hint{font-size:13px;font-weight:700;padding:8px 16px;border-radius:var(--radius-full);text-align:center;margin-bottom:8px;animation:fade-in .2s ease}.selecting-hint--noavail{background:#ef444414;color:var(--red-300);border:1.5px dashed rgba(239,68,68,.4)}.selecting-hint--pref{background:#10b98114;color:var(--green-300);border:1.5px dashed rgba(16,185,129,.4)}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:page-in .35s ease}@keyframes page-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.calendars-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media (max-width: 800px){.calendars-grid{grid-template-columns:1fr}}.spinner{width:32px;height:32px;border:3px solid rgba(6,182,212,.15);border-top-color:var(--cyan-500);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px;color:var(--text-muted);font-weight:600}.cal-big-nav{width:52px;border-radius:14px;background:#06b6d412;border:1.5px solid rgba(6,182,212,.18);color:var(--cyan-400);font-size:36px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s,color .15s;flex-shrink:0;font-family:var(--font);padding:0;align-self:stretch}.cal-big-nav:hover:not(:disabled){background:#06b6d429;border-color:var(--cyan-500);color:var(--cyan-300)}.cal-big-nav:disabled{opacity:.15;cursor:not-allowed}.wheel-section{display:flex;align-items:center;justify-content:center;gap:36px;flex-wrap:wrap;padding:8px 0}.wheel-svg-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.wheel-svg-wrap:not(.wheel-spinning){cursor:pointer}.wheel-svg-wrap.wheel-spinning{cursor:wait}.wheel-svg-wrap:not(.wheel-spinning):hover svg{filter:drop-shadow(0 0 20px rgba(249,115,22,.65))}.wheel-info{display:flex;flex-direction:column;gap:6px}.wheel-count{font-size:42px;font-weight:900;background:linear-gradient(135deg,var(--orange-400),var(--orange-300));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.wheel-label{font-size:16px;font-weight:700;color:var(--text-secondary)}.wheel-hint{font-size:12px;color:var(--text-muted);font-weight:600;margin-top:4px}.depth-label{font-size:11px;font-weight:700;color:var(--text-muted);letter-spacing:1.5px;text-transform:uppercase;display:flex;align-items:center;gap:6px}.depth-label:before,.depth-label:after{content:"";flex:1;height:1px;background:#06b6d426}
