*{box-sizing:border-box;margin:0;padding:0}
:root{--void:#05080a;--ice:#edf4f6;--muted:rgba(237,244,246,.62);--ghost:rgba(237,244,246,.32);--line:rgba(237,244,246,.12);--line2:rgba(237,244,246,.22);--glass:rgba(13,20,23,.52);--blue:#5aa7ff;--amber:#d4c360;--red:#d66e62;--green:#69bd86;--display:"Michroma",sans-serif;--mono:"Fragment Mono",monospace;--body:"Anek Latin",sans-serif;--ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.16,1,.3,1)}
html,body{min-height:100%;background:var(--void);color:var(--ice);font-family:var(--body);-webkit-font-smoothing:antialiased}
body:before{content:"";position:fixed;inset:0;background:radial-gradient(42% 34% at 12% 12%,rgba(86,126,145,.26),transparent 70%),radial-gradient(54% 40% at 60% 100%,rgba(60,93,108,.18),transparent 74%);pointer-events:none}
body:after{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,rgba(237,244,246,.04) 1px,transparent 1px);background-size:31px 31px;pointer-events:none}
@keyframes viewIn{from{opacity:0;transform:translateY(16px);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes cockpitIn{from{opacity:0;transform:translate(-50%,-47%) scale(.985);filter:blur(6px)}to{opacity:1;transform:translate(-50%,-50%) scale(1);filter:none}}
@keyframes lineWake{0%,100%{opacity:.12;transform:scaleX(.16)}50%{opacity:.58;transform:scaleX(1)}}
.hidden{display:none!important}.micro{font-family:var(--mono);font-size:9px;color:var(--ghost);letter-spacing:.18em;text-transform:uppercase}.word{font-family:var(--display);font-size:13px;letter-spacing:.22em}.wake-line{height:1px;width:40px;background:var(--line2);margin:10px 0;animation:lineWake 5.4s var(--spring) infinite}
.student-shell{position:relative;z-index:1;width:min(100%,440px);min-height:100vh;margin:0 auto;padding:28px 20px 40px}.brand-block{padding-top:18px;margin-bottom:24px}.glass-panel{border:1px solid rgba(237,244,246,.16);border-radius:26px;background:rgba(13,20,23,.56);backdrop-filter:blur(28px) saturate(1.14);-webkit-backdrop-filter:blur(28px) saturate(1.14);box-shadow:0 26px 90px rgba(0,0,0,.34);padding:24px;animation:viewIn .62s var(--spring) both}.panel-title{font-family:var(--display);font-size:22px;letter-spacing:.06em;margin:10px 0 18px}.line-input,.area-input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ice);font:16px var(--body);padding:13px 0;outline:0}.area-input{min-height:110px;resize:none;line-height:1.55}.line-input:focus,.area-input:focus{border-bottom-color:var(--line2)}.primary-action,.ghost-action,.icon-btn{border:1px solid var(--line);border-radius:16px;min-height:44px;padding:0 16px;font:10px var(--mono);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .26s var(--ease),border-color .26s var(--ease),color .26s var(--ease),transform .26s var(--ease)}.primary-action{background:var(--ice);color:var(--void);border-color:var(--ice)}.ghost-action,.icon-btn{background:rgba(237,244,246,.05);color:var(--muted)}.primary-action:hover,.ghost-action:hover,.icon-btn:hover{transform:translateY(-1px)}.actions{display:flex;gap:10px;margin-top:24px}.actions button{flex:1}.status{min-height:18px;margin-top:14px;color:var(--muted);font-size:12px}.status.error{color:#ffb4a8}.stepbar{height:3px;background:rgba(237,244,246,.08);border-radius:999px;overflow:hidden;margin:16px 0 22px}.stepbar span{display:block;height:100%;width:0;background:var(--blue);box-shadow:0 0 14px rgba(90,167,255,.72);transition:width .35s var(--ease)}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-drop{position:relative;min-height:142px;border:1px dashed var(--line2);border-radius:20px;background:rgba(5,8,10,.42);display:grid;place-items:center;overflow:hidden;color:var(--muted)}.photo-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.photo-drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.done-badge{width:44px;height:44px;border-radius:50%;border:1px solid rgba(90,167,255,.35);background:rgba(90,167,255,.14);display:grid;place-items:center;margin-bottom:16px;color:var(--ice)}
.text-action{display:block;margin-top:12px;border:0;background:transparent;color:var(--ghost);font:10px var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.text-action:hover{color:var(--ice)}
.login-secondary{width:100%;margin-top:10px}.link-action{display:inline-grid;place-items:center;text-decoration:none;margin-top:18px}
@media(max-width:440px){.student-shell{padding:20px 14px 30px}.glass-panel{padding:20px}.photo-grid{grid-template-columns:1fr}}
.signup-page .student-shell{min-height:100vh;display:grid;align-content:center;padding:clamp(24px,6vh,64px) 20px;transform:translateY(-2vh)}.signup-page .brand-block{padding-top:0;margin-bottom:20px}.signup-page .glass-panel{width:100%}@media(max-width:440px){.signup-page .student-shell{transform:none;padding:20px 14px}}

.consultant-page{min-height:100vh;overflow:hidden}.dock-wrap{position:fixed;left:24px;top:50%;transform:translateY(-50%);width:66px;height:min(560px,72vh);z-index:10;transition:width .5s var(--spring)}.dock-wrap:hover{width:218px}.dock{height:100%;border:1px solid rgba(237,244,246,.16);border-radius:24px;background:rgba(12,18,20,.50);backdrop-filter:blur(30px) saturate(1.16);-webkit-backdrop-filter:blur(30px) saturate(1.16);box-shadow:0 24px 90px rgba(0,0,0,.38);padding:12px;display:flex;flex-direction:column;gap:8px;overflow:hidden}.dock-brand,.dock-item{height:46px;border:0;border-radius:16px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:14px;padding:0 14px;transition:.28s var(--ease)}.dock-brand strong{width:22px;flex:0 0 auto;font-family:var(--display);font-size:10px}.dock-brand span,.dock-item span{font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;opacity:0;transform:translateX(-8px);transition:.32s var(--ease)}.dock-wrap:hover span{opacity:1;transform:none}.dock-item{cursor:pointer}.dock-item:hover{background:rgba(237,244,246,.075);color:var(--ice);transform:translateX(2px)}.dock-item.on{background:var(--ice);color:var(--void)}.dock-item svg{width:18px;height:18px;stroke-width:1.6;flex:0 0 auto}.command-shell{position:fixed;inset:0;padding:22px 28px 22px 112px;transition:filter .45s var(--ease),opacity .45s var(--ease)}.command-shell.blurred{filter:blur(8px) brightness(.62);opacity:.82}.command-top{height:48px;display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);position:relative}.command-top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent);animation:lineWake 5.4s var(--spring) infinite}.command-search{margin-left:auto;width:min(280px,24vw);height:32px;border:1px solid var(--line);border-radius:12px;background:rgba(237,244,246,.045);color:var(--muted);padding:0 12px;font-family:var(--mono);font-size:10px;outline:0}.weekly-layout{height:calc(100% - 48px);display:grid;grid-template-columns:minmax(270px,360px) 1fr;gap:34px;padding-top:28px}.queue-title{font-family:var(--display);font-size:16px;letter-spacing:.13em;margin-bottom:18px}.queue-row{position:relative;width:100%;border:0;background:transparent;color:var(--ice);display:grid;grid-template-columns:18px 1fr auto;gap:10px;align-items:center;text-align:left;padding:15px 0;border-bottom:1px solid rgba(237,244,246,.07);cursor:pointer;transition:.34s var(--ease)}.queue-row:hover{padding-left:8px;border-bottom-color:rgba(237,244,246,.18)}.status-dot{width:8px;height:8px;border-radius:50%;background:rgba(237,244,246,.22)}.status-dot.blue{background:var(--blue);box-shadow:0 0 18px rgba(90,167,255,.86)}.status-dot.yellow{background:var(--amber);box-shadow:0 0 18px rgba(212,195,96,.78)}.status-dot.red{background:var(--red);box-shadow:0 0 18px rgba(214,110,98,.78)}.status-dot.green{background:var(--green);opacity:.72}.queue-name{font-family:var(--display);font-size:10px;letter-spacing:.05em}.queue-sub{font-family:var(--mono);font-size:9px;color:var(--ghost);margin-top:5px}.queue-chip{font-family:var(--mono);font-size:8px;color:var(--muted);border:1px solid rgba(237,244,246,.10);border-radius:999px;padding:5px 8px;text-transform:uppercase}.empty-focus{display:grid;place-items:center;text-align:center;color:var(--ghost)}.empty-focus h2{font-family:var(--display);font-size:20px;margin-top:8px}.cockpit{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:30;width:min(980px,calc(100vw - 150px));max-height:calc(100vh - 80px);overflow:auto;border:1px solid rgba(237,244,246,.16);border-radius:30px;background:rgba(10,15,18,.64);backdrop-filter:blur(34px) saturate(1.18);-webkit-backdrop-filter:blur(34px) saturate(1.18);box-shadow:0 28px 120px rgba(0,0,0,.50);padding:26px;animation:viewIn .55s var(--spring) both}.cockpit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.readout{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:18px;margin:20px 0}.readout div{border-bottom:1px solid var(--line);padding-bottom:11px}.readout span{display:block;font-family:var(--mono);font-size:8px;color:var(--ghost);letter-spacing:.14em;text-transform:uppercase}.readout strong{display:block;font-family:var(--display);font-size:22px;margin-top:8px}.cockpit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.cockpit-note{border-top:1px solid rgba(237,244,246,.09);border-bottom:1px solid rgba(237,244,246,.09);padding:16px 0;line-height:1.6;color:var(--muted)}.compare-box{margin-top:18px}.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.compare-grid div{border:1px solid var(--line);border-radius:18px;padding:12px;background:rgba(237,244,246,.035)}.compare-grid span{display:block;font-family:var(--mono);font-size:8px;color:var(--ghost);text-transform:uppercase;letter-spacing:.12em}.compare-grid strong{display:block;font-family:var(--display);font-size:18px;margin:7px 0}.compare-grid small{display:block;color:var(--muted);line-height:1.45}.history-list{margin-top:22px;border-top:1px solid rgba(237,244,246,.09);padding-top:14px}.history-row{width:100%;border:0;background:transparent;color:var(--muted);display:grid;grid-template-columns:72px 1fr auto;gap:12px;align-items:center;text-align:left;padding:11px 0;border-bottom:1px solid rgba(237,244,246,.07);cursor:pointer}.history-row time,.history-row b{font-family:var(--mono);font-size:8px;color:var(--ghost);text-transform:uppercase;letter-spacing:.12em}.history-row:hover{color:var(--ice);border-bottom-color:rgba(237,244,246,.17)}.auth-overlay{position:fixed;inset:0;z-index:40;background:rgba(5,8,10,.70);backdrop-filter:blur(12px);display:grid;place-items:center}.auth-card{width:min(420px,calc(100vw - 32px))}@media(max-width:900px){.dock-wrap{display:none}.command-shell{padding:18px}.weekly-layout{grid-template-columns:1fr}.empty-focus{display:none}.cockpit{width:calc(100vw - 28px);max-height:calc(100vh - 28px)}.cockpit-grid,.readout,.compare-grid{grid-template-columns:1fr}.command-search{width:160px}}

/* Consultant shell refinements */
.consultant-page .dock-wrap{left:24px;width:66px;height:auto;max-height:none}.consultant-page .dock-wrap:hover{width:66px}.consultant-page .dock{height:auto;border-radius:30px;padding:10px;gap:9px;background:linear-gradient(180deg,rgba(14,22,25,.62),rgba(5,8,10,.48));box-shadow:0 26px 90px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.025)}.consultant-page .dock:before{content:"";height:1px;margin:2px 10px;background:linear-gradient(90deg,transparent,rgba(237,244,246,.28),transparent)}.consultant-page .dock-brand{width:44px;height:42px;padding:0;display:grid;place-items:center;border-radius:18px;color:rgba(237,244,246,.58);font-family:var(--display);font-size:10px;letter-spacing:.03em}.consultant-page .dock-item{position:relative;width:44px;height:44px;padding:0;display:grid;place-items:center;border:1px solid transparent;border-radius:18px;color:rgba(237,244,246,.64);background:transparent}.consultant-page .dock-item:hover{transform:none;color:var(--ice);border-color:rgba(237,244,246,.18);background:rgba(237,244,246,.05)}.consultant-page .dock-item.on{color:var(--void);background:var(--ice);border-color:var(--ice);box-shadow:0 0 0 7px rgba(237,244,246,.045),0 12px 34px rgba(237,244,246,.08)}.consultant-page .dock-item.on:after{content:"";position:absolute;right:-13px;width:4px;height:18px;border-radius:999px;background:var(--blue);box-shadow:0 0 16px rgba(90,167,255,.82)}.consultant-page .dock-item svg{width:19px;height:19px;stroke-width:1.55}.consultant-page .command-shell{padding:28px 28px 28px 112px}.consultant-page .command-top{height:42px;justify-content:flex-end;border-bottom:0}.consultant-page .command-top:after{display:none}.consultant-page .command-search{width:40px;height:38px;border-radius:19px;padding:0 0 0 38px;background:rgba(237,244,246,.035);background-image:linear-gradient(transparent,transparent);color:transparent;cursor:pointer;transition:width .42s var(--spring),padding .42s var(--spring),border-color .24s var(--ease),color .24s var(--ease),background .24s var(--ease)}.consultant-page .command-search::placeholder{color:transparent}.consultant-page .command-search:hover,.consultant-page .command-search:focus{width:min(280px,28vw);padding:0 14px;color:var(--ice);cursor:text;border-color:rgba(237,244,246,.24);background:rgba(237,244,246,.055)}.consultant-page .command-search:hover::placeholder,.consultant-page .command-search:focus::placeholder{color:var(--ghost)}.consultant-page .weekly-layout{height:calc(100% - 42px);display:block;padding-top:28px}.consultant-page .weekly-queue{width:min(430px,42vw)}.consultant-page .queue-row{grid-template-columns:18px minmax(0,1fr) 34px;padding:14px 0}.consultant-page .queue-row:hover{padding-left:6px}.consultant-page .queue-chip{width:28px;height:28px;padding:0;display:grid;place-items:center;border:1px solid rgba(237,244,246,.16);border-radius:14px;background:rgba(237,244,246,.025);color:rgba(237,244,246,.9)}.consultant-page .queue-chip svg{width:14px;height:14px;stroke-width:1.7}.consultant-page .cockpit{left:50%;top:50%;width:min(980px,calc(100vw - 128px));max-height:calc(100vh - 76px);transform:translate(-50%,-50%);border-radius:32px;background:rgba(8,13,16,.74);box-shadow:0 30px 130px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.04)}.consultant-page .photo-drop{border-style:solid;cursor:zoom-in}.consultant-page button.photo-drop{appearance:none;font:inherit}.consultant-page .photo-drop img:not([src]){display:none}.consultant-page .photo-error{border-color:rgba(214,110,98,.36);color:#ffb4a8}@media(max-width:900px){.consultant-page .dock-wrap{display:none}.consultant-page .command-shell{padding:18px}.consultant-page .weekly-queue{width:100%}.consultant-page .command-search:hover,.consultant-page .command-search:focus{width:190px}.consultant-page .cockpit{width:calc(100vw - 28px);max-height:calc(100vh - 28px)}}
.consultant-page .cockpit{animation:cockpitIn .48s var(--spring) both}
.consultant-page .command-search:hover,.consultant-page .command-search:focus{width:40px;padding:0 0 0 38px;color:transparent;cursor:pointer;border-color:var(--line);background:rgba(237,244,246,.035)}.consultant-page .command-search:hover::placeholder,.consultant-page .command-search:focus::placeholder{color:transparent}.consultant-page .command-search.search-open{width:min(280px,28vw);padding:0 14px;color:var(--ice);cursor:text;border-color:rgba(237,244,246,.24);background:rgba(237,244,246,.055)}.consultant-page .command-search.search-open::placeholder{color:var(--ghost)}
.consultant-page .weekly-layout{padding-top:clamp(72px,12vh,136px);padding-left:clamp(120px,17vw,310px)}.consultant-page .weekly-queue{width:min(620px,48vw)}.consultant-page .queue-title{font-size:13px;letter-spacing:.2em;margin-bottom:28px;color:rgba(237,244,246,.82)}.consultant-page .queue-row{grid-template-columns:20px minmax(0,1fr) 38px;gap:16px;min-height:68px;padding:16px 0}.consultant-page .queue-row:hover{padding-left:10px}.consultant-page .queue-name{font-size:12px;line-height:1.25}.consultant-page .queue-sub{font-size:9px;margin-top:6px}.consultant-page .queue-chip{width:32px;height:32px;border-radius:16px}.consultant-page .status-dot{width:9px;height:9px}@media(max-width:1100px){.consultant-page .weekly-layout{padding-left:clamp(24px,10vw,140px)}.consultant-page .weekly-queue{width:min(560px,58vw)}}@media(max-width:900px){.consultant-page .weekly-layout{padding-left:0;padding-top:34px}.consultant-page .weekly-queue{width:100%}}
.consultant-page .dock{max-height:64px;transition:max-height .48s var(--spring),padding .32s var(--ease)}.consultant-page .dock-wrap:hover .dock{max-height:390px}.consultant-page .dock-item{opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .28s var(--ease),transform .36s var(--spring),background .24s var(--ease),border-color .24s var(--ease),color .24s var(--ease)}.consultant-page .dock-wrap:hover .dock-item{opacity:1;transform:none;pointer-events:auto}.consultant-page .dock-wrap:hover .dock-brand{margin-bottom:2px}.students-layout{height:calc(100% - 42px);padding-top:clamp(54px,9vh,112px);padding-left:clamp(90px,13vw,230px)}.student-admin{width:min(760px,60vw)}.student-admin-head{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:22px}.student-create{display:grid;grid-template-columns:1.1fr .9fr .9fr .75fr auto;gap:12px;align-items:end;margin-bottom:26px}.student-list{display:grid;gap:0}.student-row{width:100%;border:0;background:transparent;color:var(--ice);display:grid;grid-template-columns:20px minmax(0,1fr) 92px;gap:16px;align-items:center;text-align:left;min-height:66px;padding:14px 0;border-bottom:1px solid rgba(237,244,246,.075);cursor:pointer;transition:.3s var(--ease)}.student-row:hover{padding-left:10px;border-bottom-color:rgba(237,244,246,.18)}.student-row.renewal-alert .queue-chip{border-color:rgba(212,195,96,.34);color:#f4e891}.student-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin:20px 0 4px}@media(max-width:1100px){.students-layout{padding-left:clamp(24px,8vw,110px)}.student-admin{width:min(720px,72vw)}.student-create{grid-template-columns:1fr 1fr}.student-create button{grid-column:1/-1}}@media(max-width:900px){.students-layout{padding-left:0;padding-top:34px}.student-admin{width:100%}.student-create,.student-form-grid{grid-template-columns:1fr}}

/* 2026-05-13: student admin + check-in refinements */
.student-page .student-shell{display:grid;align-content:center}.student-page .brand-block{padding-top:0}.student-page .primary-action,.student-page .ghost-action{width:auto;min-width:118px;min-height:42px}.student-page .actions{justify-content:flex-start}.student-page .actions button{flex:0 0 auto}.student-page #loginPanel .primary-action,.student-page .login-secondary{display:inline-flex;align-items:center;justify-content:center;width:auto;margin-top:14px;margin-right:8px}.student-page .text-action{margin-top:14px}.area-input.compact{min-height:70px}.field-note{color:var(--muted);font-size:13px;line-height:1.5;margin:10px 0 12px}.checkline{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;margin-top:10px}.checkline input{accent-color:var(--blue)}.drum-control{display:grid;grid-template-columns:1fr auto;gap:8px 14px;margin:10px 0 18px;color:var(--muted)}.drum-control span{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.drum-control output{font-family:var(--display);color:var(--ice)}.drum-control input{grid-column:1/-1;width:100%;accent-color:var(--blue)}
.consultant-page .dock-wrap{top:50%;transform:translateY(-50%);height:390px;display:flex;align-items:center}.consultant-page .dock{width:66px}.consultant-page .student-admin{width:min(740px,56vw)}.student-tools{display:flex;align-items:center;gap:10px}.compact-select{width:160px;font-size:12px;padding:8px 0}.compact-action{min-height:34px;padding:0 12px;border-radius:13px}.student-count{margin:0 0 16px}.consultant-page .student-row{grid-template-columns:minmax(0,1fr) auto;gap:22px;min-height:64px}.consultant-page .student-row:hover{padding-left:8px}.days-left{font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:right}.student-row.renewal-alert .days-left{color:#f4e891;text-shadow:0 0 16px rgba(212,195,96,.35)}.student-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(237,244,246,.08);border-bottom:1px solid rgba(237,244,246,.08);padding:12px 0;margin:0 0 12px}.student-meta span,.student-meta strong{font:10px var(--mono);letter-spacing:.14em;text-transform:uppercase}.student-meta strong{color:var(--ice)}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}.compact-actions{margin-top:18px}.compact-actions button{flex:0 0 auto}@media(max-width:900px){.student-tools{width:100%;justify-content:space-between}.student-admin-head{align-items:flex-start;flex-direction:column}.compact-select{width:190px}.student-form-grid{grid-template-columns:1fr}.student-page .student-shell{align-content:start}}

.student-page .glass-panel>.primary-action,.student-page .glass-panel>.ghost-action{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;vertical-align:top}.student-page .glass-panel>.primary-action+ .ghost-action{margin-left:8px}.student-page #resetForm .primary-action,.student-page #signupForm .primary-action{min-width:122px;margin-top:18px}.student-page #loginPanel .text-action{clear:both;text-align:left}.student-page .link-action{min-height:42px;margin-top:0}.student-page .compact-actions .link-action{margin-top:0}
