:root{--navy: #0b2d6b;--navy-dark: #071e4a;--navy-soft: #1e4a94;--teal: #14b8a6;--teal-dark: #0f766e;--teal-tint: #e0f6f3;--gold: #14b8a6;--gold-dark: #0f766e;--gold-tint: #e0f6f3;--header-bg: var(--navy);--ink: #16213f;--accent: var(--navy);--accent-dark: var(--navy-dark);--bg: #f5f7fb;--card: #ffffff;--line: #dfe4ee;--input-border: #b9c2d6;--focus-ring: var(--teal);--brand-sub: #b8c3df;--secondary-btn: #eaeef6;--secondary-btn-hover: #dce2ef;--danger: #9b3434;--danger-dark: #7a2727;--info-bg: var(--teal-tint);--info-border: #94d3cc;--error-bg: #fbe9e8;--error-border: #ebbcb8;--error-text: #842f2b;--muted: #475569;--th-bg: #f6f8fc;--th-text: #3a4566;--pill-open: #d6f0ed;--pill-open-text: #0e6560;--pill-closed: #eceff5;--pill-closed-text: #4f5a72;--warn-bg: #fbf1dc;--warn-border: #e6cf9c;--warn-text: #6e5214;--radius-card: 14px;--radius: 8px;--font: "Montserrat","IBM Plex Sans Arabic","Segoe UI",Tahoma,"Noto Sans Arabic",system-ui,sans-serif;--mono: ui-monospace,"Cascadia Mono",Consolas,monospace}*,*::before,*::after{box-sizing: border-box}html{-webkit-text-size-adjust: 100%}body{margin: 0;background: var(--bg);color: var(--ink);font-family: var(--font);font-size: 16px;line-height: 1.65}img{max-width: 100%;height: auto}a{color: var(--accent)}a:hover{color: var(--accent-dark)}h1,h2,h3{line-height: 1.3;margin: 0 0 12px}h1{font-size: clamp(24px,4vw,32px)}h2{font-size: 21px}h3{font-size: 17px}p{margin: 0 0 12px}.wrap{width: 100%;max-width: 1160px;margin: 0 auto;padding: 0 16px}.skip{position: absolute;inset-inline-start: -999px;top: 8px;background: #fff;padding: 8px 12px;border-radius: var(--radius);z-index: 10}.skip:focus{inset-inline-start: 8px}:focus-visible{outline: 3px solid var(--focus-ring);outline-offset: 2px}.ltr,[dir="ltr"]{unicode-bidi: plaintext}code,.member-code{direction: ltr;unicode-bidi: plaintext}.site-header{background: #fff;color: var(--navy);position: sticky;top: 0;z-index: 5;border-bottom: 1px solid var(--line);box-shadow: inset 0 -3px 0 var(--teal)}.sr-only{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap}form.inline{display: inline;margin: 0}main.wrap{padding-top: 24px;padding-bottom: 40px;min-height: 70vh}.site-footer{border-top: 1px solid var(--line);color: var(--muted);font-size: 14px;padding: 18px 0}.site-footer .wrap{display: flex;justify-content: space-between;gap: 12px;flex-wrap: wrap}.site-footer .footer-credit{justify-content: center;margin-top: 10px;padding-top: 10px;border-top: 1px dashed var(--line);font-size: 13px}.card{background: var(--card);border: 1px solid var(--line);padding: 24px;border-radius: var(--radius-card);margin-bottom: 20px}.card.narrow{max-width: 560px;margin-inline: auto}.card.tight{padding: 16px}.eyebrow{color: var(--teal-dark);font-weight: 700;font-size: 13.5px;letter-spacing: .3px;margin-bottom: 6px;display: block}.muted,.hint{color: var(--muted)}.hint{font-size: 14px}.grid{display: grid;gap: 16px}.grid-2{grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr))}.grid-3{grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr))}.grid-4{grid-template-columns: repeat(auto-fit,minmax(min(190px,100%),1fr))}.split{display: grid;grid-template-columns: minmax(0,2fr) minmax(0,1fr);gap: 20px;align-items: start}@media (max-width: 860px){.split{grid-template-columns: minmax(0,1fr)}}.row{display: flex;gap: 12px;align-items: center;flex-wrap: wrap}.row.between{justify-content: space-between}.stack>* + *{margin-top: 12px}.section-head{display: flex;justify-content: space-between;align-items: flex-end;gap: 12px;flex-wrap: wrap;margin-bottom: 14px}.section-head h2{margin: 0}label{display: block;font-weight: 600;margin-bottom: 6px;font-size: 15px}.field{margin-bottom: 16px}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=time],input[type=search],input[type=url],input[type=number],input[type=file],select,textarea{width: 100%;padding: 12px;border: 1px solid var(--input-border);border-radius: var(--radius);font: inherit;color: var(--ink);background: #fff}textarea{min-height: 96px;resize: vertical}input:focus,select:focus,textarea:focus{outline: none;border-color: var(--accent);box-shadow: 0 0 0 3px rgba(31,165,157,.28)}input[dir="ltr"]{text-align: left}.field-error{color: var(--error-text);font-size: 14px;margin: 6px 0 0}.has-error input,.has-error select,.has-error textarea{border-color: var(--danger)}.checks{display: grid;gap: 8px;grid-template-columns: repeat(auto-fit,minmax(min(220px,100%),1fr))}.check{display: flex;align-items: center;gap: 8px;font-weight: 500;margin: 0}.check input{width: 18px;height: 18px;accent-color: var(--accent)}.form-row{display: grid;gap: 0 16px;grid-template-columns: repeat(auto-fit,minmax(min(200px,100%),1fr))}fieldset{border: 1px solid var(--line);border-radius: 12px;padding: 14px;margin: 0 0 16px}legend{font-weight: 700;padding: 0 6px}.btn{display: inline-flex;align-items: center;justify-content: center;gap: 6px;padding: 10px 18px;border-radius: var(--radius);font-weight: 650;font: inherit;font-weight: 650;background: var(--accent);color: #fff;border: 1px solid transparent;cursor: pointer;text-decoration: none;line-height: 1.4}.btn:hover{background: var(--accent-dark);color: #fff}.btn-secondary{background: var(--secondary-btn);color: var(--ink)}.btn-secondary:hover{background: var(--secondary-btn-hover);color: var(--ink)}.btn-danger{background: var(--danger)}.btn-danger:hover{background: var(--danger-dark)}.btn-ghost{background: transparent;color: var(--accent);border-color: var(--line)}.btn-ghost:hover{background: var(--secondary-btn);color: var(--accent-dark)}.btn-sm{padding: 6px 12px;font-size: 14px}.btn-block{width: 100%}.btn[disabled],.btn[aria-busy="true"]{opacity: .6;cursor: progress}.alert{padding: 12px 16px;border-radius: 12px;margin-bottom: 16px;border: 1px solid}.alert-info,.alert-success{background: var(--info-bg);border-color: var(--info-border);color: var(--ink)}.alert-error{background: var(--error-bg);border-color: var(--error-border);color: var(--error-text)}.alert-warn{background: var(--warn-bg);border-color: var(--warn-border);color: var(--warn-text)}.pill{display: inline-block;padding: 2px 10px;border-radius: 999px;font-size: 13px;font-weight: 600;white-space: nowrap}.pill-open{background: var(--pill-open);color: var(--pill-open-text)}.pill-closed{background: var(--pill-closed);color: var(--pill-closed-text)}.pill-danger{background: var(--error-bg);color: var(--error-text)}.pill-warn{background: var(--warn-bg);color: var(--warn-text)}.role{display: inline-block;padding: 1px 9px;border-radius: 6px;font-size: 13px;font-weight: 600}.role-credit{background: var(--teal-tint);color: var(--teal-dark)}.role-member{background: var(--pill-closed);color: var(--pill-closed-text)}.role-admin{background: var(--header-bg);color: #fff}.member-code{font: 700 18px var(--mono);letter-spacing: .5px;background: var(--secondary-btn);padding: 3px 10px;border-radius: 8px;display: inline-block}td .member-code{font-size: 14.5px;padding: 1px 6px}.table-wrap{overflow-x: auto;border: 1px solid var(--line);border-radius: 12px;background: #fff}table{width: 100%;border-collapse: collapse;font-size: 15px}th,td{padding: 10px 12px;text-align: start;border-bottom: 1px solid var(--line);vertical-align: middle}th{background: var(--th-bg);font-weight: 700;font-size: 14px;color: var(--th-text);white-space: nowrap}tr:last-child td{border-bottom: 0}td.num,th.num{text-align: end;font-variant-numeric: tabular-nums}.empty{color: var(--muted);text-align: center;padding: 22px}.stat{background: #fff;border: 1px solid var(--line);border-radius: 14px;padding: 16px 18px}.stat .label{color: var(--muted);font-size: 14px}.stat .value{font-size: 30px;font-weight: 700;color: var(--ink);font-variant-numeric: tabular-nums}.stat.accent .value{color: var(--teal-dark)}.stat.accent{border-top: 3px solid var(--teal)}.balance{font-size: 32px;font-weight: 700;color: var(--teal-dark);line-height: 1.25}.hero{background: linear-gradient(135deg,var(--navy),var(--navy-soft));color: #fff;border-radius: 14px;padding: clamp(24px,5vw,48px);margin-bottom: 24px;position: relative;overflow: hidden}.hero h1{font-size: clamp(28px,5vw,44px);margin-bottom: 14px}.hero p{color: #cdd5ea;font-size: 18px;max-width: 640px}.hero .eyebrow{color: var(--gold)}.hero .row{margin-top: 20px}.hero .btn{background: var(--teal)}.hero .btn:hover{background: var(--teal-dark)}.hero .btn-secondary{background: rgba(255,255,255,.12);color: #fff}.hero .btn-secondary:hover{background: rgba(255,255,255,.2)}.hero h1 span{color: var(--teal)}.feature h3{display: flex;gap: 8px;align-items: center}.feature .ico{width: 36px;height: 36px;border-radius: 10px;background: var(--info-bg);display: inline-grid;place-items: center;color: var(--teal-dark);font-weight: 700}.subject-card{display: flex;flex-direction: column;gap: 6px;text-decoration: none;color: var(--ink);background: #fff;border: 1px solid var(--line);border-radius: 14px;padding: 16px;transition: border-color .15s,transform .15s}.subject-card:hover{border-color: var(--teal);color: var(--ink);transform: translateY(-1px)}.subject-card .icon{font-size: 22px;width: 44px;height: 44px;display: grid;place-items: center;background: var(--info-bg);border-radius: 12px;color: var(--navy);font-weight: 700}.subject-card strong{font-size: 17px}.subject-card small{color: var(--muted)}.resource{display: flex;gap: 14px;padding: 14px 0;border-bottom: 1px solid var(--line)}.resource:last-child{border-bottom: 0}.resource .kind{flex: none;width: 42px;height: 42px;border-radius: 10px;display: grid;place-items: center;background: var(--secondary-btn);font-size: 18px}.resource .body{flex: 1;min-width: 0}.resource .body p{white-space: pre-line;margin: 4px 0 0}.resource .meta{color: var(--muted);font-size: 13.5px}.tabs{display: flex;gap: 6px;flex-wrap: wrap;margin-bottom: 18px;border-bottom: 1px solid var(--line);padding-bottom: 10px}.tabs a{text-decoration: none;padding: 7px 14px;border-radius: 8px;color: var(--ink);background: var(--secondary-btn);font-weight: 600;font-size: 15px}.tabs a[aria-current="page"]{background: var(--accent);color: #fff}.tabs .count{background: rgba(0,0,0,.08);border-radius: 999px;padding: 0 7px;font-size: 12.5px;margin-inline-start: 4px}.id-card{background: linear-gradient(140deg,var(--navy),var(--navy-soft));border-bottom: 4px solid var(--teal);color: #fff;border-radius: 14px;padding: 22px;display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 18px;align-items: center}.id-card .member-code{background: rgba(255,255,255,.12);color: #fff}.id-card h1{margin-bottom: 8px}.id-card .meta{color: #cdd5ea;font-size: 15px}.id-card .qr{background: #fff;padding: 8px;border-radius: 12px}@media (max-width: 560px){.id-card{grid-template-columns: minmax(0,1fr);justify-items: start}}.qr svg,.qr img{display: block}dl.facts{display: grid;grid-template-columns: max-content 1fr;gap: 8px 16px;margin: 0}dl.facts dt{color: var(--muted)}dl.facts dd{margin: 0;overflow-wrap: anywhere}.rank{font-weight: 700;width: 34px;height: 34px;border-radius: 50%;display: inline-grid;place-items: center;background: var(--secondary-btn)}.rank-1{background: var(--gold);color: #1a1409}.rank-2{background: #c9d0de}.rank-3{background: #e2b98d}.podium{display: grid;gap: 14px;grid-template-columns: repeat(auto-fit,minmax(min(200px,100%),1fr));margin-bottom: 20px}.podium .card{text-align: center;margin: 0}.console-grid{display: grid;grid-template-columns: minmax(0,1fr) minmax(0,1fr);gap: 20px}@media (max-width: 960px){.console-grid{grid-template-columns: minmax(0,1fr)}}.timer{font: 600 15px var(--mono);direction: ltr;color: var(--teal-dark)}.checkin-form{display: grid;grid-template-columns: minmax(0,2fr) minmax(0,1fr) auto;gap: 10px;align-items: end}@media (max-width: 640px){.checkin-form{grid-template-columns: minmax(0,1fr)}}.checkin-form .field{margin: 0}.scanner{margin-top: 12px}.scanner video{width: 100%;max-width: 360px;border-radius: 12px;background: #000}.live-dot{width: 9px;height: 9px;border-radius: 50%;background: var(--teal);display: inline-block;animation: pulse 1.6s infinite}@keyframes pulse{50%{opacity: .3}}@media (prefers-reduced-motion: reduce){.live-dot{animation: none}.subject-card{transition: none}}.admin-layout{display: grid;grid-template-columns: 230px minmax(0,1fr);gap: 20px;align-items: start}.admin-nav{background: #fff;border: 1px solid var(--line);border-radius: 16px;padding: 10px;position: sticky;top: 88px}.admin-nav a{display: flex;justify-content: space-between;align-items: center;text-decoration: none;color: var(--ink);padding: 9px 12px;border-radius: 9px;font-weight: 600;font-size: 15px}.admin-nav a:hover{background: var(--secondary-btn)}.admin-nav a[aria-current="page"]{background: var(--navy);color: #fff;box-shadow: inset -3px 0 0 var(--teal)}.admin-nav .sep{height: 1px;background: var(--line);margin: 8px 4px}.admin-nav .badge{background: var(--danger);color: #fff;border-radius: 999px;font-size: 12px;padding: 0 7px}@media (max-width: 900px){.admin-layout{grid-template-columns: minmax(0,1fr)}.admin-nav{position: static;display: flex;overflow-x: auto;gap: 4px;padding: 6px}.admin-nav a{white-space: nowrap}.admin-nav .sep{display: none}}.filters{display: grid;gap: 10px;grid-template-columns: repeat(auto-fit,minmax(min(140px,100%),1fr));align-items: end;margin-bottom: 14px}.filters .field{margin: 0}details.inline-edit summary{cursor: pointer;color: var(--teal-dark);font-weight: 600}details.inline-edit[open]{background: var(--th-bg);padding: 12px;border-radius: 12px}.certificate{background: #fff;border: 10px solid var(--navy);outline: 2px solid var(--gold);outline-offset: -22px;border-radius: 6px;padding: clamp(28px,6vw,64px);text-align: center;max-width: 900px;margin: 0 auto 20px;position: relative}.certificate .seal{width: 240px;margin: 0 auto 10px;display: block}.certificate h1{font-size: clamp(26px,5vw,40px);color: var(--navy);letter-spacing: .5px}.certificate .name{font-size: clamp(26px,5vw,38px);font-weight: 700;color: var(--teal-dark);margin: 18px 0 6px}.certificate .hours{font-size: 22px;font-weight: 700}.certificate .foot{display: flex;justify-content: space-between;align-items: end;gap: 20px;margin-top: 34px;text-align: start;flex-wrap: wrap}.certificate .sign{border-top: 1px solid var(--ink);padding-top: 6px;min-width: 180px;text-align: center}html[lang="en"]{--font: "IBM Plex Sans","Segoe UI",system-ui,-apple-system,sans-serif}html[lang="en"] body{line-height: 1.55}html[lang="en"] .eyebrow{letter-spacing: .6px;text-transform: uppercase;font-size: 12.5px}html[dir="ltr"] .admin-nav a[aria-current="page"]{box-shadow: inset 3px 0 0 var(--teal)}html[dir="ltr"] .hero h1{letter-spacing: -.5px}tr.old-cycle td{color: var(--muted)}tr.old-cycle .role{opacity: .7}.db-badge{display: inline-block;font: 600 12.5px var(--mono);padding: 2px 9px;border-radius: 999px;border: 1px solid transparent;white-space: nowrap;line-height: 1.5;direction: ltr;unicode-bidi: isolate}.acc-owner{background: var(--gold-tint);color: var(--gold-dark);border-color: #e6cf9c}.acc-admin{background: var(--navy);color: #fff}.acc-member{background: var(--pill-closed);color: var(--pill-closed-text)}.st-active{background: var(--pill-open);color: var(--pill-open-text)}.st-off{background: var(--error-bg);color: var(--error-text)}.st-wait{background: var(--gold-tint);color: #7a5a00}.pending-card{border-color: var(--gold);box-shadow: inset 0 3px 0 var(--gold)}.pending-card h2 .badge{vertical-align: middle;margin-inline-start: 6px}.pending-row{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 10px 16px;padding: 12px 0;border-top: 1px solid var(--line)}.pending-row:first-of-type{border-top: 0}.pending-actions{display: flex;flex-wrap: wrap;align-items: flex-start;gap: 8px}.pending-actions form{margin: 0}.pending-reject>summary{list-style: none;cursor: pointer}.pending-reject>summary::-webkit-details-marker{display: none}.pending-reject[open]>summary{display: none}.pending-reject form.row{gap: 6px;align-items: center}.pending-reject input{min-width: 220px}.pending-inline{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 8px 14px;margin: 10px 0 0}.pending-inline form{margin: 0}.id-card .db-badge{border-color: rgba(255,255,255,.25)}.stat .label code{font-size: 11.5px;color: var(--muted);background: var(--secondary-btn);padding: 0 5px;border-radius: 5px}.admin-row{display: flex;justify-content: space-between;align-items: flex-start;gap: 12px;flex-wrap: wrap}.list-link{padding: 10px 0;border-bottom: 1px solid var(--line);text-decoration: none;color: inherit}.danger-zone{border-color: #ebbcb8}.danger-zone h2{color: var(--danger)}.panel-body{min-width: 0}.filters .field-wide{grid-column: span 2}.table-wrap{-webkit-overflow-scrolling: touch;overscroll-behavior-x: contain;max-width: 100%}.table-wrap table{min-width: 560px}.table-wrap td,.table-wrap th{white-space: nowrap}.table-wrap td small,.table-wrap td .muted{white-space: normal}html,body{overflow-x: hidden;overflow-x: clip}img,video,svg,canvas{max-width: 100%}input,select,textarea,button{max-width: 100%}dl.facts dd,td{overflow-wrap: anywhere}@media (max-width: 640px){main.wrap{padding-top: 16px;padding-bottom: 28px}.card{padding: 16px;border-radius: 14px;margin-bottom: 14px}.hero{border-radius: 16px;padding: 22px 18px}.hero p{font-size: 16px}.hero .row .btn{flex: 1 1 100%}.stat{padding: 12px 14px}.stat .value{font-size: 24px}.balance{font-size: 26px}.section-head{flex-direction: column;align-items: stretch}.section-head>.btn,.section-head>a.btn{width: 100%}.filters .field-wide{grid-column: auto}.filters .btn{width: 100%}.admin-row>.row{width: 100%}.admin-row>.row form{flex: 1}.admin-row>.row .btn{width: 100%}.id-card{padding: 16px;border-radius: 16px}.id-card h1{font-size: 22px}.member-code{font-size: 16px}th,td{padding: 9px 10px;font-size: 14px}.tabs{flex-wrap: nowrap;overflow-x: auto;padding-bottom: 8px}.tabs a{white-space: nowrap}.btn{min-height: 44px}.btn-sm{min-height: 36px}.certificate{border-width: 6px;outline-offset: -14px;padding: 24px 16px}.certificate .seal{width: 180px}.site-footer .wrap{flex-direction: column;text-align: center;align-items: center}.scanner video{max-width: 100%}}@media (max-width: 380px){.wrap{padding: 0 12px}.brand img{height: 38px}h1{font-size: 22px}.stat .value{font-size: 22px}}@media (max-width: 640px){.table-stack table{min-width: 0}.table-stack thead{display: none}.table-stack tbody tr{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 14px;padding: 12px 14px;border-bottom: 1px solid var(--line)}.table-stack tbody tr:last-child{border-bottom: 0}.table-stack td{border: 0;padding: 0;white-space: normal;font-size: 14px}.table-stack td:first-child{flex: 1 1 100%;font-size: 15px}.table-stack td.num{text-align: start}.table-stack td[data-label]:not(:first-child):not(.actions)::before{content: attr(data-label) " ";color: var(--muted);font-size: 12.5px;margin-inline-end: 2px}.table-stack td.actions{flex: 1 1 100%}.table-stack td.actions .btn,.table-stack td.actions form{width: 100%}.table-stack td.empty{flex: 1 1 100%;text-align: center}}@media print{@page{size: A4 landscape;margin: 10mm}body{background: #fff}.site-header,.site-footer,.no-print,.alert,.skip{display: none !important}main.wrap{padding: 0;max-width: none}.certificate{margin: 0;box-shadow: none}.card{border: 0;padding: 0}}:root{--tabbar-h: 64px;--safe-b: env(safe-area-inset-bottom,0px);--shadow: 0 6px 24px rgba(25,41,84,.10)}.ico{flex: none;vertical-align: middle}.header-inner{display: flex;align-items: center;justify-content: space-between;gap: 12px;min-height: 64px;padding-block: 6px}.brand{display: flex;flex-direction: column;align-items: flex-start;text-decoration: none;min-width: 0}.brand img{height: 46px;width: auto;display: block}.slogan{font: 700 12.5px/1.2 "IBM Plex Sans",system-ui,sans-serif;color: var(--teal-dark);letter-spacing: .3px;white-space: nowrap}.brand .slogan{margin-top: 2px}.header-inner>.brand{flex: 1 1 auto}.header-inner>:not(.brand){flex-shrink: 0}@media (max-width: 560px){.brand .slogan{white-space: normal;max-width: 100%;text-wrap: balance;line-height: 1.25}}.nav-account{display: none;align-items: center;gap: 2px}.nav-account a,.nav-account .nav-btn,.primary-bar a,.drawer-nav a,.drawer-nav .nav-btn{display: inline-flex;align-items: center;gap: 7px;color: var(--navy);text-decoration: none;border-radius: 10px;font: inherit;font-weight: 600;font-size: 15px;background: none;border: 0;cursor: pointer;position: relative}.nav-account a,.nav-account .nav-btn{padding: 8px 10px;min-height: 40px}.nav-account a:hover,.nav-account .nav-btn:hover,.primary-bar a:hover{background: var(--secondary-btn);color: var(--navy)}.nav-account a[aria-current="page"]{background: var(--navy);color: #fff}.nav-account .nav-cta{background: var(--teal);color: #fff;padding-inline: 14px}.nav-account .nav-cta:hover{background: var(--teal-dark);color: #fff}.lang-switch{border: 1px solid var(--line) !important;color: var(--teal-dark) !important;font-weight: 700 !important}.header-actions{display: flex;align-items: center;gap: 8px;flex: none}.nav-help{display: inline-flex;align-items: center;gap: 6px;min-height: 44px;padding: 8px 12px;border-radius: 12px;background: var(--teal-tint);color: var(--teal-dark);border: 1px solid transparent;font-weight: 700;font-size: 15px;text-decoration: none;white-space: nowrap}.nav-help:hover{background: var(--teal);color: #fff}.nav-help[aria-current="page"]{background: var(--teal);color: #fff}@media (max-width: 380px){.nav-help span{display: none}.nav-help{width: 48px;height: 48px;padding: 0;justify-content: center}}.badge{background: var(--danger);color: #fff;border-radius: 999px;font-size: 12px;line-height: 1;padding: 3px 7px;font-weight: 700}.nav-toggle{display: inline-flex;align-items: center;justify-content: center;width: 48px;height: 48px;border-radius: 12px;border: 1px solid var(--line);background: #fff;color: var(--navy);position: relative;flex: none}.nav-toggle .dot{position: absolute;top: 9px;inset-inline-end: 9px;width: 9px;height: 9px;border-radius: 50%;background: var(--danger)}.primary-bar{display: none;border-top: 1px solid var(--line);background: #fff}.primary-bar .wrap{display: flex;gap: 2px;overflow-x: auto;scrollbar-width: none;padding-block: 4px}.primary-bar a{padding: 9px 12px;white-space: nowrap}.primary-bar a[aria-current="page"]{color: var(--teal-dark);background: var(--teal-tint)}@media (min-width: 901px){.nav-account{display: flex}.primary-bar{display: block}.nav-toggle{display: none}.brand img{height: 50px}body.has-tabbar{padding-bottom: 0}.tabbar{display: none !important}}.drawer{position: fixed;inset: 0;z-index: 40;visibility: hidden;pointer-events: none}.drawer.is-open,.drawer:target{visibility: visible;pointer-events: auto}.drawer-backdrop{position: absolute;inset: 0;background: rgba(16,27,58,.48);opacity: 0;transition: opacity .25s}.drawer.is-open .drawer-backdrop,.drawer:target .drawer-backdrop{opacity: 1}.drawer-panel{position: absolute;top: 0;bottom: 0;inset-inline-end: 0;width: min(86vw,340px);background: #fff;display: flex;flex-direction: column;box-shadow: var(--shadow);transform: translateX(100%);transition: transform .28s cubic-bezier(.2,.8,.2,1);padding-bottom: var(--safe-b);overflow-y: auto;overscroll-behavior: contain}html[dir="rtl"] .drawer-panel{transform: translateX(-100%)}.drawer.is-open .drawer-panel,.drawer:target .drawer-panel{transform: none}.drawer-head{display: flex;justify-content: space-between;align-items: flex-start;gap: 10px;padding: 18px 16px 14px;background: linear-gradient(140deg,var(--navy),var(--navy-soft));color: #fff}.drawer-who{display: flex;flex-direction: column;gap: 6px;min-width: 0}.drawer-who strong{font-size: 17px;overflow-wrap: anywhere}.drawer-who .member-code{background: rgba(255,255,255,.14);color: #fff;font-size: 14px;align-self: flex-start}.drawer-who .slogan{color: var(--gold)}.drawer-close{color: #fff;width: 44px;height: 44px;display: grid;place-items: center;border-radius: 12px;background: rgba(255,255,255,.1);flex: none}.drawer-close:hover{color: #fff;background: rgba(255,255,255,.2)}.drawer-nav{display: flex;flex-direction: column;padding: 10px;gap: 2px}.drawer-nav a,.drawer-nav .nav-btn{min-height: 48px;padding: 10px 12px;width: 100%;font-size: 16px}.drawer-nav a .ico,.drawer-nav .nav-btn .ico{color: var(--teal-dark)}.drawer-nav a[aria-current="page"]{background: var(--teal-tint);color: var(--navy);box-shadow: inset 3px 0 0 var(--teal)}html[dir="rtl"] .drawer-nav a[aria-current="page"]{box-shadow: inset -3px 0 0 var(--teal)}.drawer-nav a:hover,.drawer-nav .nav-btn:hover{background: var(--secondary-btn)}.drawer-nav .badge{margin-inline-start: auto}.drawer-nav .sep{height: 1px;background: var(--line);margin: 8px 4px}.drawer-nav form{margin: 0}.drawer-nav a.drawer-cta{color: #fff;justify-content: center;margin-top: 6px;background: var(--teal)}.drawer-nav .lang-switch{margin-top: 8px;justify-content: center}html.drawer-lock,html.drawer-lock body{overflow: hidden}body.has-tabbar{padding-bottom: calc(var(--tabbar-h) + var(--safe-b))}.tabbar{position: fixed;inset-inline: 0;bottom: 0;z-index: 30;display: grid;grid-template-columns: repeat(5,1fr);background: rgba(255,255,255,.97);border-top: 1px solid var(--line);padding-bottom: var(--safe-b);box-shadow: 0 -4px 18px rgba(25,41,84,.07)}.tabbar a{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;min-height: var(--tabbar-h);min-width: 0;color: var(--muted);text-decoration: none;font-size: 11.5px;font-weight: 600;position: relative;padding: 6px 2px}.tabbar a span:not(.badge){max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.tabbar a[aria-current="page"]{color: var(--navy)}.tabbar a[aria-current="page"]::before{content: "";position: absolute;top: 0;width: 36px;height: 3px;border-radius: 0 0 3px 3px;background: var(--teal)}.tabbar a[aria-current="page"] .ico{color: var(--teal-dark)}.toasts{display: grid;gap: 8px;margin-bottom: 16px}.toast{display: flex;align-items: center;justify-content: space-between;gap: 10px;margin: 0;box-shadow: var(--shadow);animation: toast-in .25s ease-out}.toast-x{background: none;border: 0;color: inherit;width: 44px;height: 44px;display: grid;place-items: center;border-radius: 8px;cursor: pointer;flex: none;font-size: 20px}.toast-x:hover{background: rgba(0,0,0,.06)}.js .toasts{position: fixed;z-index: 35;inset-inline: 12px;top: 12px;max-width: 520px;margin-inline: auto}.toast-out{opacity: 0;transform: translateY(-8px);transition: opacity .2s,transform .2s}@keyframes toast-in{from{opacity: 0;transform: translateY(-10px)}}@media (max-width: 900px){.js .toasts{top: auto;bottom: calc(var(--tabbar-h) + var(--safe-b) + 10px)}}.btn{min-height: 44px}.btn-sm{min-height: 38px}.notice{display: flex;justify-content: space-between;align-items: center;gap: 12px;flex-wrap: wrap;background: var(--gold-tint);border: 1px solid var(--warn-border);border-radius: 14px;padding: 12px 14px;margin-bottom: 18px}.notice>span:first-child{display: inline-flex;align-items: center;gap: 8px;font-weight: 600}.check.remember{margin: 4px 0 16px;min-height: 44px}.check input{width: 22px;height: 22px}.code-input{font: 700 18px var(--mono) !important;letter-spacing: .5px;text-transform: uppercase}@media (max-width: 900px){input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=time],input[type=search],input[type=url],input[type=number],select,textarea{font-size: 16px;min-height: 46px}textarea{min-height: 110px}.btn,.btn-sm,button.btn{min-height: 44px}.btn-sm{padding: 8px 14px;font-size: 15px}.admin-nav a{min-height: 44px}}.empty-state{text-align: center;padding: 30px 18px;border: 1px dashed var(--input-border);border-radius: 16px;background: #fff;color: var(--muted);display: grid;justify-items: center;gap: 8px}.empty-state .empty-ico{width: 62px;height: 62px;border-radius: 50%;background: var(--teal-tint);color: var(--teal-dark);display: grid;place-items: center}.empty-state strong{color: var(--ink);font-size: 17px}.empty-state p{margin: 0;max-width: 380px}.hero .hero-slogan{font: 700 clamp(15px,2.4vw,20px)/1.3 "IBM Plex Sans",system-ui,sans-serif;color: var(--gold);letter-spacing: .4px;margin: 0 0 8px}.place-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 12px;margin-bottom: 20px}@media (min-width: 760px){.place-grid{grid-template-columns: repeat(4,minmax(0,1fr))}}.place{display: flex;flex-direction: column;gap: 4px;padding: 16px;border-radius: 16px;background: #fff;border: 1px solid var(--line);text-decoration: none;color: var(--ink);min-height: 132px;min-width: 0;transition: border-color .15s,transform .15s}.place:hover{border-color: var(--teal);color: var(--ink);transform: translateY(-1px)}.place-ico{width: 46px;height: 46px;border-radius: 14px;background: var(--teal-tint);color: var(--teal-dark);display: grid;place-items: center;margin-bottom: 4px}.place strong{font-size: 16.5px}.place small{color: var(--muted);line-height: 1.45}.mini-session{display: flex;flex-direction: column;gap: 4px;margin: 0;text-decoration: none;color: var(--ink)}.mini-session .pill{align-self: flex-start}.sport-teaser{display: flex;align-items: center;gap: 14px;margin: 0 0 20px;padding: 14px 16px;border-radius: 12px;text-decoration: none;color: #fff;background: linear-gradient(120deg,var(--teal-dark),var(--teal))}.sport-teaser:hover{color: #fff}.sport-teaser small{color: #e0f5f3}.group-grid{display: grid;gap: 14px;grid-template-columns: repeat(auto-fill,minmax(min(300px,100%),1fr))}.group-card{background: #fff;border: 1px solid var(--line);border-radius: 18px;padding: 16px;display: flex;flex-direction: column;gap: 12px;scroll-margin-top: 90px;min-width: 0}.group-card.is-joined{border-color: var(--teal);box-shadow: inset 0 3px 0 var(--teal)}.group-main{display: flex;gap: 12px;align-items: flex-start;text-decoration: none;color: var(--ink)}.group-main:hover{color: var(--ink)}.group-card .icon,.group-hero .icon,.group-admin .icon{flex: none;width: 52px;height: 52px;border-radius: 14px;background: var(--info-bg);color: var(--navy);display: grid;place-items: center;font-size: 22px;font-weight: 700}.group-text{display: flex;flex-direction: column;gap: 2px;min-width: 0}.group-text strong{font-size: 17px}.group-text small{color: var(--muted);line-height: 1.45}.group-meta{display: flex;gap: 14px;flex-wrap: wrap;color: var(--muted);font-size: 14px}.group-meta span{display: inline-flex;align-items: center;gap: 5px}.group-actions{display: grid;grid-template-columns: 1fr 1.3fr;gap: 8px;margin-top: auto}.group-actions form,.group-actions .btn{width: 100%;margin: 0}.joined-tag{display: inline-flex;align-items: center;justify-content: center;gap: 6px;min-height: 44px;border-radius: var(--radius);background: var(--teal-tint);color: var(--teal-dark);font-weight: 700;padding: 0 12px}.group-hero{display: flex;justify-content: space-between;align-items: center;gap: 16px;flex-wrap: wrap}.group-hero-main{display: flex;gap: 14px;align-items: flex-start;min-width: 0;flex: 1 1 320px}.group-hero-main h1{margin: 0 0 4px}.group-hero-main p{margin: 0 0 6px}.group-hero-action{display: flex;gap: 8px;flex-wrap: wrap;align-items: center}.group-hero-action form{margin: 0}@media (max-width: 640px){.group-hero-action{width: 100%}.group-hero-action>*{flex: 1 1 100%}.group-hero-action .btn{width: 100%}}.person-row{display: flex;justify-content: space-between;align-items: center;gap: 10px;padding: 10px 0;border-bottom: 1px solid var(--line)}.person-row:last-child{border-bottom: 0}.person-row>span:first-child{min-width: 0;overflow-wrap: anywhere}.person-row form{margin: 0}.group-admin{border: 1px solid var(--line);border-radius: 14px;margin-bottom: 10px;background: #fff}.group-admin summary{display: flex;align-items: center;gap: 12px;padding: 10px 12px;cursor: pointer;list-style: none;min-height: 56px}.group-admin summary::-webkit-details-marker{display: none}.group-admin summary strong{flex: 1;min-width: 0}.group-admin .icon{width: 40px;height: 40px;font-size: 18px}.group-admin[open]{border-color: var(--teal)}.group-admin>.table-wrap,.group-admin>.empty{margin: 0 12px 12px}.chip-list{display: flex;flex-wrap: wrap;gap: 8px}.chip{display: inline-flex;align-items: center;gap: 6px;padding: 8px 14px;min-height: 40px;border-radius: 999px;background: var(--teal-tint);color: var(--teal-dark);text-decoration: none;font-weight: 600}.session-list,.sport-list{display: grid;gap: 14px}.session-card,.sport-card{background: #fff;border: 1px solid var(--line);border-radius: 18px;padding: 16px;scroll-margin-top: 90px;min-width: 0;display: grid;grid-template-columns: auto minmax(0,1fr);gap: 12px 14px;align-items: start}.session-card.is-mine{border-color: var(--gold);box-shadow: inset 0 3px 0 var(--gold)}.sport-card.is-today{border-color: var(--teal);box-shadow: inset 0 3px 0 var(--teal)}.session-date{width: 64px;border-radius: 14px;background: var(--navy);color: #fff;text-align: center;padding: 8px 4px;display: flex;flex-direction: column;line-height: 1.15}.session-date .d{font-size: 26px;font-weight: 700}.session-date .m{font-size: 11px;color: #cdd5ea}.session-body{min-width: 0}.session-body h2{font-size: 18.5px;margin: 6px 0;overflow-wrap: anywhere}.facts-inline{list-style: none;padding: 0;margin: 0;display: flex;flex-wrap: wrap;gap: 4px 14px;color: var(--muted);font-size: 14.5px}.facts-inline li{display: inline-flex;align-items: center;gap: 5px;min-width: 0}.seats{display: flex;align-items: center;gap: 8px;margin-top: 10px;font-weight: 600;font-size: 14.5px;flex-wrap: wrap}.meter{display: inline-block;flex: 1 1 100px;max-width: 220px;height: 8px;border-radius: 99px;background: var(--secondary-btn);overflow: hidden}.meter>span{display: block;height: 100%;background: var(--teal);border-radius: inherit}.session-actions{grid-column: 1 / -1;display: grid;gap: 8px}.session-actions form{margin: 0}@media (min-width: 761px){.session-card{grid-template-columns: auto minmax(0,1fr) 230px}.session-actions{grid-column: auto;align-self: center}}.sport-card .notes{margin: 8px 0 0;white-space: pre-line}.motto{display: flex;align-items: center;gap: 14px;margin-bottom: 22px;padding: clamp(16px,4vw,26px);border-radius: 14px;color: #fff;background: linear-gradient(130deg,var(--navy),var(--navy-soft))}.motto p{margin: 0;font-size: clamp(17px,3.6vw,24px);font-weight: 700;line-height: 1.45}.motto .motto-sep{color: var(--gold);padding-inline: 4px}.motto span[lang="en"]{font-family: "IBM Plex Sans",system-ui,sans-serif;color: #e7f6f4}.motto .ico{color: var(--gold)}.progress-note{display: flex;align-items: center;gap: 8px;flex-wrap: wrap;background: var(--th-bg);border-radius: 12px;padding: 10px 12px;margin: 6px 0 14px;font-weight: 600;font-size: 14.5px}.progress-note .meter{flex-basis: 100%;max-width: none}.quick-tiles .tile{display: flex;flex-direction: column;gap: 2px;padding: 14px 16px;border-radius: 14px;border: 1px solid var(--line);background: #fff;text-decoration: none;color: var(--ink);min-height: 110px;min-width: 0}.quick-tiles .tile .ico{color: var(--teal-dark)}.quick-tiles .tile .n{font-size: 28px;font-weight: 700}.quick-tiles .tile-alert{border-color: var(--danger)}.quick-tiles .tile-alert .ico,.quick-tiles .tile-alert .n{color: var(--danger)}@media (max-width: 640px){.grid.quick-tiles{grid-template-columns: repeat(2,minmax(0,1fr))}}.message-list{display: grid;gap: 12px}.message-card{background: #fff;border: 1px solid var(--line);border-radius: 16px;padding: 14px 16px;scroll-margin-top: 90px;min-width: 0}.message-card.is-new{border-color: var(--gold);box-shadow: inset 0 3px 0 var(--gold)}.message-card header{display: flex;justify-content: space-between;align-items: flex-start;gap: 10px}.message-card header>div{min-width: 0;overflow-wrap: anywhere}.message-card .meta{color: var(--muted);font-size: 13.5px;margin-top: 2px}.message-card h3{margin: 10px 0 4px}.message-card .body{white-space: pre-line;margin: 10px 0;overflow-wrap: anywhere}.message-card footer{gap: 8px}.message-card footer form{margin: 0}.resolution{margin: 8px 0 0;color: var(--teal-dark)}.penalty-form{border-top: 1px solid var(--line);padding-top: 12px;margin-top: 8px}.penalty-grid{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px;margin-bottom: 10px}.deduct-row{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 8px;align-items: end;margin-bottom: 10px}.deduct-row .field{margin: 0}@media (max-width: 560px){.penalty-grid,.deduct-row{grid-template-columns: minmax(0,1fr)}}.rules ul{margin: 0 0 12px;padding-inline-start: 20px}.rules li{margin-bottom: 4px}.acc-co-admin{background: var(--teal-tint);color: var(--teal-dark);border-color: #94d3cc}.stat .value small{font-size: 15px;color: var(--muted);font-weight: 600}tr.row-done td{opacity: .55}.admin-row .row form{margin: 0}.btn-scan{width: 100%;min-height: 64px;font-size: 18px;gap: 10px;margin: 6px 0 14px;background: var(--teal);border-radius: 14px}.btn-scan:hover{background: var(--teal-dark)}.scanner-overlay{position: fixed;inset: 0;z-index: 50;background: #050a18;color: #fff;display: flex;flex-direction: column}.scanner-overlay[hidden]{display: none}.scanner-top{display: flex;justify-content: space-between;align-items: center;gap: 10px;padding: calc(10px + env(safe-area-inset-top,0px)) 14px 10px}.scanner-top strong{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.scanner-x{width: 48px;height: 48px;border-radius: 50%;border: 0;background: rgba(255,255,255,.14);color: #fff;display: grid;place-items: center;cursor: pointer;flex: none}.scanner-view{position: relative;flex: 1;min-height: 0;overflow: hidden;display: grid;place-items: center}.scanner-view video{width: 100%;height: 100%;object-fit: cover;max-width: none;border-radius: 0;background: #000}.viewfinder{position: absolute;inset: 0;display: grid;place-items: center;pointer-events: none}.viewfinder span{width: min(68vw,300px);aspect-ratio: 1;border-radius: 22px;box-shadow: 0 0 0 100vmax rgba(5,10,24,.55);outline: 3px solid var(--teal);outline-offset: -3px;position: relative}.viewfinder span::after{content: "";position: absolute;inset-inline: 10%;top: 50%;height: 2px;background: rgba(31,165,157,.9);animation: scanline 2s ease-in-out infinite}@keyframes scanline{0%,100%{transform: translateY(-100px)}50%{transform: translateY(100px)}}.scanner-bottom{padding: 12px 14px calc(14px + env(safe-area-inset-bottom,0px));display: grid;gap: 10px;background: #0b1430}.scanner-status{min-height: 48px;display: flex;align-items: center;justify-content: center;text-align: center;border-radius: 12px;padding: 8px 12px;background: rgba(255,255,255,.08);font-weight: 600}.scanner-status.is-ok{background: #0e6560}.scanner-status.is-err{background: #842f2b}.scanner-status.is-busy{background: rgba(255,255,255,.16)}.scanner-role{display: flex;align-items: center;gap: 10px;margin: 0;color: #cdd5ea;font-weight: 600}.scanner-role select{flex: 1}.scanner-manual{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 8px;margin: 0}@media (prefers-reduced-motion: reduce){.viewfinder span::after,.toast{animation: none}.drawer-panel,.drawer-backdrop{transition: none}}@media (max-width: 900px){.admin-layout{gap: 12px}.admin-nav{margin-inline: -16px;border-radius: 0;border-inline: 0;padding-inline: 12px;scrollbar-width: none}}@media (max-width: 380px){.slogan{font-size: 11px}.brand img{height: 36px}.tabbar a{font-size: 10.5px}.session-date{width: 56px}.group-actions{grid-template-columns: 1fr}.admin-nav{margin-inline: -12px}}@media print{.tabbar,.drawer,.primary-bar,.nav-account,.nav-toggle,.toasts{display: none !important}body.has-tabbar{padding-bottom: 0}}@media (max-width: 640px){.stat-row{grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px}}@media (max-width: 640px){.grid-4:has(>.stat){grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px}.stat .label code{display: none}}.signup-notice{margin: 4px 0 16px}.signup-notice>span:first-child{font-weight: 600;align-items: flex-start}.report-table tr.row-flag td:first-child{box-shadow: inset 3px 0 0 var(--danger)}html[dir="rtl"] .report-table tr.row-flag td:first-child{box-shadow: inset -3px 0 0 var(--danger)}.quick-tiles .tile .n small{font-size: 15px;font-weight: 600}@media (max-width: 640px){.table-stack .report-table tr.row-flag{box-shadow: inset 3px 0 0 var(--danger)}.table-stack .report-table tr.row-flag td:first-child{box-shadow: none}}.motto p span[lang]{display: block}.motto p span[lang="en"]{font-size: .8em;margin-top: 2px}.motto .motto-sep{display: none}:root{--card-shadow: 0 1px 2px rgba(25,41,84,.05),0 4px 14px rgba(25,41,84,.04);--line-soft: #e7ebf3}.card,.group-card,.session-card,.sport-card,.message-card,.place,.stat,.quick-tiles .tile,.empty-state,.group-admin{border-color: var(--line-soft);box-shadow: var(--card-shadow)}.empty-state{box-shadow: none}details.fold>summary{list-style: none;cursor: pointer;display: flex;align-items: center;gap: 10px;min-height: 48px;font-weight: 700;font-size: 17px;color: var(--navy)}details.fold>summary::-webkit-details-marker{display: none}details.fold>summary::after{content: "";margin-inline-start: auto;width: 10px;height: 10px;border-inline-end: 2px solid currentColor;border-bottom: 2px solid currentColor;transform: rotate(45deg);transition: transform .2s;flex: none;opacity: .6}details.fold[open]>summary::after{transform: rotate(-135deg)}details.fold>summary .ico{color: var(--teal-dark)}details.fold .fold-body{margin-top: 12px}details.card.fold{padding-block: 10px}details.card.fold[open]{padding-bottom: 20px}details.fold-inner{border: 1px dashed var(--input-border);border-radius: 12px;padding: 4px 14px;margin-top: 12px;background: var(--th-bg)}details.fold-inner[open]{padding-bottom: 14px;background: #fff;border-style: solid;border-color: var(--line-soft)}details.fold-inner>summary{font-size: 15.5px}details.fold-inner>form{margin-top: 10px}details.fold-plain>summary h2{margin: 0}details.fold-plain>form{margin-top: 14px}.group-tools{display: flex;flex-wrap: wrap;gap: 8px;margin: 0 12px 4px}.group-tools form{margin: 0}.group-admin>details.fold-inner{margin: 8px 12px 12px}.danger-inline{display: flex;align-items: center;gap: 10px;flex-wrap: wrap;margin-top: 12px;padding-top: 12px;border-top: 1px solid var(--line-soft)}.danger-text{color: var(--danger);border-color: #ebbcb8}.form-row-2,.form-row-3{grid-template-columns: repeat(auto-fit,minmax(min(140px,100%),1fr))}.panel-switch{display: none}@media (max-width: 900px){.admin-nav{display: none !important}.panel-switch{display: block;position: sticky;top: 8px;z-index: 6;margin-bottom: 4px;background: #fff;border: 1px solid var(--line-soft);border-radius: 16px;box-shadow: var(--shadow)}.panel-switch>summary{list-style: none;display: flex;align-items: center;gap: 10px;min-height: 58px;padding: 8px 14px;cursor: pointer}.panel-switch>summary::-webkit-details-marker{display: none}.ps-text{display: flex;flex-direction: column;line-height: 1.25;min-width: 0;flex: 1}.ps-text small{color: var(--muted);font-size: 12px;font-weight: 600}.ps-text strong{font-size: 16.5px;color: var(--navy);white-space: nowrap;overflow: hidden;text-overflow: ellipsis}.ps-chev{width: 36px;height: 36px;border-radius: 10px;background: var(--secondary-btn);display: grid;place-items: center;color: var(--navy);transition: transform .2s;flex: none}.panel-switch[open] .ps-chev{transform: rotate(180deg)}.ps-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 6px;padding: 4px 10px 12px}.ps-grid a{display: flex;align-items: center;justify-content: space-between;gap: 6px;min-height: 48px;padding: 8px 12px;border-radius: 12px;background: var(--th-bg);color: var(--ink);text-decoration: none;font-weight: 600;font-size: 14.5px;line-height: 1.3}.ps-grid a[aria-current="page"]{background: var(--navy);color: #fff}}.group-card .group-meta{margin-top: 6px}.group-actions{display: flex;gap: 8px;margin-top: auto}.group-actions form{width: 100%}.btn-join{width: 100%}.joined-tag{width: 100%}@media (max-width: 640px){.group-grid{gap: 8px}.group-card{flex-direction: row;align-items: center;gap: 10px;padding: 12px;border-radius: 16px}.group-card .icon{width: 46px;height: 46px;font-size: 20px;border-radius: 13px}.group-main{flex: 1;min-width: 0;align-items: center;gap: 12px}.group-text strong{font-size: 16px}.group-desc{display: -webkit-box;-webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;font-size: 13.5px}.group-card .group-meta{margin-top: 2px;gap: 10px;font-size: 12.5px}.group-actions{margin: 0;flex: none;width: auto}.btn-join{width: 46px;min-height: 46px;padding: 0;border-radius: 13px;background: var(--teal)}.btn-join span{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0)}.joined-tag{width: 46px;min-height: 46px;padding: 0;border-radius: 13px}.joined-tag span{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0)}.group-card.is-joined{box-shadow: inset 3px 0 0 var(--teal),var(--card-shadow)}html[dir="rtl"] .group-card.is-joined{box-shadow: inset -3px 0 0 var(--teal),var(--card-shadow)}}@media (max-width: 640px){h1{font-size: 24px}h2{font-size: 19px}.section-head{gap: 10px;margin-bottom: 12px}.section-head p.muted{font-size: 15px;margin-bottom: 0}.eyebrow{font-size: 12px;margin-bottom: 4px}.card{padding: 16px 14px}.form-row.compact{grid-template-columns: repeat(2,minmax(0,1fr));gap: 0 10px}.form-row.compact .field:first-child:nth-last-child(odd){grid-column: 1 / -1}.form-row-3{grid-template-columns: repeat(2,minmax(0,1fr));gap: 0 10px}.form-row-3 .field:first-child{grid-column: 1 / -1}.form-row-2{grid-template-columns: repeat(2,minmax(0,1fr));gap: 0 10px}.btn-block-sm{width: 100%}.hero{padding: 20px 16px;margin-bottom: 16px}.hero h1{font-size: 26px;margin-bottom: 10px}.hero p{font-size: 15px}.hero .row{display: grid;grid-template-columns: 1fr 1fr;gap: 8px;margin-top: 14px}.hero .row .btn{flex: none;min-width: 0;padding-inline: 10px}.hero .row .btn:first-child{grid-column: 1 / -1}.place{min-height: 0;padding: 14px}.place small{font-size: 13px}.session-card,.sport-card{padding: 14px;gap: 10px 12px;border-radius: 16px}.session-date{width: 56px;padding: 6px 2px;border-radius: 12px}.session-date .d{font-size: 22px}.session-body h2{font-size: 17px}.facts-inline{font-size: 13.5px}.id-card{gap: 12px}.id-card .qr{justify-self: stretch;display: grid;place-items: center}}button.btn.btn-join{background: var(--teal)}button.btn.btn-join:hover{background: var(--teal-dark)}@media (max-width: 900px){.panel-switch{position: relative;top: auto}}.page-progress{position: fixed;top: 0;inset-inline-start: 0;height: 3px;width: 0;z-index: 60;background: linear-gradient(90deg,var(--teal),var(--gold));opacity: 0;pointer-events: none}.page-progress.run{opacity: 1;animation: progress 8s cubic-bezier(.1,.8,.2,1) forwards}@keyframes progress{0%{width: 0}20%{width: 45%}100%{width: 92%}}.btn.is-loading{position: relative;color: transparent !important;pointer-events: none}.btn.is-loading>*{visibility: hidden}.btn.is-loading::after{content: "";position: absolute;inset: 0;margin: auto;width: 20px;height: 20px;border-radius: 50%;border: 2.5px solid rgba(255,255,255,.45);border-top-color: #fff;animation: spin .7s linear infinite}.btn-secondary.is-loading::after,.btn-ghost.is-loading::after{border-color: rgba(25,41,84,.25);border-top-color: var(--navy)}.btn[aria-busy="true"]:not(.is-loading){opacity: .7}@keyframes spin{to{transform: rotate(360deg)}}.search-bar{position: relative;margin: 0 0 12px}.search-bar .ico{position: absolute;top: 50%;inset-inline-start: 14px;transform: translateY(-50%);color: var(--muted);pointer-events: none}.search-bar input[type=search]{padding-inline-start: 44px;min-height: 50px;border-radius: 14px;border-color: var(--line-soft);background: #fff;box-shadow: var(--card-shadow);font-size: 16px}.search-bar input[type=search]::-webkit-search-cancel-button{cursor: pointer}.filter-empty{text-align: center;color: var(--muted);padding: 18px;border: 1px dashed var(--input-border);border-radius: 14px;margin-bottom: 12px}[hidden]{display: none !important}.qr-tap{border: 0;background: #fff;border-radius: 14px;padding: 8px 8px 6px;cursor: pointer;display: grid;justify-items: center;gap: 4px;color: var(--navy);font: inherit;font-size: 13px;font-weight: 600;justify-self: center}.qr-tap .qr{padding: 0;background: none}.qr-tap span{display: inline-flex;align-items: center;gap: 4px}.qr-dialog{border: 0;padding: 0;width: min(420px,calc(100vw - 24px));max-height: calc(100vh - 24px);border-radius: 24px;box-shadow: 0 20px 60px rgba(16,27,58,.35);background: #fff;color: var(--ink)}.qr-dialog::backdrop{background: rgba(16,27,58,.62)}.qr-sheet{position: relative;padding: 26px 22px 20px;display: grid;justify-items: center;gap: 8px;text-align: center}.qr-sheet h2{margin: 0}.qr-big{background: #fff;padding: 12px;border-radius: 18px;border: 1px solid var(--line-soft);margin: 8px 0 4px}.qr-x{position: absolute;top: 10px;inset-inline-end: 10px;width: 44px;height: 44px;border-radius: 50%;border: 0;background: var(--secondary-btn);color: var(--navy);display: grid;place-items: center;cursor: pointer}.drawer-nav .drawer-qr{color: var(--navy)}.drawer-nav a.drawer-help{display: flex;align-items: center;gap: 12px;min-height: 64px;padding: 12px 14px;margin-bottom: 6px;border-radius: 14px;background: var(--teal-tint);color: var(--navy);border: 1px solid rgba(0,150,136,.18)}.drawer-nav a.drawer-help .ico{color: var(--teal-dark)}.drawer-nav a.drawer-help span{display: flex;flex-direction: column;gap: 2px;min-width: 0}.drawer-nav a.drawer-help strong{font-size: 16px}.drawer-nav a.drawer-help small{font-size: 13px;color: var(--muted);font-weight: 500}.drawer-nav a.drawer-help:hover,.drawer-nav a.drawer-help[aria-current="page"]{background: var(--teal);color: #fff;box-shadow: none}.drawer-nav a.drawer-help:hover .ico,.drawer-nav a.drawer-help:hover small,.drawer-nav a.drawer-help[aria-current="page"] .ico,.drawer-nav a.drawer-help[aria-current="page"] small{color: #fff}.scanner-status.is-warn{background: #8a6512}@media (prefers-reduced-motion: reduce){.page-progress.run{animation: none;width: 60%}.btn.is-loading::after{animation-duration: 2s}}html{scroll-padding-top: 88px}@media (max-width: 900px){html{scroll-padding-top: 84px;scroll-padding-bottom: calc(var(--tabbar-h) + var(--safe-b) + 16px)}}.js .toasts{pointer-events: none}.js .toasts .toast{pointer-events: auto}@media (max-width: 900px){.js .toasts{top: calc(env(safe-area-inset-top,0px) + 10px);bottom: auto}}.hero h1.hero-slogan{font: 700 clamp(30px,6vw,52px)/1.15 "IBM Plex Sans",system-ui,sans-serif;color: #fff;letter-spacing: -.5px;margin: 0 0 12px}.hero .hero-sub{font-size: clamp(16px,2.2vw,19px);font-weight: 600;color: #e7ecf8;margin: 0 0 10px;max-width: none}.hero .hero-sub span{color: var(--teal)}@media (max-width: 640px){.hero h1.hero-slogan{font-size: 31px}.hero .hero-sub{font-size: 16px}}html .hero>span.eyebrow{font-size: 16px;letter-spacing: 1px;margin-bottom: 10px}@media (max-width: 640px){html .hero>span.eyebrow{font-size: 15px}}.site-footer .wrap.footer-credit{flex-direction: column;align-items: center;justify-content: center;gap: 2px;text-align: center}.switch-list{display: grid;gap: 8px}.switch-row{display: grid;grid-template-columns: minmax(0,1fr) auto;align-items: center;gap: 14px;margin: 0;padding: 12px 14px;border: 1px solid var(--line-soft);border-radius: 14px;background: #fff;cursor: pointer;position: relative;min-height: 64px}.switch-row:hover{border-color: var(--teal)}.switch-text{display: flex;flex-direction: column;gap: 2px;min-width: 0}.switch-text strong{font-size: 15.5px}.switch-text small{color: var(--muted);font-weight: 500;line-height: 1.45}.switch-row input{position: absolute;opacity: 0;width: 1px;height: 1px}.switch{width: 52px;height: 30px;border-radius: 99px;background: #c9d0de;position: relative;transition: background .2s;flex: none}.switch::after{content: "";position: absolute;top: 3px;inset-inline-start: 3px;width: 24px;height: 24px;border-radius: 50%;background: #fff;box-shadow: 0 1px 3px rgba(0,0,0,.25);transition: transform .2s}.switch-row input:checked + .switch{background: var(--teal)}.switch-row input:checked + .switch::after{transform: translateX(22px)}html[dir="rtl"] .switch-row input:checked + .switch::after{transform: translateX(-22px)}.switch-row input:focus-visible + .switch{outline: 3px solid var(--focus-ring);outline-offset: 2px}.switch-danger input:checked + .switch{background: var(--danger)}.switch-danger{border-color: #ebbcb8}.radio-row{align-items: flex-start;padding: 8px 0;min-height: 44px}.radio-row input{width: 22px;height: 22px;margin-top: 2px;flex: none}.social-bar{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px}.social-bar .social{width: 44px;height: 44px;border-radius: 50%;display: grid;place-items: center;color: var(--navy);background: #fff;border: 1px solid var(--line-soft);text-decoration: none;transition: transform .15s,background .15s,color .15s}.social-bar .social:hover{transform: translateY(-2px);color: #fff}.social-instagram:hover{background: #d62976}.social-tiktok:hover{background: #111}.social-whatsapp:hover{background: #25d366}.social-facebook:hover{background: #1877f2}.social-youtube:hover{background: #ff0000}.social-x:hover{background: #000}.social-telegram:hover{background: #229ed9}.social-linkedin:hover{background: #0a66c2}.footer-social{padding: 14px 16px 4px}.drawer-social{margin-top: 12px}.social-fields{display: grid;gap: 0 14px;grid-template-columns: repeat(auto-fit,minmax(min(260px,100%),1fr))}.social-field label{display: flex;align-items: center;gap: 8px}.social-field label .social{width: 30px;height: 30px;border-radius: 50%;display: grid;place-items: center;background: var(--secondary-btn)}.social-preview{margin-top: 14px;display: flex;align-items: center;gap: 12px;flex-wrap: wrap}.social-preview .social-bar{justify-content: flex-start}@media (prefers-reduced-motion: reduce){.social-bar .social,.switch,.switch::after{transition: none}}.announcement{display: flex;align-items: flex-start;gap: 10px;padding: 12px 12px 12px 16px;border-radius: 14px;margin-bottom: 16px;border: 1px solid}.announcement p{margin: 0;flex: 1;font-weight: 600;white-space: normal}.announcement .ico{margin-top: 2px}.ann-info{background: var(--teal-tint);border-color: var(--info-border);color: var(--navy)}.ann-warn{background: var(--gold-tint);border-color: var(--warn-border);color: var(--warn-text)}.pill-online{background: #e8e5fb;color: #4b3aa8;display: inline-flex;align-items: center;gap: 4px}button.btn.btn-join-meet,.btn-join-meet{background: #1a73e8}button.btn.btn-join-meet:hover{background: #155fc0}.join-card,.maintenance{text-align: center;display: grid;justify-items: center;gap: 8px}.join-card .ico,.maintenance .ico{color: var(--teal-dark)}.meet-form{max-width: 560px}.recovery-key{font: 700 1.05rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing: .04em;word-break: break-all;text-align: center;padding: 14px 12px;margin: 12px 0;border: 2px dashed var(--teal-dark);border-radius: 12px;background: var(--teal-tint);color: var(--ink);user-select: all}.voice-field{padding: 14px;border: 1px dashed var(--teal-dark);border-radius: 14px;background: var(--teal-tint)}.voice-field>label{display: inline-flex;align-items: center;gap: 6px;font-weight: 700}.voice-field .req{color: var(--danger)}.voice-field .voice-why{margin: 4px 0 10px}.voice-field audio,.teach-voice audio{display: block;width: 100%;max-width: 520px;margin: 8px 0}.voice-rec{display: flex;align-items: center;gap: 12px;flex-wrap: wrap;margin: 6px 0 10px}.voice-rec [data-voice-rec]{display: inline-flex;align-items: center;gap: 6px}.voice-rec .is-recording{background: var(--danger);border-color: var(--danger);color: #fff}.voice-rec .is-recording svg{animation: voice-pulse 1s ease-in-out infinite}@keyframes voice-pulse{50%{opacity: .35}}.voice-timer{font: 600 15px/1 ui-monospace,SFMono-Regular,Consolas,monospace;min-width: 3.5ch}.voice-field input[type="file"]{margin-top: 8px}.teach-voice{margin: 14px 0 6px;padding: 12px 14px;border-radius: 14px;background: var(--teal-tint)}.teach-voice h2{display: flex;align-items: center;gap: 6px;margin: 0 0 4px;font-size: 1.05rem}@media (prefers-reduced-motion: reduce){.voice-rec .is-recording svg{animation: none}}.site-footer .footer-credit .footer-thanks{max-width: 42rem;line-height: 1.5;margin-bottom: 4px}a.stat-link{display: block;color: inherit;text-decoration: none;cursor: pointer;transition: border-color .15s,box-shadow .15s,transform .15s}a.stat-link:hover,a.stat-link:focus-visible{border-color: var(--teal);box-shadow: 0 6px 18px rgba(25,41,84,.10)}a.stat-link:active{transform: scale(.99)}.stat-link .stat-more{display: inline-block;margin-top: 8px;font-size: 13.5px;font-weight: 600;color: var(--teal-dark)}.quick-tiles .tile .tile-more{margin-top: auto;padding-top: 6px;font-size: 13px;font-weight: 600;color: var(--teal-dark)}.quick-tiles .tile:hover,.quick-tiles .tile:focus-visible{border-color: var(--teal);box-shadow: 0 6px 18px rgba(25,41,84,.10)}.prewrap{white-space: pre-wrap;overflow-wrap: anywhere}.note-box{background: var(--gold-tint);border-radius: 12px;padding: 10px 12px;margin: 10px 0;overflow-wrap: anywhere}.staff-chip{display: inline-block;font-size: 12.5px;font-weight: 700;padding: 2px 9px;border-radius: 999px;background: var(--secondary-btn);color: var(--ink);white-space: nowrap}.staff-chip.staff-manager{background: var(--navy);color: #fff}.staff-chip.staff-assistant{background: var(--teal-tint);color: var(--teal-dark)}.staff-chip.staff-teacher{background: var(--gold-tint);color: var(--gold-dark)}.sport-actions{gap: 8px;flex-wrap: wrap;margin-top: 10px}.sport-actions form{display: inline}.checks .perm-group{flex-basis: 100%;margin: 8px 0 2px;color: var(--muted);font-size: 13.5px}.group-staff{display: flex;flex-wrap: wrap;gap: 6px 14px;margin-top: 8px;font-size: 14.5px}.group-hero-action{display: flex;flex-wrap: wrap;gap: 8px;align-items: center}.staff-box{border: 1px solid var(--line);border-radius: 12px;padding: 10px 12px;margin: 10px 0;display: grid;gap: 8px}.staff-line{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;min-width: 0}.staff-line form{margin: 0;margin-inline-start: auto}.staff-appoint label{font-weight: 600;font-size: 14.5px}.staff-appoint .row{flex-wrap: nowrap;gap: 8px}.staff-appoint select{flex: 1;min-width: 0}.staff-card h2{margin: 8px 0 2px}.group-panel-head{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 12px;margin-bottom: 14px}.group-panel-head .icon{font-size: 28px;line-height: 1}.group-switch{display: flex;flex-wrap: wrap;gap: 6px;margin-inline-start: auto}.group-switch a{text-decoration: none;padding: 6px 12px;border-radius: 999px;background: var(--secondary-btn);color: var(--ink);font-weight: 600;font-size: 14px;min-height: 36px;display: inline-flex;align-items: center}.group-switch a[aria-current="page"]{background: var(--accent);color: #fff}.request-list{display: grid;gap: 12px}a.request-card{display: block;text-decoration: none;color: inherit}a.card.request-card:hover,a.card.request-card:focus-visible{border-color: var(--teal)}.request-card .facts-inline{margin: 6px 0 0}.list-link.request-card{padding: 12px 0}.eval-row{padding: 10px 0;border-bottom: 1px solid var(--line)}.eval-row:last-child{border-bottom: 0}.rating-big{font-size: 28px;font-weight: 800;color: var(--gold-dark);white-space: nowrap;text-align: center;line-height: 1.1}.rating-big small{display: block;font-size: 12.5px;font-weight: 600;color: var(--muted)}.steps{list-style: none;padding: 0;margin: 14px 0;display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 6px;counter-reset: none}.steps .step{display: flex;flex-direction: column;align-items: center;gap: 4px;text-align: center;font-size: 13px;color: var(--muted);position: relative;min-width: 0}.steps .step::before{content: "";position: absolute;top: 13px;inset-inline-start: -50%;width: 100%;height: 3px;background: var(--line);z-index: 0}.steps .step:first-child::before{display: none}.steps .dot{width: 28px;height: 28px;border-radius: 50%;background: #fff;border: 3px solid var(--line);display: grid;place-items: center;font-weight: 800;font-size: 13px;position: relative;z-index: 1}.steps .step-done{color: var(--teal-dark)}.steps .step-done .dot{background: var(--teal);border-color: var(--teal);color: #fff}.steps .step-done::before,.steps .step-current::before{background: var(--teal)}.steps .step-current{color: var(--ink);font-weight: 700}.steps .step-current .dot{border-color: var(--gold);background: var(--gold-tint)}.steps-mini{margin: 8px 0 0;max-width: 220px}.steps-mini .dot{width: 14px;height: 14px;border-width: 2px}.steps-mini .step::before{top: 6px;height: 2px}.steps-intro .dot{color: var(--muted)}.material-list{list-style: none;padding: 0;margin: 0 0 12px;display: grid;gap: 8px}.material-list li{display: flex;align-items: center;justify-content: space-between;gap: 10px;padding: 10px 12px;border: 1px solid var(--line);border-radius: 12px;min-width: 0}.material-list a{display: inline-flex;align-items: center;gap: 8px;min-width: 0;min-height: 32px;font-weight: 600}.material-list a span{overflow-wrap: anywhere}.slot-box{border: 2px solid var(--teal-tint);background: #fbfefe;border-radius: 12px;padding: 10px 12px;margin: 12px 0}.review-actions{border-top: 1px dashed var(--line);margin-top: 16px;padding-top: 12px}.review-actions .fold{margin-top: 10px}.timeline{list-style: none;padding: 0;margin: 10px 0 0;display: grid;gap: 10px}.timeline li{border-inline-start: 3px solid var(--teal-tint);padding-inline-start: 10px;overflow-wrap: anywhere}.timeline-fold{margin-top: 14px}.rate{border: 0;padding: 0;margin: 0 0 12px;min-width: 0}.rate legend{font-weight: 700;margin-bottom: 6px}.rate-options{display: grid;grid-template-columns: repeat(5,minmax(0,1fr));gap: 6px;max-width: 360px}.rate-options label{position: relative}.rate-options input{position: absolute;opacity: 0;width: 100%;height: 100%;inset: 0;margin: 0;cursor: pointer}.rate-options span{display: grid;place-items: center;min-height: 46px;border-radius: 12px;border: 2px solid var(--input-border);font-weight: 800;font-size: 17px;background: #fff}.rate-options input:checked + span{background: var(--navy);border-color: var(--navy);color: #fff}.rate-options input:focus-visible + span{outline: 3px solid var(--focus-ring);outline-offset: 2px}.progress{height: 10px;border-radius: 999px;background: var(--secondary-btn);overflow: hidden;margin-top: 8px}.progress span{display: block;height: 100%;background: var(--teal);border-radius: inherit}@media (max-width: 640px){.steps .step{font-size: 11.5px}.group-switch{margin-inline-start: 0;width: 100%}}.hours-pills{display: flex;flex-wrap: wrap;gap: 6px;margin-top: 10px}.delivery-box{border: 2px solid var(--teal-tint);border-radius: 12px;padding: 12px;margin-top: 14px}.delivery-box h2{margin-top: 0}.delivery-box form{margin-top: 8px}.credit-plus{color: var(--teal-dark)}.trial-card{border-style: dashed;border-color: var(--gold)}.trial-new{display: grid;gap: 8px;margin: 10px 0}.trial-row>a{text-decoration: none;color: inherit;min-width: 0}.trial-row .row{gap: 6px;flex-wrap: nowrap}.trial-row form{margin: 0}.trial-banner{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px;background: var(--gold-tint);border: 2px dashed var(--gold);border-radius: 12px;padding: 10px 12px;margin-bottom: 14px}.trial-banner form{margin: 0}.add-hours{border: 2px solid var(--teal-tint);border-radius: 12px;padding: 10px 12px;margin: 14px 0}.add-hours h3{margin-top: 0;display: flex;align-items: center;gap: 6px}.add-hours .deduct-row{grid-template-columns: 220px minmax(0,1fr) auto}@media (max-width: 560px){.add-hours .deduct-row{grid-template-columns: minmax(0,1fr)}}.me-home{margin-bottom: 20px}.me-home .home-art{display: none}@media (min-width: 760px){.me-home.has-art{display: grid;grid-template-columns: minmax(0,1fr) 190px;column-gap: 24px;align-items: center}.me-home.has-art>:not(.home-art){grid-column: 1}.me-home .home-art{display: block;grid-column: 2;grid-row: 1 / span 3;width: 190px;height: auto;justify-self: end}}.teach-intro .teach-art{width: 180px;height: 135px}.empty-state.empty-art .empty-pic{width: 120px;height: 128px;object-fit: contain;display: block;margin: -6px auto 0}.empty-state.empty-art .empty-pic + .empty-ico{display: none}.join-card .join-art,.notfound .notfound-art{width: 170px;height: 130px}.notfound .notfound-art{height: 170px}.notfound .row{justify-content: center}.school-banner .school-art{display: none}@media (min-width: 760px){.school-banner.has-art{grid-template-columns: 150px minmax(0,1fr) auto}.school-banner .school-art{display: block;width: 150px;height: auto;filter: drop-shadow(0 10px 18px rgba(0,0,0,.3))}}@media print{.school-banner .school-art{display: none}}.card-side-art{position: relative}.card-side-art .side-art{display: none}@media (min-width: 900px){.card-side-art{padding-inline-end: 190px}.card-side-art .side-art{display: block;position: absolute;inset-inline-end: 18px;top: 14px;width: 150px;height: auto}}.me-home h1{margin-bottom: 2px}.me-home>p.muted{margin: 0 0 14px}.quick-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 12px}@media (min-width: 760px){.quick-grid{grid-template-columns: repeat(4,minmax(0,1fr))}}.quick{display: flex;flex-direction: column;align-items: flex-start;gap: 6px;min-height: 118px;padding: 16px;min-width: 0;border-radius: 18px;background: #fff;border: 1px solid var(--line);color: var(--ink);text-decoration: none;font: inherit;text-align: start;cursor: pointer;box-shadow: var(--card-shadow);transition: border-color .15s,transform .15s}.quick:hover,.quick:focus-visible{border-color: var(--teal);transform: translateY(-1px)}.quick .ico{color: var(--teal-dark)}.quick strong{font-size: 17px}.quick small{color: var(--muted);font-size: 13.5px;line-height: 1.4}.quick-main{background: var(--navy);border-color: var(--navy);color: #fff}.quick-main .ico{color: var(--gold)}.quick-main small{color: rgba(255,255,255,.8)}.next-booked{display: flex;align-items: center;gap: 12px;margin-top: 12px;padding: 14px 16px;border-radius: 16px;background: var(--teal-tint);color: var(--ink);text-decoration: none;border: 1px solid transparent}.next-booked:hover{border-color: var(--teal)}.next-booked .ico{color: var(--teal-dark);flex: none}.next-booked>span{display: flex;flex-direction: column;min-width: 0}.next-booked small{color: var(--muted)}.how-steps{list-style: none;counter-reset: step;display: grid;gap: 10px;padding: 0;margin: 0 0 20px}@media (min-width: 760px){.how-steps{grid-template-columns: repeat(3,minmax(0,1fr))}}.how-steps li{counter-increment: step;display: grid;grid-template-columns: 40px 1fr;column-gap: 12px;align-items: center;padding: 14px;border-radius: 16px;background: #fff;border: 1px solid var(--line)}.how-steps li::before{content: counter(step);grid-row: span 2;width: 40px;height: 40px;border-radius: 50%;display: grid;place-items: center;background: var(--teal);color: #fff;font-weight: 700;font-size: 18px}.how-steps small{color: var(--muted);line-height: 1.45}.jump-bar{display: flex;gap: 8px;overflow-x: auto;padding: 14px 2px 4px;margin-bottom: -4px;scrollbar-width: none}.jump-bar::-webkit-scrollbar{display: none}.jump-bar a{flex: none;display: inline-flex;align-items: center;gap: 6px;min-height: 44px;padding: 0 14px;border-radius: 999px;background: #fff;border: 1px solid var(--line);color: var(--navy);font-weight: 600;text-decoration: none;white-space: nowrap}.jump-bar a:hover{border-color: var(--teal)}#my-sessions,#my-groups,#my-hours,#history,#settings{scroll-margin-top: 16px}.btn-join .lbl-short{display: none}@media (max-width: 640px){.btn-join{width: auto;padding: 0 14px;gap: 4px}.btn-join .lbl-long{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0)}.btn-join .lbl-short{display: inline;position: static;width: auto;height: auto;clip: auto;overflow: visible;font-weight: 700}.joined-tag{width: auto;padding: 0 12px}.joined-tag span{position: static;width: auto;height: auto;clip: auto;overflow: visible}}.tab-qr{display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;min-height: var(--tabbar-h);min-width: 0;background: none;border: 0;padding: 0 2px 6px;font: inherit;font-size: 11.5px;font-weight: 700;color: var(--navy);cursor: pointer}.tab-qr .ico{width: 46px;height: 46px;padding: 10px;margin-top: -18px;border-radius: 50%;background: var(--navy);color: #fff;box-shadow: 0 4px 12px rgba(25,41,84,.3);border: 3px solid #fff;box-sizing: border-box}.tab-qr span{max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.hm-field .label{display: block;font-weight: 600;margin-bottom: 6px}.hm-row{display: grid;grid-template-columns: 1fr 1fr;gap: 8px}.hm{display: flex;align-items: center;gap: 6px;margin: 0;font-weight: 400}.hm input{min-width: 0;flex: 1;text-align: center}.hm span{color: var(--muted);font-size: 14px;white-space: nowrap}.apply-cta{display: flex;align-items: center;gap: 12px;margin: 0 0 16px;padding: 14px 16px;border-radius: 16px;background: var(--teal-tint);color: var(--ink);text-decoration: none;border: 1px solid transparent}.apply-cta:hover{border-color: var(--teal)}.apply-cta .ico{color: var(--teal-dark);flex: none}.apply-cta>span{display: flex;flex-direction: column;min-width: 0}.apply-cta small{color: var(--muted)}.apply-form .q-num{display: inline-grid;place-items: center;width: 26px;height: 26px;border-radius: 50%;background: var(--teal);color: #fff;font-size: 14px;margin-inline-end: 6px}.app-row{padding: 14px 0;border-top: 1px solid var(--line);display: grid;gap: 8px}.app-row:first-of-type{border-top: 0}.interview-box{background: var(--teal-tint)}.app-answers{margin: 12px 0;display: grid;gap: 4px}.app-answers dt{font-weight: 700;color: var(--navy);margin-top: 8px}.app-answers dd{margin: 0;line-height: 1.6}.app-card footer{flex-wrap: wrap;gap: 8px;align-items: flex-start}.fold-inline>summary{list-style: none;cursor: pointer}.fold-inline>summary::-webkit-details-marker{display: none}.fold-inline[open]{flex-basis: 100%}.type-picker{border: 0;padding: 0;margin: 0 0 14px;display: grid;gap: 10px;grid-template-columns: repeat(auto-fit,minmax(min(170px,100%),1fr))}.type-picker legend{font-weight: 700;font-size: 17px;margin-bottom: 8px;padding: 0}.type-option{position: relative;display: block;margin: 0;cursor: pointer}.type-option input{position: absolute;opacity: 0;inset: 0;width: 100%;height: 100%;margin: 0;cursor: pointer}.type-card{display: flex;flex-direction: column;gap: 4px;height: 100%;padding: 14px;border: 2px solid var(--line);border-radius: 16px;background: #fff;transition: border-color .15s,background .15s}.type-card strong{font-size: 16.5px}.type-card small{color: var(--muted);line-height: 1.45;font-weight: 400}.type-ico{width: 44px;height: 44px;border-radius: 14px;display: grid;place-items: center;background: var(--secondary-btn);color: var(--navy);margin-bottom: 2px}.type-option input:checked + .type-card{border-color: var(--teal);background: var(--teal-tint)}.type-option input:checked + .type-card .type-ico{background: var(--teal);color: #fff}.type-option input:focus-visible + .type-card{outline: 3px solid var(--focus-ring);outline-offset: 2px}.signup-form[data-member-type="student"] .only-staff,.signup-form[data-member-type="student"] .only-teacher,.signup-form[data-member-type="teacher"] .only-student,.signup-form[data-member-type="principal"] .only-student,.signup-form[data-member-type="principal"] .only-teacher,.signup-form[data-member-type="principal"] .not-principal,.signup-form[data-member-type="dorm"] .only-student,.signup-form[data-member-type="dorm"] .only-teacher,.signup-form[data-member-type="dorm"] .not-principal{display: none}.type-badge{display: inline-block;padding: 1px 9px;border-radius: 6px;font-size: 13px;font-weight: 700}.type-student{background: var(--secondary-btn);color: var(--navy)}.type-teacher{background: var(--teal-tint);color: var(--teal-dark)}.type-principal{background: var(--gold-tint);color: var(--gold-dark)}.id-card .type-badge{box-shadow: 0 0 0 1px rgba(255,255,255,.25)}.staff-welcome{border-top: 3px solid var(--teal)}.impact-row{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 10px;margin: 6px 0 14px}.impact-row>div{background: var(--th-bg);border-radius: 12px;padding: 12px;text-align: center;min-width: 0}.impact-row strong{display: block;font-size: 26px;color: var(--teal-dark);font-variant-numeric: tabular-nums}.impact-row small{color: var(--muted);line-height: 1.35;display: block}.schools-band{margin: 24px 0}.schools-head{max-width: 680px;margin-bottom: 12px}.schools-head h2{margin: 4px 0 6px}.tick-list{list-style: none;padding: 0;margin: 0 0 14px;display: grid;gap: 6px}.tick-list li{position: relative;padding-inline-start: 24px;color: var(--muted);line-height: 1.5}.tick-list li::before{content: "✓";position: absolute;inset-inline-start: 0;color: var(--teal-dark);font-weight: 700}.school-head{align-items: flex-start}.bar-chart{display: grid;grid-auto-flow: column;grid-auto-columns: minmax(0,1fr);gap: 10px;align-items: end;height: 190px;padding: 8px 0 0;border-bottom: 1px solid var(--line);margin-bottom: 12px}.bar-col{display: flex;flex-direction: column;align-items: center;justify-content: flex-end;height: 100%;min-width: 0}.bar{display: block;width: min(34px,70%);background: var(--teal);border-radius: 4px 4px 0 0;min-height: 0}.bar-col:hover .bar{background: var(--teal-dark)}.bar-val{font-size: 12.5px;color: var(--muted);font-variant-numeric: tabular-nums;margin-bottom: 4px}.bar-label{font-size: 12.5px;color: var(--muted);margin-top: 6px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;max-width: 100%}.bar-chart .bar-col:last-child .bar-label{color: var(--ink);font-weight: 700}.compact-table th,.compact-table td{padding: 6px 8px;font-size: 14px}.hbar-row{display: grid;grid-template-columns: 48px 1fr auto;align-items: center;gap: 10px;padding: 6px 0}.hbar-key{font-weight: 700}.hbar{height: 10px;background: var(--secondary-btn);border-radius: 99px;overflow: hidden}.hbar>span{display: block;height: 100%;background: var(--navy-soft);border-radius: inherit}.hbar-num{color: var(--muted);font-size: 14px;font-variant-numeric: tabular-nums}@media (min-width: 900px){.how-steps-wide{grid-template-columns: repeat(5,minmax(0,1fr))}}.how-steps-wide li{background: var(--th-bg)}.print-only{display: none}@media print{.print-only{display: block}.print-date{font-weight: 700;margin: 0 0 10px}.bar{-webkit-print-color-adjust: exact;print-color-adjust: exact}.hbar>span,.stat.accent{-webkit-print-color-adjust: exact;print-color-adjust: exact}}.todo-card{border-top: 3px solid var(--teal)}.todo-item{display: grid;grid-template-columns: auto 1fr auto;gap: 12px;align-items: center;padding: 12px 14px;margin-top: 8px;border-radius: 12px;text-decoration: none;color: var(--ink);background: var(--th-bg);border: 1px solid var(--line)}.todo-item:hover{border-color: var(--teal);color: var(--ink)}.todo-item .ico{color: var(--teal-dark)}.todo-warn{background: var(--error-bg);border-color: var(--error-border)}.todo-warn .ico{color: var(--error-text)}.todo-info .ico{color: var(--gold-dark)}.todo-go{font-size: 22px;color: var(--muted);line-height: 1}.todo-done{display: flex;gap: 8px;align-items: center;color: var(--teal-dark);font-weight: 600;margin: 6px 0 0}.staff-shortcut{border-color: var(--teal)}.group-news .person-row{text-decoration: none;color: var(--ink)}.group-news .person-row small{line-height: 1.5}.staff-preview{background: var(--gold-tint);color: var(--gold-dark)}.preview-note{display: flex;flex-wrap: wrap;gap: 6px 10px;align-items: center}.preview-mode form[method="post"]{opacity: .55;pointer-events: none}.group-pick select{width: auto;max-width: 100%}.staff-panel-link{margin-bottom: 8px}.nav-account{gap: 8px}.nav-account .nav-main{background: var(--teal-tint);color: var(--teal-dark);font-weight: 700}.nav-account .nav-main:hover{background: var(--teal);color: #fff}.nav-account .nav-main[aria-current="page"]{background: var(--navy);color: #fff}.acct-menu{position: relative}.acct-menu>summary{list-style: none;display: inline-flex;align-items: center;gap: 6px;padding: 8px 12px;min-height: 40px;border-radius: 10px;border: 1px solid var(--line);cursor: pointer;font-weight: 600;color: var(--ink);background: #fff}.acct-menu>summary::-webkit-details-marker{display: none}.acct-menu>summary:hover,.acct-menu[open]>summary{border-color: var(--teal)}.acct-menu .acct-chev{font-size: 12px;color: var(--muted)}.acct-menu .badge{position: static}.acct-panel{position: absolute;inset-inline-end: 0;top: calc(100% + 6px);z-index: 60;min-width: 240px;background: #fff;border: 1px solid var(--line);border-radius: 14px;box-shadow: var(--shadow);padding: 6px;display: grid;gap: 2px}.acct-panel a,.acct-panel .nav-btn{width: 100%;justify-content: flex-start;padding: 10px 12px;border-radius: 10px}.acct-panel form{margin: 0;border-top: 1px solid var(--line);padding-top: 4px;margin-top: 2px}.acct-panel .badge{margin-inline-start: auto}.school-banner{display: grid;grid-template-columns: auto minmax(0,1fr) auto;gap: 16px;align-items: center;padding: 22px;border-radius: 20px;margin-bottom: 20px;color: #fff;background: linear-gradient(140deg,var(--navy),var(--navy-soft));border-bottom: 4px solid var(--gold)}.school-banner-ico{width: 60px;height: 60px;border-radius: 18px;display: grid;place-items: center;background: rgba(255,255,255,.12);color: var(--gold)}.school-banner .eyebrow{color: var(--gold)}.school-banner h1{color: #fff;margin: 2px 0 6px;font-size: clamp(21px,3.2vw,30px);line-height: 1.3}.school-banner p{color: #cdd5ea;margin: 0}.school-banner-actions{display: grid;gap: 8px;justify-items: end}.school-banner select{width: auto;max-width: 260px}.btn.btn-light{background: #fff;color: var(--navy);border-color: #fff}.btn.btn-light:hover{background: var(--gold-tint);color: var(--navy)}@media (max-width: 700px){.school-banner{grid-template-columns: minmax(0,1fr);padding: 18px;gap: 12px}.school-banner-ico{width: 48px;height: 48px}.school-banner-actions{justify-items: stretch}.school-banner-actions .btn,.school-banner select{width: 100%;max-width: none}}@media print{.school-banner{color: #000;background: none;border: 0;padding: 0}.school-banner h1,.school-banner p{color: #000}.school-banner-ico{display: none}}.school-line{display: flex;gap: 8px;align-items: center;padding: 10px 12px;border-radius: 12px;background: var(--teal-tint);color: var(--teal-dark);margin: 0 0 14px}.school-line strong{color: var(--ink)}.school-card h2{font-size: 18px}.staff-panel-card{border-top-color: var(--navy)}.settings-card details.fold + details.fold{border-top: 1px solid var(--line);margin-top: 8px;padding-top: 8px}.settings-card summary h3{margin: 0;display: inline-flex;gap: 8px;align-items: center;font-size: 16px}@media (max-width: 560px){.id-card{grid-template-columns: minmax(0,1fr) auto;justify-items: stretch;gap: 12px;align-items: start}.id-card .qr-tap{padding: 6px 6px 4px;font-size: 11.5px}.id-card .qr-tap .qr svg,.id-card .qr-tap .qr img,.id-card .qr-tap .qr canvas{width: 96px !important;height: 96px !important}.id-card h1{font-size: 20px}.id-card .meta{font-size: 13.5px}.card{margin-bottom: 12px}.card h2{font-size: 18px}.section-head h1{font-size: 24px}}.compact-table{width: 100%;table-layout: fixed;min-width: 0}.ps-group{grid-column: 1 / -1;font-size: 12.5px;font-weight: 700;color: var(--muted);padding: 8px 4px 0;letter-spacing: .2px}.ps-group:first-child{padding-top: 0}.admin-nav .nav-group{font-size: 12px;font-weight: 700;color: var(--muted);padding: 12px 10px 4px}.admin-nav .nav-group:first-child{padding-top: 4px}@media (max-width: 900px){.admin-nav .nav-group{display: none}}.overview-sub{font-size: 17px;margin: 18px 0 10px;display: flex;align-items: center;gap: 8px}.overview-sub:first-of-type{margin-top: 4px}.perks{list-style: none;padding: 0;margin: 0 0 20px;display: grid;gap: 10px;grid-template-columns: repeat(auto-fit,minmax(min(260px,100%),1fr))}.perks li{display: grid;grid-template-columns: 40px 1fr;gap: 12px;align-items: start;padding: 14px;background: #fff;border: 1px solid var(--line);border-radius: 16px}.perk-ico{width: 40px;height: 40px;border-radius: 12px;display: grid;place-items: center;background: var(--teal-tint);color: var(--teal-dark);font-weight: 700;font-size: 14px}.perks strong{display: block;margin-bottom: 2px}.perks small{color: var(--muted);line-height: 1.5}.join-strip{margin-top: 18px;padding-top: 14px;border-top: 1px solid var(--line)}.join-strip p{margin: 0 0 10px;color: var(--muted);font-size: 14.5px}.join-chips{display: grid;grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px}.join-chips a{display: flex;flex-direction: column;align-items: center;gap: 4px;padding: 10px 6px;min-height: 64px;justify-content: center;border-radius: 12px;background: var(--secondary-btn);color: var(--navy);font-weight: 700;text-decoration: none;font-size: 14px;text-align: center}.join-chips a:hover{background: var(--teal-tint);color: var(--teal-dark)}details.fold-plain>summary h2{margin: 0;display: inline-flex;align-items: center;gap: 8px}@media (max-width: 560px){.type-picker{grid-template-columns: repeat(3,minmax(0,1fr));gap: 8px}.type-card{align-items: center;text-align: center;padding: 10px 6px;gap: 6px}.type-card small{display: none}.type-card strong{font-size: 14.5px;line-height: 1.3}.type-ico{width: 40px;height: 40px;margin: 0}.hint a,.section-head>a,.muted a{display: inline-block;padding: 6px 2px}.quick-tiles{grid-template-columns: repeat(2,minmax(0,1fr))}}.nowrap{white-space: nowrap}.grid.quick-tiles{grid-template-columns: repeat(auto-fit,minmax(min(150px,100%),1fr))}@media (max-width: 640px){.grid.quick-tiles{grid-template-columns: repeat(2,minmax(0,1fr))}}.log-row{display: grid;grid-template-columns: auto 1fr auto;gap: 10px;align-items: start;padding: 9px 0;border-bottom: 1px solid var(--line)}.log-row:last-child{border-bottom: 0}.log-row .ico{color: var(--teal-dark);margin-top: 2px}.log-row>span{min-width: 0;overflow-wrap: anywhere;line-height: 1.45}.log-row small{white-space: nowrap}details.inline-confirm{display: inline-block}details.inline-confirm>summary{list-style: none;display: inline-flex}details.inline-confirm>summary::-webkit-details-marker{display: none}details.inline-confirm[open]{display: block;background: var(--th-bg);padding: 10px;border-radius: 12px;margin-top: 6px}.role-assign .form-row{align-items: end}.drawer-nav .drawer-main{background: var(--teal-tint);color: var(--teal-dark);font-weight: 700;border-radius: 12px}.drawer-nav .drawer-main .badge{margin-inline-start: auto}.session-actions{gap: 6px;flex-wrap: wrap;justify-content: flex-end}.session-actions form{margin: 0}@media (max-width: 560px){.session-actions{width: 100%;justify-content: stretch}.session-actions>*{flex: 1 1 auto}.session-actions .btn{width: 100%}}:root{--teal-btn: #15847d}.hero .btn,.nav-account .nav-cta,.drawer-nav a.drawer-cta,.btn-scan,.btn-join,button.btn.btn-join,.nav-account .nav-main:hover,.apply-form .q-num{background: var(--teal-btn)}.nav-account .nav-cta:hover,.btn-scan:hover,button.btn.btn-join:hover{background: var(--teal-dark)}.legal-section h2{font-size: 19px;margin: 0 0 10px}.legal-section p{margin: 0 0 10px}.legal-section .tick-list{margin-bottom: 10px}.legal-tabs{margin-bottom: 6px}.footer-legal{display: flex;flex-wrap: wrap;gap: 6px 18px;justify-content: center;padding: 6px 16px 2px;font-size: 14px}.footer-legal a{color: inherit;opacity: .85}.agree-row{align-items: flex-start;font-weight: 500;line-height: 1.5}.agree-row input{flex: none;margin-top: 3px}.stars{white-space: nowrap}.stars-on{color: var(--gold);letter-spacing: 1px}.stars-off{color: #cfd5e2;letter-spacing: 1px}.feedback-form{display: flex;flex-wrap: wrap;align-items: center;gap: 8px 12px;margin-top: 6px}.feedback-comment{flex: 1 1 220px;min-width: 0}.star-pick{display: inline-flex;flex-direction: row-reverse;gap: 2px;direction: ltr}.star-pick input{position: absolute;opacity: 0;width: 1px;height: 1px}.star-pick label{font-size: 30px;line-height: 1;color: #cfd5e2;cursor: pointer;padding: 2px;transition: transform .1s}.star-pick label:hover,.star-pick label:hover ~ label,.star-pick input:checked ~ label{color: var(--gold)}.star-pick label:hover{transform: scale(1.15)}.star-pick input:focus-visible + label{outline: 2px solid var(--focus-ring);border-radius: 6px}.feedback-row{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 8px 16px;padding: 12px 0;border-top: 1px solid var(--line)}.feedback-row:first-of-type{border-top: 0}.feedback-row.is-pending{background: var(--gold-tint);margin: 0 -8px;padding: 12px 8px;border-radius: var(--radius);border-top: 0}.rate-now{margin-top: 16px;border-color: var(--gold)}.feedback-sum{display: flex;gap: 18px;align-items: flex-start;flex-wrap: wrap}.feedback-avg{font-size: 44px;font-weight: 700;line-height: 1;color: var(--navy)}.feedback-avg small{font-size: 16px;color: var(--muted);margin-inline-start: 4px}.feedback-dist{display: grid;gap: 3px;margin-top: 8px;min-width: 220px}.fd-row{display: grid;grid-template-columns: 28px 1fr 28px;gap: 8px;align-items: center;font-size: 13px}.fd-bar{height: 8px;background: var(--secondary-btn);border-radius: 999px;overflow: hidden}.fd-bar span{display: block;height: 100%;background: var(--gold)}.fd-n{color: var(--muted);text-align: end}.feedback-comments{list-style: none;padding: 0;margin: 14px 0 0;display: grid;gap: 10px}.feedback-comments li{padding: 10px 12px;background: var(--bg);border-radius: var(--radius)}.library-filters{display: grid;grid-template-columns: 1fr auto auto;gap: 10px;align-items: end;padding: 14px 16px;margin-bottom: 14px}.library-filters .field{margin: 0}.library-filters select{min-width: 180px}@media (max-width: 640px){.library-filters{grid-template-columns: 1fr}.library-filters .btn{width: 100%}}.library-list .resource + .resource{border-top: 1px solid var(--line)}.impact-hero{background: linear-gradient(135deg,var(--navy) 0%,var(--navy-soft) 100%);color: #fff;border-radius: var(--radius-card);padding: 26px 22px}.impact-hero .eyebrow{color: var(--gold)}.impact-hero h1{font-size: clamp(24px,4.4vw,38px);margin: 6px 0 10px}.impact-hero .muted{color: #cdd5ea;max-width: 720px}.impact-hero .btn-secondary{background: rgba(255,255,255,.14);color: #fff}.impact-hero .btn-ghost{color: #fff;border-color: rgba(255,255,255,.4)}.impact-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px;margin-top: 18px}@media (min-width: 700px){.impact-grid{grid-template-columns: repeat(4,minmax(0,1fr))}}.impact-stat{background: rgba(255,255,255,.08);border: 1px solid rgba(255,255,255,.14);border-radius: 12px;padding: 14px 12px;display: flex;flex-direction: column;gap: 4px}.impact-stat strong{font-size: clamp(26px,4vw,36px);line-height: 1.1;font-variant-numeric: tabular-nums}.impact-stat span{color: #cdd5ea;font-size: 14px}.impact-stat.accent{background: rgba(31,165,157,.22);border-color: rgba(31,165,157,.5)}.bar-chart-12{gap: 6px}.bar-chart-12 .bar-val{font-size: 11px}.how-steps-col{grid-template-columns: 1fr !important}.quote-grid{display: grid;gap: 12px}@media (min-width: 760px){.quote-grid{grid-template-columns: repeat(2,minmax(0,1fr))}}.quote{margin: 0;padding: 16px 18px;background: var(--bg);border-radius: var(--radius);border-inline-start: 4px solid var(--teal)}.quote.is-featured{background: var(--gold-tint);border-inline-start-color: var(--gold)}.quote p{margin: 0 0 10px;font-size: 16.5px;line-height: 1.6}.quote p::before{content: "“";color: var(--teal-dark);font-size: 22px;margin-inline-end: 2px}.quote footer{font-size: 14px}.quote-note{margin: 2px 0 0;font-size: 14px}.gallery-grid{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: 10px}@media (min-width: 700px){.gallery-grid{grid-template-columns: repeat(3,minmax(0,1fr))}}.gallery-item{margin: 0;background: var(--bg);border-radius: var(--radius);overflow: hidden}.gallery-item img{display: block;width: 100%;aspect-ratio: 4 / 3;object-fit: cover}.gallery-item figcaption{padding: 8px 10px;font-size: 13.5px;color: var(--muted)}.gallery-admin .session-actions{padding: 0 8px 8px}.testimonial-row>span{flex: 1}@media print{.impact-hero{color: #000;background: none;border: 1px solid #999}.impact-hero .muted,.impact-stat span{color: #333}.impact-stat{border-color: #999}}.badge-list{display: flex;flex-wrap: wrap;gap: 6px;margin-top: 10px}.achv{display: inline-flex;align-items: center;gap: 5px;padding: 4px 10px 4px 8px;border-radius: 999px;font-size: 13.5px;font-weight: 600;background: var(--gold-tint);color: var(--gold-dark);border: 1px solid #e6cf9c;cursor: help}.achv svg{flex: none}.achv.is-locked{background: var(--secondary-btn);color: var(--muted);border-color: var(--line);opacity: .75}.id-card .achv{background: rgba(255,255,255,.14);color: #fff;border-color: rgba(255,255,255,.3)}.month-stars{border-color: var(--gold)}.share-sheet{max-width: 520px}.share-canvas{display: block;width: 100%;max-width: 420px;aspect-ratio: 1;margin: 10px auto;border-radius: 14px;background: var(--navy)}.share-sheet .row{justify-content: center}.bar-chart-days{gap: 3px;height: 170px}.bar-chart-days .bar{width: min(26px,85%);position: relative;overflow: hidden}.bar-chart-days .bar-in{position: absolute;left: 0;right: 0;bottom: 0;background: var(--navy);display: block}.bar-chart-days .bar-val{font-size: 10.5px}.bar-chart-days .bar-label{font-size: 10.5px}.legend-dot{display: inline-block;width: 10px;height: 10px;border-radius: 50%;vertical-align: middle}:root{--section-gap: 32px;--shadow-soft: 0 1px 2px rgba(22,33,63,.04),0 8px 24px -12px rgba(22,33,63,.12);--shadow-lift: 0 2px 4px rgba(22,33,63,.05),0 18px 40px -16px rgba(22,33,63,.22)}@media (min-width: 900px){:root{--section-gap: 48px}}main.wrap{padding-top: 28px;padding-bottom: 64px}@media (min-width: 900px){main.wrap{padding-top: 40px}}h1{font-size: clamp(26px,4vw,36px);letter-spacing: -.01em}h2{font-size: 22px}.section-head{margin-bottom: 18px}.card{border-color: var(--line);margin-bottom: 24px}@media (min-width: 900px){.card{padding: 28px}}.card.tight{padding: 18px}.grid{gap: 18px}.stat{border-color: var(--line)}.muted{line-height: 1.7}.home-section{margin: var(--section-gap) 0}.home-section-head{margin-bottom: 18px;max-width: 640px}.home-section-head h2{margin: 2px 0 0;font-size: clamp(22px,3vw,28px)}.hero{margin-bottom: var(--section-gap);padding: clamp(28px,6vw,56px)}.hero-split{display: grid;gap: 24px;align-items: center}@media (min-width: 900px){.hero-split{grid-template-columns: 1.15fr .85fr;gap: 40px}}.hero-text p{max-width: 560px}.hero-art{width: min(100%,440px);height: auto;justify-self: center;filter: drop-shadow(0 24px 40px rgba(0,0,0,.28))}@media (prefers-reduced-motion: no-preference){.hero-art{animation: art-float 7s ease-in-out infinite}@keyframes art-float{0%,100%{transform: translateY(0)}50%{transform: translateY(-10px)}}}.how-steps{gap: 16px}.how-steps-art li{grid-template-columns: 1fr;text-align: center;padding: 24px 18px 22px;gap: 6px;box-shadow: var(--shadow-soft);border-color: #e6eaf2}.how-steps-art li::before{grid-row: auto;margin: 0 auto 4px;width: 32px;height: 32px;font-size: 15px}.how-steps-art li img{width: 108px;height: 108px;margin: 0 auto 6px;display: block}.how-steps-art strong{font-size: 17px}.how-steps-art small{font-size: 14.5px;max-width: 280px;margin: 0 auto}.place-grid{gap: 16px;margin-bottom: 0}@media (min-width: 900px){.place-grid{grid-template-columns: repeat(3,minmax(0,1fr))}}.place{padding: 20px;min-height: 140px;box-shadow: var(--shadow-soft);border-color: #e6eaf2}.why-grid{list-style: none;padding: 0;margin: 0;display: grid;gap: 16px;grid-template-columns: repeat(auto-fit,minmax(min(240px,100%),1fr))}.why-grid li{background: #fff;border: 1px solid #e6eaf2;border-radius: 18px;padding: 24px 20px;text-align: center;box-shadow: var(--shadow-soft);display: flex;flex-direction: column;align-items: center;gap: 6px}.why-grid img{width: 104px;height: 104px;margin-bottom: 4px}.why-grid strong{font-size: 17px}.why-grid small{color: var(--muted);line-height: 1.6;font-size: 14.5px;max-width: 300px}.why-grid code{font-size: 12.5px}.schools-band{margin: var(--section-gap) 0}.schools-head{margin-bottom: 18px}.feature-art{display: grid;grid-template-columns: 1fr;gap: 10px}.feature-illus{width: min(100%,220px);height: auto;justify-self: center}@media (min-width: 640px){.feature-art{grid-template-columns: 150px 1fr;column-gap: 20px;align-items: start}.feature-art .feature-illus{grid-row: span 3;width: 150px}}.feature .tick-list{margin-bottom: 12px}.sport-teaser{margin: var(--section-gap) 0}.empty-state{padding: 40px 18px;border-style: solid;border-color: #e6eaf2}.empty-art img{width: 160px;height: 120px;margin: 0 auto 6px;display: block}.group-grid{gap: 18px}.group-card{padding: 20px;box-shadow: var(--shadow-soft);border-color: #e6eaf2}.session-list{gap: 18px}.session-card,.sport-card{box-shadow: var(--shadow-soft)}.me-home{margin-bottom: var(--section-gap)}.quick-grid{gap: 14px}.podium{gap: 18px}@media (prefers-reduced-motion: no-preference){.card,.place,.group-card,.session-card,.quick,.tile,.stat-link,.why-grid li,.how-steps-art li,.mini-session,.podium .card,.feature{transition: transform .22s ease,box-shadow .22s ease,border-color .22s ease}a.card:hover,.place:hover,.group-card:hover,.quick:hover,.tile:hover,.stat-link:hover,.why-grid li:hover,.how-steps-art li:hover,.mini-session:hover{transform: translateY(-3px);box-shadow: var(--shadow-lift)}.btn{transition: transform .12s ease,background .15s ease,box-shadow .15s ease}.btn:active{transform: scale(.97)}.js .reveal{opacity: 0;transform: translateY(16px);transition: opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}.js .reveal.in{opacity: 1;transform: none}.js .reveal:nth-child(2){transition-delay: .06s}.js .reveal:nth-child(3){transition-delay: .12s}.js .reveal:nth-child(4){transition-delay: .18s}.js .reveal:nth-child(5){transition-delay: .24s}.js .reveal:nth-child(6){transition-delay: .3s}.js .bar-chart .bar{transform-origin: bottom;transition: transform .9s cubic-bezier(.2,.7,.2,1)}.js .bar-chart:not(.in) .bar{transform: scaleY(0)}.achv.is-earned{transition: transform .15s ease}.achv.is-earned:hover{transform: scale(1.05)}}.art{max-width: 100%;height: auto}.section-head.has-art{display: grid;grid-template-columns: minmax(0,1fr) 150px;gap: 8px 20px;align-items: center}.section-head.has-art>div{grid-column: 1;grid-row: 1;min-width: 0}.section-head.has-art>.head-art{grid-column: 2;grid-row: 1;width: 150px;height: 150px;object-fit: contain;justify-self: end}.section-head.has-art>.btn,.section-head.has-art>button,.section-head.has-art>a,.section-head.has-art>form{grid-column: 1 / -1;justify-self: start}.section-head.has-art>div.row{grid-column: 1 / -1;grid-row: 2;justify-self: start}@media (max-width: 640px){.section-head.has-art{grid-template-columns: minmax(0,1fr) 96px;gap: 6px 12px}.section-head.has-art>.head-art{width: 96px;height: 96px}.section-head.has-art>.btn,.section-head.has-art>button,.section-head.has-art>a.btn,.section-head.has-art>form{width: 100%;justify-self: stretch}}.hero-art{filter: drop-shadow(0 18px 30px rgba(0,0,0,.35))}.login-art{display: block;width: 132px;height: 132px;object-fit: contain;margin: -4px auto 8px}@media (max-width: 640px){.login-art{width: 104px;height: 104px}}.impact-hero.has-art{display: grid;grid-template-columns: minmax(0,1fr);gap: 16px;align-items: center}.impact-hero .impact-art{width: min(100%,420px);justify-self: center;filter: drop-shadow(0 14px 24px rgba(0,0,0,.3))}@media (min-width: 900px){.impact-hero.has-art{grid-template-columns: minmax(0,1.2fr) minmax(0,.8fr)}.impact-hero .impact-grid,.impact-hero>.row{grid-column: 1 / -1}}.motto.has-art{display: grid;grid-template-columns: auto minmax(0,1fr);align-items: center}.motto .motto-art{grid-column: 1 / -1;width: min(100%,520px);justify-self: center;margin-top: 6px}@media (min-width: 760px){.motto.has-art{grid-template-columns: auto minmax(0,1fr) 260px}.motto .motto-art{grid-column: 3;grid-row: 1;margin: -10px 0;width: 260px}}.toast{gap: 10px}.toast>span:not(.toast-ico){flex: 1;min-width: 0}.toast-ico{flex: none;width: 30px;height: 30px;border-radius: 50%;display: grid;place-items: center;background: rgba(255,255,255,.7);color: var(--teal-dark)}.alert-error .toast-ico{color: var(--error-text)}.alert-warn .toast-ico{color: var(--warn-text)}.pw-wrap{position: relative;direction: ltr}.pw-wrap input{padding-inline-end: 50px}.pw-eye{position: absolute;top: 50%;inset-inline-end: 4px;transform: translateY(-50%);width: 44px;height: 44px;border: 0;border-radius: 9px;background: none;color: var(--muted);cursor: pointer;display: grid;place-items: center}.pw-eye:hover,.pw-eye.is-on{color: var(--navy);background: var(--secondary-btn)}.signup-steps{grid-template-columns: repeat(3,minmax(0,1fr));margin: 6px 0 20px}.signup-steps .step .dot{transition: background .25s,border-color .25s}.js .signup-form .step[data-step]{display: none}.js .signup-form .step[data-step].is-current{display: block}.step-nav{display: flex;gap: 10px;margin-top: 6px}.step-nav .btn{flex: 1}.step-nav .btn[data-step-prev]{flex: 0 0 auto;min-width: 110px}html:not(.js) .step-nav .btn[data-step-next],html:not(.js) .step-nav .btn[data-step-prev],html:not(.js) .signup-steps,html:not(.js) .step-live{display: none}.step-live{color: var(--muted);font-size: 14px;margin: -10px 0 14px}.start-here{border-top: 3px solid var(--gold);position: relative}.start-here h2{display: flex;align-items: center;gap: 8px;padding-inline-end: 44px}.start-here .toast-x{position: absolute;top: 10px;inset-inline-end: 10px}.start-list{list-style: none;padding: 0;margin: 0;display: grid;gap: 8px}.start-list a{display: grid;grid-template-columns: 30px minmax(0,1fr) auto;gap: 12px;align-items: center;padding: 10px 12px;border-radius: 12px;background: var(--th-bg);color: var(--ink);text-decoration: none;border: 1px solid var(--line-soft)}.start-list a:hover{border-color: var(--teal)}.start-list .n{width: 30px;height: 30px;border-radius: 50%;display: grid;place-items: center;background: var(--navy);color: #fff;font-weight: 700;font-size: 14px}.start-list li.done .n{background: var(--teal)}.start-list li.done strong{text-decoration: line-through;color: var(--muted)}.start-list small{display: block;color: var(--muted)}.start-list .go{color: var(--teal-dark);font-weight: 700;font-size: 14px;white-space: nowrap}.help-grid{display: grid;gap: 10px;grid-template-columns: repeat(auto-fit,minmax(min(200px,100%),1fr));margin-bottom: 22px}.help-grid a{display: flex;align-items: center;gap: 10px;padding: 14px;border-radius: 14px;background: #fff;border: 1px solid var(--line-soft);text-decoration: none;color: var(--ink);font-weight: 600;box-shadow: var(--shadow-soft)}.help-grid a .ico{color: var(--teal-dark)}.help-grid a:hover{border-color: var(--teal)}.faq{background: #fff;border: 1px solid var(--line-soft);border-radius: 16px;padding: 4px 18px;margin-bottom: 10px;box-shadow: var(--shadow-soft)}.faq>summary{font-size: 16.5px}.faq .fold-body{margin: 0 0 14px;color: var(--muted);line-height: 1.7}.faq .fold-body p{margin: 0 0 8px}.faq .fold-body .btn{margin-top: 4px}.help-link{display: inline-flex;align-items: center;gap: 6px;font-weight: 600}.home-help{text-align: center;margin: var(--section-gap) 0 0;color: var(--muted)}@media (prefers-reduced-motion: no-preference){html{scroll-behavior: smooth}main.wrap{animation: page-in .4s ease backwards}@keyframes page-in{from{opacity: 0;transform: translateY(6px)}}.drawer.is-open .drawer-nav>*{animation: drawer-item .32s ease both}.drawer.is-open .drawer-nav>:nth-child(2){animation-delay: .03s}.drawer.is-open .drawer-nav>:nth-child(3){animation-delay: .06s}.drawer.is-open .drawer-nav>:nth-child(4){animation-delay: .09s}.drawer.is-open .drawer-nav>:nth-child(5){animation-delay: .12s}.drawer.is-open .drawer-nav>:nth-child(6){animation-delay: .15s}.drawer.is-open .drawer-nav>:nth-child(7){animation-delay: .18s}.drawer.is-open .drawer-nav>:nth-child(n+8){animation-delay: .21s}@keyframes drawer-item{from{opacity: 0;transform: translateX(var(--slide,-10px))}}html[dir="rtl"] .drawer-nav{--slide: 10px}.tabbar a[aria-current="page"] .ico{animation: tab-pop .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes tab-pop{from{transform: scale(.6)}}.place-ico,.quick .ico,.group-card .icon,.type-ico,.help-grid a .ico{transition: transform .25s cubic-bezier(.34,1.56,.64,1)}.place:hover .place-ico,.quick:hover>.ico,.help-grid a:hover .ico{transform: translateY(-3px) rotate(-6deg)}.group-card:hover .icon{transform: scale(1.08)}.type-option input:checked + .type-card .type-ico{transform: scale(1.08)}.js .reveal .meter>span,.js .reveal .progress>span,.js .reveal .hbar>span,.js .reveal .fd-bar>span{transform-origin: left center;transform: scaleX(0);transition: transform .9s cubic-bezier(.2,.7,.2,1) .15s}html[dir="rtl"] .js .reveal .meter>span,html[dir="rtl"] .js .reveal .progress>span,html[dir="rtl"] .js .reveal .hbar>span,html[dir="rtl"] .js .reveal .fd-bar>span{transform-origin: right center}.js .reveal.in .meter>span,.js .reveal.in .progress>span,.js .reveal.in .hbar>span,.js .reveal.in .fd-bar>span{transform: none}.qr-dialog[open]{animation: pop-in .28s cubic-bezier(.2,.8,.2,1)}.qr-dialog[open]::backdrop{animation: fade-in .28s ease}@keyframes pop-in{from{opacity: 0;transform: translateY(14px) scale(.97)}}@keyframes fade-in{from{opacity: 0}}details.fold[open]>:not(summary),details.faq[open]>:not(summary),.js .signup-form .step[data-step].is-current{animation: fade-down .3s ease both}@keyframes fade-down{from{opacity: 0;transform: translateY(-6px)}}.toast-ico svg path{stroke-dasharray: 40;stroke-dashoffset: 40;animation: draw .5s ease .1s forwards}@keyframes draw{to{stroke-dashoffset: 0}}.hero .btn,.nav-cta,.drawer-cta{transition: transform .15s ease,background .15s ease}.hero .btn:hover{transform: translateY(-2px)}.head-art,.login-art,.motto-art,.impact-art,.home-art{animation: art-in .6s cubic-bezier(.2,.7,.2,1) both,art-float 8s ease-in-out 1s infinite}@keyframes art-in{from{opacity: 0;transform: translateY(8px) scale(.96)}}.start-list li.done .n{animation: tab-pop .4s cubic-bezier(.34,1.56,.64,1) both}.live-dot{box-shadow: 0 0 0 0 rgba(31,165,157,.5);animation: pulse 1.6s infinite,ring 1.6s infinite}@keyframes ring{to{box-shadow: 0 0 0 7px rgba(31,165,157,0)}}}@media (prefers-reduced-motion: no-preference){.section-head h1,.hero h1,.card>h1,.me-home h1{animation: title-in .5s cubic-bezier(.2,.7,.2,1) both}.section-head .eyebrow,.card>.eyebrow{animation: title-in .5s cubic-bezier(.2,.7,.2,1) .06s both}.section-head p.muted,.card>p.muted{animation: title-in .5s cubic-bezier(.2,.7,.2,1) .12s both}@keyframes title-in{from{opacity: 0;transform: translateY(10px)}}.btn:hover{transform: translateY(-1px);box-shadow: 0 6px 14px rgba(16,27,58,.12)}.btn .ico,.quick .ico,.tile .ico,.help-grid a .ico,.nav-help .ico,.drawer-help .ico{transition: transform .22s cubic-bezier(.34,1.56,.64,1)}.btn:hover .ico,.nav-help:hover .ico{transform: translateX(2px)}html[dir="rtl"] .btn:hover .ico,html[dir="rtl"] .nav-help:hover .ico{transform: translateX(-2px)}.quick:hover .ico,.tile:hover .ico,.help-grid a:hover .ico{transform: translateY(-3px) rotate(-6deg) scale(1.08)}.nav-help .ico{animation: wave .9s ease 1.2s 1}.drawer.is-open .drawer-help .ico{animation: wave .8s ease .35s 1}@keyframes wave{0%,100%{transform: rotate(0)}25%{transform: rotate(-12deg)}60%{transform: rotate(10deg)}}.primary-bar a{overflow: hidden}.primary-bar a::after{content: "";position: absolute;left: 12px;right: 12px;bottom: 4px;height: 2px;border-radius: 2px;background: var(--teal);transform: scaleX(0);transform-origin: center;transition: transform .25s cubic-bezier(.2,.7,.2,1)}.primary-bar a:hover::after,.primary-bar a[aria-current="page"]::after{transform: scaleX(1)}details.fold>summary::after{transition: transform .25s ease}details.fold[open]>.fold-body{animation: fold-in .3s ease both}@keyframes fold-in{from{opacity: 0;transform: translateY(-4px)}}.tabbar a:active .ico{transform: scale(.85);transition: transform .1s ease}.badge,.nav-toggle .dot{animation: pop-in .35s cubic-bezier(.34,1.56,.64,1) both}.quote{transition: transform .22s ease,box-shadow .22s ease}.quote:hover{transform: translateY(-3px) rotate(-.4deg);box-shadow: var(--shadow-lift)}.acct-menu .acct-chev{transition: transform .25s ease;display: inline-block}.acct-menu[open] .acct-chev{transform: rotate(180deg)}.acct-menu[open] .acct-panel{animation: fade-down .22s ease both}.empty-state.empty-art .empty-pic{animation: art-in .6s cubic-bezier(.2,.7,.2,1) both,art-float 7s ease-in-out 1s infinite}.school-art,.side-art,.join-art,.notfound-art{animation: art-in .6s cubic-bezier(.2,.7,.2,1) both,art-float 8s ease-in-out 1s infinite}.join-card .btn{animation: breathe 2.4s ease 1.5s infinite}.group-card .icon,.subject-card .icon,.place-ico{transition: transform .22s cubic-bezier(.34,1.56,.64,1)}.group-card:hover .icon,.subject-card:hover .icon,.place:hover .place-ico{transform: scale(1.12) rotate(-4deg)}input,select,textarea{transition: border-color .18s ease,box-shadow .18s ease}.js .reveal:nth-child(7){transition-delay: .36s}.js .reveal:nth-child(8){transition-delay: .42s}.tabbar a[aria-current="page"] span{animation: title-in .4s ease both}.js .reveal.in .stat .value{animation: breathe .6s ease .9s 1}@keyframes breathe{50%{transform: scale(1.06)}}}.res-media{display: block;width: 100%;max-width: 560px;margin: 8px 0 4px;border-radius: 12px}video.res-media,.media-live,.media-preview video{background: #000;aspect-ratio: 16 / 9}.media-tools{display: flex;align-items: center;gap: 10px;flex-wrap: wrap;margin: 0 0 10px}.media-tools .btn{display: inline-flex;align-items: center;gap: 6px}.media-tools .is-recording{background: var(--danger);border-color: var(--danger);color: #fff}.media-tools .is-recording svg{animation: voice-pulse 1s ease-in-out infinite}.media-live,.media-preview video{display: block;width: 100%;max-width: 560px;border-radius: 12px;margin: 0 0 10px}.media-preview audio{display: block;width: 100%;max-width: 560px;margin: 0 0 10px}.media-progress .bar{height: 10px;background: var(--secondary-btn);border-radius: 999px;overflow: hidden;margin: 8px 0 4px}.media-progress .bar span{display: block;height: 100%;width: 0;background: var(--accent);transition: width .2s}.media-status.is-error{color: var(--danger)}@media (prefers-reduced-motion: reduce){.media-tools .is-recording svg{animation: none}}.brand-letters{list-style: none;margin: 18px 0 0;padding: 0;display: flex;flex-wrap: wrap;gap: 8px 14px;direction: ltr}.brand-letters li{display: flex;align-items: center;gap: 8px}.brand-letters b{display: grid;place-items: center;width: 32px;height: 32px;border-radius: 10px;background: var(--navy);color: #fff;font-weight: 800;font-size: 16px}.brand-letters span{font-weight: 700;color: var(--navy);font-size: 14.5px}.brand-letters small{color: var(--muted);font-size: 12.5px}.look-switch{flex-direction: column;align-items: center;gap: 8px;text-align: center;padding: 14px 16px 6px}.look-switch .look-label{display: inline-flex;align-items: center;gap: 6px;font-weight: 700;color: var(--navy)}.look-buttons{display: inline-flex;border: 1px solid var(--line);border-radius: 999px;padding: 3px;background: #fff;gap: 3px}.look-btn{display: inline-flex;align-items: center;min-height: 36px;padding: 6px 16px;border-radius: 999px;font-weight: 700;font-size: 14px;color: var(--navy);text-decoration: none}.look-btn.is-on{background: var(--navy);color: #fff}.look-btn:not(.is-on):hover{background: var(--secondary-btn,#eef2f7)}.look-hint{max-width: 56ch;color: var(--muted);font-size: 13px;line-height: 1.6}.event-block{padding: 12px 0;border-top: 1px solid var(--line,#e5e7eb)}.event-block:first-of-type{border-top: 0;padding-top: 0}.event-gallery{display: grid;grid-template-columns: repeat(auto-fill,minmax(140px,1fr));gap: 10px;margin-top: 8px}.event-media{position: relative;border-radius: 10px;overflow: hidden;background: #eef2f7;aspect-ratio: 1 / 1;display: flex;align-items: center;justify-content: center}.event-media img{width: 100%;height: 100%;object-fit: cover;display: block}.event-media-video{aspect-ratio: 16 / 9;grid-column: span 2;background: #000}.event-media-video iframe,.event-media-video video{width: 100%;height: 100%;border: 0;display: block}.event-media .event-del{position: absolute;top: 4px;inset-inline-end: 4px;margin: 0}.event-video-link{display: inline-flex;align-items: center;gap: 6px;padding: 10px;text-align: center}.event-add,.event-edit{margin-top: 10px}.event-add>summary,.event-edit>summary{display: inline-flex;width: auto;cursor: pointer}.impersonation-bar{position: sticky;top: 0;z-index: 60;display: flex;align-items: center;gap: 10px;flex-wrap: wrap;padding: 8px 16px;background: #7a2e0e;color: #fff;font-weight: 600;font-size: 14.5px}.impersonation-bar .ico{color: #ffd9a8}.impersonation-bar span{flex: 1;min-width: 200px}.impersonation-bar form{margin: 0}.impersonation-bar .btn{background: #fff;color: #7a2e0e;border-color: #fff}.impersonation-bar .btn:hover{background: #ffe9d6}body.is-impersonating .site-header{box-shadow: inset 0 3px 0 #c4541f}.school-announcement{border-color: var(--teal-tint);background: var(--info-bg,#eef7f6)}.school-welcome{display: flex;gap: 8px;align-items: flex-start;margin: 6px 0 14px;padding: 10px 14px;border-radius: 12px;background: var(--teal-tint);color: var(--ink);font-size: 15px}.school-welcome .ico{color: var(--teal-dark);flex: none;margin-top: 2px}.explain-list{display: grid;gap: 10px;margin-top: 10px}.explain-card{display: grid;grid-template-columns: auto minmax(0,1fr) auto;gap: 12px;align-items: center;padding: 12px 14px;border: 1px solid var(--line);border-radius: 14px;background: var(--card,#fff)}.explain-card.is-mine{border-color: var(--teal)}.explain-card-staff{grid-template-columns: auto auto minmax(0,1fr)}.explain-card-staff .explain-quick{grid-column: 1 / -1;display: flex;flex-wrap: wrap;gap: 6px;padding-top: 6px;border-top: 1px dashed var(--line)}.explain-card-staff .explain-quick form{margin: 0}.explain-votes{display: grid;place-items: center;min-width: 58px;padding: 6px 8px;border-radius: 12px;background: var(--navy-tint);color: var(--navy);line-height: 1.05}.explain-votes strong{font-size: 22px;font-weight: 800}.explain-votes small{font-size: 11px;font-weight: 600;opacity: .85}.explain-body{min-width: 0;overflow-wrap: anywhere}.explain-body>a{color: var(--ink);text-decoration: none}.explain-body>a:hover{color: var(--teal-dark)}.explain-meta{gap: 8px;margin-top: 4px;align-items: center}.explain-card form{margin: 0}.upvote-btn[aria-pressed="true"]{border-color: var(--teal);color: var(--teal-dark)}.merge-pick{display: grid;place-items: center}.merge-pick input{width: 22px;height: 22px;accent-color: var(--teal)}.merge-bar{display: flex;flex-wrap: wrap;align-items: center;gap: 10px;padding: 10px 14px;margin-bottom: 10px}.merge-bar span{flex: 1;min-width: 200px;font-size: 14px;color: var(--muted)}.merge-bar select{max-width: 260px}.explain-policy{border-width: 2px}.explain-policy.is-open{border-color: var(--teal)}.explain-policy.is-closed{border-color: var(--warn-border,#e8c87c);background: var(--warn-bg,#fff7e6)}.explain-policy .policy-state{font-size: 17px;display: inline-flex;align-items: center;gap: 6px}.explain-policy .policy-toggle{margin: 0}.explain-policy .btn-lg{padding: 12px 22px;font-size: 16px}.policy-schedule{border: 1px dashed var(--line);border-radius: 12px;padding: 10px 12px;margin: 10px 0}.policy-schedule legend{font-weight: 700;padding: 0 6px}.form-row-4{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 12px}@media (max-width: 760px){.form-row-4{grid-template-columns: repeat(2,minmax(0,1fr))}}.explain-closed{border: 2px solid var(--warn-border,#e8c87c);background: var(--warn-bg,#fff7e6)}.explain-closed strong{display: inline-flex;align-items: center;gap: 6px;font-size: 17px}.explain-open-note{display: flex;flex-wrap: wrap;gap: 8px 14px;align-items: center}.countdown{font-family: var(--mono);font-weight: 700;font-variant-numeric: tabular-nums}.explain-kpis{margin-top: 16px}.explain-actions{display: flex;flex-wrap: wrap;gap: 8px;align-items: flex-start;margin-top: 14px;padding-top: 12px;border-top: 1px solid var(--line)}.explain-actions form{margin: 0}.explain-actions select{min-width: 200px}.explain-actions details>summary{list-style: none;cursor: pointer}.explain-actions details>summary::-webkit-details-marker{display: none}.explain-actions details[open]{flex-basis: 100%}.explain-detail .material-list{margin: 8px 0}.explain-rate{margin-top: 14px;padding-top: 12px;border-top: 1px solid var(--line)}.rate-form .rate-options{margin-bottom: 10px}.explain-groups{margin-top: 0}.explain-row form{margin: 0}.explain-ratings{margin-top: 10px}.quick-actions{display: grid;grid-template-columns: repeat(4,minmax(0,1fr));gap: 10px;margin-bottom: 16px}.quick-actions .qa{display: flex;align-items: center;gap: 10px;padding: 12px 14px;border: 1px solid var(--line);border-radius: 14px;background: var(--card,#fff);text-decoration: none;color: var(--ink);min-height: 64px}.quick-actions .qa .ico{color: var(--teal-dark);flex: none}.quick-actions .qa span{display: flex;flex-direction: column;min-width: 0}.quick-actions .qa small{color: var(--muted);font-size: 12.5px}.quick-actions .qa:hover{border-color: var(--teal)}.quick-actions .qa-explain.is-open{border-color: var(--teal);background: var(--teal-tint)}.quick-actions .qa-explain.is-closed{border-color: var(--warn-border,#e8c87c);background: var(--warn-bg,#fff7e6)}.quick-actions .qa-explain.is-closed .ico{color: var(--warn-ink,#8a5a00)}@media (max-width: 760px){.quick-actions{grid-template-columns: repeat(2,minmax(0,1fr))}}.school-card.is-suspended{opacity: .75;border-color: var(--danger,#c0392b)}.hier-col h3{font-size: 15px;margin: 0 0 6px;display: flex;align-items: center;gap: 6px}.hier-col .person-row{padding: 7px 0}.hier-col .empty{margin: 4px 0 10px}.card-inset{border: 1px solid var(--line);border-radius: 14px;padding: 14px;background: var(--th-bg,#f7f8fb)}.card-inset h3{margin-top: 0}.feature-matrix td,.feature-matrix th{text-align: center}.feature-matrix td:first-child,.feature-matrix th:first-child{text-align: start}.feature-matrix input[type="radio"]{width: 20px;height: 20px;accent-color: var(--teal)}.invite-code{font-size: 16px;letter-spacing: .06em}tr.is-off td{opacity: .6}.danger-zone{border-color: var(--danger,#c0392b)}.school-layout{margin-top: 20px}.invite-note{margin-bottom: 12px}.teach-intro.explain-intro{padding-bottom: 14px}@media (max-width: 640px){.explain-card{grid-template-columns: auto minmax(0,1fr)}.explain-card>form,.explain-card>.staff-chip{grid-column: 1 / -1}.explain-card-staff{grid-template-columns: auto auto minmax(0,1fr)}.impersonation-bar{font-size: 13.5px}}:root{--btn-border: #74849f;--input-border: #8291b0;--focus-ring: #0f6b66;--teal-btn: #167a74;--teal-dark: #0f6b66}.btn-secondary{border-color: var(--btn-border)}.btn-ghost{border-color: var(--btn-border)}.hero .btn-secondary,.impact-hero .btn-secondary,.impact-hero .btn-ghost{border-color: rgba(255,255,255,.65)}.nav-help{border-color: var(--teal-btn)}.lang-switch{border-color: var(--btn-border) !important}.nav-toggle,.acct-menu>summary,.chip,.join-chips a,.dark-toggle,.look-buttons{border-color: var(--btn-border)}.tabs a{border: 1px solid var(--btn-border)}.tabs a[aria-current="page"]{border-color: var(--accent)}.pw-eye{border: 1px solid var(--btn-border);background: var(--secondary-btn);color: var(--ink)}.pw-eye:hover,.pw-eye:focus-visible{background: var(--secondary-btn-hover)}.switch{background: #8d99b5}.hero .btn,.impact-hero .btn,.id-card .btn,.schools-band .btn,.school-banner .btn,.motto .btn,.quick-main .btn{border: 1px solid rgba(255,255,255,.7)}tr.is-off td{opacity: 1;color: var(--muted)}.toast-x{border: 1px solid rgba(0,0,0,.5)}.tab-qr{border-color: #fff !important}.btn[disabled],.btn[aria-busy="true"],.btn:disabled{opacity: 1;background: #d9dfeb;color: #3f4a66;border-color: #9aa6c2;cursor: not-allowed}.hero .btn,.nav-account .nav-cta,.drawer-nav a.drawer-cta,.btn-scan,.btn-join,button.btn.btn-join,.nav-account .nav-main:hover,.apply-form .q-num,.steps .step-done .dot,.nav-help:hover,.nav-help[aria-current="page"],.type-option input:checked + .type-card .type-ico,.drawer-nav a.drawer-help:hover,.drawer-nav a.drawer-help[aria-current="page"]{background-color: var(--teal-btn)}.nav-account .nav-cta:hover,.btn-scan:hover,button.btn.btn-join:hover,.hero .btn:not(.btn-secondary):hover{background-color: #11625d}.brand-letters li:nth-child(2n) b{background-color: var(--navy)}.tp-primary{background: color-mix(in srgb,var(--tp-secondary) 76%,#000)}.tp-eyebrow{color: color-mix(in srgb,var(--tp-secondary) 60%,#000)}.hero :focus-visible,.id-card :focus-visible,.site-footer :focus-visible,.impact-hero :focus-visible,.drawer-head :focus-visible,.school-banner :focus-visible,.motto :focus-visible,.schools-band :focus-visible,.sport-teaser:focus-visible,.quick-main:focus-visible,.tab-qr:focus-visible,.place:nth-child(1) :focus-visible,.place:nth-child(5):focus-visible,.scanner-overlay :focus-visible,.impersonation-bar :focus-visible,.look-btn:focus-visible{outline: 3px solid #fff;outline-offset: 2px}.btn-light:focus-visible,.sec-hero.hero-secondary .btn:focus-visible{outline-color: #10172b}tr.row-done td{opacity: 1;color: var(--muted)}.school-card.is-suspended{opacity: 1}.achv.is-locked{opacity: 1;color: var(--th-text)}.explain-votes small{opacity: 1}.footer-legal a{opacity: 1}tr.old-cycle .role{opacity: 1}input::placeholder,textarea::placeholder{color: #667085;opacity: 1}.id-card .eyebrow{color: #fff}.acct-menu>summary:hover,.acct-menu[open]>summary{border-color: var(--teal-btn)}input::placeholder,textarea::placeholder{color: #5f6b80}.admin-nav{max-height: calc(100vh - 112px);max-height: calc(100dvh - 112px);overflow-y: auto;overscroll-behavior: contain;scrollbar-width: thin;scrollbar-gutter: stable;-webkit-overflow-scrolling: touch}.admin-nav::-webkit-scrollbar{width: 8px}.admin-nav::-webkit-scrollbar-thumb{background: var(--line);border-radius: 8px}.admin-nav::-webkit-scrollbar-thumb:hover{background: var(--input-border)}body.is-impersonating .admin-nav{max-height: calc(100dvh - 160px)}@media (max-width: 900px){.admin-nav{max-height: none;overflow-y: visible}}.howto{background: var(--card);border: 1px solid var(--line);border-radius: 16px;margin-bottom: 16px}.howto>summary{list-style: none;display: flex;align-items: center;gap: 12px;padding: 8px 14px;min-height: 56px;cursor: pointer}.howto>summary::-webkit-details-marker{display: none}.howto-ico{flex: none;width: 36px;height: 36px;border-radius: 12px;display: grid;place-items: center;background: var(--teal-tint);color: var(--teal-dark)}.howto-sum{display: flex;flex-direction: column;min-width: 0}.howto-sum strong{font-size: 15.5px;color: var(--navy)}.howto-sum small{color: var(--muted);font-size: 12.5px}.howto-chev{margin-inline-start: auto;width: 10px;height: 10px;border-inline-end: 2px solid var(--muted);border-bottom: 2px solid var(--muted);transform: rotate(45deg);transition: transform .2s;flex: none}.howto[open] .howto-chev{transform: rotate(-135deg)}.howto-body{padding: 0 14px 14px;animation: howto-in .25s ease both}@keyframes howto-in{from{opacity: 0;transform: translateY(-4px)}}.howto-steps{list-style: none;margin: 0;padding: 0;display: grid;gap: 8px}.howto-steps li{display: flex;gap: 10px;align-items: flex-start;line-height: 1.6;font-size: 15px}.howto-n{flex: none;width: 26px;height: 26px;border-radius: 50%;background: var(--navy);color: #fff;font-weight: 700;font-size: 13px;display: grid;place-items: center;margin-top: 2px}.howto-foot{margin: 12px 0 0;color: var(--muted);font-size: 14px;display: flex;align-items: center;gap: 6px}@media (min-width: 901px){.howto-steps{grid-template-columns: repeat(auto-fit,minmax(300px,1fr));gap: 10px 24px}}@media (prefers-reduced-motion: reduce){.howto-body{animation: none}.howto-chev{transition: none}}.group-actions .btn-materials{flex: none;width: auto;white-space: nowrap}@media (max-width: 640px){.group-card{flex-wrap: wrap}.group-actions .btn-materials{width: 46px;min-height: 46px;padding: 0;border-radius: 13px;justify-content: center}.btn-materials span{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0)}}.mat-crumbs{display: flex;gap: 8px;align-items: center;flex-wrap: wrap}.mat-page-head .row{gap: 8px;flex-wrap: wrap}.mat-extras-btn{background: var(--navy);color: #fff;border-color: transparent;font-weight: 700}.mat-extras-btn:hover{background: var(--navy-dark);color: #fff}.mat-new-card{padding: 10px 18px}.mat-new-card details.fold[open]{padding-bottom: 8px}.mat-toc{display: flex;flex-wrap: wrap;gap: 8px;margin: 0 0 14px}.mat-toc a{display: inline-flex;align-items: center;gap: 6px;padding: 6px 12px;border: 1px solid var(--line);border-radius: 999px;background: var(--card);font-size: 14px;font-weight: 600;text-decoration: none;color: var(--ink)}.mat-toc a small{background: var(--th-bg);border-radius: 999px;padding: 0 7px;color: var(--muted)}.mat-toc a:hover{border-color: var(--teal)}.mat-section{padding: 18px;scroll-margin-top: 90px;display: grid;gap: 12px}.mat-sec-head{display: flex;gap: 12px;align-items: flex-start;justify-content: space-between;flex-wrap: wrap}.mat-sec-text{min-width: 0;flex: 1 1 260px}.mat-sec-head h2{margin: 0 0 4px;font-size: 21px;display: flex;align-items: baseline;gap: 8px;flex-wrap: wrap}.mat-sec-head h2 small{font-size: 13.5px;font-weight: 600}.mat-sec-intro{color: var(--muted)}.mat-sec-tools{display: flex;gap: 8px;align-items: flex-start;flex-wrap: wrap}.mat-sec-tools>details{margin: 0;flex: 1 1 240px}.mat-move{display: inline-flex;gap: 4px;margin: 0}.mat-move .btn{min-height: 40px;min-width: 40px;padding: 4px 8px}.mat-items{display: grid}.mat-item{display: flex;gap: 12px;padding: 14px 0;border-top: 1px solid var(--line);scroll-margin-top: 90px}.mat-item:first-child{border-top: 0;padding-top: 4px}.mat-kind{flex: none;width: 42px;height: 42px;border-radius: 12px;display: grid;place-items: center;background: var(--secondary-btn);color: var(--navy)}.mat-item-video .mat-kind,.mat-item-audio .mat-kind{background: var(--teal-tint);color: var(--teal-dark)}.mat-body{flex: 1;min-width: 0;display: grid;gap: 6px;align-content: start}.mat-title{font-weight: 700;font-size: 16.5px;margin: 0;overflow-wrap: anywhere}a.mat-title{display: inline-flex;align-items: center;gap: 4px;width: fit-content}.mat-meta{color: var(--muted);font-size: 13.5px;display: flex;flex-wrap: wrap;gap: 4px 6px;align-items: center}.mat-meta a{display: inline-flex;align-items: center;gap: 3px}.mat-thumb{display: block;max-width: 420px;border-radius: 12px;overflow: hidden;background: var(--th-bg)}.mat-thumb img{width: 100%;max-height: 320px;object-fit: contain;display: block}.mat-item .res-media{max-width: 560px}.mat-tools{flex: none;display: flex;flex-direction: column;gap: 6px;align-items: flex-end;max-width: 46%}.mat-tools>details{margin: 0;width: 100%}.mat-tools .fold-inner>summary{font-size: 14px}.mat-to{gap: 8px;align-items: center;margin-top: 10px;flex-wrap: wrap}.mat-to select{min-width: 160px}.mat-empty{margin: 0}.mat-add{display: flex;flex-wrap: wrap;gap: 8px 16px;border-top: 1px dashed var(--line);padding-top: 10px}.mat-add>details{margin: 0;flex: 1 1 240px}.mat-add>details>summary{font-size: 14.5px;cursor: pointer}.rich{line-height: 1.75;overflow-wrap: anywhere}.rich>:first-child{margin-top: 0}.rich>:last-child{margin-bottom: 0}.rich p{margin: 0 0 .6em}.rich h3,.rich h4{margin: .8em 0 .3em}.rich h3{font-size: 18px}.rich h4{font-size: 16px}.rich ul,.rich ol{margin: 0 0 .6em;padding-inline-start: 1.4em}.rich blockquote{margin: .4em 0 .8em;padding: 6px 14px;border-inline-start: 3px solid var(--teal);background: var(--th-bg);border-radius: 8px;color: var(--muted)}.rich code{background: var(--th-bg);padding: 1px 6px;border-radius: 6px;font-size: .95em}.rich pre{background: var(--th-bg);padding: 10px 12px;border-radius: 10px;overflow: auto;direction: ltr;text-align: left}.rich a{text-decoration: underline}.rte-tools{display: flex;flex-wrap: wrap;gap: 4px;margin-bottom: 6px}.rte-btn{min-height: 40px;min-width: 40px;padding: 2px 8px;border: 1px solid var(--input-border);border-radius: 8px;background: var(--card);color: var(--ink);font-size: 15px;font-weight: 700;cursor: pointer;display: inline-flex;align-items: center;justify-content: center;gap: 2px}.rte-btn:hover{border-color: var(--teal);color: var(--teal-dark)}.rte-area{min-height: 110px;max-height: 60vh;overflow: auto;padding: 10px 12px;border: 1px solid var(--input-border);border-radius: 12px;background: var(--card);line-height: 1.7;font-size: 16px}.rte-area:focus{outline: 2px solid var(--teal);outline-offset: 1px}.rte-area:empty::before{content: attr(data-placeholder);color: var(--muted);pointer-events: none}.rte-area h3{font-size: 18px;margin: .5em 0 .3em}.rte-area p{margin: 0 0 .5em}.rte-area blockquote{border-inline-start: 3px solid var(--teal);padding: 4px 12px;margin: .4em 0;color: var(--muted)}.rte-area ul,.rte-area ol{padding-inline-start: 1.4em}.mat-upload{position: relative;margin-top: 10px}.mat-drop{display: flex;align-items: center;gap: 12px;padding: 14px 16px;border: 2px dashed var(--input-border);border-radius: 14px;background: var(--th-bg);cursor: pointer;margin-bottom: 6px}.mat-drop:hover,.mat-drop.is-over{border-color: var(--teal);background: var(--teal-tint)}.mat-drop-ico{flex: none;width: 44px;height: 44px;border-radius: 12px;display: grid;place-items: center;background: var(--card);color: var(--teal-dark)}.mat-drop-text{display: grid;gap: 2px;min-width: 0}.mat-drop-text small{color: var(--muted)}.mat-drop input{position: absolute;width: 1px;height: 1px;opacity: 0;overflow: hidden}.mat-queue{list-style: none;margin: 8px 0;padding: 0;display: grid;gap: 6px}.mat-q{display: grid;grid-template-columns: minmax(0,1fr) auto;grid-template-areas: "name size" "bar bar" "state x";gap: 4px 10px;align-items: center;padding: 8px 10px;border: 1px solid var(--line);border-radius: 10px;background: var(--card);font-size: 14px}.mat-q-name{grid-area: name;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-weight: 600}.mat-q-size{grid-area: size;color: var(--muted);font-size: 13px}.mat-q .bar{grid-area: bar;display: block;height: 6px;border-radius: 999px;background: var(--th-bg);overflow: hidden}.mat-q .bar span{display: block;height: 100%;background: var(--teal);transition: width .2s}.mat-q-state{grid-area: state;color: var(--muted);font-size: 13px}.mat-q-x{grid-area: x;justify-self: end}.mat-q.is-done .bar span{background: var(--teal-dark)}.mat-q.is-done .mat-q-state{color: var(--teal-dark)}.mat-q.is-error{border-color: var(--danger)}.mat-q.is-error .mat-q-state{color: var(--danger)}.mat-q.is-busy .mat-q-x{visibility: hidden}.mat-status.is-error{color: var(--danger)}@media (max-width: 640px){.mat-section{padding: 14px}.mat-item{flex-wrap: wrap}.mat-tools{flex-direction: row;max-width: none;width: 100%;justify-content: flex-start;align-items: center;padding-inline-start: 54px}.mat-tools>details{width: auto;flex: 1 1 200px}.mat-head-actions{width: 100%}.mat-head-actions .btn{flex: 1 1 auto;justify-content: center}}@media (prefers-reduced-motion: reduce){.mat-q .bar span{transition: none}}.act-grid{display: grid;gap: 18px}.act-card{background: var(--card);border: 1px solid var(--line);border-radius: 18px;padding: 18px;display: grid;gap: 12px;scroll-margin-top: 90px}.act-head{display: flex;gap: 12px;align-items: flex-start}.act-no{flex: none;width: 38px;height: 38px;border-radius: 12px;background: var(--navy);color: #fff;font-weight: 800;display: grid;place-items: center;font-size: 15px}.act-title{min-width: 0}.act-title h2{margin: 0 0 4px;font-size: 20px}.act-meta{display: flex;flex-wrap: wrap;gap: 6px 14px;color: var(--muted);font-size: 13.5px}.act-meta span{display: inline-flex;align-items: center;gap: 4px}.act-text{margin: 0;line-height: 1.7}.act-photos{display: grid;gap: 8px;grid-template-columns: repeat(auto-fill,minmax(150px,1fr))}.act-photos-1{grid-template-columns: minmax(0,560px)}.act-photos-2{grid-template-columns: repeat(2,minmax(0,1fr))}.act-photos-3{grid-template-columns: repeat(3,minmax(0,1fr))}.act-photo{margin: 0;position: relative;border-radius: 12px;overflow: hidden;background: var(--th-bg);aspect-ratio: 4 / 3}.act-photos-1 .act-photo{aspect-ratio: 16 / 10}.act-photo a{display: block;width: 100%;height: 100%}.act-photo img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform .3s ease}.act-photo:hover img{transform: scale(1.03)}.act-photo-del{position: absolute;top: 6px;inset-inline-end: 6px;margin: 0}.act-photo-del .btn{background: rgba(255,255,255,.92);min-height: 32px;padding: 4px 8px}.act-manage{display: flex;flex-wrap: wrap;gap: 8px 16px;border-top: 1px dashed var(--line);padding-top: 10px}.act-manage>details{margin: 0;flex: 1 1 240px}.act-manage>details>summary{font-size: 14.5px;cursor: pointer}.act-new-card{padding: 10px 18px}.act-new-card details.fold[open]{padding-bottom: 8px}.act-page-head .row{gap: 8px;flex-wrap: wrap}.act-strip-grid{display: grid;gap: 10px;grid-template-columns: repeat(auto-fill,minmax(180px,1fr));margin-top: 12px}.act-tile{display: grid;grid-template-rows: 110px auto;border: 1px solid var(--line);border-radius: 14px;overflow: hidden;text-decoration: none;color: var(--ink);background: var(--card)}.act-tile img{width: 100%;height: 110px;object-fit: cover;display: block}.act-tile-blank{height: 110px;display: grid;place-items: center;background: var(--th-bg);color: var(--muted)}.act-tile-text{padding: 8px 10px;display: grid;gap: 2px}.act-tile-text strong{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.act-tile-text small{color: var(--muted)}.act-tile:hover{border-color: var(--teal);color: var(--ink)}@media (max-width: 640px){.act-card{padding: 14px;border-radius: 16px}.act-photos{grid-template-columns: repeat(2,minmax(0,1fr))}.act-photos-1{grid-template-columns: 1fr}}@media (prefers-reduced-motion: reduce){.act-photo img{transition: none}}.hero .brand-letters li b{background: rgba(255,255,255,.14);color: #fff}.hero .brand-letters span{color: #fff}.hero .brand-letters small{color: #cdd5ea}.mat-quick-card{border: 2px solid var(--teal-tint)}.mat-quick>summary{font-weight: 700}.mat-pick{max-width: 420px;margin-bottom: 8px}.slot-week{display: grid;gap: 14px;grid-template-columns: repeat(auto-fill,minmax(260px,1fr));margin-top: 14px}.slot-day h2{font-size: 1.1rem;margin: 0 0 10px;display: flex;align-items: center;gap: 6px}.slot-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 8px}.slot{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 10px;padding: 10px 12px;border-radius: 12px;border: 1.5px solid var(--input-border);background: var(--card)}.slot-time{font-weight: 700;min-width: 84px}.slot-state{flex: 1;display: flex;flex-wrap: wrap;align-items: center;gap: 4px 8px}.slot-state small{color: var(--muted)}.slot.is-free{border-color: var(--teal)}.slot.is-free .slot-state{color: var(--teal-dark)}.slot.is-taken{background: var(--th-bg);border-style: dashed}.slot.is-taken .slot-time{color: var(--muted);text-decoration: line-through}.slot.is-mine{background: var(--teal-tint);border-color: var(--teal-dark)}.slot form{margin: 0;display: flex;gap: 6px;align-items: center;flex-wrap: wrap}.slot-set select{max-width: 190px}.slot-by{flex-basis: 100%}.slot-summary p{margin: 0 0 6px}.slot-own-actions{display: flex;gap: 6px;flex-wrap: wrap;align-items: center}.slot.is-moving{outline: 3px solid var(--gold);outline-offset: 2px}.slot-move-banner{display: flex;flex-wrap: wrap;gap: 8px 12px;align-items: center;justify-content: space-between}.slot-move-banner p{margin: 0;flex: 1 1 260px}.slot-req-note{color: var(--muted);display: inline-flex;gap: 4px;align-items: center}.slot-answer{padding: 8px 10px;border-radius: 10px;border: 1.5px solid var(--input-border)}.slot-answer.is-ok{border-color: var(--teal-dark);background: var(--teal-tint)}.slot-answer.is-no{border-color: var(--danger)}.slot-req-list{list-style: none;margin: 0;padding: 0;display: grid;gap: 8px}.slot-req{display: flex;flex-wrap: wrap;gap: 8px 12px;align-items: center;justify-content: space-between;padding: 10px 12px;border: 1.5px solid var(--gold);border-radius: 12px}.slot-req-text{display: flex;flex-direction: column;gap: 2px;flex: 1 1 240px;min-width: 0}.slot-req-actions{display: flex;gap: 6px;flex-wrap: wrap;margin: 0}.slot-weeks{gap: 8px;flex-wrap: wrap;margin: 6px 0 4px}.slot-week-label{margin: 0 0 10px}.slot-day h2 small{font-weight: 500;font-size: .85rem}.slot.is-past{opacity: .6;background: var(--th-bg)}
