:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;color:#182644;background:#f3f6fc;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}a{color:#3869e9;text-decoration:none}a:hover{text-decoration:underline}.top{background:#fff;border-bottom:1px solid #e2e8f3}.top-inner{margin:auto;max-width:1160px;padding:17px 22px;display:flex;align-items:center;justify-content:space-between}.brand{font-size:23px;font-weight:850;letter-spacing:-1.2px;color:#17294e}.brand em{color:#536ce9;font-style:normal}.brand small{font-size:9px;letter-spacing:2px;text-transform:uppercase;display:block;color:#8793a9;font-weight:700}.top-tag{font-size:12px;color:#405681;padding:8px 12px;background:#edf2ff;border-radius:30px}.wrap{max-width:1160px;margin:0 auto;padding:28px 22px 70px}.hero-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;margin-top:18px}.hero{padding:42px;border-radius:24px;background:linear-gradient(135deg,#17294b,#334a91 65%,#5663bc);color:#fff;position:relative;overflow:hidden;min-height:560px}.hero:after{content:'✦';font-size:260px;color:#ffffff0b;position:absolute;right:-30px;bottom:-85px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:800;color:#a7baff}.hero h1{font-size:clamp(33px,4vw,54px);line-height:1.09;letter-spacing:-1.8px;max-width:520px;margin:22px 0}.hero p{font-size:16px;color:#d5defd;line-height:1.65;max-width:430px}.benefits{margin:28px 0;display:grid;gap:12px}.benefits span{font-weight:600}.glow{border-radius:12px;padding:7px 10px;color:#fff;background:#ffffff20;font-size:12px;display:inline-block}.panel{background:#fff;border:1px solid #e0e7f4;padding:30px;border-radius:22px;box-shadow:0 12px 44px #1c35600b}.panel h2{font-size:25px;letter-spacing:-.7px;margin:4px 0 9px}.muted{color:#68768c;line-height:1.55;font-size:13px}.tabs{display:flex;border:1px solid #e1e7f4;background:#f6f8fc;border-radius:13px;padding:4px;margin:24px 0}.tabs button{flex:1;border:0;background:transparent;color:#52627a;padding:12px;border-radius:10px;font-weight:750}.tabs button.active{background:#fff;box-shadow:0 3px 14px #1d315016;color:#2548ae}.field{margin:16px 0}.field label{display:block;color:#293d5e;font-size:13px;font-weight:750;margin:0 0 8px}.field input{border:1px solid #d9e1f0;background:#fcfdff;padding:14px 13px;width:100%;border-radius:12px;outline:none}.field input:focus{border-color:#5776ec;box-shadow:0 0 0 3px #5d76ed22}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;padding:13px 17px;border-radius:12px;background:#415ee7;color:#fff;font-weight:780;min-height:47px}.button:hover{background:#2d49cd;text-decoration:none}.button.secondary{background:#edf1fc;color:#324e9c}.button.secondary:hover{background:#dde5ff}.button.outline{background:#fff;color:#344b81;border:1px solid #dce4f0}.button.full{width:100%}.notice{padding:14px;border-radius:12px;font-size:13px;line-height:1.5;margin:14px 0;background:#ecf3ff;color:#335280}.notice.error{background:#fff0f1;color:#97334c}.notice.success{background:#e5f8f0;color:#166a50}.between{display:flex;justify-content:space-between;align-items:center;gap:12px}.dashboard-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.dashboard-head h1{font-size:32px;letter-spacing:-1px;margin:5px 0}.student-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.student{padding:23px;background:white;border:1px solid #e0e7f4;border-radius:20px;box-shadow:0 8px 26px #293e6007}.avatar{width:65px;height:65px;display:grid;place-items:center;border-radius:18px;font-size:31px;background:#e9efff}.tag{font-size:11px;color:#3864ab;background:#e9efff;padding:6px 9px;border-radius:8px;font-weight:800;display:inline-block}.tag.expired{color:#9b5969;background:#fff0f3}.student h3{font-size:20px;margin:17px 0 4px}.student .small{font-size:12px;color:#7d8ba3}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.plan{border:1px solid #e0e7f2;border-radius:13px;padding:15px;background:white}.plan strong{display:block;font-size:25px;letter-spacing:-1px;margin:6px 0}.outline-block{padding:23px;border:1px dashed #bdcae1;border-radius:18px;background:#f8faff}.foot{font-size:12px;color:#7b8ba2;margin-top:30px}.hide{display:none!important}@media(max-width:820px){.hero-layout{grid-template-columns:1fr}.hero{min-height:300px;padding:28px}.student-grid{grid-template-columns:1fr}.dashboard-head{align-items:flex-start}.plan-grid{grid-template-columns:1fr 1fr}}@media(max-width:520px){.wrap{padding:17px 12px 45px}.top-inner{padding:13px 14px}.hero{padding:24px}.panel{padding:21px}.dashboard-head{flex-direction:column}.plan-grid{grid-template-columns:1fr}.hero h1{font-size:34px}} 

.link-button{border:0;background:none;color:#3659cd;font-weight:700;font-size:13px}.link-button:hover{text-decoration:underline}

/* V5.3: give student management priority over pricing on phones */
#dashboard .dashboard-head h1{line-height:1.14}
#dashboard .student .button{min-height:51px}
#dashboard #addForm{gap:11px}
@media(max-width:520px){
 .top-tag{font-size:10px}
 .hero-layout .hero{min-height:0}
 #dashboard .dashboard-head{gap:12px}
 #dashboard .student{padding:20px}
 #dashboard #addForm{display:grid;grid-template-columns:1fr}
 #dashboard #childName{width:100%}
 #dashboard #addButton{width:100%;min-height:49px}
 #dashboard .panel{padding:19px}
}


/* V5.3: mobile-first parent signup and dashboard; visual changes only. */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
button { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
@media (max-width: 600px) {
  .top-inner { padding: 13px 15px; gap: 8px; }
  .top .brand { font-size: 21px; }
  .top-tag { padding: 7px 9px; font-size: 10px; text-align: right; }
  .wrap { padding: 14px 13px 55px; }
  .hero-layout { display: flex; flex-direction: column; gap: 15px; margin-top: 0; }
  .hero-layout > .panel { order: 0; }
  .hero-layout > .hero { order: 1; }
  .panel { padding: 21px 19px; border-radius: 21px; }
  .panel h2 { font-size: 24px; }
  .tabs button { min-height: 43px; }
  .field input { min-height: 52px; font-size: 16px; }
  .button { min-height: 49px; }
  .hero-layout .hero { min-height: 0; padding: 23px 22px; border-radius: 20px; }
  .hero-layout .hero h1 { font-size: clamp(28px, 7vw, 36px); margin: 11px 0; }
  .hero-layout .hero p { font-size: 13px; }
  .hero-layout .benefits { margin: 15px 0; gap: 9px; }
  #dashboard .dashboard-head { gap: 13px; margin-bottom: 16px; }
  #dashboard .dashboard-head h1 { font-size: clamp(26px, 7vw, 32px); }
  #dashboard .student-grid { gap: 12px; }
  #dashboard .student { padding: 19px; border-radius: 19px; }
  #dashboard .student h3 { font-size: 21px; }
  #dashboard .student .button { min-height: 52px; }
  #dashboard .panel { padding: 18px; }
  #dashboard .outline-block { padding: 17px; }
  #dashboard #addForm { display: grid; grid-template-columns: 1fr; }
  #dashboard #childName, #dashboard #addButton { width: 100%; }
  #dashboard .plan-grid { gap: 10px; }
  #dashboard .plan { padding: 14px; }
}

/* V5.4: install Kids PWA directly from Parent Dashboard */
.kids-install{display:flex;gap:16px;align-items:flex-start;border:1px solid #cbdafa;background:linear-gradient(135deg,#f5f8ff,#e9f1ff);border-radius:20px;padding:21px;margin:18px 0 26px}
.kids-install-icon{width:64px;height:64px;flex:0 0 64px;border-radius:16px;box-shadow:0 4px 16px #233e9020;background:#fff}
.kids-install-info{min-width:0;flex:1}
.kids-install-info h2{font-size:21px;letter-spacing:-.5px;margin:5px 0}
.kids-install-info .muted{margin:4px 0 13px}
.kids-install-actions{display:flex;gap:9px;flex-wrap:wrap}
.kids-install-actions .button{font-size:13px;min-height:44px}
.kids-install-message{font-size:12px;font-weight:650;color:#2d528c;margin:10px 0 0;line-height:1.5}
.kids-install-message:empty{display:none}
.kids-install-help{font-size:12px;line-height:1.6;color:#304a73;background:white;padding:13px;border-radius:12px;margin-top:11px;border:1px solid #d6e0f2}
@media(max-width:520px){.kids-install{padding:15px;gap:12px;margin:14px 0 19px}.kids-install-icon{width:47px;height:47px;flex-basis:47px;border-radius:12px}.kids-install-info h2{font-size:18px}.kids-install-actions{flex-direction:column}.kids-install-actions .button{width:100%}}
