@font-face {
    font-family: Vazirmatn;
    src: url("../fonts/webfonts/Vazirmatn-Regular.woff2") format("woff2");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Survey popup */
.survey-popup { overflow:hidden; width:min(calc(100% - 28px),430px); max-height:min(90dvh,700px); border:0; border-radius:26px; padding:0; color:#172033; background:#fff; box-shadow:0 30px 90px rgba(15,23,42,.4); }
.survey-popup::backdrop { background:rgba(15,23,42,.7); backdrop-filter:blur(7px); }
.survey-popup-head { display:flex; align-items:center; gap:13px; padding:21px 22px; color:#fff; background:linear-gradient(125deg,var(--brand),#7c3aed); }
.survey-popup-head>span { display:grid; flex:0 0 50px; height:50px; place-items:center; border:2px solid rgba(255,255,255,.6); border-radius:17px; background:rgba(255,255,255,.14); font-size:26px; font-weight:900; }
.survey-popup-head div { display:grid; gap:2px; }
.survey-popup-head small { color:#ddd6fe; font-size:11px; font-weight:900; }
.survey-popup-head h2 { margin:0; font-size:20px; line-height:1.6; }
.survey-popup>form { display:grid; gap:16px; overflow-y:auto; max-height:calc(90dvh - 92px); padding:20px 22px 22px; }
.survey-popup>form>p:first-child { margin:0; color:#64748b; font-size:13px; font-weight:700; line-height:2; }
.survey-popup-options { display:grid; gap:9px; }
.survey-popup-options label { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:11px; border:1px solid #e2e8f0; border-radius:14px; padding:12px 13px; background:#f8fafc; cursor:pointer; transition:.18s ease; }
.survey-popup-options label:has(input:checked) { border-color:var(--brand); color:var(--brand); background:color-mix(in srgb,var(--brand) 8%,white); }
.survey-popup-options input { width:19px; min-height:19px; height:19px; margin:0; padding:0; accent-color:var(--brand); }
.survey-popup-options span { font-size:13px; font-weight:850; line-height:1.8; }
.survey-popup-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.survey-popup-actions button { min-height:45px; border:0; border-radius:13px; padding:0 10px; font:inherit; font-size:12px; font-weight:900; cursor:pointer; }
.survey-popup-actions button[type="submit"] { color:#fff; background:linear-gradient(120deg,var(--brand),#7c3aed); }
.survey-popup-actions button[type="submit"].is-success { background:#059669; }
.survey-popup-actions button[data-survey-later] { color:#475569; background:#eef2f7; }
.survey-popup-actions button:disabled { opacity:.65; cursor:wait; }
.survey-popup-error { margin:0!important; border-radius:10px; padding:9px 11px; color:#b91c1c!important; background:#fef2f2; font-size:11px!important; font-weight:800!important; }

.birthday-card { position:relative; display:grid; grid-template-columns:1fr; gap:22px; width:100%; min-height:220px; align-items:center; overflow:hidden; border:1px solid rgba(251,191,36,.48); border-radius:26px; margin:16px 0; padding:48px 26px 24px; color:#fff; background:radial-gradient(circle at 15% 35%,rgba(168,85,247,.3),transparent 28%),radial-gradient(circle at 85% 100%,rgba(236,72,153,.22),transparent 35%),linear-gradient(135deg,#11102b,#241343 58%,#38143d); box-shadow:0 16px 40px rgba(30,16,60,.3),inset 0 1px rgba(255,255,255,.12); isolation:isolate; text-align:right; animation:birthday-reveal .8s cubic-bezier(.2,.9,.25,1) both; }
.birthday-card::before { content:''; position:absolute; z-index:-1; inset:8px; border:1px dashed rgba(253,224,71,.25); border-radius:20px; pointer-events:none; }
.birthday-card::after { content:''; position:absolute; z-index:-1; width:180px; height:180px; left:-60px; bottom:-100px; border-radius:50%; background:#f59e0b; opacity:.14; filter:blur(8px); }
.birthday-copy { position:relative; z-index:3; display:grid; gap:7px; }
.birthday-kicker { display:flex; gap:8px; align-items:center; color:#fde68a; }
.birthday-kicker b { border-radius:999px; padding:5px 10px; color:#3b1648; background:linear-gradient(90deg,#fde68a,#fbbf24); font-size:11px; }
.birthday-kicker i { width:22px; height:1px; background:rgba(253,230,138,.6); }
.birthday-kicker small { font-size:11px; font-weight:700; }
.birthday-card h2 { margin:0; color:#fff; font-size:27px; font-weight:900; line-height:1.65; text-shadow:0 3px 18px rgba(236,72,153,.5); }
.birthday-card p { margin:0; color:#f5eefd; font-size:14px; font-weight:700; line-height:2; }
.birthday-signature { margin-top:3px; color:#c4b5fd; font-size:11px; font-weight:700; }
.birthday-signature b { color:#fb7185; animation:birthday-heart 1.2s ease-in-out infinite; }
.birthday-gift { position:relative; z-index:3; display:grid; width:104px; height:112px; place-items:center; filter:drop-shadow(0 16px 15px rgba(0,0,0,.3)); animation:gift-float 2.8s ease-in-out infinite; }
.gift-box { font-size:82px; line-height:1; }
.gift-bow { position:absolute; z-index:2; top:-13px; font-size:40px; transform:rotate(-8deg); animation:bow-wiggle 1.8s ease-in-out infinite; }
.birthday-lights { position:absolute; z-index:4; top:0; right:0; left:0; display:flex; height:35px; justify-content:space-around; border-top:2px solid rgba(255,255,255,.25); transform:rotate(-1deg); pointer-events:none; }
.birthday-lights i { width:11px; height:17px; border-radius:50% 50% 45% 45%; background:hsl(calc(var(--i) * 42deg) 92% 66%); box-shadow:0 0 12px currentColor; transform:translateY(8px); animation:light-glow 1.4s ease-in-out infinite alternate; animation-delay:calc(var(--i) * -.17s); }
.birthday-stars { position:absolute; z-index:2; inset:0; pointer-events:none; }
.birthday-stars i { position:absolute; color:#fde68a; font-style:normal; animation:star-twinkle 1.6s ease-in-out infinite; }
.birthday-stars i:nth-child(1) { top:64px; left:22px; font-size:18px; }.birthday-stars i:nth-child(2) { right:46%; bottom:18px; font-size:12px; animation-delay:-.5s; }.birthday-stars i:nth-child(3) { top:72px; right:20px; font-size:10px; animation-delay:-1s; }.birthday-stars i:nth-child(4) { left:32%; top:42px; font-size:8px; animation-delay:-.8s; }
@keyframes birthday-reveal { from { opacity:0; transform:translateY(18px) scale(.97); } to { opacity:1; transform:none; } }
@keyframes gift-float { 0%,100% { transform:translateY(3px) rotate(-2deg); } 50% { transform:translateY(-8px) rotate(2deg); } }
@keyframes bow-wiggle { 0%,100% { transform:rotate(-8deg) scale(1); } 50% { transform:rotate(7deg) scale(1.08); } }
@keyframes light-glow { from { opacity:.45; transform:translateY(8px) scale(.85); } to { opacity:1; transform:translateY(8px) scale(1.1); } }
@keyframes star-twinkle { 0%,100% { opacity:.25; transform:scale(.7) rotate(0); } 50% { opacity:1; transform:scale(1.35) rotate(45deg); } }
@keyframes birthday-heart { 50% { transform:scale(1.25); } }
@media (prefers-reduced-motion:reduce) { .birthday-card,.birthday-gift,.gift-bow,.birthday-lights i,.birthday-stars i,.birthday-signature b { animation:none; } }
@media (max-width:480px) { .birthday-card { grid-template-columns:1fr; gap:4px; padding:45px 18px 22px; text-align:center; } .birthday-gift { width:82px; height:88px; } .gift-box { font-size:66px; } .gift-bow { font-size:32px; } .birthday-kicker { justify-content:center; flex-wrap:wrap; } .birthday-kicker i { display:none; } .birthday-card h2 { font-size:22px; } }

@font-face {
    font-family: Vazirmatn;
    src: url("../fonts/webfonts/Vazirmatn-Bold.woff2") format("woff2");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: Vazirmatn;
    src: url("../fonts/webfonts/Vazirmatn-ExtraBold.woff2") format("woff2");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

* {
    box-sizing: border-box;
}

[hidden] {
    display: none !important;
}

.toast-stack {
    position: fixed;
    right: 50%;
    top: 18px;
    z-index: 5000;
    display: grid;
    gap: 10px;
    width: min(calc(100% - 28px), 390px);
    transform: translateX(50%);
    pointer-events: none;
}

.toast {
    display: grid;
    gap: 4px;
    border: 1px solid #fecaca;
    border-radius: 12px;
    padding: 12px 14px;
    color: #7f1d1d;
    background: #fff;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .18);
    font-size: 13px;
    font-weight: 900;
    line-height: 1.8;
    opacity: 0;
    transform: translateY(-10px);
    animation: toastIn .22s ease forwards;
}

.toast strong {
    color: #991b1b;
    font-size: 12px;
}

.toast.is-success {
    border-color: #a7f3d0;
    color: #047857;
    background: #f0fdf4;
}

.toast.is-success strong {
    color: #065f46;
}

.toast.is-leaving {
    animation: toastOut .18s ease forwards;
}

@keyframes toastIn {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes toastOut {
    to {
        opacity: 0;
        transform: translateY(-10px);
    }
}

body {
    margin: 0;
    overflow-x: hidden;
    min-height: 100vh;
    color: #111827;
    background: #f4f7fb;
    font-family: Vazirmatn, Tahoma, Arial, sans-serif;
}

body.mobile-frame-page {
    background: #dbe3ef;
}

body.is-modal-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

.user-auth-page {
    display: grid;
    overflow-x: hidden;
    overflow-y: hidden;
    height: 100vh;
    min-height: 100vh;
    place-items: center;
    padding: 18px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(244, 247, 251, .96)),
        radial-gradient(circle at 50% 0, rgba(37, 99, 235, .16), transparent 42%);
}

.user-auth-box {
    display: grid;
    justify-items: center;
    gap: 18px;
    width: min(100%, 430px);
    max-width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 28px 22px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 20px 44px rgba(15, 23, 42, .10);
    text-align: center;
}

.register-box {
    width: min(100%, 430px);
    align-content: start;
    max-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
}

@supports (height: 100dvh) {
    .user-auth-page {
        height: 100dvh;
        min-height: 100dvh;
    }
}

.register-box .user-auth-form label {
    text-align: right;
}

.register-box .user-auth-form input,
.register-box .user-auth-form select {
    text-align: right;
}

.auth-brand {
    display: grid;
    place-items: center;
    color: #0f172a;
    font-weight: 900;
}

.auth-brand img,
.auth-brand span {
    width: 76px;
    height: 76px;
    border-radius: 20px;
}

.auth-brand img {
    object-fit: contain;
    padding: 8px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 12px 26px rgba(15, 23, 42, .08);
}

.auth-brand span {
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--brand);
}

.user-auth-box h1 {
    margin: 0;
    color: #0f172a;
    font-size: 24px;
    line-height: 1.7;
}

.user-auth-form {
    display: grid;
    gap: 14px;
    width: 100%;
    min-width: 0;
}

.user-auth-form label {
    display: grid;
    gap: 8px;
    min-width: 0;
    color: #334155;
    font-size: 14px;
    font-weight: 900;
    text-align: center;
}

.user-auth-form input,
.user-auth-form select {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 46px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 0 12px;
    font: inherit;
    text-align: center;
}

.user-auth-form select {
    color: #0f172a;
    background: #fff;
    cursor: pointer;
}

.otp-field {
    display: grid;
    gap: 10px;
    width: 100%;
    color: #334155;
    font-size: 14px;
    font-weight: 900;
    text-align: center;
}

.otp-inputs {
    display: grid;
    grid-template-columns: repeat(var(--otp-count), minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}

.otp-inputs input {
    min-width: 0;
    aspect-ratio: 1 / 1;
    min-height: 50px;
    padding: 0;
    direction: ltr;
    font-size: 22px;
    font-weight: 900;
    line-height: 1;
}

.otp-inputs input:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 18%, transparent);
    outline: none;
}

.user-auth-form button,
.resend-form button {
    min-height: 46px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: var(--brand);
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.resend-form {
    display: block;
    width: 100%;
}

.resend-form button {
    width: 100%;
    color: var(--brand);
    background: #eff6ff;
}

.auth-alert,
.auth-phone,
.auth-test-link {
    width: 100%;
    margin: 0;
    border-radius: 10px;
    padding: 10px 12px;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

.auth-alert.success {
    color: #166534;
    background: #dcfce7;
}

.auth-alert.error {
    color: #991b1b;
    background: #fee2e2;
}

.auth-phone {
    color: #475569;
    background: #f8fafc;
}

.register-phone-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    width: 100%;
    align-items: center;
}

.auth-edit-phone {
    display: grid;
    min-height: 46px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--brand) 30%, #cbd5e1);
    border-radius: 10px;
    padding: 0 12px;
    color: var(--brand);
    background: #fff;
    font-size: 13px;
    font-weight: 900;
    white-space: nowrap;
}

.register-phone-field input {
    min-width: 0;
}

.auth-secondary-actions {
    display: flex;
    gap: 14px;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.auth-secondary-actions .resend-form {
    width: auto;
}

.auth-secondary-actions .resend-form button {
    width: auto;
    min-height: auto;
    padding: 0;
    color: var(--brand);
    background: transparent;
    font-size: 13px;
}

.auth-secondary-actions a {
    color: #64748b;
    font-size: 13px;
    font-weight: 900;
}

.auth-review-box {
    display: grid;
    gap: 8px;
    width: 100%;
    border: 1px solid #fecaca;
    border-radius: 12px;
    padding: 12px;
    color: #7f1d1d;
    background: #fff1f2;
    text-align: right;
}

.auth-review-box span {
    font-size: 12px;
    font-weight: 900;
}

.auth-review-box p {
    margin: 0;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.9;
}

.auth-review-box a {
    display: grid;
    min-height: 38px;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: #dc2626;
    font-size: 13px;
    font-weight: 900;
}

.auth-test-link {
    display: grid;
    min-height: 42px;
    place-items: center;
    color: var(--brand);
    background: #eff6ff;
}

.test-code-list {
    display: grid;
    gap: 10px;
    width: 100%;
}

.test-code-card {
    display: grid;
    gap: 4px;
    border: 1px solid #dbeafe;
    border-radius: 12px;
    padding: 12px;
    background: #f8fafc;
}

.test-code-card span,
.test-code-card small {
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.test-code-card strong {
    color: #0f172a;
    font-size: 28px;
    font-weight: 900;
    direction: ltr;
}

.role-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    min-width: 0;
}

.role-tabs label {
    display: block;
    min-width: 0;
    cursor: pointer;
}

.role-tabs input {
    position: absolute;
    inset: 0 auto auto 0;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

.role-tabs span {
    display: grid;
    gap: 7px;
    min-width: 0;
    min-height: 92px;
    place-items: center;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    color: #2563eb;
    background: #eff6ff;
    padding: 10px 6px;
    text-align: center;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}

.role-tabs svg {
    width: 34px;
    height: 34px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
}

.role-tabs strong {
    overflow-wrap: anywhere;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.5;
}

.role-tabs label.is-active span {
    color: #fff;
    background: var(--brand);
    border-color: var(--brand);
    transform: translateY(-1px);
    box-shadow: 0 10px 20px color-mix(in srgb, var(--brand) 20%, transparent);
}

.role-fields {
    display: grid;
    gap: 14px;
}

.register-form {
    gap: 16px;
}

.form-section {
    display: grid;
    gap: 12px;
    width: 100%;
    min-width: 0;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px;
    background:
        linear-gradient(180deg, #fff, #f8fafc);
    text-align: right;
}

.form-section h2 {
    margin: 0;
    color: #0f172a;
    font-size: 15px;
    font-weight: 900;
}

.form-field {
    display: grid;
    gap: 8px;
}

.form-field > span {
    color: #334155;
    font-size: 14px;
    font-weight: 900;
}

.user-auth-form textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 96px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 10px 12px;
    font: inherit;
    line-height: 1.9;
    resize: vertical;
}

.user-auth-form input:disabled {
    color: #64748b;
    background: #f1f5f9;
}

.file-picker {
    position: relative;
    display: grid;
    gap: 8px;
    min-width: 0;
    cursor: pointer;
}

.file-picker input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.file-picker-ui {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    min-height: 58px;
    border: 1px dashed #93c5fd;
    border-radius: 12px;
    padding: 10px 12px;
    color: var(--brand);
    background: linear-gradient(135deg, #eff6ff, #f8fafc);
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.file-picker-ui svg {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    padding: 8px;
    color: #fff;
    background: var(--brand);
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
}

.file-picker-ui strong {
    overflow: hidden;
    color: #0f172a;
    font-size: 13px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-picker small {
    overflow: hidden;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.file-picker:hover .file-picker-ui,
.file-picker:focus-within .file-picker-ui {
    border-color: var(--brand);
    background: #fff;
    box-shadow: 0 10px 22px color-mix(in srgb, var(--brand) 14%, transparent);
    transform: translateY(-1px);
}

jdp-container {
    position: fixed !important;
    z-index: 3000 !important;
    font-family: Vazirmatn, Tahoma, Arial, sans-serif;
    border: 1px solid #dbeafe;
    border-radius: 14px !important;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .18);
}

jdp-overlay {
    z-index: 2999 !important;
}

/* Jalali picker is a custom element; keep it above dialogs and fixed headers. */
jdp-container { z-index: 9000 !important; }
jdp-overlay { z-index: 8999 !important; }

.choice-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.choice-row label {
    min-width: 0;
    cursor: pointer;
}

.choice-row input {
    position: absolute;
    inset: 0 auto auto 0;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

.choice-row span {
    display: grid;
    min-width: 0;
    min-height: 42px;
    place-items: center;
    border: 1px solid #dbeafe;
    border-radius: 10px;
    color: #2563eb;
    background: #eff6ff;
    font-size: 13px;
    font-weight: 900;
}

.choice-row input:checked + span {
    color: #fff;
    background: var(--brand);
}

.account-panel {
    display: grid;
    gap: 12px;
    margin-top: 18px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 18px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .07);
}

.account-panel h1,
.account-panel h2 {
    margin: 0 0 6px;
    color: #0f172a;
    font-size: 22px;
}

.account-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid #edf2f7;
    border-radius: 12px;
    padding: 12px;
}

.account-row span {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.account-row strong {
    color: #0f172a;
    font-size: 14px;
}

.logout-link {
    display: grid;
    min-height: 44px;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: #dc2626;
    font-weight: 900;
}

/* Full user profile */
.profile-page,.profile-form { display:grid; gap:15px; }.profile-flash { margin:0; border:1px solid #bbf7d0; border-radius:13px; padding:11px 14px; color:#166534; background:#f0fdf4; font-size:10px; font-weight:850; }.profile-flash.is-error { border-color:#fecaca; color:#991b1b; background:#fff1f2; }
.profile-hero { position:relative; display:flex; align-items:center; gap:16px; overflow:hidden; border-radius:24px; padding:25px; color:#fff; background:linear-gradient(125deg,#172554,#3157c9 58%,#6581eb); box-shadow:0 19px 42px rgba(36,66,151,.22); }.profile-hero::after { position:absolute; width:210px; height:210px; left:-80px; top:-100px; border:38px solid rgba(255,255,255,.055); border-radius:50%; content:""; }.profile-hero > * { position:relative; z-index:1; }.profile-avatar-wrap { position:relative; flex:0 0 auto; }.profile-avatar { display:grid; width:82px; height:82px; place-items:center; overflow:hidden; border:3px solid rgba(255,255,255,.7); border-radius:25px; color:#3155bd; background:#fff; box-shadow:0 12px 25px rgba(10,25,75,.2); }.profile-avatar img { width:100%; height:100%; object-fit:cover; }.profile-avatar b { font-size:30px; }.profile-avatar-edit { position:absolute; right:-6px; bottom:-6px; display:grid; width:31px; height:31px; place-items:center; border:3px solid #3158c9; border-radius:10px; color:#3158c9; background:#fff; cursor:pointer; }.profile-avatar-edit input { position:absolute; width:1px; height:1px; opacity:0; }.profile-avatar-edit svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }.profile-hero > div:nth-child(2) { display:grid; min-width:0; flex:1; }.profile-hero > div:nth-child(2) span { color:#c8d8ff; font-size:9px; font-weight:900; }.profile-hero h1 { overflow:hidden; margin:1px 0; font-size:22px; text-overflow:ellipsis; white-space:nowrap; }.profile-hero p { direction:ltr; justify-self:start; margin:0; color:rgba(255,255,255,.72); font-size:10px; }.profile-points { display:grid; grid-template-columns:auto auto; align-items:center; gap:0 6px; justify-items:end; border-right:1px solid rgba(255,255,255,.18); padding-right:19px; }.profile-points small { grid-column:1/-1; color:#d4deff; font-size:8px; }.profile-points strong { font-size:24px; }.profile-points span { color:#fbd45c; font-size:18px; }
.profile-invite-card { display:flex; align-items:center; gap:14px; overflow:hidden; border:1px solid #d8d0ee; border-radius:19px; padding:16px 18px; background:linear-gradient(135deg,#f5f1ff,#fff); box-shadow:0 10px 28px rgba(71,49,126,.07); }.profile-invite-card > div { display:grid; min-width:0; flex:1; }.profile-invite-card > div span { color:#7657bd; font-size:8px; font-weight:900; }.profile-invite-card > div strong { letter-spacing:2px; color:#35245d; font-size:18px; }.profile-invite-card > div small { color:#818b9b; font-size:8px; }.profile-invite-card button { display:flex; align-items:center; gap:7px; flex:0 0 auto; border:0; border-radius:11px; padding:9px 11px; color:#fff; background:#694bb5; font:inherit; font-size:9px; font-weight:900; cursor:pointer; }.profile-invite-card button svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
.profile-section { display:grid; gap:13px; border:1px solid #e4e8ef; border-radius:19px; padding:18px; background:#fff; box-shadow:0 11px 29px rgba(18,35,70,.055); }.profile-section-title { display:grid; }.profile-section-title span { color:#4266d2; font-size:8px; font-weight:900; }.profile-section-title h2 { margin:0; color:#1d293d; font-size:16px; }.profile-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }.profile-grid .span-2 { grid-column:1/-1; }.profile-grid label { display:grid; gap:5px; color:#627086; font-size:9px; font-weight:850; }.profile-grid input,.profile-grid select,.profile-grid textarea { min-width:0; min-height:43px; box-sizing:border-box; border:1px solid #dfe4ec; border-radius:11px; outline:0; padding:0 11px; color:#273449; background:#fafbfd; font:inherit; font-size:10px; }.profile-grid textarea { min-height:85px; padding-top:10px; resize:vertical; }.profile-grid input:focus,.profile-grid select:focus,.profile-grid textarea:focus { border-color:#5270d6; box-shadow:0 0 0 3px rgba(82,112,214,.1); }.profile-grid input[readonly] { color:#8a94a5; background:#f0f2f6; cursor:not-allowed; }.profile-grid label > small { color:#8b95a5; font-size:8px; }.profile-actions { display:grid; grid-template-columns:1fr auto; gap:9px; }.profile-actions button,.profile-actions a { display:grid; min-height:45px; place-items:center; border:0; border-radius:12px; padding:0 16px; color:#fff; background:linear-gradient(135deg,#3158cc,#5c7be5); font:inherit; font-size:10px; font-weight:900; text-decoration:none; cursor:pointer; }.profile-actions a { color:#b52a3e; background:#fff0f2; }.referral-register-section h2 small { color:#8090a7; font-size:10px; }.referral-register-section label > small { color:#68778e; font-size:10px; line-height:1.8; }
.sleep-reminder-check { align-content:center; grid-template-columns:auto 1fr; border:1px solid #e5e9f1; border-radius:12px; padding:10px 12px; background:#fafbfd; }.sleep-reminder-check input { width:18px; min-height:18px; padding:0; accent-color:#4266d2; }.sleep-reminder-check span { color:#344258; font-size:10px; }.sleep-reminder-check small { grid-column:1/-1; }.sleep-reminder-permission { display:flex; align-items:center; justify-content:space-between; gap:12px; border-radius:13px; padding:12px 14px; background:#eef3ff; }.sleep-reminder-permission div { display:grid; gap:3px; }.sleep-reminder-permission strong { color:#263c76; font-size:10px; }.sleep-reminder-permission small { color:#66759a; font-size:8px; }.sleep-reminder-permission button { flex:none; border:0; border-radius:10px; padding:10px 13px; color:#fff; background:#4266d2; font:inherit; font-size:9px; font-weight:900; cursor:pointer; }.sleep-reminder-permission button.is-enabled { color:#166534; background:#dcfce7; }

.student-goals {
    display: grid;
    gap: 14px;
}

.services-hub {
    display: grid;
    gap: 14px;
}

.student-sos-card{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:18px;overflow:hidden;margin:18px 0;border:1px solid #fecaca;border-radius:24px;padding:20px 22px;color:#fff;background:radial-gradient(circle at 15% 20%,#fb718555 0,transparent 28%),linear-gradient(125deg,#18070d,#5f0b21 58%,#b91c1c);box-shadow:0 18px 42px #7f1d1d38}.student-sos-card:before{position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 18px,#ffffff08 18px 19px);content:"";pointer-events:none}.student-sos-card>div,.student-sos-card>form,.student-sos-note{position:relative;z-index:1}.student-sos-beacon{display:grid;position:relative;width:74px;height:74px;place-items:center}.student-sos-beacon:before,.student-sos-beacon i{position:absolute;inset:2px;border:1px solid #fb7185;border-radius:50%;animation:sos-pulse 1.8s ease-out infinite;content:""}.student-sos-beacon i{inset:-9px;opacity:.35;animation-delay:.5s}.student-sos-beacon b{display:grid;width:64px;height:64px;place-items:center;border:3px solid #fff;border-radius:50%;color:#fff;background:linear-gradient(145deg,#fb1239,#9f1239);box-shadow:0 0 28px #fb718599,inset 0 3px 6px #ffffff55;font-size:19px;letter-spacing:1px}.student-sos-card>div:nth-child(2)>span{color:#fda4af;font-size:11px;font-weight:900}.student-sos-card h2{margin:2px 0;color:#fff;font-size:21px}.student-sos-card p{margin:0;color:#ffe4e6;font-size:12px;font-weight:700;line-height:1.9}.student-sos-card form button{display:grid;min-width:145px;min-height:92px;place-items:center;border:1px solid #ffffff66;border-radius:18px;padding:10px 20px;color:#7f1d1d;background:linear-gradient(145deg,#fff,#ffe4e6);box-shadow:0 9px 25px #0005;transition:.2s ease}.student-sos-card form button:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 13px 32px #0007}.student-sos-card form small,.student-sos-card form em{font-size:9px;font-style:normal;font-weight:900}.student-sos-card form strong{font-size:26px;line-height:1}.student-sos-note{grid-column:2/-1;color:#fda4af;font-size:9px;font-weight:750}.sos-flash{margin:15px 0;border:1px solid #bbf7d0;border-radius:12px;padding:11px 14px;color:#166534;background:#f0fdf4;font-size:12px;font-weight:850}.sos-flash.is-error{border-color:#fecaca;color:#991b1b;background:#fff1f2}@keyframes sos-pulse{0%{transform:scale(.75);opacity:.8}100%{transform:scale(1.45);opacity:0}}@media(max-width:700px){.student-sos-card{grid-template-columns:64px 1fr;padding:17px}.student-sos-beacon{width:58px;height:58px}.student-sos-beacon b{width:52px;height:52px;font-size:15px}.student-sos-card form{grid-column:1/-1}.student-sos-card form button{width:100%;min-height:65px;grid-template-columns:auto auto auto;gap:8px}.student-sos-note{grid-column:1/-1}}

.parent-dashboard{margin:20px 0;border:1px solid #dbeafe;border-radius:25px;padding:22px;background:linear-gradient(145deg,#eff6ff,#fff 45%,#f5f3ff);box-shadow:0 18px 45px #1e3a8a12}.parent-dashboard-head,.parent-learning>header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.parent-dashboard-head span,.parent-learning>header span{color:#2563eb;font-size:11px;font-weight:900}.parent-dashboard-head h2,.parent-learning>header h2{margin:2px 0;color:#172554;font-size:23px}.parent-dashboard-head p,.parent-learning>header p{margin:0;color:#64748b;font-size:11px;font-weight:700}.parent-dashboard-head>b{border-radius:999px;padding:7px 12px;color:#3730a3;background:#e0e7ff;font-size:10px}.parent-student-tabs{display:flex;overflow-x:auto;gap:9px;margin-bottom:16px;padding:3px}.parent-student-tabs button{display:grid;flex:0 0 auto;grid-template-columns:38px auto;grid-template-rows:auto auto;align-items:center;gap:0 9px;min-width:160px;border:1px solid #dbe3ef;border-radius:14px;padding:9px 12px;color:#475569;background:#fff;text-align:right;transition:.18s ease}.parent-student-tabs button>span{display:grid;grid-row:1/3;width:38px;height:38px;place-items:center;border-radius:12px;color:#3730a3;background:#e0e7ff;font-weight:900}.parent-student-tabs strong{font-size:11px}.parent-student-tabs small{color:#94a3b8;font-size:8px;font-weight:800}.parent-student-tabs button.is-active{border-color:#818cf8;color:#fff;background:linear-gradient(135deg,#4338ca,#2563eb);box-shadow:0 8px 20px #4338ca33;transform:translateY(-2px)}.parent-student-tabs button.is-active>span{color:#fff;background:#ffffff22}.parent-student-tabs button.is-active small{color:#dbeafe}.parent-student-panel{border:1px solid #e2e8f0;border-radius:20px;padding:18px;background:#fff;box-shadow:0 9px 26px #0f172a0d}.parent-student-identity{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:13px;margin-bottom:16px}.parent-student-avatar{display:grid;width:56px;height:56px;place-items:center;overflow:hidden;border:3px solid #e0e7ff;border-radius:17px;color:#4338ca;background:#eef2ff;font-size:20px;font-weight:900}.parent-student-avatar img{width:100%;height:100%;object-fit:cover}.parent-student-identity small{color:#6366f1;font-size:9px;font-weight:900}.parent-student-identity h3{margin:0;color:#1e293b;font-size:18px}.parent-student-identity p{margin:1px 0;color:#64748b;font-size:10px;font-weight:700}.parent-student-identity>span{border-radius:999px;padding:6px 10px;color:#64748b;background:#f1f5f9;font-size:8px;font-weight:850}.parent-student-identity>span.is-fresh{color:#166534;background:#dcfce7}.parent-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.parent-metric-grid>div{display:flex;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#f8fafc}.parent-metric-grid i{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;color:#2563eb;background:#dbeafe;font-size:15px;font-style:normal;font-weight:900}.parent-metric-grid span{display:grid}.parent-metric-grid b{color:#1e293b;font-size:16px}.parent-metric-grid small{color:#64748b;font-size:8px;font-weight:800}.parent-metric-grid .is-test i{color:#047857;background:#d1fae5}.parent-metric-grid .is-accuracy i{color:#a21caf;background:#fae8ff}.parent-metric-grid .is-goal i{color:#c2410c;background:#ffedd5}.parent-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:11px}.parent-insight-grid>section{border:1px solid #e2e8f0;border-radius:14px;padding:13px;background:#fff}.parent-insight-grid header>div{display:flex;justify-content:space-between;gap:8px;color:#334155;font-size:9px;font-weight:900}.parent-insight-grid header strong{color:#2563eb}.parent-progress{overflow:hidden;height:8px;margin:10px 0;border-radius:99px;background:#e2e8f0}.parent-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#06b6d4,#2563eb)}.parent-progress.is-purple i{background:linear-gradient(90deg,#a855f7,#6366f1)}.parent-insight-grid dl{display:flex;justify-content:space-between;gap:7px;margin:0}.parent-insight-grid dl div{display:grid;gap:1px}.parent-insight-grid dt{color:#94a3b8;font-size:7px;font-weight:800}.parent-insight-grid dd{margin:0;color:#334155;font-size:10px;font-weight:900}.parent-insight-grid .is-phone{background:linear-gradient(145deg,#f0fdf4,#fff)}.parent-student-footer{display:flex;align-items:center;gap:13px;margin-top:12px;border-radius:12px;padding:9px 12px;color:#64748b;background:#f8fafc;font-size:9px;font-weight:800}.parent-student-footer a{margin-right:auto;color:#4f46e5}.parent-no-child{display:grid;grid-template-columns:55px 1fr auto;align-items:center;gap:14px;border:1px dashed #a5b4fc;border-radius:17px;padding:18px;background:#fff}.parent-no-child i{display:grid;width:52px;height:52px;place-items:center;border-radius:15px;color:#4338ca;background:#e0e7ff;font-size:24px;font-style:normal}.parent-no-child strong{color:#1e293b}.parent-no-child p{margin:3px 0;color:#64748b;font-size:10px;line-height:1.8}.parent-no-child a{border-radius:10px;padding:9px 13px;color:#fff;background:#4f46e5;font-size:10px;font-weight:900}.parent-learning{margin:22px 0;border-radius:25px;padding:22px;background:linear-gradient(135deg,#172554,#312e81 58%,#0e7490);box-shadow:0 18px 45px #17255433}.parent-learning>header span{color:#67e8f9}.parent-learning>header h2{color:#fff}.parent-learning>header p{color:#c7d2fe}.parent-learning>header>b{border:1px solid #ffffff33;border-radius:999px;padding:7px 12px;color:#fff;background:#ffffff12;font-size:9px}.parent-learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.parent-learning-card{overflow:hidden;border:1px solid #ffffff25;border-radius:18px;padding:0;color:#172033;background:#fff;text-align:right;box-shadow:0 10px 25px #0002;transition:.2s ease}.parent-learning-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #0004}.parent-learning-card>img,.parent-learning-placeholder{display:grid;width:100%;height:145px;place-items:center;object-fit:cover;color:#cffafe;background:linear-gradient(135deg,#0e7490,#4338ca);font-weight:900}.parent-learning-card>div{padding:14px}.parent-learning-card small,.parent-modal-label{color:#0891b2;font-size:8px;font-weight:900}.parent-learning-card h3{margin:3px 0;color:#1e293b;font-size:14px}.parent-learning-card p{display:-webkit-box;overflow:hidden;margin:0;color:#64748b;font-size:9px;font-weight:700;line-height:1.8;-webkit-box-orient:vertical;-webkit-line-clamp:2}.parent-learning-card em{display:block;margin-top:10px;color:#4f46e5;font-size:9px;font-style:normal;font-weight:900}.parent-learning-empty{border:1px dashed #ffffff44;border-radius:15px;padding:20px;color:#c7d2fe;text-align:center;font-size:11px;font-weight:800}.parent-learning-modal .parent-modal-label{display:block;margin-bottom:4px}@media(max-width:800px){.parent-metric-grid{grid-template-columns:repeat(2,1fr)}.parent-insight-grid,.parent-learning-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.parent-dashboard,.parent-learning{padding:15px}.parent-dashboard-head,.parent-learning>header{align-items:flex-start;flex-direction:column}.parent-student-identity{grid-template-columns:48px 1fr}.parent-student-identity>span{grid-column:1/-1}.parent-metric-grid,.parent-insight-grid,.parent-learning-grid{grid-template-columns:1fr}.parent-no-child{grid-template-columns:48px 1fr}.parent-no-child a{grid-column:1/-1;text-align:center}.parent-student-footer{align-items:flex-start;flex-direction:column}.parent-student-footer a{margin:0}}

.services-hero {
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--brand) 24%, #fff);
    border-radius: 22px;
    padding: 20px;
    color: #fff;
    background:
        radial-gradient(circle at 12% 5%, rgba(255, 255, 255, .2), transparent 27%),
        linear-gradient(135deg, var(--brand), #7c3aed 72%, #8b5cf6);
    box-shadow: 0 18px 36px color-mix(in srgb, var(--brand) 24%, transparent);
}

.services-hero::after {
    position: absolute;
    bottom: -65px;
    left: -35px;
    width: 150px;
    height: 150px;
    border: 25px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    content: "";
}

.services-hero-parent {
    background: radial-gradient(circle at 12% 5%, rgba(255, 255, 255, .2), transparent 27%), linear-gradient(135deg, #0f766e, #0891b2 72%, #06b6d4);
}

.services-hero-advisor {
    background: radial-gradient(circle at 12% 5%, rgba(255, 255, 255, .2), transparent 27%), linear-gradient(135deg, #4338ca, #7c3aed 72%, #a855f7);
}

.services-hero > span {
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-weight: 900;
}

.services-hero h1 {
    margin: 2px 0;
    font-size: 25px;
}

.services-hero p {
    position: relative;
    z-index: 1;
    margin: 0;
    color: rgba(255, 255, 255, .86);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.9;
}

.service-tool-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.service-tool-tabs button {
    display: flex;
    min-height: 58px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    color: #64748b;
    background: #fff;
    box-shadow: 0 9px 22px rgba(15, 23, 42, .05);
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
    transition: .18s ease;
}

.study-report-feature {
    position: relative;
    display: flex;
    min-height: 104px;
    align-items: center;
    gap: 15px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 22px;
    padding: 19px 21px;
    color: #fff;
    background: linear-gradient(125deg, #15295f 0%, #3159d3 55%, #6c87f4 100%);
    box-shadow: 0 17px 35px rgba(42, 76, 173, .22);
    text-decoration: none;
    isolation: isolate;
    transition: transform .2s ease, box-shadow .2s ease;
}

.study-report-feature::before,
.study-report-feature::after {
    position: absolute;
    z-index: -1;
    border-radius: 50%;
    content: "";
}

.study-report-feature::before {
    width: 170px;
    height: 170px;
    inset: -85px auto auto -45px;
    border: 30px solid rgba(255, 255, 255, .055);
}

.study-report-feature::after {
    width: 95px;
    height: 95px;
    inset: auto 37% -70px auto;
    background: rgba(123, 230, 215, .12);
    box-shadow: 0 0 65px rgba(87, 231, 207, .25);
}

.study-report-feature:hover {
    transform: translateY(-2px);
    box-shadow: 0 21px 42px rgba(42, 76, 173, .28);
}

.study-report-feature-icon {
    display: grid;
    width: 62px;
    height: 62px;
    place-items: center;
    flex: 0 0 auto;
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 19px;
    background: rgba(255, 255, 255, .13);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .16);
    backdrop-filter: blur(7px);
}

.study-report-feature-icon svg {
    width: 32px;
    height: 32px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.study-report-feature-copy {
    display: grid;
    min-width: 0;
    flex: 1;
    gap: 1px;
}

.study-report-feature-copy small {
    color: #bfe3ff;
    font-size: 9px;
    font-weight: 900;
}

.study-report-feature-copy strong {
    color: #fff;
    font-size: 19px;
    line-height: 1.7;
}

.study-report-feature-copy em {
    overflow: hidden;
    color: rgba(255, 255, 255, .74);
    font-size: 9px;
    font-style: normal;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.study-report-feature-action {
    display: flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    border-radius: 12px;
    padding: 9px 12px;
    color: #2347ad;
    background: #fff;
    box-shadow: 0 8px 18px rgba(14, 32, 87, .18);
    font-size: 10px;
    font-weight: 900;
}

.study-report-feature-action b {
    font-size: 15px;
}

.service-tool-tabs svg,
.checklist-create-form svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.service-tool-tabs button.is-active {
    border-color: color-mix(in srgb, var(--brand) 25%, #fff);
    color: #fff;
    background: linear-gradient(135deg, var(--brand), #7c3aed);
    box-shadow: 0 12px 25px color-mix(in srgb, var(--brand) 21%, transparent);
    transform: translateY(-1px);
}

.student-tool-panel {
    display: grid;
    gap: 13px;
}

.tool-section-title {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    padding: 2px 3px;
}

.tool-section-title > div {
    display: grid;
    gap: 1px;
}

.tool-section-title span {
    color: var(--brand);
    font-size: 9px;
    font-weight: 900;
}

.tool-section-title h2 {
    margin: 0;
    color: #0f172a;
    font-size: 19px;
}

.tool-section-title > b {
    border-radius: 999px;
    padding: 5px 10px;
    color: #475569;
    background: #e2e8f0;
    font-size: 9px;
}

.student-tool-panel .goal-create-form {
    grid-template-columns: minmax(0, 1fr) auto;
}

.checklist-create-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 8px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 10px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(15, 23, 42, .055);
}

.checklist-create-form input {
    min-width: 0;
    min-height: 44px;
    border: 0;
    outline: 0;
    padding: 0 9px;
    color: #0f172a;
    background: transparent;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.checklist-create-form button {
    display: grid;
    min-height: 44px;
    place-items: center;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, var(--brand), #7c3aed);
    cursor: pointer;
}

.checklist-group {
    display: grid;
    gap: 8px;
}

.checklist-group > h3 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #475569;
    font-size: 11px;
}

.checklist-group > h3 b,
.completed-checklist > summary b {
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 999px;
    color: #fff;
    background: var(--brand);
    font-size: 9px;
}

.checklist-card {
    border-right-color: #8b5cf6;
}

.checklist-empty {
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    padding: 22px 14px;
    color: #64748b;
    background: rgba(255, 255, 255, .65);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.completed-checklist {
    border: 1px solid #d1fae5;
    border-radius: 16px;
    padding: 5px 11px 11px;
    background: #f0fdf8;
}

.completed-checklist > summary {
    display: flex;
    min-height: 42px;
    align-items: center;
    gap: 7px;
    color: #047857;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.completed-checklist > summary b {
    background: #10b981;
}

.checklist-inline-delete {
    display: grid;
    width: 32px;
    min-height: 32px;
    place-items: center;
    border: 0;
    border-radius: 9px;
    color: #b91c1c;
    background: #fee2e2;
    font-size: 19px;
    cursor: pointer;
}

.role-service-grid {
    display: grid;
    gap: 11px;
}

.role-service-grid article {
    display: grid;
    gap: 8px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 16px;
    background: #fff;
    box-shadow: 0 11px 27px rgba(15, 23, 42, .055);
}

.role-service-icon {
    width: max-content;
    border-radius: 999px;
    padding: 5px 10px;
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 9%, #fff);
    font-size: 9px;
    font-style: normal;
    font-weight: 900;
}

.role-service-grid h2 {
    margin: 0;
    color: #0f172a;
    font-size: 15px;
}

.role-service-grid p {
    margin: 0;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    line-height: 2;
}

.role-service-grid dl {
    display: grid;
    gap: 7px;
    margin: 0;
}

.role-service-grid dl div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-radius: 10px;
    padding: 9px 10px;
    background: #f8fafc;
    font-size: 10px;
}

.role-service-grid dt {
    color: #64748b;
    font-weight: 800;
}

.role-service-grid dd {
    margin: 0;
    color: #0f172a;
    font-weight: 900;
}

.role-service-grid a {
    display: grid;
    min-height: 40px;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: var(--brand);
    font-size: 11px;
    font-weight: 900;
}

.goals-hero {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--brand) 22%, #fff);
    border-radius: 22px;
    padding: 18px;
    color: #fff;
    background:
        radial-gradient(circle at 10% 10%, rgba(255, 255, 255, .2), transparent 26%),
        linear-gradient(135deg, var(--brand), #7c3aed 72%, #8b5cf6);
    box-shadow: 0 18px 36px color-mix(in srgb, var(--brand) 24%, transparent);
}

.goals-hero::after {
    position: absolute;
    bottom: -55px;
    left: -28px;
    width: 135px;
    height: 135px;
    border: 24px solid rgba(255, 255, 255, .07);
    border-radius: 50%;
    content: "";
}

.goals-hero-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .3);
    border-radius: 18px;
    background: rgba(255, 255, 255, .14);
    box-shadow: inset 0 1px rgba(255, 255, 255, .24);
    backdrop-filter: blur(8px);
}

.goals-hero-icon svg,
.goal-add-button svg,
.goal-card svg,
.goal-empty svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.goals-hero-icon svg {
    width: 31px;
    height: 31px;
}

.goals-hero > div:last-child {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.goals-hero span {
    color: rgba(255, 255, 255, .72);
    font-size: 10px;
    font-weight: 900;
}

.goals-hero h1 {
    margin: 1px 0;
    font-size: 23px;
    line-height: 1.5;
}

.goals-hero p {
    margin: 0;
    color: rgba(255, 255, 255, .85);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.8;
}

.goal-flash {
    margin: 0;
    border: 1px solid #a7f3d0;
    border-radius: 13px;
    padding: 10px 12px;
    color: #047857;
    background: #ecfdf5;
    font-size: 12px;
    font-weight: 900;
}

.goal-flash.is-error {
    border-color: #fecaca;
    color: #b91c1c;
    background: #fef2f2;
}

.goal-create-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 14px;
    background: #fff;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
}

.goal-title-field {
    grid-column: 1 / -1;
}

.goal-field {
    display: grid;
    min-width: 0;
    gap: 7px;
}

.goal-field > span {
    color: #475569;
    font-size: 11px;
    font-weight: 900;
}

.goal-field input,
.goal-edit-form input {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    border: 1px solid #dbe3ed;
    border-radius: 12px;
    padding: 0 12px;
    outline: 0;
    color: #0f172a;
    background: #f8fafc;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.goal-field input:focus,
.goal-edit-form input:focus {
    border-color: var(--brand);
    background: #fff;
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand) 12%, transparent);
}

.goal-field input[type="datetime-local"],
.goal-edit-form input[type="datetime-local"] {
    direction: ltr;
}

.goal-add-button {
    display: flex;
    min-height: 44px;
    align-self: end;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 12px;
    padding: 0 14px;
    color: #fff;
    background: linear-gradient(135deg, var(--brand), #7c3aed);
    box-shadow: 0 9px 18px color-mix(in srgb, var(--brand) 22%, transparent);
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.student-tool-panel form.is-submitting {
    opacity: .66;
    pointer-events: none;
}

.student-tool-panel button:disabled {
    cursor: wait;
}

.goal-add-button svg {
    width: 18px;
    height: 18px;
}

.goal-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 5px;
    background: #fff;
}

.goal-tabs button {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    border: 0;
    border-radius: 10px;
    color: #64748b;
    background: transparent;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
    transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.goal-tabs button b {
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 999px;
    padding: 0 5px;
    color: #475569;
    background: #e2e8f0;
    font-size: 10px;
}

.goal-tabs button.is-active {
    color: var(--brand);
    background: color-mix(in srgb, var(--brand) 9%, #fff);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand) 12%, transparent);
}

.goal-tabs button.is-active b {
    color: #fff;
    background: var(--brand);
}

.goal-list {
    display: grid;
    gap: 9px;
}

.goal-card {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    border: 1px solid #e2e8f0;
    border-right: 3px solid var(--brand);
    border-radius: 16px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 9px 24px rgba(15, 23, 42, .055);
}

.goal-card.is-overdue {
    border-right-color: #f59e0b;
}

.goal-state-form,
.goal-more-menu form {
    display: block;
    margin: 0;
}

.goal-check {
    display: grid;
    width: 36px;
    min-height: 36px;
    place-items: center;
    border: 2px solid color-mix(in srgb, var(--brand) 35%, #cbd5e1);
    border-radius: 12px;
    padding: 0;
    color: transparent;
    background: color-mix(in srgb, var(--brand) 5%, #fff);
    cursor: pointer;
    transition: color .18s ease, background .18s ease, transform .18s ease;
}

.goal-check:hover {
    color: var(--brand);
    transform: scale(1.05);
}

.goal-check svg {
    width: 21px;
    height: 21px;
    stroke-width: 2.5;
}

.goal-card-content {
    display: grid;
    min-width: 0;
    gap: 6px;
}

.goal-card-content > strong {
    overflow-wrap: anywhere;
    color: #1e293b;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.75;
}

.goal-time {
    display: flex;
    width: max-content;
    max-width: 100%;
    align-items: center;
    gap: 5px;
    color: #64748b;
    font-size: 9px;
    font-weight: 800;
}

.goal-time svg {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
}

.goal-time.is-late {
    color: #b45309;
}

.goal-more {
    position: relative;
}

.goal-more > summary {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    color: #64748b;
    background: #f1f5f9;
    list-style: none;
    cursor: pointer;
}

.goal-more > summary::-webkit-details-marker {
    display: none;
}

.goal-more > summary svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
    stroke: none;
}

.goal-more-menu {
    position: absolute;
    top: 42px;
    left: 0;
    z-index: 8;
    display: grid;
    width: min(290px, calc(100vw - 58px));
    gap: 9px;
    border: 1px solid #dbe3ed;
    border-radius: 15px;
    padding: 12px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(15, 23, 42, .2);
}

.goal-edit-form {
    display: grid !important;
    gap: 8px;
}

.goal-edit-form label {
    display: grid;
    gap: 5px;
    color: #475569;
    font-size: 10px;
    font-weight: 900;
}

.goal-edit-form button,
.goal-delete {
    width: 100%;
    min-height: 39px;
    border: 0;
    border-radius: 10px;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.goal-edit-form button {
    color: #fff;
    background: var(--brand);
}

.goal-delete {
    color: #b91c1c;
    background: #fee2e2;
}

.goal-card.is-completed {
    border-right-color: #10b981;
    background: linear-gradient(90deg, #fff, #f0fdf8);
}

.goal-card.is-completed .goal-check {
    border-color: #10b981;
    color: #fff;
    background: #10b981;
}

.goal-card.is-completed .goal-card-content > strong {
    color: #64748b;
    text-decoration: line-through;
    text-decoration-color: #94a3b8;
}

.goal-card.is-completed .goal-time {
    color: #059669;
}

.goal-empty {
    display: grid;
    min-height: 155px;
    place-items: center;
    align-content: center;
    gap: 6px;
    border: 1px dashed #cbd5e1;
    border-radius: 17px;
    padding: 20px;
    color: #94a3b8;
    background: rgba(255, 255, 255, .65);
    text-align: center;
}

.goal-empty svg {
    width: 38px;
    height: 38px;
    margin-bottom: 3px;
    color: color-mix(in srgb, var(--brand) 65%, #94a3b8);
}

.goal-empty strong {
    color: #475569;
    font-size: 13px;
}

.goal-empty span {
    font-size: 10px;
    font-weight: 800;
}

.goal-empty.is-completed-empty svg {
    color: #10b981;
}

@media (max-width: 360px) {
    .goal-create-form,
    .student-tool-panel .goal-create-form {
        grid-template-columns: 1fr;
    }

    .goal-title-field {
        grid-column: auto;
    }
}

.app-shell {
    position: relative;
    overflow-x: hidden;
    min-height: 100vh;
    max-width: 430px;
    margin: 0 auto;
    padding-top: 78px;
    padding-bottom: 82px;
    background: #f4f7fb;
    box-shadow: 0 0 0 1px rgba(148, 163, 184, .22), 0 22px 70px rgba(15, 23, 42, .16);
}

.topbar {
    position: fixed;
    top: 10px;
    right: 50%;
    left: auto;
    z-index: 10;
    width: min(calc(100% - 24px), 406px);
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: rgba(255, 255, 255, 1);
    /* backdrop-filter: blur(14px); */
    box-shadow: 0 16px 34px rgba(15, 23, 42, .10);
    transform: translateX(50%);
}

.topbar-inner {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) 44px;
    align-items: center;
    width: 100%;
    height: 58px;
    margin: 0 auto;
    padding: 0 10px;
}

.brand {
    display: flex;
    justify-content: center;
    justify-self: center;
    font-weight: 800;
}

.brand img,
.brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 8px;
}

.brand img {
    object-fit: contain;
}

.brand-mark {
    display: grid;
    place-items: center;
    color: #fff;
    background: var(--brand);
}

.header-icon {
    display: grid;
    width: 42px;
    min-height: 42px;
    place-items: center;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    color: #334155;
    background: #fff;
    cursor: pointer;
}

.header-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.notification-toggle { position:relative; }
.notification-unread-dot { position:absolute; top:-5px; right:-5px; display:grid; min-width:21px; height:21px; place-items:center; border:2px solid #fff; border-radius:999px; padding:0 3px; color:#fff; background:#dc2626; box-shadow:0 5px 12px rgba(220,38,38,.35); font-size:9px; font-style:normal; font-weight:900; animation:notification-pulse 1.8s ease-in-out infinite; }
.notification-panel { position:fixed; top:70px; right:50%; z-index:65; width:min(calc(100% - 28px),400px); max-height:min(68vh,540px); overflow:hidden; border:1px solid #e2e8f0; border-radius:22px; color:#0f172a; background:rgba(255,255,255,.98); box-shadow:0 24px 65px rgba(15,23,42,.25); backdrop-filter:blur(18px); transform:translateX(50%); animation:notification-panel-in .25s cubic-bezier(.2,1.1,.4,1) both; }
.notification-panel-head { display:flex; align-items:center; justify-content:space-between; padding:14px 16px; color:#fff; background:linear-gradient(115deg,var(--brand),#7c3aed); }
.notification-panel-head>div { display:grid; gap:1px; }.notification-panel-head span { font-size:15px; font-weight:900; }.notification-panel-head small { color:rgba(255,255,255,.75); font-size:10px; font-weight:800; }
.notification-panel-head button { width:30px; height:30px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.15); font-size:22px; cursor:pointer; }
.notification-list { max-height:calc(min(68vh,540px) - 65px); overflow:auto; padding:7px 13px 12px; }
.notification-list article { position:relative; display:grid; grid-template-columns:8px 1fr; gap:10px; border-bottom:1px solid #f1f5f9; padding:13px 2px; }.notification-list article>i { width:7px; height:7px; margin-top:8px; border-radius:50%; background:#cbd5e1; }.notification-list article.is-unread>i { background:#ef4444; box-shadow:0 0 0 4px #fee2e2; }
.notification-list article>div { display:grid; gap:4px; }.notification-list strong { color:#1e293b; font-size:13px; font-weight:900; }.notification-list article.is-unread strong { color:var(--brand); }.notification-list p { margin:0; color:#64748b; font-size:11px; font-weight:700; line-height:1.9; }.notification-list small { color:#94a3b8; font-size:9px; }
.notification-empty { margin:0; padding:28px 10px; color:#64748b; font-size:12px; font-weight:800; text-align:center; }
.notification-popup { width:min(calc(100% - 32px),390px); border:0; border-radius:28px; padding:30px 25px 24px; overflow:visible; color:#fff; background:radial-gradient(circle at 20% 0,rgba(255,255,255,.18),transparent 32%),linear-gradient(145deg,#4338ca,#7c3aed 55%,#db2777); box-shadow:0 30px 90px rgba(49,46,129,.55); text-align:center; animation:notification-popup-in .55s cubic-bezier(.2,1.3,.4,1) both; }
.notification-popup::backdrop { background:rgba(15,23,42,.72); backdrop-filter:blur(7px); }.notification-popup-icon { display:grid; width:72px; height:72px; margin:-62px auto 13px; place-items:center; border:5px solid #fff; border-radius:24px; background:linear-gradient(145deg,#fbbf24,#f97316); box-shadow:0 13px 28px rgba(0,0,0,.25); font-size:35px; transform:rotate(-5deg); }.notification-popup>span { color:#fde68a; font-size:11px; font-weight:900; }.notification-popup h2 { margin:5px 0; font-size:23px; line-height:1.7; }.notification-popup p { margin:0 0 18px; color:#ede9fe; font-size:13px; font-weight:700; line-height:2; }.notification-popup button { min-height:44px; border:0; border-radius:13px; padding:0 25px; color:#5b21b6; background:#fff; font:inherit; font-weight:900; cursor:pointer; }
@keyframes notification-pulse { 50% { transform:scale(1.13); } } @keyframes notification-panel-in { from { opacity:0; transform:translate(50%,-9px) scale(.97); } } @keyframes notification-popup-in { from { opacity:0; transform:scale(.72) translateY(25px); } }
@media (prefers-reduced-motion:reduce) { .notification-unread-dot,.notification-panel,.notification-popup { animation:none; } }

.page-content {
    width: 100%;
    min-height: calc(100vh - 150px);
    margin: 0 auto;
    padding: 12px 18px;
    transition: opacity .22s ease, transform .22s ease, filter .22s ease;
}

.page-content.is-leaving {
    opacity: 0;
    filter: blur(5px);
    transform: translateY(10px);
}

.page-content.is-entering {
    animation: pageEnter .34s cubic-bezier(.2, .8, .2, 1) both;
}

@keyframes pageEnter {
    from {
        opacity: 0;
        filter: blur(6px);
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
    }
}

.empty-state {
    display: grid;
    min-height: 58vh;
    place-items: center;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    background: #fff;
}

.empty-state p {
    margin: 0;
    color: #475569;
    font-size: 22px;
    font-weight: 800;
}

.home-slider {
    position: relative;
    width: 100%;
    margin: 0 0 24px;
    touch-action: pan-y;
}

.slider-track {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 7;
    min-height: 190px;
    border-radius: 18px;
    background: #dbeafe;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .12);
}

.slider-slide {
    position: absolute;
    inset: 0;
    display: block;
    opacity: 0;
    transform: scale(1.04) translateX(-18px);
    transition: opacity .48s ease, transform .58s cubic-bezier(.2, .8, .2, 1);
    pointer-events: none;
}

.slider-slide.is-current {
    opacity: 1;
    transform: scale(1) translateX(0);
    pointer-events: auto;
    z-index: 1;
}

.slider-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slider-dots {
    position: absolute;
    right: 18px;
    bottom: 16px;
    z-index: 2;
    display: flex;
    gap: 7px;
    padding: 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .82);
    backdrop-filter: blur(12px);
}

.slider-dots button {
    width: 9px;
    height: 9px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #94a3b8;
    cursor: pointer;
    transition: width .22s ease, background .22s ease;
}

.slider-dots button.is-current {
    width: 24px;
    background: var(--brand);
}

.daily-quote {
    position: relative;
    overflow: hidden;
    margin: 0 0 24px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    padding: 18px 20px;
    color: #0f172a;
    background: linear-gradient(135deg, #fff, #eff6ff 55%, #ccfbf1);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .07);
}

.daily-quote::before {
    content: "”";
    position: absolute;
    top: -16px;
    left: 20px;
    color: rgba(37, 99, 235, .16);
    font-size: 96px;
    font-weight: 900;
    line-height: 1;
}

.daily-quote span {
    display: inline-flex;
    margin-bottom: 8px;
    border-radius: 999px;
    padding: 5px 12px;
    color: var(--brand);
    background: rgba(255, 255, 255, .72);
    font-size: 12px;
    font-weight: 900;
}

.daily-quote p {
    position: relative;
    margin: 0;
    font-size: 18px;
    font-weight: 900;
    line-height: 2;
}

.home-subscription-cta { position:relative; display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:16px; overflow:hidden; min-height:112px; margin:0 0 20px; border:1px solid rgba(255,255,255,.18); border-radius:24px; padding:20px 22px; color:#fff; background:radial-gradient(circle at 8% 0,rgba(255,224,125,.28),transparent 28%),linear-gradient(125deg,#38216d,#6845bb 58%,#9571dc); box-shadow:0 18px 42px rgba(79,48,145,.28); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.home-subscription-cta::after { position:absolute; bottom:-95px; left:-55px; width:210px; height:210px; border:34px solid rgba(255,255,255,.055); border-radius:50%; content:""; }
.home-subscription-cta:hover { box-shadow:0 23px 48px rgba(79,48,145,.35); transform:translateY(-3px); }
.home-subscription-cta>* { position:relative; z-index:1; }.home-subscription-icon { display:grid; width:64px; height:64px; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:rgba(255,255,255,.14); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }.home-subscription-icon svg { width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.home-subscription-copy { display:grid; min-width:0; }.home-subscription-copy small { color:#dfd2ff; font-size:9px; font-weight:900; }.home-subscription-copy strong { margin:1px 0; font-size:23px; }.home-subscription-copy em { overflow:hidden; color:rgba(255,255,255,.74); font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }.home-subscription-action { display:flex; align-items:center; gap:8px; border-radius:13px; padding:12px 15px; color:#563591; background:#fff; box-shadow:0 9px 22px rgba(36,20,70,.18); font-size:10px; font-weight:900; white-space:nowrap; }.home-subscription-action b { font-size:15px; }.home-subscription-cta.is-active { background:radial-gradient(circle at 8% 0,rgba(157,255,211,.22),transparent 28%),linear-gradient(125deg,#164b43,#23846d 60%,#4aae8e); box-shadow:0 18px 42px rgba(25,112,91,.24); }.home-subscription-cta.is-active .home-subscription-copy small { color:#c9f6e9; }.home-subscription-cta.is-active .home-subscription-action { color:#17634f; }
@media(max-width:560px){.home-subscription-cta{grid-template-columns:52px minmax(0,1fr);gap:12px;min-height:102px;padding:17px 16px;border-radius:20px}.home-subscription-icon{width:52px;height:52px;border-radius:16px}.home-subscription-icon svg{width:28px;height:28px}.home-subscription-copy strong{font-size:18px}.home-subscription-copy em{font-size:8px}.home-subscription-action{grid-column:1/-1;justify-content:center;padding:9px}.home-subscription-cta:hover{transform:none}}

.services-box {
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 16px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .07);
}

.exam-countdown { position: relative; overflow: hidden; display: grid; gap: 10px; margin: 20px 0 16px; border: 1px solid color-mix(in srgb, var(--brand) 18%, white); border-radius: 20px; padding: 13px 15px 12px; color: #172033; background: radial-gradient(circle at 0 0, color-mix(in srgb, var(--brand) 18%, transparent), transparent 42%), linear-gradient(145deg, #fff 18%, color-mix(in srgb, var(--brand) 6%, white)); box-shadow: 0 14px 30px color-mix(in srgb, var(--brand) 14%, transparent), inset 0 1px 0 #fff; isolation: isolate; }
.exam-countdown::before { position: absolute; top: 0; right: 0; width: 7px; height: 100%; background: linear-gradient(180deg, var(--brand), color-mix(in srgb, var(--brand) 55%, #22d3ee)); content: ''; }
.exam-countdown::after { position: absolute; top: -58px; left: -45px; z-index: -1; width: 155px; height: 155px; border: 25px solid color-mix(in srgb, var(--brand) 7%, transparent); border-radius: 50%; content: ''; }
.exam-countdown-copy { position: relative; z-index: 1; display: flex; align-items: center; gap: 9px; padding-right: 3px; }
.exam-countdown-icon { position: relative; display: grid; width: 40px; height: 40px; flex: 0 0 auto; place-items: center; border-radius: 13px; color: #fff; background: linear-gradient(145deg, color-mix(in srgb, var(--brand) 72%, white), var(--brand)); box-shadow: 0 7px 16px color-mix(in srgb, var(--brand) 24%, transparent); transform: rotate(3deg); }
.exam-countdown-icon::after { position: absolute; inset: 3px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; content: ''; }
.exam-countdown-icon svg { width: 22px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; transform: rotate(-3deg); }
.exam-countdown-copy div { display: grid; gap: 2px; }
.exam-countdown-copy small { width: max-content; border-radius: 999px; padding: 2px 8px; color: var(--brand); background: color-mix(in srgb, var(--brand) 10%, white); font-size: 9px; font-weight: 900; }
.exam-countdown-copy strong { color: #111827; font-size: 15px; font-weight: 900; letter-spacing: -.02em; }
.exam-countdown-units { position: relative; z-index: 1; display: grid; grid-template-columns: 1.25fr auto 1fr auto 1fr; align-items: center; gap: 7px; direction: rtl; }
.exam-countdown-units div { position: relative; display: grid; overflow: hidden; justify-items: center; gap: 3px; border: 1px solid color-mix(in srgb, var(--brand) 14%, #e2e8f0); border-radius: 13px; padding: 8px 4px 6px; background: rgba(255,255,255,.84); box-shadow: 0 6px 15px rgba(15,23,42,.05), inset 0 -2px 0 color-mix(in srgb, var(--brand) 10%, transparent); backdrop-filter: blur(10px); }
.exam-countdown-units div::before { position: absolute; top: 0; width: 44%; height: 3px; border-radius: 0 0 999px 999px; background: var(--brand); content: ''; opacity: .75; }
.exam-countdown-units strong { direction: ltr; color: var(--brand); font-size: clamp(21px, 7vw, 27px); font-weight: 900; line-height: 1; font-variant-numeric: tabular-nums; text-shadow: 0 4px 14px color-mix(in srgb, var(--brand) 16%, transparent); }
.exam-countdown-units span { color: #64748b; font-size: 9px; font-weight: 900; }
.exam-countdown-units i { color: color-mix(in srgb, var(--brand) 55%, #94a3b8); font-size: 17px; font-style: normal; font-weight: 900; }
.exam-date-label { position: absolute; top: 18px; left: 14px; z-index: 1; width: max-content; max-width: 45%; margin: 0; border: 1px dashed color-mix(in srgb, var(--brand) 25%, #cbd5e1); border-radius: 999px; padding: 4px 9px; color: #64748b; background: rgba(255,255,255,.76); font-size: 9px; font-weight: 800; text-align: center; }
.exam-countdown.is-finished { min-height: 100px; align-content: center; }
.exam-countdown.is-finished .exam-countdown-copy { justify-content: center; }

.section-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.section-title span {
    color: #0f172a;
    font-size: 18px;
    font-weight: 900;
}

.section-action {
    min-height: 36px;
    border: 1px solid #dbeafe;
    border-radius: 999px;
    padding: 0 14px;
    color: var(--brand);
    background: #eff6ff;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.service-item {
    display: grid;
    place-items: center;
    gap: 10px;
    min-height: 80px;
    border: 0;
    border-radius: 16px;
    padding: 14px 10px;
    color: #0f172a;
    font: inherit;
    text-align: center;
    cursor: pointer;
}

.service-item strong {
    font-size: 13px;
    font-weight: 900;
}

.service-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 16px;
    background: rgba(255, 255, 255, .68);
}

.service-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.service-time {
    background: linear-gradient(135deg, #e0f2fe, #bae6fd);
    color: #075985;
}

.service-percent {
    background: linear-gradient(135deg, #dcfce7, #bbf7d0);
    color: #166534;
}

.service-social {
    background: linear-gradient(135deg, #fae8ff, #f5d0fe);
    color: #86198f;
}

.service-about {
    background: linear-gradient(135deg, #ffedd5, #fed7aa);
    color: #9a3412;
}

.service-consult {
    background: linear-gradient(135deg, #ede9fe, #ddd6fe);
    color: #5b21b6;
}

.service-site {
    background: linear-gradient(135deg, #ccfbf1, #99f6e4);
    color: #0f766e;
    text-decoration: none;
}

.service-site.is-disabled { cursor: default; opacity: .62; pointer-events: none; }

.stopwatch-modal {
    overflow: hidden;
    width: min(calc(100vw - 28px), 390px);
    border: 0;
    border-radius: 22px;
    padding: 0;
    color: #0f172a;
    background:
        radial-gradient(circle at 50% -18%, rgba(14, 165, 233, .22), transparent 44%),
        linear-gradient(160deg, #ffffff, #f8fafc 58%, #e0f2fe);
    box-shadow: 0 28px 80px rgba(2, 132, 199, .18), 0 14px 38px rgba(15, 23, 42, .10);
}

.stopwatch-modal[open] {
    display: block;
}

.stopwatch-modal::backdrop {
    background: rgba(15, 23, 42, .28);
    backdrop-filter: blur(5px);
}

.percent-modal {
    overflow: hidden;
    width: min(calc(100vw - 28px), 410px);
    border: 0;
    border-radius: 22px;
    padding: 0;
    color: #0f172a;
    background: linear-gradient(155deg, #fff, #f0fdf4);
    box-shadow: 0 28px 80px rgba(22, 101, 52, .18), 0 14px 38px rgba(15, 23, 42, .1);
}

.percent-modal[open] { display: block; }
.percent-modal::backdrop { background: rgba(15, 23, 42, .3); backdrop-filter: blur(5px); }

.percent-body { display: grid; overflow-y: auto; max-height: calc(90dvh - 48px); gap: 16px; padding: 20px 22px 24px; overscroll-behavior: contain; }
.percent-heading { text-align: center; }
.percent-heading span { color: #166534; font-size: 19px; font-weight: 900; }
.percent-heading p { margin: 7px 0 0; color: #64748b; font-size: 12px; line-height: 1.8; }
.percent-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.percent-fields label { display: grid; gap: 7px; color: #334155; font-size: 11px; font-weight: 800; }
.percent-fields input { width: 100%; min-width: 0; height: 46px; box-sizing: border-box; border: 1px solid #bbf7d0; border-radius: 12px; padding: 0 8px; outline: 0; color: #14532d; background: #fff; font: inherit; font-size: 16px; font-weight: 900; text-align: center; }
.percent-fields input:focus { border-color: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .12); }
.percent-submit { min-height: 46px; border: 0; border-radius: 13px; color: #fff; background: linear-gradient(135deg, #22c55e, #15803d); font: inherit; font-weight: 900; cursor: pointer; }
.percent-error { margin: 0; border-radius: 10px; padding: 9px; color: #b91c1c; background: #fef2f2; font-size: 11px; font-weight: 800; text-align: center; }
.percent-result { display: grid; justify-items: center; gap: 5px; border: 1px solid #bbf7d0; border-radius: 16px; padding: 13px; color: #166534; background: #dcfce7; }
.percent-result > span { font-size: 12px; font-weight: 800; }
.percent-result strong { direction: ltr; font-size: 34px; line-height: 1; }
.percent-result b { font: inherit; }
.percent-result small { margin-left: 3px; font-size: 17px; }
.percent-formula { direction: rtl; margin: 0; color: #64748b; font-size: 10px; text-align: center; }

.info-modal { overflow: hidden; width: min(calc(100vw - 28px), 420px); max-height: min(90dvh, 650px); border: 0; border-radius: 22px; padding: 0; color: #0f172a; background: linear-gradient(155deg, #fff, color-mix(in srgb, var(--brand) 5%, white)); box-shadow: 0 28px 80px color-mix(in srgb, var(--brand) 22%, transparent), 0 14px 38px rgba(15, 23, 42, .1); }
.info-modal[open] { display: block; }
.info-modal::backdrop { background: rgba(15, 23, 42, .3); backdrop-filter: blur(5px); }
.info-modal-body { overflow-y: auto; max-height: calc(90dvh - 48px); padding: 18px 22px 24px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--brand) 55%, transparent) transparent; }
.info-modal-body h2 { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 0 0 20px; color: var(--brand); font-size: 20px; text-align: center; }
.social-modal .info-modal-body h2::before, .social-modal .info-modal-body h2::after { width: 28px; height: 2px; border-radius: 999px; background: linear-gradient(90deg, transparent, var(--brand)); content: ''; opacity: .55; }
.social-modal .info-modal-body h2::after { transform: scaleX(-1); }
.social-link-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.social-link-grid a { position: relative; display: grid; overflow: hidden; justify-items: center; gap: 10px; border: 1px solid color-mix(in srgb, var(--brand) 20%, white); border-radius: 18px; padding: 16px 9px 14px; color: var(--brand); background: linear-gradient(145deg, #fff, color-mix(in srgb, var(--brand) 10%, white)); box-shadow: 0 9px 22px color-mix(in srgb, var(--brand) 10%, transparent); text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.social-link-grid a::before { position: absolute; top: -28px; left: -20px; width: 74px; height: 74px; border-radius: 999px; background: color-mix(in srgb, var(--brand) 12%, transparent); content: ''; }
.social-link-grid a:hover, .social-link-grid a:focus-visible { border-color: color-mix(in srgb, var(--brand) 48%, white); outline: 0; box-shadow: 0 14px 28px color-mix(in srgb, var(--brand) 18%, transparent); transform: translateY(-3px); }
.social-link-grid img { position: relative; width: 62px; height: 62px; box-sizing: border-box; border: 3px solid #fff; border-radius: 18px; object-fit: cover; background: #fff; box-shadow: 0 6px 16px color-mix(in srgb, var(--brand) 22%, transparent); }
.social-link-grid strong { overflow: hidden; width: 100%; font-size: 13px; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.about-text { margin: 0; color: #334155; font-size: 14px; line-height: 2.15; white-space: normal; }
.info-empty { margin: 16px 0; color: #64748b; text-align: center; }

.consultation-modal { overflow: hidden; width: min(calc(100vw - 28px), 410px); border: 0; border-radius: 22px; padding: 0; color: #0f172a; background: linear-gradient(155deg, #fff, #f5f3ff); box-shadow: 0 28px 80px rgba(91, 33, 182, .2), 0 14px 38px rgba(15, 23, 42, .1); }
.consultation-modal[open] { display: block; }
.consultation-modal::backdrop { background: rgba(15, 23, 42, .3); backdrop-filter: blur(5px); }
.consultation-form { display: grid; overflow-y: auto; max-height: calc(90dvh - 48px); gap: 13px; padding: 18px 22px 24px; overscroll-behavior: contain; }
.consultation-heading { margin-bottom: 2px; text-align: center; }
.consultation-heading span { color: #6d28d9; font-size: 20px; font-weight: 900; }
.consultation-heading p { margin: 7px 0 0; color: #64748b; font-size: 12px; line-height: 1.8; }
.consultation-form label { display: grid; gap: 7px; color: #334155; font-size: 12px; font-weight: 900; }
.consultation-form input, .consultation-form textarea { width: 100%; border: 1px solid #ddd6fe; border-radius: 12px; padding: 11px 12px; outline: 0; color: #1e1b4b; background: #fff; font: inherit; resize: vertical; }
.consultation-form input { min-height: 45px; }
.consultation-form input[readonly] { color: #64748b; background: #f8fafc; }
.consultation-form input:focus, .consultation-form textarea:focus { border-color: #8b5cf6; box-shadow: 0 0 0 3px rgba(139, 92, 246, .12); }
.consultation-submit { min-height: 47px; border: 0; border-radius: 13px; color: #fff; background: linear-gradient(135deg, #8b5cf6, #6d28d9); font: inherit; font-weight: 900; cursor: pointer; }
.consultation-submit:disabled { cursor: wait; opacity: .65; }
.consultation-feedback { margin: 0; border-radius: 11px; padding: 10px; font-size: 12px; font-weight: 900; text-align: center; }
.consultation-feedback.is-success { color: #166534; background: #dcfce7; }
.consultation-feedback.is-error { color: #b91c1c; background: #fee2e2; }

.stopwatch-body {
    display: grid;
    overflow-y: auto;
    max-height: calc(90dvh - 48px);
    justify-items: center;
    gap: 16px;
    padding: 22px 22px 26px;
    overscroll-behavior: contain;
}

.stopwatch-body > span {
    color: #0284c7;
    font-size: 13px;
    font-weight: 900;
}

.stopwatch-body > strong {
    direction: ltr;
    font-size: clamp(36px, 11vw, 46px);
    font-weight: 900;
    line-height: 1;
    color: #075985;
    font-variant-numeric: tabular-nums;
    letter-spacing: -.04em;
}

.stopwatch-ring {
    display: grid;
    width: 158px;
    height: 158px;
    place-items: center;
    border: 1px solid rgba(14, 165, 233, .18);
    border-radius: 999px;
    color: #0284c7;
    background: linear-gradient(145deg, #ffffff, #e0f2fe);
    box-shadow: inset 0 0 26px rgba(14, 165, 233, .11), 0 16px 32px rgba(14, 165, 233, .14);
}

.stopwatch-ring svg {
    width: 118px;
    height: 118px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 5;
}

.stopwatch-ring circle {
    opacity: .26;
}

.stopwatch-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
}

.stopwatch-actions button {
    min-height: 44px;
    border: 1px solid rgba(14, 165, 233, .16);
    border-radius: 12px;
    color: #075985;
    background: #e0f2fe;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(14, 165, 233, .10);
}

.stopwatch-actions button:nth-child(2) {
    color: #be123c;
    background: #ffe4e6;
    border-color: rgba(244, 63, 94, .18);
}

.stopwatch-actions button:nth-child(3) {
    color: #475569;
    background: #f8fafc;
    border-color: #e2e8f0;
}

.stopwatch-floating {
    position: fixed;
    right: auto;
    left: max(14px, calc((100vw - 430px) / 2 + 14px));
    bottom: 88px;
    z-index: 40;
    display: flex;
    align-items: center;
    gap: 7px;
    min-width: 172px;
    min-height: 48px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 999px;
    padding: 6px 8px 6px 11px;
    color: #fff;
    background: linear-gradient(135deg, rgba(3, 105, 161, .96), rgba(14, 165, 233, .94) 58%, rgba(20, 184, 166, .94));
    box-shadow: 0 16px 36px rgba(2, 132, 199, .30), 0 5px 14px rgba(15, 23, 42, .16), inset 0 1px rgba(255, 255, 255, .22);
    font: inherit;
    text-align: right;
    cursor: pointer;
    backdrop-filter: blur(12px);
    transition: transform .2s ease, box-shadow .2s ease;
}

.stopwatch-floating:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 42px rgba(2, 132, 199, .36), 0 7px 18px rgba(15, 23, 42, .18), inset 0 1px rgba(255, 255, 255, .22);
}

.stopwatch-floating:active {
    transform: scale(.98);
}

.stopwatch-floating-icon {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    color: #075985;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 7px 16px rgba(3, 105, 161, .22);
}

.stopwatch-floating-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
}

.stopwatch-floating-copy {
    display: grid;
    flex: 1;
    gap: 1px;
}

.stopwatch-floating-copy > span {
    color: rgba(255, 255, 255, .78);
    font-size: 9px;
    font-weight: 900;
}

.stopwatch-floating strong {
    direction: ltr;
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    font-variant-numeric: tabular-nums;
    letter-spacing: .01em;
    text-shadow: 0 2px 8px rgba(3, 105, 161, .28);
}

.stopwatch-floating-status {
    position: relative;
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    border: 2px solid rgba(255, 255, 255, .72);
    border-radius: 50%;
    background: #bbf7d0;
    box-shadow: 0 0 0 0 rgba(187, 247, 208, .55);
    animation: stopwatch-pulse 1.8s infinite;
}

@keyframes stopwatch-pulse {
    70% { box-shadow: 0 0 0 8px rgba(187, 247, 208, 0); }
    100% { box-shadow: 0 0 0 0 rgba(187, 247, 208, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .stopwatch-floating-status { animation: none; }
}

.blog-box {
    margin-top: 24px;
    border: 1px solid #e2e8f0;
    border-radius: 18px;
    padding: 16px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15, 23, 42, .07);
}

.blog-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.blog-card {
    display: grid;
    grid-template-columns: 1fr 3fr;
    overflow: hidden;
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 0;
    background: #f8fafc;
    color: inherit;
    font: inherit;
    text-align: right;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.blog-thumb {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    background: #dbeafe;
}

.blog-thumb-empty {
    background:
        linear-gradient(135deg, rgba(37, 99, 235, .18), rgba(20, 184, 166, .18)),
        #f1f5f9;
}

.blog-card:hover {
    border-color: #bfdbfe;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .09);
    transform: translateY(-2px);
}

.blog-content {
    display: grid;
    gap: 4px;
    padding: 12px;
}

.blog-content h2 {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    color: #0f172a;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.7;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.blog-content p {
    overflow: hidden;
    margin: 0;
    color: #475569;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.9;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.blog-modal-cover {
    display: block;
    width: 100%;
    max-height: 320px;
    margin-bottom: 16px;
    border-radius: 14px;
    object-fit: cover;
    background: #dbeafe;
}

.blog-modal {
    width: min(calc(100vw - 28px), 402px);
    max-height: 84vh;
    border: 0;
    border-radius: 18px;
    padding: 0;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .28);
}

.blog-modal[open] {
    display: block;
}

.blog-modal::backdrop {
    background: rgba(15, 23, 42, .44);
    backdrop-filter: blur(5px);
}

.blog-modal-close {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    justify-content: flex-start;
    padding: 12px 12px 0;
}

.blog-modal-close button {
    display: grid;
    width: 38px;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 999px;
    color: #0f172a;
    background: #f1f5f9;
    font: inherit;
    font-size: 24px;
    cursor: pointer;
}

.blog-modal-body {
    padding: 8px 22px 24px;
}

.blog-modal-body h2 {
    margin: 0 0 14px;
    color: #0f172a;
    font-size: 22px;
    line-height: 1.8;
}

.blog-modal-summary {
    margin: 0 0 16px;
    border-right: 3px solid var(--brand);
    padding: 10px 12px;
    color: #475569;
    background: #f8fafc;
    font-size: 14px;
    font-weight: 800;
    line-height: 2;
}

.blog-rich-content {
    color: #334155;
    font-size: 15px;
    font-weight: 600;
    line-height: 2.1;
}

.blog-rich-content p,
.blog-rich-content ul,
.blog-rich-content ol {
    margin: 0 0 14px;
}

.blog-rich-content a {
    color: var(--brand);
    font-weight: 900;
}

.blog-rich-content img,
.blog-rich-content video {
    display: block;
    max-width: 100%;
    max-height: 420px;
    margin: 14px 0;
    border-radius: 12px;
    object-fit: contain;
    background: #e2e8f0;
}

.blog-rich-content audio {
    width: 100%;
    margin: 14px 0;
}

.custom-media {
    position: relative;
    overflow: hidden;
    margin: 16px 0;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    background: #f8fafc;
}

.custom-media video {
    width: 100%;
    max-height: 420px;
    margin: 0;
    border-radius: 0;
    background: #0f172a;
}

.custom-media audio {
    display: none;
}

.custom-media-audio {
    background: #fff;
}

.custom-media-controls {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 12px;
}

.custom-media-video .custom-media-controls {
    grid-template-columns: minmax(0, 1fr) auto;
}

.custom-media-controls button {
    display: grid;
    min-height: 38px;
    place-items: center;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: var(--brand);
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
}

.custom-media-play svg {
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.custom-media-play {
    width: 38px;
}

.custom-media-video > .custom-media-play {
    position: absolute;
    top: 50%;
    right: 50%;
    z-index: 2;
    width: 58px;
    min-height: 58px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: rgba(15, 23, 42, .76);
    font: inherit;
    font-size: 20px;
    font-weight: 900;
    transform: translate(50%, -50%);
    cursor: pointer;
    transition: opacity .18s ease, transform .18s ease, background .18s ease;
    
    display: flex;
    justify-content: center;
    align-items: center;
}

.custom-media-video > .custom-media-play svg {
    width: 24px;
    height: 24px;
}

.custom-media-video.is-playing > .custom-media-play {
    opacity: 0;
    pointer-events: none;
    transform: translate(50%, -50%) scale(.92);
}

.custom-media-video > .custom-media-play:hover {
    background: var(--brand);
}

.custom-media-progress {
    width: 100%;
    accent-color: var(--brand);
}

.custom-media-time {
    color: #475569;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}

.all-blog-list {
    display: grid;
    gap: 10px;
}

.all-blog-item {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 4px 12px;
    align-items: center;
    width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 8px;
    color: inherit;
    background: #fff;
    font: inherit;
    text-align: right;
    cursor: pointer;
}

.all-blog-item img,
.all-blog-item span {
    grid-row: span 2;
    width: 92px;
    aspect-ratio: 1.35 / 1;
    border-radius: 8px;
    object-fit: cover;
    background: #dbeafe;
}

.all-blog-item strong {
    overflow: hidden;
    color: #0f172a;
    font-size: 14px;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.all-blog-item small {
    display: -webkit-box;
    overflow: hidden;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.8;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bottom-nav {
    position: fixed;
    right: 50%;
    bottom: 14px;
    z-index: 20;
    display: flex;
    gap: 0;
    width: min(calc(100% - 24px), 406px);
    min-height: 60px;
    padding: 6px;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    background: rgba(255, 255, 255, 1);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .14);
    transform: translateX(50%);
}

.occasion-floating-wrap { position:fixed; right:max(14px,calc((100vw - 430px) / 2 + 14px)); bottom:88px; z-index:45; }
.occasion-floating-button { position:relative; display:flex; width:54px; height:54px; align-items:center; justify-content:center; flex-direction:column; gap:0; border:1px solid rgba(255,255,255,.9); border-radius:54px; padding:0; color:#fff; background:linear-gradient(145deg,#7c3aed,#ec4899 60%,#f59e0b); box-shadow:0 12px 25px rgba(124,58,237,.3),inset 0 1px rgba(255,255,255,.35); font:inherit; cursor:pointer; animation:occasion-float 2.8s ease-in-out infinite; }
.occasion-floating-button::before { position:absolute; inset:-4px; z-index:-1; border:1px solid rgba(236,72,153,.35); border-radius:54px; content:''; animation:occasion-ring 2s ease-out infinite; }
.occasion-floating-button span { font-size:16px; line-height:1; animation:occasion-star 1.5s ease-in-out infinite; }
.occasion-floating-button b { font-size:9px; font-weight:900; }
.occasion-floating-button i { position:absolute; top:0px; left:0px; display:grid; min-width:20px; height:20px; place-items:center; border:2px solid #fff; border-radius:999px; padding:0 3px; color:#fff; background:#dc2626; font-size:9px; font-style:normal; font-weight:900; }
.occasion-tooltip { position:absolute; right:0; bottom:62px; width:min(360px,calc(100vw - 28px)); overflow:hidden; border:1px solid rgba(124,58,237,.2); border-radius:22px; color:#1e1b4b; background:rgba(255,255,255,.97); box-shadow:0 24px 60px rgba(30,27,75,.28); backdrop-filter:blur(18px); transform-origin:bottom right; animation:occasion-tooltip-in .28s cubic-bezier(.2,1.15,.4,1) both; }
.occasion-tooltip::after { position:absolute; right:23px; bottom:-8px; width:16px; height:16px; background:#fff; content:''; transform:rotate(45deg); }
.occasion-tooltip-head { display:flex; align-items:center; justify-content:space-between; padding:13px 15px; color:#fff; background:linear-gradient(110deg,#6d28d9,#db2777); }
.occasion-tooltip-head span { font-size:13px; font-weight:900; }
.occasion-tooltip-head button { width:28px; height:28px; border:0; border-radius:50%; color:#fff; background:rgba(255,255,255,.16); font-size:20px; cursor:pointer; }
.occasion-tooltip-list { display:grid; max-height:310px; overflow:auto; padding:7px 14px 13px; }
.occasion-tooltip-list article { display:grid; gap:4px; padding:12px 2px; }
.occasion-tooltip-list article+article { border-top:1px dashed #ddd6fe; }
.occasion-tooltip-list strong { color:#6d28d9; font-size:15px; font-weight:900; }
.occasion-tooltip-list p { margin:0; color:#475569; font-size:12px; font-weight:700; line-height:1.9; }
@keyframes occasion-float { 0%,100% { transform:translateY(0) rotate(-1deg); } 50% { transform:translateY(-6px) rotate(1deg); } }
@keyframes occasion-ring { 0% { opacity:.8; transform:scale(.9); } 100% { opacity:0; transform:scale(1.18); } }
@keyframes occasion-star { 50% { transform:rotate(90deg) scale(1.2); } }
@keyframes occasion-tooltip-in { from { opacity:0; transform:translateY(12px) scale(.92); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { .occasion-floating-button,.occasion-floating-button::before,.occasion-floating-button span,.occasion-tooltip { animation:none; } }

.bottom-nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0px;
    min-width: 50px;
    min-height: 44px;
    border-radius: 999px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
    overflow: hidden;
    transition: flex .28s cubic-bezier(.2, .8, .2, 1), color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.bottom-nav span {
    display: inline-block;
    max-width: 0;
    opacity: 0;
    transform: translateX(8px);
    transition: max-width .28s cubic-bezier(.2, .8, .2, 1), opacity .18s ease, transform .22s ease;
    overflow: hidden;
    white-space: nowrap;
}

.bottom-nav svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.9;
    transition: transform .18s ease, filter .18s ease;
}

.bottom-nav a.is-active {
    flex: 1 1 0;
    color: #fff;
    gap:10px;
    background: linear-gradient(135deg, var(--brand), #14b8a6);
    box-shadow: 0 8px 18px color-mix(in srgb, var(--brand) 28%, transparent);
}

.bottom-nav a.is-active span {
    max-width: 70px;
    opacity: 1;
    transform: translateX(0);
}

.bottom-nav a.is-active svg {
    filter: drop-shadow(0 4px 7px rgba(0, 0, 0, .18));
    transform: scale(1.02);
}

.bottom-nav a:not(.is-active):hover {
    color: var(--brand);
    background: #eef6ff;
}

@media (min-width: 768px) {
    .app-shell {
        padding-bottom: 92px;
    }

    .page-content {
        padding-top: 34px;
    }
}

/* Free educational resources */
.teachers-home-empty { margin:0; border:1px dashed #d9d6e2; border-radius:13px; padding:17px; color:#858d9d; background:#faf9fc; text-align:center; font-size:9px; }
.teacher-card { padding:0; font:inherit; text-align:right; cursor:pointer; }.teacher-card em { margin-top:4px; color:#674aa7; font-size:7px; font-style:normal; font-weight:900; }.teacher-profile-card { padding:0; font:inherit; text-align:right; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }.teacher-profile-card:hover { transform:translateY(-3px); border-color:#cfc3e6; box-shadow:0 17px 36px rgba(58,40,99,.12); }.teacher-profile-copy > em { margin-top:10px; color:#684ca5; font-size:8px; font-style:normal; font-weight:900; }
.teacher-modal { width:min(690px,calc(100% - 24px)); max-height:90vh; overflow:auto; border:0; border-radius:24px; padding:0; color:#232c3e; background:#fff; box-shadow:0 28px 90px rgba(22,15,42,.38); }.teacher-modal::backdrop { background:rgba(18,13,32,.64); backdrop-filter:blur(5px); }.teacher-modal-close { position:absolute; z-index:5; top:14px; left:14px; display:grid; width:34px; height:34px; place-items:center; border:0; border-radius:11px; color:#4f3e6d; background:rgba(255,255,255,.9); box-shadow:0 5px 15px rgba(25,18,43,.15); font-size:22px; cursor:pointer; }.teacher-modal-cover { position:relative; height:260px; overflow:hidden; background:#e9e5ef; }.teacher-modal-cover::after { position:absolute; right:0; bottom:0; left:0; height:55%; background:linear-gradient(transparent,rgba(24,16,42,.7)); content:""; }.teacher-modal-cover img { width:100%; height:100%; object-fit:cover; object-position:center 25%; }.teacher-modal-cover > span { position:absolute; z-index:1; right:20px; bottom:17px; border:1px solid rgba(255,255,255,.25); border-radius:10px; padding:7px 11px; color:#fff; background:rgba(76,50,119,.7); backdrop-filter:blur(7px); font-size:9px; font-weight:900; }.teacher-modal-content { display:grid; gap:13px; padding:21px; }.teacher-modal-content > small { color:#795ab5; font-size:8px; font-weight:900; }.teacher-modal-content h2 { margin:-9px 0 0; color:#282038; font-size:23px; }.teacher-modal-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.teacher-modal-facts span { display:grid; grid-template-columns:auto 1fr; gap:0 8px; border:1px solid #e8e4ef; border-radius:12px; padding:10px; color:#626d7f; background:#faf8fd; font-size:9px; }.teacher-modal-facts i { grid-row:1/3; align-self:center; color:#7353ad; font-style:normal; }.teacher-modal-facts b { color:#332945; font-size:8px; }.teacher-modal-bio { display:grid; gap:4px; }.teacher-modal-bio strong,.teacher-contact > strong { color:#332a42; font-size:11px; }.teacher-modal-bio p { margin:0; color:#6c7789; font-size:10px; line-height:2; }.teacher-contact { display:grid; gap:8px; border-top:1px solid #ece9f0; padding-top:13px; }.teacher-contact > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.teacher-contact a { display:flex; align-items:center; gap:9px; min-width:0; border:1px solid #e6e8ee; border-radius:11px; padding:9px; color:#384459; background:#fbfcfd; text-decoration:none; transition:.15s ease; }.teacher-contact a:hover { border-color:#cfc4e3; background:#f7f3fd; }.teacher-contact a > i { display:grid; width:32px; height:32px; place-items:center; flex:0 0 auto; border-radius:9px; color:#fff; background:linear-gradient(135deg,#6648a8,#9271c7); font-style:normal; }.teacher-contact a > span { display:grid; min-width:0; font-size:9px; font-weight:900; }.teacher-contact a small { overflow:hidden; color:#8891a0; font-size:7px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.teachers-home { position:relative; display:grid; gap:18px; overflow:hidden; margin-top:20px; border:1px solid #e2dcf3; border-radius:26px; padding:22px; background:radial-gradient(circle at 5% 0,rgba(255,211,122,.19),transparent 28%),radial-gradient(circle at 96% 100%,rgba(132,101,220,.14),transparent 31%),linear-gradient(145deg,#fffdfa,#f8f5ff 58%,#f4f8ff); box-shadow:0 18px 44px rgba(56,40,105,.1); isolation:isolate; }.teachers-home::after { position:absolute; z-index:-1; bottom:-100px; left:-85px; width:190px; height:190px; border:28px solid rgba(111,79,190,.05); border-radius:50%; content:""; }.teachers-home-head { display:flex; align-items:end; justify-content:space-between; gap:12px; }.teachers-home-head > div { display:grid; }.teachers-home-head span { color:#7651c2; font-size:8px; font-weight:900; }.teachers-home-head h2 { margin:1px 0 0; color:#28223e; font-size:20px; }.teachers-home-head p { margin:2px 0 0; color:#827b92; font-size:8px; }.teachers-home-head > a { display:flex; align-items:center; gap:6px; border:1px solid #ded4f2; border-radius:12px; padding:9px 12px; color:#6443ad; background:rgba(255,255,255,.78); box-shadow:0 6px 16px rgba(71,48,123,.08); font-size:8px; font-weight:900; text-decoration:none; transition:.18s ease; }.teachers-home-head > a:hover { border-color:#bda9e3; background:#fff; transform:translateX(-2px); }.teachers-home-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:11px; }.teacher-card { position:relative; display:flex; min-width:0; align-items:center; flex-direction:column; overflow:hidden; border:1px solid rgba(222,216,238,.9); border-radius:20px; padding:16px 10px 12px; background:rgba(255,255,255,.86); box-shadow:0 8px 22px rgba(58,44,100,.065); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }.teacher-card::before { position:absolute; top:0; right:18%; left:18%; height:3px; border-radius:0 0 8px 8px; background:linear-gradient(90deg,#f2c665,#7c5bcd); content:""; }.teacher-card:hover { border-color:#cbbce8; box-shadow:0 16px 30px rgba(61,43,112,.13); transform:translateY(-4px); }.teacher-photo { position:relative; width:82px; height:82px; flex:0 0 auto; margin:1px auto 10px; border-radius:50%; background:#e9e3f5; box-shadow:0 8px 19px rgba(74,50,130,.16); }.teacher-photo::before { position:absolute; inset:-5px; border:1px dashed #c9b8ec; border-radius:50%; content:""; transition:transform .5s ease; }.teacher-card:hover .teacher-photo::before { transform:rotate(25deg); }.teacher-photo img { position:relative; z-index:1; width:100%; height:100%; box-sizing:border-box; border:4px solid #fff; border-radius:50%; object-fit:cover; transition:.25s ease; }.teacher-card:hover img { transform:scale(1.04); }.teacher-photo span { position:absolute; z-index:2; right:50%; bottom:-8px; max-width:120px; overflow:hidden; border:2px solid #fff; border-radius:20px; padding:4px 8px; color:#fff; background:linear-gradient(135deg,#6545ad,#8e6bd1); box-shadow:0 5px 12px rgba(82,56,139,.2); font-size:6px; font-weight:900; text-align:center; text-overflow:ellipsis; white-space:nowrap; transform:translateX(50%); }.teacher-card > div:last-child { display:grid; width:100%; min-width:0; justify-items:center; padding:7px 2px 0; text-align:center; }.teacher-card h3 { overflow:hidden; width:100%; margin:0; color:#29243b; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }.teacher-card p { overflow:hidden; width:100%; margin:3px 0; color:#7c8291; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }.teacher-card small { color:#7458aa; font-size:7px; }.teacher-card em { display:flex; align-items:center; justify-content:center; width:100%; margin-top:8px; border-top:1px solid #eeeaf5; padding-top:7px; color:#6748aa; }
.teachers-directory { display:grid; gap:16px; }.teachers-directory-hero { display:flex; align-items:center; gap:14px; overflow:hidden; border-radius:23px; padding:24px; color:#fff; background:linear-gradient(125deg,#2d2054,#6546a6 58%,#9877cf); box-shadow:0 18px 40px rgba(72,49,124,.22); }.teachers-directory-hero > a { display:grid; width:37px; height:37px; place-items:center; flex:0 0 auto; border-radius:11px; color:#fff; background:rgba(255,255,255,.13); font-size:30px; text-decoration:none; }.teachers-directory-hero > div { flex:1; }.teachers-directory-hero span { color:#dfd2f7; font-size:9px; font-weight:900; }.teachers-directory-hero h1 { margin:2px 0; font-size:23px; }.teachers-directory-hero p { margin:0; color:rgba(255,255,255,.76); font-size:10px; }.teachers-directory-hero > b { border-radius:12px; padding:8px 11px; color:#56398c; background:#fff; font-size:9px; }.teachers-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.teacher-profile-card { display:grid; grid-template-columns:150px minmax(0,1fr); overflow:hidden; border:1px solid #e5e5ec; border-radius:18px; background:#fff; box-shadow:0 12px 30px rgba(30,24,57,.06); }.teacher-profile-photo { position:relative; min-height:220px; background:#ebe9f0; }.teacher-profile-photo img { width:100%; height:100%; object-fit:cover; }.teacher-profile-photo span { position:absolute; right:8px; bottom:8px; left:8px; border-radius:9px; padding:6px; color:#fff; background:rgba(36,27,61,.75); backdrop-filter:blur(5px); font-size:8px; font-weight:900; text-align:center; }.teacher-profile-copy { display:flex; min-width:0; flex-direction:column; padding:17px; }.teacher-profile-copy > small { color:#7b59bb; font-size:8px; font-weight:900; }.teacher-profile-copy h2 { margin:1px 0; color:#252c3e; font-size:17px; }.teacher-profile-copy > strong { color:#69758a; font-size:9px; }.teacher-profile-copy > p { display:-webkit-box; overflow:hidden; margin:9px 0; color:#727d8f; font-size:9px; line-height:1.9; -webkit-box-orient:vertical; -webkit-line-clamp:4; }.teacher-profile-copy > div { display:flex; flex-wrap:wrap; gap:6px; margin-top:auto; }.teacher-profile-copy > div span { border-radius:8px; padding:6px 8px; color:#625080; background:#f0ecf7; font-size:7px; }.teacher-profile-copy > div b { color:#6846a7; }.teachers-empty { display:grid; justify-items:center; border:1px dashed #d8d6df; border-radius:17px; padding:30px; color:#7d8798; background:#faf9fc; }.teachers-empty span { color:#7959b6; font-size:30px; }.teachers-empty strong { font-size:11px; }
.resource-home-feature { position:relative; display:flex; min-height:115px; align-items:center; gap:16px; overflow:hidden; margin-top:20px; border:1px solid rgba(255,255,255,.22); border-radius:23px; padding:20px 22px; color:#fff; background:linear-gradient(125deg,#0d565c 0%,#0d8b85 54%,#35b9aa 100%); box-shadow:0 18px 38px rgba(13,112,110,.22); text-decoration:none; isolation:isolate; transition:.2s ease; }.resource-home-feature::before { position:absolute; z-index:-1; width:230px; height:230px; left:-70px; top:-125px; border:42px solid rgba(255,255,255,.06); border-radius:50%; content:""; }.resource-home-feature::after { position:absolute; z-index:-1; width:120px; height:120px; right:32%; bottom:-95px; border-radius:50%; background:rgba(139,237,217,.19); box-shadow:0 0 75px rgba(139,237,217,.3); content:""; }.resource-home-feature:hover { transform:translateY(-2px); box-shadow:0 22px 44px rgba(13,112,110,.28); }.resource-home-art { display:grid; width:66px; height:66px; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.23); border-radius:20px; background:rgba(255,255,255,.13); backdrop-filter:blur(7px); }.resource-home-art svg { width:35px; height:35px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.resource-home-copy { display:grid; min-width:0; flex:1; }.resource-home-copy small { color:#bff6ec; font-size:9px; font-weight:900; }.resource-home-copy strong { font-size:20px; line-height:1.7; }.resource-home-copy em { overflow:hidden; color:rgba(255,255,255,.76); font-size:9px; font-style:normal; text-overflow:ellipsis; white-space:nowrap; }.resource-home-stats { display:grid; justify-items:center; min-width:65px; border-right:1px solid rgba(255,255,255,.17); border-left:1px solid rgba(255,255,255,.17); padding:4px 14px; }.resource-home-stats b { font-size:23px; }.resource-home-stats small { color:#c9f8f0; font-size:8px; }.resource-home-action { display:flex; align-items:center; gap:7px; flex:0 0 auto; border-radius:12px; padding:10px 12px; color:#08736e; background:#fff; box-shadow:0 8px 18px rgba(5,65,63,.18); font-size:9px; font-weight:900; }.resource-home-action b { font-size:14px; }
.resource-directory { display:grid; gap:16px; }.resource-directory-hero { display:flex; align-items:center; gap:14px; overflow:hidden; border-radius:23px; padding:24px; color:#fff; background:linear-gradient(125deg,#094d54,#0d8782 58%,#36b6a8); box-shadow:0 18px 40px rgba(10,111,108,.22); }.resource-directory-hero > a { display:grid; width:37px; height:37px; place-items:center; flex:0 0 auto; border-radius:11px; color:#fff; background:rgba(255,255,255,.13); text-decoration:none; font-size:30px; }.resource-directory-hero > div { flex:1; }.resource-directory-hero span { color:#c8f7ef; font-size:9px; font-weight:900; }.resource-directory-hero h1 { margin:2px 0; font-size:23px; }.resource-directory-hero p { margin:0; color:rgba(255,255,255,.77); font-size:10px; }.resource-directory-hero > b { display:grid; justify-items:center; border-radius:14px; padding:8px 13px; color:#0b716d; background:#fff; }.resource-directory-hero > b strong { font-size:18px; }.resource-directory-hero > b small { font-size:7px; }
.resource-search-panel { display:grid; gap:11px; border:1px solid #e3e8f0; border-radius:18px; padding:14px; background:#fff; box-shadow:0 11px 28px rgba(20,38,76,.055); }.resource-search-box { display:flex; height:48px; align-items:center; gap:9px; border:1px solid #dfe5ee; border-radius:13px; padding:0 13px; background:#fafbfd; transition:.15s ease; }.resource-search-box:focus-within { border-color:#24a99e; box-shadow:0 0 0 3px rgba(36,169,158,.1); }.resource-search-box svg { width:20px; height:20px; fill:none; stroke:#8490a2; stroke-width:1.8; stroke-linecap:round; }.resource-search-box input { min-width:0; flex:1; border:0; outline:0; color:#233047; background:transparent; font:inherit; font-size:11px; }.resource-search-box button { border:0; color:#8490a1; background:transparent; font-size:18px; cursor:pointer; }.resource-search-filters { display:flex; align-items:center; justify-content:space-between; gap:12px; }.resource-search-filters > div { display:flex; gap:4px; }.resource-search-filters button { border:1px solid #e1e6ed; border-radius:9px; padding:7px 10px; color:#68758a; background:#f8fafc; font:inherit; font-size:8px; font-weight:900; cursor:pointer; }.resource-search-filters button.is-active { border-color:#bde7e1; color:#087d75; background:#e6f8f5; }.resource-search-filters label { display:flex; align-items:center; gap:7px; color:#758196; font-size:9px; font-weight:850; }.resource-search-filters select { height:34px; border:1px solid #dfe4ec; border-radius:9px; padding:0 9px; color:#455268; background:#fff; font:inherit; font-size:9px; }
.resource-result-head { display:flex; align-items:end; justify-content:space-between; gap:10px; padding:0 3px; }.resource-result-head > div { display:grid; }.resource-result-head span { color:#15958c; font-size:8px; font-weight:900; }.resource-result-head h2 { margin:0; font-size:17px; }.resource-result-head > b { border-radius:15px; padding:5px 9px; color:#4f5e73; background:#edf1f5; font-size:8px; }.resource-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; transition:opacity .15s ease; }.resource-directory.is-searching .resource-directory-grid { opacity:.4; pointer-events:none; }.resource-search-state { display:grid; justify-items:center; border:1px dashed #d6dce7; border-radius:17px; padding:28px; color:#7d899c; background:#fafbfd; }.resource-search-state span { color:#27a69c; font-size:30px; }.resource-search-state strong { color:#4b586e; font-size:12px; }.resource-search-state p { margin:3px 0 0; font-size:9px; }
.resource-bank { display:grid; gap:16px; margin-top:20px; border:1px solid #e3e8f1; border-radius:22px; padding:20px; background:linear-gradient(180deg,#fff,#fbfcff); box-shadow:0 14px 35px rgba(25,42,79,.065); }
.resource-bank-head { display:flex; align-items:center; justify-content:space-between; gap:15px; }.resource-bank-heading { display:flex; align-items:center; gap:11px; }.resource-bank-icon { display:grid; width:48px; height:48px; place-items:center; flex:0 0 auto; border-radius:15px; color:#fff; background:linear-gradient(135deg,#315bd5,#16a8a0); box-shadow:0 9px 20px rgba(49,91,213,.2); }.resource-bank-icon svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.resource-bank-heading > div { display:grid; }.resource-bank-heading small { color:#208e89; font-size:8px; font-weight:900; }.resource-bank-heading h2 { margin:0; color:#172033; font-size:18px; }.resource-bank-heading p { margin:1px 0 0; color:#8490a3; font-size:9px; }
.resource-filters { display:flex; gap:3px; border-radius:12px; padding:3px; background:#eef2f7; }.resource-filters button { border:0; border-radius:9px; padding:7px 10px; color:#758095; background:transparent; font:inherit; font-size:8px; font-weight:900; cursor:pointer; }.resource-filters button.is-active { color:#fff; background:#335bd0; box-shadow:0 5px 12px rgba(51,91,208,.22); }
.resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.resource-card { display:grid; gap:8px; border:1px solid #e6eaf1; border-radius:16px; padding:14px; background:#fff; transition:.18s ease; }.resource-card:hover { transform:translateY(-2px); border-color:#cdd7eb; box-shadow:0 12px 24px rgba(32,52,94,.08); }.resource-card-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }.resource-extension { display:grid; min-width:37px; height:28px; place-items:center; border-radius:8px; padding:0 5px; color:#3158c8; background:#eaf0ff; font-size:8px; font-weight:950; }.resource-kind { border-radius:15px; padding:4px 7px; color:#148378; background:#e2f7f3; font-size:7px; font-weight:900; }.resource-kind.is-sample { color:#9b6215; background:#fff1d7; }.resource-card h3 { margin:0; color:#222e43; font-size:12px; line-height:1.8; }.resource-card > p { display:-webkit-box; overflow:hidden; margin:0; color:#778397; font-size:9px; line-height:1.8; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.resource-meta { display:flex; flex-wrap:wrap; gap:5px; }.resource-meta span { border-radius:6px; padding:3px 6px; color:#748095; background:#f2f4f8; font-size:7px; font-weight:800; }.resource-card > a { display:flex; align-items:center; gap:7px; margin-top:2px; border-radius:10px; padding:9px 10px; color:#fff; background:linear-gradient(135deg,#315bd2,#4f78e5); text-decoration:none; }.resource-card > a svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }.resource-card > a span { flex:1; font-size:9px; font-weight:900; }.resource-card > a small { color:rgba(255,255,255,.75); font-size:7px; }.resource-empty-filter { margin:0; border:1px dashed #d7dce6; border-radius:13px; padding:18px; color:#8791a1; text-align:center; font-size:9px; }

/* Psychological tests */
.psych-services-preview { display:grid; gap:11px; border:1px solid #e5e9f2; border-radius:20px; padding:16px; background:#fff; box-shadow:0 11px 28px rgba(22,38,75,.055); }
.psych-services-title { display:flex; align-items:end; justify-content:space-between; gap:10px; }.psych-services-title > div { display:grid; }.psych-services-title span { color:#7656cf; font-size:9px; font-weight:900; }.psych-services-title h2 { margin:0; color:#172033; font-size:17px; }.psych-services-title > b { border-radius:20px; padding:5px 9px; color:#66558e; background:#f1edfb; font-size:8px; }
.psych-services-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }.psych-service-mini { display:flex; align-items:center; gap:9px; min-width:0; border:1px solid #ebeef4; border-radius:14px; padding:10px; color:#263248; background:#fafbfc; text-decoration:none; transition:.18s ease; }.psych-service-mini:hover { transform:translateY(-1px); border-color:#cad4ec; }.psych-service-mini > i { display:grid; width:36px; height:36px; place-items:center; flex:0 0 auto; border-radius:11px; color:#7253c9; background:#eee8ff; font-size:18px; font-style:normal; }.psych-service-mini > span { display:grid; min-width:0; flex:1; }.psych-service-mini strong { font-size:10px; }.psych-service-mini small { overflow:hidden; color:#8791a2; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.psych-service-mini > b { display:grid; width:20px; height:20px; place-items:center; border-radius:50%; color:#fff; background:#20b486; font-size:10px; }.psych-service-mini > em { color:#7b8698; font-size:13px; font-style:normal; }.psych-service-mini.is-blue > i { color:#3262d4; background:#e6efff; }.psych-service-mini.is-amber > i { color:#bc7314; background:#fff3da; }.psych-service-mini.is-teal > i { color:#168d87; background:#def8f4; }.psych-services-all { justify-self:end; color:#4d68c5; font-size:9px; font-weight:900; text-decoration:none; }
.psych-page { display:grid; gap:16px; }.psych-hero { display:flex; align-items:center; gap:14px; overflow:hidden; border-radius:23px; padding:25px; color:#fff; background:linear-gradient(125deg,#31205e,#6946b8 58%,#8d6bdb); box-shadow:0 18px 40px rgba(76,50,135,.22); }.psych-hero > a,.psych-test-head > a { display:grid; width:36px; height:36px; place-items:center; flex:0 0 auto; border-radius:11px; color:#fff; background:rgba(255,255,255,.13); text-decoration:none; font-size:29px; }.psych-hero > div { flex:1; }.psych-hero span,.psych-test-head span { color:#e1d6ff; font-size:9px; font-weight:900; }.psych-hero h1,.psych-test-head h1 { margin:2px 0; font-size:23px; }.psych-hero p { margin:0; color:rgba(255,255,255,.76); font-size:10px; }.psych-hero > b { border-radius:12px; padding:8px 11px; color:#553595; background:#fff; font-size:9px; }.psych-progress { overflow:hidden; height:6px; border-radius:9px; background:#e9e5f1; }.psych-progress span { display:block; width:var(--progress); height:100%; border-radius:inherit; background:linear-gradient(90deg,#6445b2,#a07ae9); transition:.3s ease; }
.psych-test-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.psych-test-card { position:relative; display:grid; grid-template-columns:auto 1fr; gap:10px 12px; overflow:hidden; border:1px solid #e6e8f0; border-radius:18px; padding:17px; background:#fff; box-shadow:0 10px 28px rgba(21,36,72,.055); }.psych-test-card > .psych-test-icon { display:grid; width:48px; height:48px; place-items:center; grid-row:1/3; border-radius:14px; color:#7454ca; background:#eee8ff; font-size:24px; }.psych-test-card > div { min-width:0; }.psych-test-card small { color:#8993a5; font-size:8px; }.psych-test-card h2 { margin:1px 0; font-size:13px; }.psych-test-card p { margin:0; color:#778296; font-size:9px; line-height:1.7; }.psych-test-card > a { grid-column:1/-1; justify-self:end; color:#5a4ca3; font-size:9px; font-weight:900; text-decoration:none; }.psych-test-card.is-blue > .psych-test-icon { color:#3262d4;background:#e6efff; }.psych-test-card.is-amber > .psych-test-icon { color:#bc7314;background:#fff3da; }.psych-test-card.is-teal > .psych-test-icon { color:#168d87;background:#def8f4; }.psych-test-card.is-done { border-color:#c9eee0; }.psych-complete { position:absolute; top:10px; left:10px; border-radius:15px; padding:4px 7px; color:#12805e; background:#def8ed; font-size:7px; font-weight:900; }.psych-disclaimer,.psych-intro { margin:0; border:1px solid #e5e7ed; border-radius:13px; padding:11px 14px; color:#747f91; background:#f8f9fb; font-size:9px; line-height:1.9; }
.psych-test-head { display:flex; align-items:center; gap:13px; border-radius:20px; padding:18px 20px; color:#fff; background:linear-gradient(125deg,#342263,#7350bd); }.psych-test-head > div { flex:1; }.psych-test-head h1 { font-size:18px; }.psych-test-head > b { border-radius:11px; padding:7px 10px; color:#5b3a99; background:#fff; font-size:9px; }
.psych-questionnaire { display:grid; gap:14px; }.psych-questionnaire fieldset { margin:0; border:1px solid #e4e7ee; border-radius:19px; padding:20px; background:#fff; box-shadow:0 12px 30px rgba(20,35,68,.055); }.psych-questionnaire legend { display:grid; width:100%; gap:5px; padding:0 0 15px; }.psych-questionnaire legend small { color:#7656c8; font-size:9px; font-weight:900; }.psych-questionnaire legend strong { color:#202b40; font-size:15px; line-height:1.9; }.psych-questionnaire fieldset > div { display:grid; gap:7px; }.psych-questionnaire label { cursor:pointer; }.psych-questionnaire label input { position:absolute; opacity:0; pointer-events:none; }.psych-questionnaire label span { display:flex; min-height:44px; align-items:center; border:1px solid #e4e8ef; border-radius:12px; padding:0 13px; color:#58657a; background:#fafbfc; font-size:10px; font-weight:800; transition:.15s ease; }.psych-questionnaire label span::before { width:14px; height:14px; flex:0 0 auto; margin-left:9px; border:2px solid #c5cbd6; border-radius:50%; content:""; }.psych-questionnaire label input:checked + span { border-color:#7658ca; color:#4d368d; background:#f3efff; }.psych-questionnaire label input:checked + span::before { border:4px solid #7658ca; background:#fff; }.psych-questionnaire fieldset.needs-answer { animation:psychShake .3s ease; border-color:#f08b9a; }@keyframes psychShake{25%{transform:translateX(4px)}75%{transform:translateX(-4px)}}
.psych-form-actions { display:grid; grid-template-columns:auto minmax(80px,1fr) auto; align-items:center; gap:10px; }.psych-form-actions > span { overflow:hidden; height:6px; border-radius:8px; background:#e8eaf0; }.psych-form-actions > span i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#6546b4,#9673e0); transition:.25s ease; }.psych-form-actions button { min-height:42px; border:0; border-radius:11px; padding:0 16px; color:#fff; background:#6548b4; font:inherit; font-size:10px; font-weight:900; cursor:pointer; }.psych-form-actions button:disabled { color:#9aa2b1; background:#e8ebf0; }.psych-form-actions [data-psych-submit] { background:#159c77; }
.psych-result { display:grid; justify-items:center; border:1px solid #ddd5f1; border-radius:22px; padding:34px 25px; text-align:center; background:linear-gradient(180deg,#f6f2ff,#fff); box-shadow:0 16px 40px rgba(70,48,126,.1); }.psych-result-check { display:grid; width:55px; height:55px; place-items:center; border-radius:50%; color:#fff; background:linear-gradient(135deg,#694cb9,#9a73e3); box-shadow:0 9px 22px rgba(105,76,185,.25); font-size:24px; }.psych-result > small { margin-top:10px; color:#7a6a9b; font-size:9px; }.psych-result h2 { margin:3px 0 7px; color:#3b2a67; font-size:24px; }.psych-result p { max-width:520px; margin:0; color:#697488; font-size:11px; line-height:2; }.psych-result time { margin-top:9px; color:#99a1af; font-size:8px; }.psych-result > div { display:flex; gap:8px; margin-top:18px; }.psych-result a { border-radius:10px; padding:9px 12px; color:#fff; background:#6549b2; font-size:9px; font-weight:900; text-decoration:none; }.psych-result a:last-child { color:#5e4a91; background:#ede8f8; }

.achievers-showcase{position:relative;display:grid;gap:16px;overflow:hidden;margin-top:20px;border:1px solid #e6e3ff;border-radius:26px;padding:22px;background:radial-gradient(circle at 8% 0,rgba(255,210,89,.22),transparent 25%),radial-gradient(circle at 92% 100%,rgba(113,89,255,.13),transparent 30%),linear-gradient(145deg,#fffdf8,#f8f7ff 55%,#f3f8ff);box-shadow:0 18px 44px rgba(73,64,132,.11);isolation:isolate}.achievers-showcase::after{position:absolute;z-index:-1;width:210px;height:210px;left:-105px;bottom:-130px;border:32px solid rgba(126,104,238,.05);border-radius:50%;content:""}.achievers-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.achievers-heading>div{display:grid}.achievers-heading>div span{color:#8165de;font-size:8px;font-weight:900}.achievers-heading h2{margin:0;color:#282345;font-size:20px}.achievers-heading p{margin:2px 0 0;color:#8b86a1;font-size:8px}.achievers-trophy{display:grid;width:50px;height:50px;place-items:center;border:1px solid #f2dfa3;border-radius:16px;color:#9a6b00;background:linear-gradient(145deg,#fff9df,#ffe7a0);box-shadow:0 8px 20px rgba(211,166,47,.15)}.achievers-trophy svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.achiever-year-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.achiever-year-tabs::-webkit-scrollbar{display:none}.achiever-year-tabs button{flex:0 0 auto;border:1px solid #e5e1f4;border-radius:11px;padding:8px 13px;color:#77718d;background:rgba(255,255,255,.78);font:inherit;font-size:8px;font-weight:900;cursor:pointer;transition:.18s ease}.achiever-year-tabs button:hover{border-color:#b8a9ee;color:#6547c3}.achiever-year-tabs button.is-active{border-color:#795bdb;color:#fff;background:linear-gradient(135deg,#6849c7,#9678ee);box-shadow:0 7px 18px rgba(105,75,200,.23)}.achiever-grid{display:grid;grid-template-columns:1fr;gap:10px}.achiever-card{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:16px;overflow:visible;border:1px solid #ebe8f5;border-radius:20px;padding:14px 18px;background:rgba(255,255,255,.9);box-shadow:0 9px 24px rgba(65,56,113,.07);transition:.2s ease}.achiever-card::after{position:absolute;top:13px;bottom:13px;right:0;width:4px;border-radius:6px 0 0 6px;background:linear-gradient(#ffd66b,#8668df);content:""}.achiever-card:hover{transform:translateY(-2px);border-color:#d7cff3;box-shadow:0 14px 30px rgba(74,59,138,.12)}.achiever-image{position:relative;width:84px;height:84px;min-height:0;border-radius:50%;background:#eeeaf9;filter:drop-shadow(0 7px 10px rgba(71,54,137,.13))}.achiever-image img{position:relative;z-index:1;width:100%;height:100%;box-sizing:border-box;border:4px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #d7caf8}.achiever-image::after{position:absolute;inset:-6px;border:1px dashed #c8b7f4;border-radius:50%;content:"";animation:achieverHalo 18s linear infinite}.achiever-image>span{position:absolute;z-index:2;left:-7px;bottom:-5px;display:flex;align-items:center;gap:3px;border:2px solid #fff;border-radius:20px;padding:5px 8px;color:#4d3900;background:linear-gradient(135deg,#ffd563,#ffecae);box-shadow:0 5px 12px rgba(190,143,20,.2)}.achiever-image small{font-size:6px;font-weight:900}.achiever-image b{font-size:10px}.achiever-copy{display:flex;min-width:0;flex-direction:column;padding:2px 0}.achiever-copy>small{overflow:hidden;color:#7757ce;font-size:8px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.achiever-copy h3{overflow:hidden;margin:3px 0;color:#29243e;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.achiever-copy p{display:-webkit-box;overflow:hidden;margin:3px 0;color:#777286;font-size:9px;line-height:1.9;-webkit-box-orient:vertical;-webkit-line-clamp:2}.achiever-copy em{display:flex;align-items:center;justify-content:space-between;margin-top:5px;color:#9a94aa;font-size:7px;font-style:normal}.achiever-copy em b{color:#c39417}.achievers-empty{display:grid;justify-items:center;border:1px dashed #d9d2ed;border-radius:16px;padding:25px;color:#88819c;background:rgba(255,255,255,.65)}.achievers-empty span{color:#d0a125;font-size:28px}.achievers-empty strong{font-size:10px}@keyframes achieverHalo{to{transform:rotate(360deg)}}

/* Study report dashboard */
.study-dashboard { display:grid; gap:18px; color:#172033; }
.study-header { position:relative; display:flex; align-items:center; gap:16px; overflow:hidden; border-radius:24px; padding:26px 28px; color:#fff; background:linear-gradient(125deg,#172554 0%,#3154c8 54%,#4f7df3 100%); box-shadow:0 20px 45px rgba(37,65,150,.2); }
.study-header::after { content:""; position:absolute; width:250px; height:250px; left:-60px; top:-105px; border:45px solid rgba(255,255,255,.06); border-radius:50%; }
.study-header > * { position:relative; z-index:1; }
.study-header > div { flex:1; }
.study-header span { font-size:11px; font-weight:800; color:#bfdbfe; }
.study-header h1 { margin:2px 0 3px; font-size:27px; }
.study-header p { margin:0; font-size:11px; color:rgba(255,255,255,.78); }
.study-back { display:grid; width:38px; height:38px; place-items:center; flex:0 0 auto; border-radius:12px; color:#fff; background:rgba(255,255,255,.12); text-decoration:none; font-size:32px; line-height:1; }
.study-add { display:flex; align-items:center; gap:7px; border:0; border-radius:14px; padding:10px 15px; color:#2449af; background:#fff; box-shadow:0 8px 22px rgba(10,25,80,.18); font:inherit; font-weight:900; cursor:pointer; }
.study-add b { font-size:19px; }.study-add span { color:inherit; }.study-add:disabled { opacity:.5; cursor:not-allowed; }
.study-flash,.study-notice { margin:0; border:1px solid #bbf7d0; border-radius:14px; padding:12px 15px; color:#166534; background:#f0fdf4; font-size:12px; font-weight:800; }
.study-flash.is-error,.study-notice:not(.is-success) { border-color:#fecaca; color:#991b1b; background:#fff1f2; }
.study-progress-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.study-progress-grid article { display:grid; grid-template-columns:1fr auto; gap:7px 15px; border:1px solid #e6ebf4; border-radius:19px; padding:17px 19px; background:#fff; box-shadow:0 10px 30px rgba(26,42,78,.055); }
.study-progress-grid article > div { display:grid; gap:2px; }.study-progress-grid span,.study-progress-grid small { color:#778299; font-size:10px; font-weight:750; }.study-progress-grid strong { color:#172554; font-size:17px; }.study-progress-grid i { align-self:center; color:#4264db; font-size:13px; font-style:normal; font-weight:900; }
.study-progress-grid progress { grid-column:1/-1; width:100%; height:7px; overflow:hidden; border:0; border-radius:9px; appearance:none; }.study-progress-grid progress::-webkit-progress-bar { background:#edf1f8; }.study-progress-grid progress::-webkit-progress-value { border-radius:9px; background:linear-gradient(90deg,#395dde,#6c8dff); }.study-progress-grid progress::-moz-progress-bar { background:#486be4; }.study-progress-grid .is-tests progress::-webkit-progress-value { background:linear-gradient(90deg,#0faaa0,#43d2bd); }.study-progress-grid small { grid-column:1/-1; }
.study-chart-card,.today-reports,.study-summary,.study-history { border:1px solid #e7ebf3; border-radius:21px; padding:20px; background:#fff; box-shadow:0 12px 32px rgba(21,39,78,.055); }
.study-card-title { display:flex; align-items:center; justify-content:space-between; gap:12px; }.study-card-title > div:first-child { display:grid; gap:1px; }.study-card-title span { color:#5572da; font-size:9px; font-weight:900; }.study-card-title h2 { margin:0; color:#172033; font-size:17px; }.study-card-title > b { border-radius:20px; padding:5px 10px; color:#58657b; background:#f0f3f8; font-size:9px; }
.study-chart-tabs { display:flex!important; gap:3px!important; border-radius:11px; padding:3px; background:#f1f4f9; }.study-chart-tabs button { border:0; border-radius:8px; padding:7px 11px; color:#7b8495; background:transparent; font:inherit; font-size:9px; font-weight:850; cursor:pointer; }.study-chart-tabs button.is-active { color:#fff; background:#345bd1; box-shadow:0 4px 10px rgba(52,91,209,.25); }
.study-chart { margin-top:12px; direction:ltr; }.study-chart svg { display:block; width:100%; height:auto; min-height:200px; overflow:visible; }.chart-grid line { stroke:#e8ecf4; stroke-width:1; stroke-dasharray:4 5; }.chart-grid text,.chart-labels text { fill:#8b95a8; font:10px Vazirmatn,sans-serif; text-anchor:end; }.chart-labels .x-label { text-anchor:middle; }.chart-area { fill:url(#studyArea); }.chart-line { fill:none; stroke:#4267df; stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }.chart-dots circle { fill:#fff; stroke:#4267df; stroke-width:2.5; cursor:help; }
.study-report-list { display:grid; gap:9px; margin-top:14px; }.study-report-row { display:flex; align-items:center; gap:12px; border:1px solid #edf0f5; border-radius:15px; padding:12px 13px; background:#fbfcfe; }.report-book-icon { display:grid; width:40px; height:40px; place-items:center; flex:0 0 auto; border-radius:12px; color:#4262d0; background:#eaf0ff; font-size:20px; }.report-main { min-width:0; flex:1; }.report-main > strong { font-size:12px; }.report-main > p { overflow:hidden; margin:1px 0 5px; color:#707b8e; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }.report-main > div { display:flex; flex-wrap:wrap; gap:5px 12px; }.report-main > div span { color:#647087; font-size:9px; font-weight:750; }.report-main .correct { color:#13966e; }.report-main .wrong { color:#e15062; }.report-actions { display:flex; gap:5px; }.report-actions form { margin:0; }.report-actions button { border:0; border-radius:8px; padding:6px 8px; color:#516078; background:#edf1f6; font:inherit; font-size:8px; font-weight:850; cursor:pointer; }.report-actions form button { color:#c6364a; background:#fff0f2; }
.study-empty { display:grid; justify-items:center; margin-top:14px; border:1px dashed #d8deea; border-radius:16px; padding:25px; color:#7b879a; background:#fbfcfe; }.study-empty span { color:#5575e2; font-size:24px; }.study-empty strong { color:#3e4a60; font-size:12px; }.study-empty p { margin:4px 0 0; font-size:10px; }
.study-summary > div:last-child { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:14px; }.study-summary article { display:flex; align-items:center; gap:9px; border-radius:14px; padding:12px; background:#f7f9fc; }.study-summary article i { display:grid; width:34px; height:34px; place-items:center; flex:0 0 auto; border-radius:10px; color:#3f62d5; background:#e8efff; font-style:normal; }.study-summary article span { display:grid; min-width:0; color:#8490a4; font-size:8px; }.study-summary article strong { color:#27344d; font-size:10px; }.study-summary article small { color:#7a8698; font-size:7px; }
.study-history { padding:0; overflow:hidden; }.study-history summary { display:flex; align-items:center; justify-content:space-between; padding:17px 20px; cursor:pointer; list-style:none; }.study-history summary span { display:grid; }.study-history summary b { font-size:12px; }.study-history summary small { color:#8490a4; font-size:9px; }.study-history summary i { font-style:normal; }.study-history[open] summary { border-bottom:1px solid #edf0f5; }.study-history .study-report-list { padding:0 15px 15px; }.study-history-empty { color:#8590a2; text-align:center; font-size:10px; }
.study-modal { width:min(600px,calc(100% - 24px)); max-height:90vh; overflow:auto; border:0; border-radius:23px; padding:0; color:#172033; background:#fff; box-shadow:0 25px 80px rgba(14,28,65,.3); }.study-modal::backdrop { background:rgba(12,22,46,.58); backdrop-filter:blur(4px); }.study-modal-close { position:absolute; z-index:2; top:13px; left:13px; display:grid; width:32px; height:32px; place-items:center; border:0; border-radius:10px; color:#667085; background:#f1f3f7; font-size:21px; cursor:pointer; }.study-modal form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:25px; }.study-modal-heading { grid-column:1/-1; }.study-modal-heading span { color:#496bd9; font-size:9px; font-weight:900; }.study-modal-heading h2 { margin:1px 0; font-size:20px; }.study-modal-heading p { margin:0; color:#7e899b; font-size:10px; }.study-modal label { display:grid; gap:5px; color:#536078; font-size:10px; font-weight:850; }.study-modal label.wide,.study-test-fields,.study-form-error,.study-submit { grid-column:1/-1; }.study-modal input,.study-modal select { min-width:0; height:43px; box-sizing:border-box; border:1px solid #dfe4ed; border-radius:11px; outline:0; padding:0 11px; color:#202b40; background:#fafbfd; font:inherit; font-size:11px; }.study-modal input:focus,.study-modal select:focus { border-color:#5b78df; box-shadow:0 0 0 3px rgba(76,106,215,.1); }.study-modal fieldset { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0; border:1px solid #e4e8f0; border-radius:13px; padding:9px; }.study-modal legend { padding:0 5px; color:#56647b; font-size:9px; font-weight:850; }.study-test-fields { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.study-form-error { margin:0; border-radius:9px; padding:9px; color:#a5283d; background:#fff0f2; font-size:10px; }.study-submit { min-height:44px; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,#3155cd,#607ff0); box-shadow:0 9px 20px rgba(49,85,205,.2); font:inherit; font-size:11px; font-weight:900; cursor:pointer; }

@media (max-width: 640px) {
    .achievers-showcase{padding:17px 14px}.achievers-heading p{display:none}.achiever-card{grid-template-columns:68px minmax(0,1fr);gap:13px;padding:13px 14px}.achiever-image{width:66px;height:66px}.achiever-image>span{left:-5px;bottom:-7px;padding:4px 7px}.achiever-copy h3{font-size:13px}.achiever-copy p{-webkit-line-clamp:2}
    .teacher-modal-cover { height:210px; }.teacher-modal-content { padding:17px 14px; }.teacher-modal-facts,.teacher-contact > div { grid-template-columns:1fr; }.teacher-modal-content h2 { font-size:19px; }
    .teachers-home { padding:15px; }.teachers-home-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.teachers-home-head p { display:none; }.teachers-directory-hero { padding:19px 15px; }.teachers-directory-hero h1 { font-size:19px; }.teachers-directory-hero p { display:none; }.teachers-directory-grid { grid-template-columns:1fr; }.teacher-profile-card { grid-template-columns:115px minmax(0,1fr); }.teacher-profile-photo { min-height:190px; }.teacher-profile-copy { padding:13px; }.teacher-profile-copy h2 { font-size:14px; }
    .profile-hero { gap:12px; padding:19px 15px; }.profile-avatar { width:65px; height:65px; border-radius:20px; }.profile-hero h1 { font-size:17px; }.profile-points { padding-right:10px; }.profile-points strong { font-size:18px; }.profile-invite-card { padding:14px; }.profile-invite-card > div small { display:none; }.profile-invite-card button { padding:9px; }.profile-invite-card button span { display:none; }.profile-grid { grid-template-columns:1fr; }.profile-grid .span-2 { grid-column:1; }.profile-section { padding:15px; }
    .resource-home-feature { min-height:98px; gap:11px; padding:16px; }.resource-home-art { width:54px; height:54px; border-radius:16px; }.resource-home-art svg { width:29px; height:29px; }.resource-home-copy strong { font-size:16px; }.resource-home-copy em,.resource-home-stats { display:none; }.resource-home-action { padding:9px; font-size:0; }.resource-home-action b { font-size:17px; }
    .resource-directory-hero { padding:19px 15px; }.resource-directory-hero h1 { font-size:19px; }.resource-directory-hero p { display:none; }.resource-search-filters { align-items:stretch; flex-direction:column; }.resource-search-filters > div { display:grid; grid-template-columns:repeat(3,1fr); }.resource-search-filters button { padding:7px 4px; }.resource-search-filters label { justify-content:space-between; }.resource-search-filters select { flex:1; }.resource-directory-grid { grid-template-columns:1fr; }
    .resource-bank { padding:15px; }.resource-bank-head { align-items:stretch; flex-direction:column; }.resource-filters { align-self:stretch; }.resource-filters button { flex:1; padding:7px 5px; }.resource-grid { grid-template-columns:1fr; }.resource-bank-heading p { display:none; }
    .psych-services-grid,.psych-test-grid { grid-template-columns:1fr; }
    .psych-hero { padding:19px 15px; }.psych-hero h1 { font-size:19px; }.psych-hero p { display:none; }
    .psych-test-card { padding:14px; }.psych-questionnaire fieldset { padding:16px 13px; }.psych-questionnaire legend strong { font-size:13px; }
    .psych-form-actions { grid-template-columns:auto minmax(35px,1fr) auto; }.psych-form-actions button { padding:0 11px; }
    .study-report-feature { min-height: 91px; gap: 11px; padding: 15px; border-radius: 19px; }
    .study-report-feature-icon { width: 52px; height: 52px; border-radius: 16px; }
    .study-report-feature-icon svg { width: 27px; height: 27px; }
    .study-report-feature-copy strong { font-size: 16px; }
    .study-report-feature-copy em { max-width: 210px; }
    .study-report-feature-action { padding: 8px; }
    .study-report-feature-action { font-size: 0; }
    .study-report-feature-action b { font-size: 17px; }
    .study-header { padding:20px 16px; }.study-header h1 { font-size:21px; }.study-header p { display:none; }.study-add { padding:9px; }.study-add span { display:none; }
    .study-progress-grid { grid-template-columns:1fr; }.study-chart-card,.today-reports,.study-summary { padding:15px; }.study-chart-tabs button { padding:6px 7px; }
    .study-summary > div:last-child { grid-template-columns:repeat(2,minmax(0,1fr)); }.report-actions { flex-direction:column; }.study-modal form { grid-template-columns:1fr; padding:22px 16px 17px; }.study-modal fieldset,.study-modal-heading,.study-modal label.wide,.study-test-fields,.study-form-error,.study-submit { grid-column:1; }.study-modal fieldset { grid-template-columns:1fr 1fr; }.study-chart svg { min-height:180px; }
}

/* Subscription purchase and access gate */
.subscription-page { display:grid; gap:16px; color:#20283a; }.subscription-hero { display:flex; align-items:center; gap:14px; overflow:hidden; border-radius:24px; padding:24px; color:#fff; background:radial-gradient(circle at 8% 0,rgba(255,219,119,.25),transparent 28%),linear-gradient(125deg,#2e2058,#6547ae 60%,#9571d4); box-shadow:0 18px 40px rgba(72,48,127,.22); }.subscription-hero > a { display:grid; width:38px; height:38px; place-items:center; flex:0 0 auto; border-radius:11px; color:#fff; background:rgba(255,255,255,.13); font-size:30px; text-decoration:none; }.subscription-hero span { color:#e4d6fa; font-size:9px; font-weight:900; }.subscription-hero h1 { margin:1px 0; font-size:24px; }.subscription-hero p { margin:0; color:rgba(255,255,255,.77); font-size:10px; }.subscription-required-notice,.subscription-flash { margin:0; border-radius:13px; padding:12px 14px; color:#744c09; background:#fff4ce; font-size:10px; font-weight:900; }.subscription-flash.is-success { color:#166534; background:#dcfce7; }.subscription-flash.is-error { color:#991b1b; background:#fee2e2; }.active-subscription-card { display:grid; border:1px solid #bcead5; border-radius:17px; padding:16px 18px; background:linear-gradient(135deg,#effdf7,#fff); box-shadow:0 9px 25px rgba(20,130,88,.07); }.active-subscription-card span { color:#15825d; font-size:8px; font-weight:900; }.active-subscription-card strong { color:#155b46; font-size:16px; }.active-subscription-card p { margin:1px 0 0; color:#688578; font-size:9px; }.subscription-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }.subscription-steps span { display:flex; min-height:44px; align-items:center; gap:7px; border:1px solid #e8e4f0; border-radius:12px; padding:8px; color:#6d7280; background:#fff; font-size:8px; font-weight:900; }.subscription-steps b { display:grid; width:23px; height:23px; place-items:center; flex:0 0 auto; border-radius:50%; color:#fff; background:#7352bd; }.subscription-plan-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }.subscription-plan-card { position:relative; display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #e5e1ed; border-radius:20px; padding:18px; background:#fff; box-shadow:0 12px 30px rgba(43,32,78,.065); }.subscription-plan-card.is-featured { border-color:#cbb9ec; background:linear-gradient(180deg,#fbf8ff,#fff); }.subscription-plan-card > span { color:#7656b9; font-size:8px; font-weight:900; }.subscription-plan-card h2 { margin:2px 0 5px; color:#2c2740; font-size:16px; }.subscription-plan-card > strong { color:#56379c; font-size:19px; }.subscription-plan-card > strong small { font-size:8px; }.subscription-plan-card ul { display:grid; gap:6px; margin:13px 0; padding:0; color:#71798a; font-size:8px; list-style:none; }.subscription-plan-card li::before { margin-left:5px; color:#16a277; content:"✓"; }.subscription-plan-card form { display:grid; gap:8px; margin-top:auto; border-top:1px solid #eeeaf3; padding-top:11px; }.subscription-plan-card form label { display:grid; gap:5px; color:#667186; font-size:8px; font-weight:900; }.subscription-plan-card input[type=file] { width:100%; min-width:0; border:1px dashed #d9d2e6; border-radius:10px; padding:8px; color:#7b8494; background:#faf9fc; font:inherit; font-size:7px; }.subscription-plan-card button { min-height:39px; border:0; border-radius:11px; color:#fff; background:linear-gradient(135deg,#6242aa,#8866cc); font:inherit; font-size:9px; font-weight:900; cursor:pointer; }.subscription-empty { grid-column:1/-1; margin:0; border:1px dashed #d9d4e3; border-radius:15px; padding:25px; color:#7b8494; background:#fff; text-align:center; font-size:10px; }.my-payment-requests { display:grid; gap:8px; }.my-payment-requests h2 { margin:2px 0; font-size:15px; }.my-payment-requests article { display:grid; grid-template-columns:1fr auto; align-items:center; gap:3px 10px; border:1px solid #e5e8ee; border-radius:13px; padding:12px 14px; background:#fff; }.my-payment-requests article > div { display:grid; }.my-payment-requests strong { font-size:10px; }.my-payment-requests small { color:#8791a1; font-size:7px; }.my-payment-requests article > span { border-radius:20px; padding:5px 8px; color:#936000; background:#fff1bd; font-size:7px; font-weight:900; }.my-payment-requests .is-approved > span { color:#166534; background:#dcfce7; }.my-payment-requests .is-rejected > span { color:#991b1b; background:#fee2e2; }.my-payment-requests article > p { grid-column:1/-1; margin:3px 0 0; color:#785b28; font-size:8px; }
.subscription-required-modal { width:min(400px,calc(100% - 28px)); border:0; border-radius:24px; padding:27px 24px; color:#29233a; background:linear-gradient(155deg,#fff,#f7f3ff); box-shadow:0 28px 90px rgba(35,24,66,.3); text-align:center; }.subscription-required-modal::backdrop { background:rgba(22,16,38,.58); backdrop-filter:blur(5px); }.subscription-required-modal > button { position:absolute; top:12px; left:12px; display:grid; width:32px; height:32px; place-items:center; border:0; border-radius:10px; color:#6f6681; background:#ede9f3; font-size:20px; cursor:pointer; }.subscription-lock-icon { display:grid; width:62px; height:62px; place-items:center; margin:0 auto 10px; border-radius:20px; color:#fff; background:linear-gradient(135deg,#6343ad,#9873d9); box-shadow:0 10px 24px rgba(97,65,170,.26); }.subscription-lock-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }.subscription-required-modal > small { color:#7857bb; font-size:8px; font-weight:900; }.subscription-required-modal h2 { margin:3px 0; font-size:19px; }.subscription-required-modal p { margin:4px 0 16px; color:#737b8a; font-size:9px; line-height:1.9; }.subscription-required-modal > a { display:flex; min-height:43px; align-items:center; justify-content:center; gap:8px; border-radius:12px; color:#fff; background:linear-gradient(135deg,#6040a8,#8865ca); box-shadow:0 9px 20px rgba(91,61,158,.2); font-size:10px; font-weight:900; text-decoration:none; }
[data-subscription-gated] { position:relative; }.advisor-page { display:grid; gap:15px; }.advisor-page-hero { display:flex; align-items:center; gap:15px; overflow:hidden; border-radius:24px; padding:25px; color:#fff; background:radial-gradient(circle at 5% 0,rgba(124,231,218,.18),transparent 30%),linear-gradient(125deg,#172d5d,#315ec2 62%,#5b82e0); box-shadow:0 18px 40px rgba(40,75,163,.2); }.advisor-page-hero > div { flex:1; }.advisor-page-hero span { color:#bfe4ff; font-size:9px; font-weight:900; }.advisor-page-hero h1 { margin:1px 0; font-size:24px; }.advisor-page-hero p { margin:0; color:rgba(255,255,255,.77); font-size:10px; }.advisor-hero-icon { display:grid; width:67px; height:67px; place-items:center; flex:0 0 auto; border:1px solid rgba(255,255,255,.2); border-radius:21px; background:rgba(255,255,255,.12); }.advisor-hero-icon svg { width:37px; height:37px; fill:none; stroke:#fff; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }.advisor-benefits { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.advisor-benefits article { display:grid; justify-items:center; border:1px solid #e4e8f0; border-radius:17px; padding:16px 12px; background:#fff; box-shadow:0 9px 24px rgba(24,41,77,.055); text-align:center; }.advisor-benefits i { display:grid; width:32px; height:32px; place-items:center; border-radius:10px; color:#315fc8; background:#e9f0ff; font-size:11px; font-style:normal; font-weight:900; }.advisor-benefits strong { margin-top:7px; font-size:11px; }.advisor-benefits p { margin:3px 0 0; color:#7c8799; font-size:8px; line-height:1.8; }.advisor-contact-card { display:flex; align-items:center; gap:15px; border:1px solid #ddd5ee; border-radius:20px; padding:19px 21px; background:linear-gradient(135deg,#f7f3ff,#fff); box-shadow:0 12px 30px rgba(67,45,119,.07); }.advisor-contact-card > div { flex:1; }.advisor-contact-card small { color:#7654b9; font-size:8px; font-weight:900; }.advisor-contact-card h2 { margin:1px 0; font-size:16px; }.advisor-contact-card p { margin:0; color:#7a8393; font-size:8px; }.advisor-contact-card button { flex:0 0 auto; border:0; border-radius:12px; padding:10px 13px; color:#fff; background:#6849ae; font:inherit; font-size:9px; font-weight:900; cursor:pointer; }
@media(max-width:640px){.subscription-hero{padding:19px 15px}.subscription-hero p{display:none}.subscription-steps{grid-template-columns:repeat(2,1fr)}.subscription-plan-grid{grid-template-columns:1fr}.advisor-page-hero{padding:20px 16px}.advisor-page-hero p{display:none}.advisor-benefits{grid-template-columns:1fr}.advisor-benefits article{grid-template-columns:auto 1fr;justify-items:start;text-align:right}.advisor-benefits i{grid-row:1/3}.advisor-contact-card{align-items:stretch;flex-direction:column}.advisor-contact-card button{align-self:stretch}}

@media (max-width: 390px) {
    .study-report-feature-copy em { display: none; }
}

@media (max-width: 520px) {
    .home-slider {
        margin: 0 0 18px;
    }

    .daily-quote {
        margin-bottom: 18px;
        padding: 16px;
    }

    .daily-quote p {
        font-size: 15px;
    }

    .slider-track {
        aspect-ratio: 1.7 / 1;
        min-height: 175px;
        border-radius: 14px;
    }

    .services-box {
        padding: 14px;
    }

    .blog-box {
        margin-top: 18px;
        padding: 14px;
    }

    .services-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 9px;
    }

    .custom-media-controls {
        grid-template-columns: 38px minmax(0, 1fr);
    }

    .custom-media-video .custom-media-controls {
        grid-template-columns: minmax(0, 1fr);
    }

    .custom-media-time {
        grid-column: 1 / -1;
        text-align: center;
    }

    .service-item {
        min-height: 80px;
        padding: 12px 8px;
    }

    .service-item strong {
        font-size: 12px;
        line-height: 1.5;
    }

    .service-icon {
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }
}

.subscription-card-destination { display:grid; justify-items:center; border:1px solid #ded4f0; border-radius:18px; padding:17px; background:linear-gradient(135deg,#f8f4ff,#fff); box-shadow:0 9px 25px rgba(72,49,124,.07); text-align:center; }.subscription-card-destination span { color:#7958bd; font-size:8px; font-weight:900; }.subscription-card-destination strong { margin:3px 0; letter-spacing:2px; color:#35235e; font-size:18px; }.subscription-card-destination small { color:#7c8494; font-size:8px; }

/* Club rewards and discount entry */
.profile-club-section { display:grid; gap:13px; margin-top:16px; border:1px solid #e1d7f1; border-radius:22px; padding:20px; background:linear-gradient(145deg,#faf7ff,#fff); box-shadow:0 13px 32px rgba(71,45,124,.08); scroll-margin-top:90px; }
.profile-club-section>header { display:flex; align-items:center; gap:14px; }.profile-club-section>header>div { flex:1; }.profile-club-section>header span { color:#7956bb; font-size:8px; font-weight:900; }.profile-club-section>header h2 { margin:1px 0; color:#302543; font-size:18px; }.profile-club-section>header p { margin:0; color:#7b8392; font-size:9px; }.profile-club-section>header>strong { display:grid; width:52px; height:52px; place-items:center; border-radius:16px; color:#ffd65c; background:linear-gradient(135deg,#473078,#7d58bd); font-size:24px; }
.profile-club-rewards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.profile-club-rewards article { display:flex; align-items:center; gap:10px; border:1px solid #e7e0f0; border-radius:15px; padding:14px; background:#fff; }.profile-club-rewards article>div { display:grid; min-width:0; flex:1; }.profile-club-rewards small { overflow:hidden; color:#7a8190; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }.profile-club-rewards article>div strong { color:#352750; font-size:12px; }.profile-club-rewards article>div span { color:#8662c2; font-size:8px; font-weight:900; }.profile-club-rewards button,.profile-club-rewards .is-claimed { border:0; border-radius:10px; padding:9px 11px; color:#fff; background:#7250b2; font:inherit; font-size:8px; font-weight:900; white-space:nowrap; }.profile-club-rewards button:disabled { color:#9991a7; background:#e9e5ed; cursor:not-allowed; }.profile-club-rewards .is-claimed { color:#286b54; background:#dcf8ec; letter-spacing:.5px; }.profile-club-empty { grid-column:1/-1; margin:0; border:1px dashed #ddd3e9; border-radius:13px; padding:18px; color:#7d8491; font-size:9px; text-align:center; }
.profile-my-codes { display:grid; gap:7px; border-top:1px solid #e6deef; padding-top:12px; }.profile-my-codes h3 { margin:0; font-size:11px; }.profile-my-codes>div { display:flex; align-items:center; justify-content:space-between; gap:12px; border-radius:10px; padding:9px 11px; background:#f1ecf8; }.profile-my-codes span { color:#6e7583; font-size:8px; }.profile-my-codes strong { color:#54358d; font-size:10px; }
.subscription-discount-section { display:grid; gap:10px; border:1px solid #e1d8ed; border-radius:18px; padding:17px; background:#fff; }.subscription-discount-section>header { display:flex; align-items:center; gap:10px; }.subscription-discount-section>header>b { display:grid; width:31px; height:31px; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,#6545ad,#9873d6); font-size:11px; }.subscription-discount-section>header>span { display:grid; }.subscription-discount-section>header strong { font-size:12px; }.subscription-discount-section>header small { color:#858b99; font-size:8px; }.subscription-discount-section>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }.subscription-discount-section input { min-width:0; min-height:43px; border:1px solid #d8cde8; border-radius:11px; padding:0 13px; font:inherit; font-size:10px; }.subscription-discount-section button { border:0; border-radius:11px; padding:0 16px; color:#fff; background:#7351b3; font:inherit; font-size:9px; font-weight:900; cursor:pointer; }.discount-preview { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0; border-radius:12px; padding:12px; color:#6e7480; background:#f3fbf7; font-size:8px; }.discount-preview span:nth-child(2) { text-align:left; }.discount-preview>strong { grid-column:1/-1; border-top:1px solid #cde8da; padding-top:7px; color:#176746; font-size:11px; text-align:center; }
@media(max-width:640px){.profile-club-rewards{grid-template-columns:1fr}.profile-club-section{padding:15px}.subscription-discount-section>div{grid-template-columns:1fr}.subscription-discount-section button{min-height:40px}}

/* Student subscription purchase flow */
.subscription-pending-card { display:grid; border:1px solid #f3d38a; border-radius:17px; padding:16px 18px; background:linear-gradient(135deg,#fff9e9,#fff); box-shadow:0 9px 25px rgba(173,115,12,.07); }
.subscription-pending-card span { color:#a66b05; font-size:8px; font-weight:900; }
.subscription-pending-card strong { color:#704d10; font-size:16px; }
.subscription-pending-card p { margin:1px 0 0; color:#907546; font-size:9px; }
.subscription-purchase-form,.subscription-purchase-form fieldset { min-width:0; margin:0; padding:0; border:0; }
.subscription-purchase-form fieldset { display:grid; gap:14px; }
.subscription-purchase-form legend,.subscription-receipt-section > header { display:flex; width:100%; align-items:center; gap:10px; margin:0 0 2px; padding:0; }
.subscription-purchase-form legend > b,.subscription-receipt-section > header > b { display:grid; width:31px; height:31px; place-items:center; flex:0 0 auto; border-radius:10px; color:#fff; background:linear-gradient(135deg,#6545ad,#9873d6); box-shadow:0 7px 16px rgba(101,69,173,.2); font-size:11px; }
.subscription-purchase-form legend > span,.subscription-receipt-section > header > span { display:grid; }
.subscription-purchase-form legend strong,.subscription-receipt-section > header strong { color:#302743; font-size:13px; }
.subscription-purchase-form legend small,.subscription-receipt-section > header small { color:#858b99; font-size:8px; font-weight:600; }
.subscription-purchase-form .subscription-plan-card { cursor:pointer; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease; }
.subscription-purchase-form .subscription-plan-card:hover { border-color:#bfa9e7; box-shadow:0 15px 34px rgba(82,54,142,.12); transform:translateY(-2px); }
.subscription-plan-card > input[type=radio] { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.subscription-plan-check { position:absolute; top:14px; left:14px; display:grid; width:24px; height:24px; place-items:center; border:2px solid #ddd5e9; border-radius:50%; color:transparent; background:#fff; font-size:11px; font-style:normal; transition:.18s ease; }
.subscription-plan-card:has(input:checked) { border-color:#7653bf; background:linear-gradient(160deg,#f7f1ff,#fff); box-shadow:0 14px 34px rgba(91,58,160,.16),inset 0 0 0 1px #7653bf; transform:translateY(-2px); }
.subscription-plan-card:has(input:checked) .subscription-plan-check { border-color:#7653bf; color:#fff; background:#7653bf; box-shadow:0 5px 12px rgba(96,62,165,.25); }
.subscription-plan-card:focus-within { outline:3px solid rgba(118,83,191,.16); outline-offset:2px; }
.subscription-receipt-section { display:grid; gap:11px; margin-top:3px; border:1px solid #e4ddee; border-radius:20px; padding:18px; background:linear-gradient(145deg,#fbf9ff,#fff); box-shadow:0 12px 30px rgba(52,35,89,.055); }
.subscription-receipt-picker { position:relative; display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:94px; border:2px dashed #cdbce8; border-radius:16px; padding:14px 16px; color:#6948aa; background:rgba(248,244,255,.75); cursor:pointer; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.subscription-receipt-picker input { position:absolute; inset:0; z-index:2; width:100%; height:100%; opacity:0; cursor:pointer; }
.subscription-upload-icon { display:grid; width:52px; height:52px; place-items:center; border-radius:15px; color:#fff; background:linear-gradient(135deg,#6848af,#9872d4); box-shadow:0 9px 20px rgba(98,64,169,.24); }
.subscription-upload-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.subscription-upload-copy { display:grid; min-width:0; }
.subscription-upload-copy strong { color:#332943; font-size:11px; }
.subscription-upload-copy small { overflow:hidden; color:#7e8290; font-size:8px; text-overflow:ellipsis; white-space:nowrap; }
.subscription-receipt-picker em { border-radius:20px; padding:6px 9px; color:#7657b2; background:#eee7fa; font-size:7px; font-style:normal; font-weight:900; }
.subscription-receipt-picker:hover,.subscription-receipt-picker:focus-within,.subscription-receipt-picker.is-dragging { border-color:#7653bf; background:#fff; box-shadow:0 13px 27px rgba(94,61,158,.11); transform:translateY(-1px); }
.subscription-receipt-picker.has-file { border-style:solid; border-color:#3aac82; background:#f3fff9; }
.subscription-receipt-picker.has-file .subscription-upload-icon { background:linear-gradient(135deg,#178960,#43ba8c); }
.subscription-receipt-section > button { min-height:44px; border:0; border-radius:13px; color:#fff; background:linear-gradient(135deg,#6040a8,#8966ca); box-shadow:0 9px 21px rgba(91,61,158,.2); font:inherit; font-size:10px; font-weight:900; cursor:pointer; }
.subscription-purchase-form.is-blocked fieldset { opacity:.48; }
.subscription-purchase-form.is-blocked .subscription-plan-card,.subscription-purchase-form.is-blocked .subscription-receipt-picker,.subscription-purchase-form.is-blocked button { cursor:not-allowed; transform:none; }
.subscription-blocked-note { margin:10px 0 0; border:1px solid #ead89e; border-radius:12px; padding:11px 13px; color:#805c12; background:#fff9e4; font-size:9px; font-weight:900; text-align:center; }
@media(max-width:640px){.subscription-receipt-section{padding:14px}.subscription-receipt-picker{grid-template-columns:45px minmax(0,1fr);padding:12px}.subscription-upload-icon{width:45px;height:45px}.subscription-receipt-picker em{grid-column:1/-1;justify-self:center}.subscription-purchase-form legend strong,.subscription-receipt-section>header strong{font-size:11px}}

/* Advisor directory, profile and advisor workspace */
.advisor-directory,.advisor-profile-page { display:grid; gap:15px; }.my-advisor-banner,.advisor-pending-banner { display:flex; align-items:center; gap:15px; border:1px solid #bfe7d7; border-radius:18px; padding:16px 19px; color:#184c3b; background:linear-gradient(135deg,#eafff6,#fff); text-decoration:none; }.my-advisor-banner>div,.advisor-pending-banner { flex:1; }.my-advisor-banner>div { display:grid; }.my-advisor-banner small,.advisor-pending-banner small { color:#16815e; font-size:8px; font-weight:900; }.my-advisor-banner strong,.advisor-pending-banner strong { font-size:15px; }.my-advisor-banner span,.advisor-pending-banner span { color:#678276; font-size:8px; }.my-advisor-banner>b { border-radius:10px; padding:9px 12px; color:#fff; background:#1f8b67; font-size:8px; }.advisor-pending-banner { display:grid; border-color:#eed59c; color:#725216; background:#fff9e9; }
.advisor-directory-title { display:flex; align-items:end; justify-content:space-between; }.advisor-directory-title span { color:#426dc7; font-size:8px; font-weight:900; }.advisor-directory-title h2 { margin:0; font-size:18px; }.advisor-directory-title>b { border-radius:20px; padding:6px 10px; color:#4264a8; background:#eaf0fc; font-size:8px; }.advisor-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.advisor-directory-card { display:grid; grid-template-columns:125px minmax(0,1fr); overflow:hidden; border:1px solid #e2e7ef; border-radius:20px; color:#20293b; background:#fff; box-shadow:0 12px 30px rgba(28,45,83,.07); text-decoration:none; transition:.2s ease; }.advisor-directory-card:hover { border-color:#adc0e5; box-shadow:0 17px 37px rgba(35,61,117,.13); transform:translateY(-2px); }.advisor-directory-photo { position:relative; min-height:205px; background:#e8edf6; }.advisor-directory-photo>img { width:100%; height:100%; object-fit:cover; }.advisor-directory-photo>span { display:grid; width:100%; height:100%; place-items:center; color:#3d63af; font-size:38px; font-weight:900; }.advisor-directory-photo>b { position:absolute; right:8px; bottom:8px; left:8px; border-radius:8px; padding:6px; color:#146747; background:rgba(224,255,243,.92); font-size:7px; text-align:center; }.advisor-directory-photo>b.is-full { color:#8a3d3d; background:rgba(255,232,232,.94); }.advisor-directory-copy { display:flex; min-width:0; flex-direction:column; padding:15px; }.advisor-directory-copy>small { color:#416cc3; font-size:8px; font-weight:900; }.advisor-directory-copy h2 { margin:1px 0; font-size:15px; }.advisor-directory-copy>p { margin:0 0 9px; color:#7a8596; font-size:8px; }.advisor-directory-copy>div { display:flex; gap:6px; }.advisor-directory-copy>div span { border-radius:8px; padding:6px 7px; color:#63728a; background:#f2f5f9; font-size:7px; }.advisor-directory-copy>strong { margin-top:9px; color:#275bbd; font-size:10px; }.advisor-directory-copy>em { margin-top:auto; color:#5670a7; font-size:8px; font-style:normal; font-weight:900; }.advisor-directory-empty { grid-column:1/-1; border:1px dashed #d7dce6; border-radius:16px; padding:28px; color:#7d8796; text-align:center; }
.advisor-profile-back { justify-self:start; color:#52698f; font-size:9px; font-weight:900; text-decoration:none; }.advisor-profile-hero { display:flex; align-items:center; gap:16px; overflow:hidden; border-radius:24px; padding:24px; color:#fff; background:linear-gradient(125deg,#182d58,#3564c2 62%,#7192df); box-shadow:0 17px 40px rgba(39,73,145,.22); }.advisor-profile-avatar { display:grid; width:92px; height:92px; place-items:center; overflow:hidden; flex:0 0 auto; border:3px solid rgba(255,255,255,.7); border-radius:26px; color:#315aad; background:#fff; font-size:31px; }.advisor-profile-avatar img { width:100%; height:100%; object-fit:cover; }.advisor-profile-hero>div:nth-child(2) { flex:1; }.advisor-profile-hero small { color:#cce0ff; font-size:8px; font-weight:900; }.advisor-profile-hero h1 { margin:1px 0; font-size:22px; }.advisor-profile-hero p { margin:0; color:rgba(255,255,255,.72); font-size:9px; }.advisor-profile-hero>span { border-radius:20px; padding:7px 10px; color:#175f45; background:#dbfbed; font-size:8px; font-weight:900; }.advisor-profile-hero>span.is-full { color:#8e3434; background:#ffe2e2; }.advisor-profile-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.advisor-profile-facts article { display:grid; justify-items:center; border:1px solid #e2e6ed; border-radius:15px; padding:14px; background:#fff; }.advisor-profile-facts small { color:#7e8898; font-size:8px; }.advisor-profile-facts strong { color:#294f98; font-size:14px; }.advisor-profile-about,.advisor-select-box { display:grid; gap:12px; border:1px solid #e2e6ed; border-radius:20px; padding:20px; background:#fff; box-shadow:0 10px 28px rgba(30,45,77,.05); }.advisor-profile-about>div span,.advisor-select-box>div small { color:#416cc2; font-size:8px; font-weight:900; }.advisor-profile-about h2,.advisor-select-box h2 { margin:0; font-size:17px; }.advisor-profile-about>p,.advisor-select-box>div p { margin:0; color:#6e798a; font-size:9px; line-height:2; }.advisor-profile-about dl { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:0; }.advisor-profile-about dl>div { border-radius:11px; padding:10px; background:#f5f7fa; }.advisor-profile-about dt { color:#8a93a1; font-size:7px; }.advisor-profile-about dd { margin:2px 0 0; font-size:9px; font-weight:900; }.advisor-selection-state { margin:0; border-radius:12px; padding:12px; color:#75581d; background:#fff6da; font-size:9px; font-weight:900; text-align:center; }.advisor-selection-state.is-full { color:#983f3f; background:#fee8e8; }.advisor-payment-details summary { border-radius:12px; padding:13px; color:#fff; background:#315eb8; font-size:9px; font-weight:900; text-align:center; cursor:pointer; }.advisor-payment-details[open] summary { margin-bottom:12px; }.advisor-payment-details>div,.advisor-payment-details>form { margin-top:10px; }.advisor-payment-card { display:grid; justify-items:center; border:1px solid #d7e0f1; border-radius:15px; padding:16px; background:#f6f9ff; }.advisor-payment-card span,.advisor-payment-card small { color:#71809a; font-size:8px; }.advisor-payment-card strong { color:#2855aa; font-size:17px; }.advisor-payment-card b { margin-top:5px; letter-spacing:2px; font-size:16px; }.advisor-payment-card em { color:#778397; font-size:8px; font-style:normal; }.advisor-payment-details form { display:grid; gap:9px; }.advisor-payment-details label { display:grid; gap:6px; color:#45546b; font-size:9px; font-weight:900; }.advisor-payment-details input { border:1px solid #d5dce8; border-radius:10px; padding:10px; font:inherit; }.advisor-payment-details label small { color:#8a94a3; font-size:7px; }.advisor-payment-details button { min-height:43px; border:0; border-radius:11px; color:#fff; background:#315eb8; font:inherit; font-size:9px; font-weight:900; }
.advisor-service-overview { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; }.advisor-service-overview article { display:grid; border:1px solid #e3e7ee; border-radius:15px; padding:15px; background:#fff; }.advisor-service-overview small { color:#788497; font-size:8px; }.advisor-service-overview strong { color:#315cae; font-size:20px; }.advisor-service-settings,.advisor-service-section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; border:1px solid #e1e6ee; border-radius:20px; padding:18px; background:#fff; box-shadow:0 10px 28px rgba(30,45,77,.05); }.advisor-service-settings .tool-section-title,.advisor-service-settings .span-2,.advisor-service-section>.tool-section-title,.advisor-service-section>div { grid-column:1/-1; }.advisor-service-settings label { display:grid; gap:6px; color:#45536a; font-size:9px; font-weight:900; }.advisor-service-settings input,.advisor-service-settings textarea { width:100%; border:1px solid #d6dde8; border-radius:10px; padding:10px 12px; font:inherit; resize:vertical; }.advisor-service-settings>button { min-height:43px; border:0; border-radius:11px; color:#fff; background:#315eb8; font:inherit; font-size:9px; font-weight:900; }.advisor-service-settings .tool-section-title a { color:#315eb8; font-size:8px; text-decoration:none; }.advisor-service-payments,.advisor-student-list { display:grid; gap:9px; }.advisor-service-payments>article { display:grid; grid-template-columns:90px minmax(0,1fr) minmax(170px,.7fr); align-items:center; gap:11px; overflow:hidden; border:1px solid #e3e7ee; border-radius:14px; padding:10px; }.advisor-service-payments>article>a { height:88px; overflow:hidden; border-radius:10px; }.advisor-service-payments img { width:100%; height:100%; object-fit:cover; }.advisor-service-payments>article>div { display:grid; }.advisor-service-payments small { color:#a16c12; font-size:7px; font-weight:900; }.advisor-service-payments strong { font-size:11px; }.advisor-service-payments span,.advisor-service-payments em { color:#7a8595; font-size:7px; font-style:normal; }.advisor-service-payments form { display:grid; gap:7px; }.advisor-service-payments input { min-width:0; border:1px solid #d7dde7; border-radius:8px; padding:8px; font:inherit; font-size:8px; }.advisor-service-payments form>div { display:grid; grid-template-columns:1fr 1fr; gap:5px; }.advisor-service-payments button { border:0; border-radius:8px; padding:8px; color:#fff; background:#20835f; font:inherit; font-size:7px; font-weight:900; }.advisor-service-payments button.is-reject { background:#c55353; }.advisor-service-payments>article>p { margin:0; color:#7b8492; font-size:8px; }.advisor-student-list { grid-template-columns:repeat(2,minmax(0,1fr)); }.advisor-student-list article { border:1px solid #e4e8ef; border-radius:14px; padding:14px; background:#fafbfd; }.advisor-student-list article>div { display:flex; justify-content:space-between; gap:8px; }.advisor-student-list strong { font-size:11px; }.advisor-student-list article>div span { color:#5872a4; font-size:8px; }.advisor-student-list dl { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin:10px 0 0; }.advisor-student-list dl>div { border-radius:8px; padding:7px; background:#fff; }.advisor-student-list dt { color:#8b94a3; font-size:7px; }.advisor-student-list dd { margin:0; font-size:8px; font-weight:900; }.advisor-service-empty { margin:0; border:1px dashed #d8dde6; border-radius:12px; padding:20px; color:#7d8795; font-size:9px; text-align:center; }
@media(max-width:700px){.advisor-directory-grid{grid-template-columns:1fr}.advisor-profile-hero{align-items:flex-start;flex-wrap:wrap;padding:18px}.advisor-profile-avatar{width:72px;height:72px}.advisor-profile-hero>span{margin-right:auto}.advisor-profile-about dl{grid-template-columns:1fr}.advisor-service-settings{grid-template-columns:1fr}.advisor-service-settings .tool-section-title,.advisor-service-settings .span-2{grid-column:1}.advisor-service-payments>article{grid-template-columns:75px minmax(0,1fr)}.advisor-service-payments form,.advisor-service-payments>article>p{grid-column:1/-1}.advisor-student-list{grid-template-columns:1fr}.advisor-service-overview{grid-template-columns:repeat(3,1fr)}}
@media(max-width:430px){.advisor-directory-card{grid-template-columns:105px minmax(0,1fr)}.advisor-directory-photo{min-height:190px}.advisor-profile-facts{grid-template-columns:1fr}.advisor-service-overview{grid-template-columns:1fr}.advisor-student-list dl{grid-template-columns:1fr}.my-advisor-banner{align-items:stretch;flex-direction:column}.my-advisor-banner>b{text-align:center}}

/* Gamified study planning */
.study-plan-zone { display:grid; gap:13px; scroll-margin-top:85px; }.study-plan-zone-head { position:relative; display:flex; align-items:center; gap:15px; overflow:hidden; border-radius:22px; padding:21px; color:#fff; background:radial-gradient(circle at 5% 0,rgba(255,220,86,.3),transparent 28%),linear-gradient(125deg,#37206a,#6540b0 58%,#9a6bda); box-shadow:0 17px 38px rgba(72,43,132,.24); }.study-plan-zone-head>div { flex:1; }.study-plan-zone-head span { color:#eadcff; font-size:8px; font-weight:900; }.study-plan-zone-head h2 { margin:1px 0; font-size:20px; }.study-plan-zone-head p { margin:0; color:rgba(255,255,255,.72); font-size:9px; }.study-plan-zone-head>b { display:grid; width:58px; height:58px; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:18px; background:rgba(255,255,255,.13); font-size:29px; }
.study-plan-create { border:1px solid #ddd3ec; border-radius:16px; background:#fff; }.study-plan-create>summary { padding:14px 16px; color:#6543a4; font-size:10px; font-weight:900; cursor:pointer; }.study-plan-create[open]>summary { border-bottom:1px solid #ebe5f3; }.study-plan-create>form,.study-plan-owner form,.advisor-created-plans details form { display:grid; gap:9px; padding:14px; }.study-plan-create label,.study-plan-owner label,.advisor-study-plan-form label,.advisor-created-plans label { display:grid; gap:5px; color:#4c5668; font-size:8px; font-weight:900; }.study-plan-create input,.study-plan-create textarea,.study-plan-owner input,.study-plan-owner textarea,.advisor-study-plan-form input,.advisor-study-plan-form textarea,.advisor-study-plan-form select,.advisor-created-plans input,.advisor-created-plans textarea { width:100%; border:1px solid #d8dce7; border-radius:10px; padding:10px 11px; outline:0; background:#fff; font:inherit; resize:vertical; }.study-plan-create label small { color:#8992a0; font-size:7px; }.study-plan-create button,.study-plan-owner button,.advisor-study-plan-form button,.advisor-created-plans button { min-height:40px; border:0; border-radius:10px; color:#fff; background:linear-gradient(135deg,#6541aa,#8961ca); font:inherit; font-size:8px; font-weight:900; cursor:pointer; }
.study-game-list { display:grid; gap:13px; }.study-game-empty { display:grid; justify-items:center; border:2px dashed #d9d1e7; border-radius:20px; padding:28px; color:#788292; background:#faf9fc; text-align:center; }.study-game-empty>span { font-size:35px; }.study-game-empty strong { font-size:11px; }.study-game-empty p { margin:2px 0 0; font-size:8px; }.study-game-card { position:relative; overflow:hidden; border:1px solid #e0d8ed; border-radius:22px; padding:18px; background:radial-gradient(circle at 100% 0,#f2eaff,transparent 25%),#fff; box-shadow:0 13px 33px rgba(49,32,86,.08); }.study-game-card>header { display:flex; align-items:start; gap:12px; }.study-game-card>header>div { min-width:0; flex:1; }.study-game-card>header small { color:#7652b6; font-size:8px; font-weight:900; }.study-game-card>header h3 { margin:1px 0; color:#2c2538; font-size:16px; }.study-game-card>header p { margin:0; color:#7d8491; font-size:8px; }.study-game-card>header>span { display:grid; min-width:60px; justify-items:center; border-radius:13px; padding:8px; color:#6641a6; background:#eee7f9; }.study-game-card>header>span b { font-size:16px; }.study-game-card>header>span em { font-size:7px; font-style:normal; }.study-game-progress { overflow:hidden; height:9px; margin:13px 0 17px; border-radius:99px; background:#eeeaf2; }.study-game-progress i { display:block; width:var(--plan-progress); height:100%; border-radius:inherit; background:linear-gradient(90deg,#7146b5,#a46ae0,#f5b94c); box-shadow:0 0 12px rgba(132,78,190,.35); transition:width .4s ease; }
.study-game-path { position:relative; display:grid; gap:10px; padding-right:7px; }.study-game-path::before { position:absolute; top:23px; right:25px; bottom:23px; width:4px; border-radius:10px; background:linear-gradient(#7550b5,#d8cee7); content:""; }.study-game-stage { position:relative; display:grid; grid-template-columns:38px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:58px; border:1px solid #e7e2ec; border-radius:15px; padding:9px 10px; background:#faf9fc; }.study-stage-node { z-index:1; display:grid; width:38px; height:38px; place-items:center; border:4px solid #ede8f3; border-radius:50%; color:#fff; background:#9b91aa; box-shadow:0 4px 10px rgba(49,36,70,.13); font-size:10px; font-weight:900; }.study-game-stage>div { display:grid; }.study-game-stage>div small { color:#9298a2; font-size:7px; }.study-game-stage>div strong { font-size:10px; }.study-game-stage>div em { color:#8b92a0; font-size:7px; font-style:normal; }.study-game-stage form button { min-width:61px; border:0; border-radius:9px; padding:8px; color:#fff; background:#7048af; font:inherit; font-size:7px; font-weight:900; cursor:pointer; }.study-game-stage>b { filter:grayscale(1); font-size:13px; opacity:.5; }.study-game-stage.is-current { border-color:#ae88df; background:linear-gradient(135deg,#f4edff,#fff); box-shadow:0 7px 19px rgba(102,66,161,.11); transform:translateX(-3px); }.study-game-stage.is-current .study-stage-node { border-color:#e8d8ff; background:linear-gradient(135deg,#6d43ad,#9a64d1); animation:study-stage-pulse 1.8s infinite; }.study-game-stage.is-current>div em { color:#774ab3; font-weight:900; }.study-game-stage.is-done { border-color:#cceadd; background:#f5fff9; }.study-game-stage.is-done .study-stage-node { border-color:#d9f5e8; background:#25a778; }.study-game-stage.is-done>div strong { color:#28664f; text-decoration:line-through; opacity:.75; }.study-game-stage.is-done form button { min-width:35px; color:#267357; background:#dff6ec; }.study-game-stage.is-locked { opacity:.62; }.study-game-win { margin-top:13px; border:1px solid #f3d78c; border-radius:13px; padding:12px; color:#745115; background:linear-gradient(135deg,#fff7d9,#fff); font-size:9px; font-weight:900; text-align:center; }.study-game-card.is-complete { border-color:#e6c765; box-shadow:0 14px 36px rgba(165,120,20,.13); }.study-plan-owner { margin-top:13px; border-top:1px solid #ece7f1; padding-top:10px; }.study-plan-owner summary,.advisor-created-plans details summary { color:#6f7888; font-size:8px; font-weight:900; cursor:pointer; }.study-plan-owner .study-plan-delete,.advisor-created-plans .study-plan-delete { padding-top:0; }.study-plan-owner .study-plan-delete button,.advisor-created-plans .study-plan-delete button { color:#a33d3d; background:#fee7e7; }
@keyframes study-stage-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(119,72,179,.25)}50%{box-shadow:0 0 0 8px rgba(119,72,179,0)} }
.advisor-plan-builder { background:linear-gradient(145deg,#faf8ff,#fff); }.advisor-study-plan-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.advisor-study-plan-form .span-2 { grid-column:1/-1; }.advisor-created-plans { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:12px; }.advisor-created-plans>article { border:1px solid #e2dbea; border-radius:15px; padding:13px; background:#fff; }.advisor-created-plans article>header { display:flex; gap:8px; }.advisor-created-plans header>div { display:grid; flex:1; }.advisor-created-plans header small { color:#7752b5; font-size:7px; font-weight:900; }.advisor-created-plans header strong { font-size:11px; }.advisor-created-plans header span { color:#858d9b; font-size:7px; }.advisor-created-plans header>b { font-size:20px; }.advisor-created-plans ol { display:grid; gap:5px; margin:10px 0; padding-right:20px; }.advisor-created-plans li { color:#596577; font-size:8px; }.advisor-created-plans li.is-done { color:#29815f; text-decoration:line-through; }.advisor-created-plans details { border-top:1px solid #eee9f2; padding-top:8px; }
@media(max-width:650px){.study-plan-zone-head{padding:17px}.study-plan-zone-head h2{font-size:17px}.study-plan-zone-head p{display:none}.study-game-card{padding:14px}.study-game-stage{grid-template-columns:34px minmax(0,1fr) auto;padding:8px}.study-stage-node{width:34px;height:34px}.study-game-path::before{right:22px}.advisor-study-plan-form,.advisor-created-plans{grid-template-columns:1fr}.advisor-study-plan-form .span-2{grid-column:1}}

/* Study Quest — enhanced game map */
.study-plan-zone { position:relative; padding:3px; border-radius:27px; background:linear-gradient(135deg,rgba(120,74,190,.2),rgba(41,172,155,.12),rgba(255,183,66,.18)); }
.study-plan-zone-head { min-height:142px; border:1px solid rgba(255,255,255,.25); border-radius:25px; padding:25px 27px; background:radial-gradient(circle at 12% 20%,rgba(255,226,108,.34),transparent 24%),radial-gradient(circle at 88% 85%,rgba(57,223,206,.25),transparent 28%),linear-gradient(120deg,#25134f 0%,#5a2da4 48%,#8a50d0 72%,#1c8f91 140%); box-shadow:0 22px 48px rgba(58,29,112,.3),inset 0 1px 0 rgba(255,255,255,.28); isolation:isolate; }
.study-plan-zone-head::before,.study-plan-zone-head::after { position:absolute; z-index:-1; content:""; }.study-plan-zone-head::before { inset:0; background-image:radial-gradient(#fff 1px,transparent 1px),radial-gradient(#ffd968 1.5px,transparent 1.5px); background-position:0 0,17px 19px; background-size:32px 32px,47px 47px; opacity:.17; mask-image:linear-gradient(90deg,#000,transparent 75%); }.study-plan-zone-head::after { right:-55px; bottom:-95px; width:240px; height:190px; border:30px solid rgba(255,255,255,.06); border-radius:50%; transform:rotate(-12deg); }.study-plan-zone-head>div:first-child span { display:inline-flex; width:max-content; align-items:center; border:1px solid rgba(255,255,255,.18); border-radius:99px; padding:5px 10px; color:#ffe898; background:rgba(31,14,69,.24); letter-spacing:.4px; }.study-plan-zone-head h2 { margin-top:7px; font-size:24px; text-shadow:0 5px 18px rgba(18,5,46,.3); }.study-zone-trophy { position:relative; display:grid; width:94px; min-width:94px; height:94px; place-items:center; border:1px solid rgba(255,255,255,.26); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.2),rgba(255,255,255,.07)); box-shadow:0 13px 30px rgba(20,7,49,.25),inset 0 1px 0 rgba(255,255,255,.25); backdrop-filter:blur(7px); transform:rotate(-3deg); }.study-zone-trophy>b { font-size:39px; filter:drop-shadow(0 7px 8px rgba(28,9,58,.3)); animation:quest-trophy-float 2.8s ease-in-out infinite; }.study-zone-trophy>i { position:absolute; top:7px; right:9px; color:#ffe36d; font-size:15px; font-style:normal; animation:quest-spark 1.7s ease-in-out infinite; }.study-zone-trophy>small { position:absolute; right:0; bottom:7px; left:0; color:#eee5ff; font-size:7px; font-weight:900; text-align:center; }
.study-plan-create { margin:0 9px; border-color:#cdb9e9; box-shadow:0 9px 25px rgba(65,39,105,.08); }.study-plan-create>summary { position:relative; overflow:hidden; border-radius:15px; padding:15px 18px; color:#fff; background:linear-gradient(110deg,#6841ae,#8d59ce); box-shadow:inset 0 1px 0 rgba(255,255,255,.18); }.study-plan-create>summary::after { position:absolute; top:-30px; left:-15px; width:100px; height:100px; border:18px solid rgba(255,255,255,.07); border-radius:50%; content:""; }
.study-game-list { padding:0 9px 9px; }.study-game-card { overflow:hidden; border:1px solid #d8cbea; border-radius:26px; padding:20px; background:linear-gradient(180deg,rgba(249,244,255,.97),rgba(245,252,252,.98)),#fff; box-shadow:0 18px 42px rgba(52,31,89,.13),inset 0 1px 0 #fff; isolation:isolate; }.study-game-card::before { position:absolute; inset:0; z-index:-2; background-image:linear-gradient(rgba(103,70,154,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(103,70,154,.035) 1px,transparent 1px); background-size:22px 22px; content:""; }.study-game-card::after { position:absolute; right:-100px; bottom:-110px; z-index:-1; width:260px; height:210px; border-radius:50%; background:radial-gradient(circle at 35% 28%,#dff8eb 0 7%,transparent 8%),linear-gradient(155deg,#dff4e8,#c5e8d9); box-shadow:inset 0 8px 20px rgba(48,132,99,.08); content:""; transform:rotate(-12deg); }.study-map-sky { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }.study-map-sky i { position:absolute; color:#b88ce7; font-style:normal; opacity:.3; }.study-map-sky i:nth-child(1){top:14%;left:7%;font-size:12px}.study-map-sky i:nth-child(2){top:42%;right:5%;color:#f0af37;font-size:17px}.study-map-sky i:nth-child(3){top:29%;left:16%;color:#bcd7e8;font-size:34px;filter:blur(.3px)}.study-map-sky i:nth-child(4){bottom:22%;left:5%;color:#50bfa8;font-size:13px}
.study-game-card>header { position:relative; align-items:center; border:1px solid rgba(112,72,171,.12); border-radius:19px; padding:15px; background:rgba(255,255,255,.72); box-shadow:0 8px 22px rgba(55,32,91,.07); backdrop-filter:blur(8px); }.study-game-card>header small { display:inline-flex; width:max-content; border-radius:99px; padding:4px 8px; color:#6e3caf; background:#eee4fb; }.study-game-card>header h3 { margin-top:5px; font-size:18px; }.study-game-card>header>span { position:relative; min-width:76px; overflow:hidden; border:1px solid #d7c2f0; border-radius:18px; padding:10px 8px; color:#fff; background:linear-gradient(145deg,#7143b3,#9a63d1); box-shadow:0 8px 18px rgba(103,59,160,.24); }.study-game-card>header>span::before { position:absolute; top:-22px; left:-15px; width:60px; height:60px; border:11px solid rgba(255,255,255,.09); border-radius:50%; content:""; }.study-game-card>header>span b { z-index:1; font-size:20px; }.study-game-card>header>span em { z-index:1; color:#eadfff; letter-spacing:.4px; }
.study-game-progress { position:relative; height:15px; margin:16px 3px 22px; border:3px solid #fff; background:#e6dfec; box-shadow:0 4px 11px rgba(56,35,86,.12),inset 0 2px 4px rgba(45,28,69,.12); }.study-game-progress i { position:relative; overflow:hidden; background:linear-gradient(90deg,#5f39a3,#a25cda 52%,#f7b83d); box-shadow:0 0 15px rgba(128,70,190,.48); }.study-game-progress i::after { position:absolute; inset:0; background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.38) 45%,transparent 65%); content:""; animation:quest-progress-shine 2.4s linear infinite; }.study-game-progress>b { position:absolute; top:50%; left:9px; color:#fff; font-size:7px; text-shadow:0 1px 3px #4a276e; transform:translateY(-50%); }
.study-game-path { gap:15px; padding:9px 4% 18px; }.study-game-path::before { top:35px; right:50%; bottom:93px; width:5px; border:0; background:repeating-linear-gradient(180deg,#9e78cc 0 9px,transparent 9px 16px); filter:drop-shadow(0 2px 3px rgba(78,47,119,.18)); transform:translateX(50%); }.study-game-stage { width:87%; min-height:82px; grid-template-columns:56px minmax(0,1fr) auto; gap:13px; border:1px solid #dcd3e7; border-radius:23px 23px 23px 8px; padding:12px 14px; background:linear-gradient(145deg,#fff,#f7f3fb); box-shadow:0 11px 24px rgba(49,32,75,.1),inset 0 1px 0 #fff; transition:transform .22s ease,box-shadow .22s ease; }.study-game-stage:nth-child(odd) { justify-self:start; border-radius:23px 23px 8px 23px; transform:rotate(-.5deg); }.study-game-stage:nth-child(even) { justify-self:end; transform:rotate(.5deg); }.study-game-stage::after { position:absolute; bottom:-10px; width:34px; height:14px; border-radius:50%; background:rgba(59,38,82,.09); filter:blur(4px); content:""; }.study-game-stage:nth-child(odd)::after { right:18px; }.study-game-stage:nth-child(even)::after { left:18px; }.study-stage-node { width:56px; height:56px; border:5px solid #e8e1ed; background:linear-gradient(145deg,#9b91aa,#746d81); box-shadow:0 8px 16px rgba(47,34,64,.2),inset 0 2px 0 rgba(255,255,255,.35); }.study-stage-node>i { display:grid; width:37px; height:37px; place-items:center; border:1px solid rgba(255,255,255,.25); border-radius:50%; font-style:normal; }.study-game-stage>div small { color:#8560b5; font-size:7px; font-weight:900; letter-spacing:.5px; }.study-game-stage>div strong { margin:2px 0; color:#30263e; font-size:11px; }.study-game-stage>div em { font-size:7px; }.study-game-stage form button { min-width:83px; min-height:36px; border:1px solid rgba(255,255,255,.2); border-radius:12px; background:linear-gradient(135deg,#623aa4,#8d58c8); box-shadow:0 7px 15px rgba(91,49,146,.22),inset 0 1px 0 rgba(255,255,255,.22); }.study-stage-lock { display:grid; width:36px; height:36px; place-items:center; border-radius:11px; background:#e8e5eb; filter:grayscale(1); font-size:13px; opacity:.65; }
.study-game-stage.is-current { z-index:2; border:2px solid #9b62d3; background:radial-gradient(circle at 15% 0,rgba(255,224,100,.26),transparent 28%),linear-gradient(145deg,#fff,#f3e8ff); box-shadow:0 16px 34px rgba(104,56,166,.22),0 0 0 5px rgba(156,99,213,.08),inset 0 1px 0 #fff; transform:scale(1.025); }.study-game-stage.is-current::before { position:absolute; top:-11px; right:18px; border-radius:99px; padding:4px 9px; color:#70429f; background:#ffe379; box-shadow:0 5px 11px rgba(152,104,8,.2); content:"نوبت تو!"; font-size:7px; font-weight:900; }.study-game-stage.is-current .study-stage-node { border-color:#ecd9ff; background:linear-gradient(145deg,#7a42bc,#b36de0); box-shadow:0 8px 22px rgba(119,62,176,.34),0 0 0 8px rgba(151,91,211,.1); }.study-game-stage.is-current form button { animation:quest-button-glow 1.8s ease-in-out infinite; }.study-game-stage.is-done { border-color:#a9dfcb; background:radial-gradient(circle at 12% 0,rgba(255,221,88,.17),transparent 30%),linear-gradient(145deg,#fafffc,#eafaf3); box-shadow:0 10px 24px rgba(33,130,94,.12); }.study-game-stage.is-done .study-stage-node { border-color:#d4f4e7; background:linear-gradient(145deg,#1eaf79,#48c99a); box-shadow:0 8px 18px rgba(31,152,109,.28); }.study-game-stage.is-done>div em { color:#23906a; font-weight:900; }.study-game-stage.is-locked { border-style:dashed; filter:saturate(.45); opacity:.54; }
.study-finish-castle { position:relative; z-index:1; display:flex; width:76%; align-items:center; justify-self:center; gap:12px; margin-top:7px; border:2px dashed #c4b5d4; border-radius:23px; padding:13px 18px; color:#787080; background:rgba(246,243,248,.92); box-shadow:0 10px 23px rgba(53,37,72,.09); }.study-finish-castle>span { font-size:36px; filter:grayscale(.8); }.study-finish-castle>div { display:grid; }.study-finish-castle small { font-size:7px; }.study-finish-castle strong { font-size:10px; }.study-finish-castle.is-reached { border-style:solid; border-color:#efc858; color:#6d4b10; background:radial-gradient(circle at 15% 0,rgba(255,255,255,.7),transparent 30%),linear-gradient(135deg,#fff7cd,#ffe79b); box-shadow:0 13px 30px rgba(180,128,20,.2),0 0 0 6px rgba(244,195,63,.09); animation:quest-castle-win 2.3s ease-in-out infinite; }.study-finish-castle.is-reached>span { filter:none; }.study-game-win { border:2px solid #f0cc63; border-radius:17px; color:#69470a; background:linear-gradient(110deg,#fff8d8,#ffe99c,#fff8dc); box-shadow:0 10px 25px rgba(171,119,17,.15); font-size:10px; }
@keyframes quest-trophy-float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(4deg)}}@keyframes quest-spark{0%,100%{opacity:.45;transform:scale(.8) rotate(0)}50%{opacity:1;transform:scale(1.3) rotate(45deg)}}@keyframes quest-progress-shine{from{transform:translateX(120%)}to{transform:translateX(-160%)}}@keyframes quest-button-glow{0%,100%{box-shadow:0 7px 15px rgba(91,49,146,.22)}50%{box-shadow:0 7px 22px rgba(128,65,192,.5),0 0 0 5px rgba(151,88,211,.1)}}@keyframes quest-castle-win{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:650px){.study-plan-zone{padding:2px}.study-plan-zone-head{min-height:116px;padding:18px}.study-plan-zone-head h2{font-size:18px}.study-zone-trophy{width:70px;min-width:70px;height:70px;border-radius:21px}.study-zone-trophy>b{font-size:30px}.study-zone-trophy>small{display:none}.study-game-list{padding:0 5px 5px}.study-game-card{padding:13px;border-radius:22px}.study-game-card>header{padding:12px}.study-game-card>header h3{font-size:15px}.study-game-card>header>span{min-width:65px}.study-game-path{gap:13px;padding-right:0;padding-left:0}.study-game-stage{width:94%;min-height:72px;grid-template-columns:45px minmax(0,1fr) auto;gap:8px;padding:10px}.study-stage-node{width:45px;height:45px;border-width:4px}.study-stage-node>i{width:30px;height:30px}.study-game-stage form button{min-width:62px;padding:7px;font-size:6px}.study-finish-castle{width:88%}}

/* AI study advisor */
.ai-study-planner{display:grid;gap:14px;scroll-margin-top:85px;border:1px solid #c7d2fe;border-radius:24px;padding:18px;background:linear-gradient(145deg,#f8faff,#fff 55%,#f5f3ff);box-shadow:0 16px 38px rgba(67,56,202,.09)}
.ai-study-planner>header{display:flex;align-items:center;gap:14px;border-radius:18px;padding:17px 19px;color:#fff;background:radial-gradient(circle at 15% 0,rgba(255,255,255,.22),transparent 32%),linear-gradient(120deg,#172554,#4338ca 58%,#7c3aed)}
.ai-study-planner>header>div{flex:1}.ai-study-planner>header span{color:#c7d2fe;font-size:8px;font-weight:900;letter-spacing:1px}.ai-study-planner>header h2{margin:3px 0;font-size:20px}.ai-study-planner>header p{margin:0;color:#e0e7ff;font-size:9px;line-height:1.8}.ai-study-planner>header i{display:grid;width:58px;height:58px;place-items:center;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:rgba(255,255,255,.12);font-size:20px;font-style:normal;font-weight:950;box-shadow:inset 0 1px rgba(255,255,255,.25)}
.ai-study-planner form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.ai-study-planner label{display:grid;gap:6px;color:#3730a3;font-size:9px;font-weight:900}.ai-study-planner .span-2{grid-column:1/-1}.ai-study-planner input,.ai-study-planner select,.ai-study-planner textarea{width:100%;border:1px solid #d8dcf0;border-radius:12px;padding:11px 12px;outline:0;background:#fff;font:inherit;resize:vertical}.ai-study-planner input:focus,.ai-study-planner select:focus,.ai-study-planner textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px rgba(99,102,241,.12)}.ai-study-planner form>small{color:#64748b;font-size:8px;line-height:1.8}.ai-study-planner button{min-height:46px;border:0;border-radius:13px;color:#fff;background:linear-gradient(120deg,#4338ca,#7c3aed);font:inherit;font-size:10px;font-weight:950;cursor:pointer;box-shadow:0 10px 22px rgba(79,70,229,.23)}.ai-planner-error{margin:0;border:1px solid #fecaca;border-radius:11px;padding:10px;color:#991b1b;background:#fef2f2;font-size:9px;font-weight:800}.ai-plan-badge{display:flex;align-items:center;gap:8px;margin:0 10px 12px;border:1px solid #c7d2fe;border-radius:11px;padding:8px 10px;color:#3730a3;background:#eef2ff;font-size:8px}.ai-plan-badge b{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;color:#fff;background:#4f46e5;font-size:8px}.ai-plan-badge span{line-height:1.7}
.ai-feedback-card{display:grid;gap:12px;border:1px solid #c7d2fe;border-radius:22px;padding:17px;background:linear-gradient(145deg,#f8faff,#fff);box-shadow:0 12px 30px rgba(49,46,129,.08)}.ai-feedback-card .study-card-title span{color:#4f46e5}.ai-feedback-card .study-card-title>b{border-radius:99px;padding:6px 9px;color:#4338ca;background:#eef2ff;font-size:8px}.ai-feedback-list{display:grid;gap:10px}.ai-feedback-list article{display:grid;gap:9px;border:1px solid #e0e7ff;border-radius:15px;padding:13px;background:#fff}.ai-feedback-list article>header{display:flex;align-items:center;gap:9px}.ai-feedback-list header i{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#fff;background:linear-gradient(135deg,#4338ca,#8b5cf6);font-size:9px;font-style:normal;font-weight:950}.ai-feedback-list header div{display:grid}.ai-feedback-list strong{color:#312e81;font-size:10px}.ai-feedback-list small,.ai-feedback-list time{color:#94a3b8;font-size:7px}.ai-feedback-list p{margin:0;color:#334155;font-size:9px;line-height:2;white-space:normal}.ai-feedback-empty{margin:0;border:1px dashed #a5b4fc;border-radius:13px;padding:15px;color:#64748b;background:#f8faff;text-align:center;font-size:9px}.ai-feedback-disclaimer{color:#94a3b8;font-size:7px;line-height:1.8}
@media(max-width:650px){.ai-study-planner{padding:13px}.ai-study-planner>header{padding:14px}.ai-study-planner>header h2{font-size:17px}.ai-study-planner>header i{width:48px;height:48px}.ai-study-planner form{grid-template-columns:1fr}.ai-study-planner .span-2{grid-column:1}.ai-feedback-card{padding:13px}}

/* Konkur growth journey and grounded AI analysis */
.konkur-growth-journey,.nightly-ai-review,.konkur-grounded-prediction{display:grid;gap:14px;border:1px solid #dbe7dc;border-radius:24px;padding:19px;background:linear-gradient(145deg,#fbfff9,#fff);box-shadow:0 14px 34px rgba(42,94,55,.08)}
.konkur-growth-journey>header,.nightly-ai-review>header,.konkur-grounded-prediction>header{display:flex;align-items:center;gap:13px}.konkur-growth-journey>header>div,.nightly-ai-review>header>div,.konkur-grounded-prediction>header>div{flex:1}.konkur-growth-journey>header span,.nightly-ai-review>header span,.konkur-grounded-prediction>header span{color:#15803d;font-size:8px;font-weight:950}.konkur-growth-journey>header h2,.nightly-ai-review>header h2,.konkur-grounded-prediction>header h2{margin:2px 0;color:#14532d;font-size:20px}.konkur-growth-journey>header p,.nightly-ai-review>header p{margin:0;color:#64748b;font-size:9px}.konkur-growth-journey>header>strong{display:grid;width:60px;height:60px;place-items:center;border:6px solid #dcfce7;border-radius:50%;color:#166534;background:#f0fdf4;font-size:13px}.nightly-ai-review>header>i,.konkur-grounded-prediction>header>i{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#166534,#22c55e);font-size:13px;font-style:normal;font-weight:950}
.growth-tree-track{position:relative;display:grid;grid-template-columns:repeat(8,minmax(75px,1fr));gap:8px;overflow-x:auto;padding:10px 1px 18px}.growth-tree-track::before{position:absolute;top:35px;right:5%;left:5%;height:5px;border-radius:9px;background:#e2e8e4;content:""}.growth-tree-track article{position:relative;z-index:1;display:grid;justify-items:center;gap:5px;min-width:75px;text-align:center}.growth-tree-track article>i{display:grid;width:52px;height:52px;place-items:center;border:5px solid #eef2ef;border-radius:50%;filter:grayscale(1);background:#fff;font-size:24px;font-style:normal;opacity:.55}.growth-tree-track article strong{color:#64748b;font-size:8px}.growth-tree-track article small{display:block;max-width:95px;color:#94a3b8;font-size:6px;line-height:1.5}.growth-tree-track article>b{border-radius:99px;padding:3px 7px;color:#64748b;background:#f1f5f3;font-size:6px}.growth-tree-track article.is-reached>i{border-color:#bbf7d0;filter:none;opacity:1;box-shadow:0 7px 16px rgba(34,197,94,.16)}.growth-tree-track article.is-reached strong{color:#166534}.growth-tree-track article.is-reached>b{color:#166534;background:#dcfce7}.growth-tree-track article.is-current>i{transform:translateY(-5px) scale(1.1);animation:growth-current-pulse 1.9s infinite}.growth-journey-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.growth-journey-stats span{display:grid;gap:2px;border:1px solid #dcfce7;border-radius:12px;padding:10px;color:#64748b;background:#f7fff9;font-size:7px;text-align:center}.growth-journey-stats b{color:#166534;font-size:12px}.growth-admission-fruit{display:flex;align-items:center;gap:11px;border:1px solid #fde68a;border-radius:15px;padding:13px;background:#fffbeb;font-size:30px}.growth-admission-fruit div{display:grid}.growth-admission-fruit strong{color:#92400e;font-size:11px}.growth-admission-fruit span{color:#a16207;font-size:8px}.admission-result-form{border-top:1px solid #e2e8f0;padding-top:10px}.admission-result-form>summary{color:#166534;font-size:8px;font-weight:900;cursor:pointer}.admission-result-form form{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:9px}.admission-result-form label{display:grid;gap:4px;color:#475569;font-size:7px;font-weight:900}.admission-result-form input{border:1px solid #dbe5dc;border-radius:9px;padding:9px;font:inherit}.admission-result-form button{border:0;border-radius:9px;color:#fff;background:#16a34a;font:inherit;font-size:8px;font-weight:900}.admission-result-form>small{color:#94a3b8;font-size:7px}
@keyframes growth-current-pulse{50%{box-shadow:0 0 0 9px rgba(34,197,94,.1),0 9px 22px rgba(22,101,52,.22)}}
.nightly-ai-review{border-color:#c7d2fe;background:linear-gradient(145deg,#f8faff,#fff)}.nightly-ai-review>header span{color:#4f46e5}.nightly-ai-review>header h2{color:#312e81}.nightly-ai-review>header>i{background:linear-gradient(135deg,#4338ca,#8b5cf6)}.nightly-review-empty,.prediction-unavailable{border:1px dashed #a5b4fc;border-radius:14px;padding:16px;color:#64748b;background:#fafaff;text-align:center}.nightly-review-empty strong,.prediction-unavailable strong{display:block;color:#3730a3;font-size:10px}.nightly-review-empty p,.prediction-unavailable p{margin:5px 0;font-size:8px}.prediction-unavailable small{font-size:7px}.nightly-review-card{display:grid;gap:12px}.nightly-review-date{width:max-content;border-radius:99px;padding:5px 9px;color:#4338ca;background:#eef2ff;font-size:7px;font-weight:900}.nightly-review-card>p{margin:0;color:#334155;font-size:9px;line-height:2}.nightly-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nightly-review-grid section{border:1px solid #e2e8f0;border-radius:13px;padding:11px;background:#fff}.nightly-review-grid h3{margin:0 0 7px;font-size:9px}.nightly-review-grid ul,.nightly-review-grid ol{display:grid;gap:4px;margin:0;padding-right:17px;color:#475569;font-size:8px;line-height:1.7}.nightly-review-grid section>b{display:block;margin-top:8px;border-radius:8px;padding:7px;color:#9f1239;background:#fff1f2;font-size:7px}.nightly-review-grid .is-strength h3{color:#15803d}.nightly-review-grid .is-weakness h3{color:#be123c}.nightly-review-grid .is-tomorrow h3{color:#4338ca}.nightly-review-grid .is-week h3{color:#a16207}.nightly-history summary{color:#4338ca;font-size:8px;font-weight:900;cursor:pointer}.nightly-history article{margin-top:8px;border-top:1px solid #e2e8f0;padding:9px}.nightly-history b{font-size:8px}.nightly-history p{color:#64748b;font-size:8px;line-height:1.8}
.konkur-grounded-prediction{border-color:#fde68a;background:linear-gradient(145deg,#fffdf5,#fff)}.konkur-grounded-prediction>header span{color:#b45309}.konkur-grounded-prediction>header h2{color:#78350f}.konkur-grounded-prediction>header>i{background:linear-gradient(135deg,#b45309,#f59e0b)}.prediction-method{display:flex;justify-content:space-between;gap:10px;border-radius:11px;padding:9px 11px;color:#92400e;background:#fef3c7;font-size:8px}.prediction-scenarios{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.prediction-scenarios article{display:grid;gap:5px;border:1px solid #fde68a;border-radius:15px;padding:13px;background:#fff}.prediction-scenarios small{color:#92400e;font-size:7px;font-weight:900}.prediction-scenarios strong{color:#78350f;font-size:15px}.prediction-scenarios span{color:#64748b;font-size:7px}.prediction-scenarios b{color:#b45309;font-size:9px}.prediction-scenarios .is-plus{border-color:#bbf7d0;background:#f7fff9}.prediction-scenarios .is-plus small,.prediction-scenarios .is-plus b{color:#15803d}.prediction-scenarios .is-plus strong{color:#14532d}.prediction-scenarios .is-unavailable{border-style:dashed}.prediction-scenarios .is-unavailable p{color:#64748b;font-size:8px}.prediction-fields{display:flex;flex-wrap:wrap;gap:7px}.prediction-fields h3{width:100%;margin:0;color:#78350f;font-size:9px}.prediction-fields span{border-radius:99px;padding:6px 9px;color:#92400e;background:#fef3c7;font-size:7px}.prediction-disclaimer{margin:0;border-right:3px solid #f59e0b;padding-right:9px;color:#64748b;font-size:7px;line-height:1.8}.prediction-sources summary{color:#92400e;font-size:8px;font-weight:900;cursor:pointer}.prediction-sources ul{display:grid;gap:5px}.prediction-sources a{color:#1d4ed8;font-size:7px}
.exam-ai-upload{display:grid;gap:12px;border:1px solid #c7d2fe;border-radius:18px;padding:15px;background:linear-gradient(145deg,#f8faff,#fff)}.exam-ai-upload>header{display:flex;align-items:center;gap:10px}.exam-ai-upload>header>i{display:grid;width:43px;height:43px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#4338ca,#8b5cf6);font-size:10px;font-style:normal;font-weight:950}.exam-ai-upload>header div{display:grid}.exam-ai-upload>header strong{color:#312e81;font-size:11px}.exam-ai-upload>header small,.exam-ai-upload>small{color:#64748b;font-size:7px;line-height:1.8}.exam-ai-upload form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.exam-ai-upload label{display:grid;gap:5px;color:#3730a3;font-size:8px;font-weight:900}.exam-ai-upload input{border:1px solid #dbe1f5;border-radius:10px;padding:10px;font:inherit}.exam-ai-upload button{grid-column:1/-1;min-height:42px;border:0;border-radius:11px;color:#fff;background:linear-gradient(135deg,#4338ca,#7c3aed);font:inherit;font-size:9px;font-weight:950}.exam-upload-history{display:grid;gap:9px}.exam-upload-history>article{display:grid;gap:9px;border:1px solid #e2e8f0;border-radius:15px;padding:12px;background:#fff}.exam-upload-history article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.exam-upload-history header div{display:grid}.exam-upload-history strong{font-size:10px}.exam-upload-history header span{color:#64748b;font-size:7px}.exam-upload-history header a{border-radius:8px;padding:6px 9px;color:#4338ca;background:#eef2ff;font-size:7px;font-weight:900}.exam-upload-history article>p{margin:0;color:#475569;font-size:8px;line-height:1.9}.exam-upload-history article>form button{border:0;border-radius:8px;padding:7px 10px;color:#fff;background:#4f46e5;font:inherit;font-size:7px}.exam-upload-history>article.is-failed{border-color:#fecaca;background:#fffafa}.exam-ai-findings{display:flex;flex-wrap:wrap;gap:6px}.exam-ai-findings span{border-radius:8px;padding:6px 8px;font-size:7px}.exam-ai-findings .is-positive{color:#166534;background:#dcfce7}.exam-ai-findings .is-warning{color:#9a3412;background:#ffedd5}.exam-ai-findings>b{width:100%;border-radius:8px;padding:7px;color:#9f1239;background:#fff1f2;font-size:7px}
@media(max-width:700px){.growth-tree-track{grid-template-columns:repeat(8,82px)}.growth-journey-stats{grid-template-columns:repeat(2,1fr)}.nightly-review-grid,.prediction-scenarios,.exam-ai-upload form{grid-template-columns:1fr}.admission-result-form form{grid-template-columns:1fr}.admission-result-form button,.exam-ai-upload button{min-height:40px}.prediction-method{align-items:flex-start;flex-direction:column}}
@media(max-width:420px){.study-game-card>header{align-items:flex-start}.study-game-card>header>span{min-width:57px;padding:7px 5px}.study-game-card>header>span b{font-size:16px}.study-game-stage{width:100%;grid-template-columns:40px minmax(0,1fr) auto}.study-stage-node{width:40px;height:40px}.study-stage-node>i{width:27px;height:27px}.study-game-stage>div strong{font-size:9px}.study-game-stage form button{min-width:39px;width:39px;overflow:hidden;white-space:nowrap}.study-game-path::before{right:50%}.study-finish-castle{width:96%}}
@media(prefers-reduced-motion:reduce){.study-zone-trophy>b,.study-zone-trophy>i,.study-game-progress i::after,.study-game-stage.is-current .study-stage-node,.study-game-stage.is-current form button,.study-finish-castle.is-reached{animation:none!important}}

.student-performance-compare{display:grid;gap:15px;overflow:hidden;border:1px solid #dbe5f3;border-radius:23px;padding:20px;background:linear-gradient(145deg,#f5f9ff,#fff);box-shadow:0 14px 36px #244d8512}.student-performance-compare>header{display:flex;align-items:center;justify-content:space-between;gap:16px}.student-performance-compare>header>div:first-child{display:grid}.student-performance-compare>header>div:first-child span{color:#3562c8;font-size:9px;font-weight:900}.student-performance-compare h2{margin:1px 0;color:#172554;font-size:20px}.student-performance-compare>header p{margin:0;color:#758198;font-size:9px}.student-overall-trend{display:flex;max-width:290px;align-items:center;gap:9px;border-radius:15px;padding:10px 12px;color:#166534;background:#dcfce7}.student-overall-trend>i{display:grid;width:31px;height:31px;place-items:center;flex:none;border-radius:10px;color:#fff;background:#22a55a;font-size:18px;font-style:normal;font-weight:900}.student-overall-trend>span{display:grid}.student-overall-trend strong{font-size:10px}.student-overall-trend small{color:#398057;font-size:7px;line-height:1.7}.student-performance-compare.is-regression .student-overall-trend{color:#991b1b;background:#fee2e2}.student-performance-compare.is-regression .student-overall-trend>i{background:#dc3545}.student-performance-compare.is-regression .student-overall-trend small{color:#a64b57}.student-performance-compare.is-same .student-overall-trend,.student-performance-compare.is-insufficient .student-overall-trend{color:#475569;background:#eef2f7}.student-performance-compare.is-same .student-overall-trend>i,.student-performance-compare.is-insufficient .student-overall-trend>i{background:#64748b}.student-performance-compare.is-same .student-overall-trend small,.student-performance-compare.is-insufficient .student-overall-trend small{color:#718096}.student-comparison-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.student-comparison-grid article{display:grid;grid-template-columns:1fr 1fr;gap:10px 6px;border:1px solid #dce9df;border-radius:16px;padding:12px;background:#fff;box-shadow:0 7px 18px #1f3a5f0a}.student-comparison-grid article>header,.student-comparison-grid article>footer{grid-column:1/-1}.student-comparison-grid article>header{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:2px 7px}.student-comparison-grid article>header>i{display:grid;width:27px;height:27px;grid-row:1/3;place-items:center;border-radius:9px;color:#fff;background:#20a65a;font-size:12px;font-style:normal;font-weight:900}.student-comparison-grid article>header>strong{color:#26364b;font-size:9px}.student-comparison-grid article>header>span{color:#168246;font-size:7px;font-weight:900}.student-comparison-grid article>div{display:grid;border-radius:9px;padding:7px;background:#f7f9fc}.student-comparison-grid article>div strong{color:#172554;font-size:11px;white-space:nowrap}.student-comparison-grid article>div small{color:#8a95a7;font-size:6px}.student-comparison-grid article>footer{border-radius:8px;padding:5px;color:#168246;background:#e9f9ef;font-size:7px;font-weight:900;text-align:center}.student-comparison-grid article.is-regression{border-color:#f3d5d9}.student-comparison-grid article.is-regression>header>i{background:#dc3545}.student-comparison-grid article.is-regression>header>span{color:#c3293d}.student-comparison-grid article.is-regression>footer{color:#b42336;background:#fff0f2}.student-comparison-grid article.is-same,.student-comparison-grid article.is-insufficient{border-color:#e3e7ed}.student-comparison-grid article.is-same>header>i,.student-comparison-grid article.is-insufficient>header>i{background:#718096}.student-comparison-grid article.is-same>header>span,.student-comparison-grid article.is-insufficient>header>span{color:#68758a}.student-comparison-grid article.is-same>footer,.student-comparison-grid article.is-insufficient>footer{color:#68758a;background:#f1f4f8}.student-performance-compare>a{justify-self:end;border-radius:10px;padding:9px 12px;color:#fff;background:#315fbd;font-size:8px;font-weight:900;text-decoration:none}.student-performance-compare>a b{font-size:12px}
@media(max-width:900px){.student-comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-comparison-grid article:last-child{grid-column:1/-1}}
@media(max-width:600px){.student-performance-compare{padding:15px}.student-performance-compare>header{align-items:flex-start;flex-direction:column}.student-overall-trend{max-width:none;width:100%;box-sizing:border-box}.student-comparison-grid{grid-template-columns:1fr}.student-comparison-grid article:last-child{grid-column:auto}}

.student-exam-analysis{display:grid;gap:14px;border:1px solid #e5ddf1;border-radius:24px;padding:20px;background:linear-gradient(145deg,#fbf9ff,#fff);box-shadow:0 15px 38px #4c287b12}.exam-analysis-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.exam-analysis-head>div{display:grid}.exam-analysis-head span{color:#7850b5;font-size:9px;font-weight:900}.exam-analysis-head h2{margin:1px 0;color:#2f2142;font-size:21px}.exam-analysis-head p{margin:0;color:#7f8795;font-size:9px}.exam-analysis-head>b{border-radius:99px;padding:7px 11px;color:#65439b;background:#eee6f8;font-size:8px}.exam-analysis-create{border:1px solid #ded2ee;border-radius:18px;background:#fff}.exam-analysis-create>summary{border-radius:17px;padding:14px 17px;color:#fff;background:linear-gradient(125deg,#593690,#8051b7);font-size:10px;font-weight:900;cursor:pointer;list-style:none}.exam-analysis-create>form{display:grid;gap:13px;padding:16px}.exam-form-block{display:grid;gap:11px;border:1px solid #e8e3ef;border-radius:16px;padding:14px;background:#fcfbfd}.exam-form-block>header{display:flex;align-items:center;gap:9px}.exam-form-block>header>i{display:grid;width:29px;height:29px;place-items:center;border-radius:9px;color:#fff;background:#7550aa;font-size:10px;font-style:normal;font-weight:900}.exam-form-block>header>div{display:grid}.exam-form-block>header strong{color:#352748;font-size:10px}.exam-form-block>header small{color:#9299a5;font-size:7px}.exam-main-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.exam-main-fields .span-2{grid-column:span 2}.exam-analysis-create label{display:grid;gap:5px;color:#687386;font-size:8px;font-weight:900}.exam-analysis-create input,.exam-analysis-create select,.exam-analysis-create textarea{width:100%;min-width:0;min-height:39px;box-sizing:border-box;border:1px solid #dde1e8;border-radius:9px;outline:0;padding:0 9px;color:#293548;background:#fff;font:inherit;font-size:9px}.exam-analysis-create textarea{min-height:90px;padding:10px;resize:vertical}.exam-analysis-create input:focus,.exam-analysis-create select:focus,.exam-analysis-create textarea:focus{border-color:#8961bb;box-shadow:0 0 0 3px #8961bb15}.exam-dynamic-list{display:grid;gap:7px}.exam-topic-row,.exam-subject-row,.exam-error-row{position:relative;display:grid;align-items:end;gap:7px;border:1px solid #e6e8ed;border-radius:12px;padding:10px 10px 10px 43px;background:#fff}.exam-topic-row{grid-template-columns:2fr 1fr 1.2fr}.exam-subject-row{grid-template-columns:1.5fr repeat(5,1fr)}.exam-error-row{grid-template-columns:1fr 1.2fr 1.2fr 2fr}.exam-topic-row>button,.exam-subject-row>button,.exam-error-row>button{position:absolute;left:10px;bottom:10px;width:25px;height:25px;border:0;border-radius:8px;color:#b42339;background:#fff0f2;font:inherit;font-size:16px;font-weight:900;cursor:pointer}.exam-add-row{justify-self:start;border:1px dashed #9f85be;border-radius:9px;padding:7px 10px;color:#654195;background:#f8f4fd;font:inherit;font-size:8px;font-weight:900;cursor:pointer}.exam-notes{border:1px solid #e6e0ee;border-radius:14px;padding:12px;background:#fcfbfd}.exam-analysis-submit{min-height:43px;border:0;border-radius:11px;color:#fff;background:linear-gradient(125deg,#5d3895,#8755bd);box-shadow:0 8px 18px #6b3da32b;font:inherit;font-size:9px;font-weight:900;cursor:pointer}.exam-analysis-history{display:grid;gap:10px}.exam-analysis-empty{display:grid;justify-items:center;border:2px dashed #e0d9e9;border-radius:17px;padding:25px;color:#7f8795;background:#fff;text-align:center}.exam-analysis-empty>i{font-size:30px;font-style:normal}.exam-analysis-empty strong{color:#4b3c5c;font-size:10px}.exam-analysis-empty p{margin:2px 0;font-size:8px}.exam-analysis-card{position:relative;display:grid;gap:10px;border:1px solid #e2d9ed;border-radius:18px;padding:15px;background:#fff;box-shadow:0 9px 25px #35224f0c}.exam-analysis-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.exam-analysis-card>header>div:first-child{display:grid}.exam-analysis-card>header small{color:#8a6aaa;font-size:8px;font-weight:900}.exam-analysis-card h3{margin:1px 0;color:#31243f;font-size:16px}.exam-result-pills{display:flex;gap:6px}.exam-result-pills span{display:grid;min-width:58px;border-radius:10px;padding:7px;color:#7d8798;background:#f5f2f8;font-size:6px;text-align:center}.exam-result-pills b{color:#654095;font-size:11px}.exam-auto-insights{display:flex;flex-wrap:wrap;gap:6px}.exam-auto-insights span{border-radius:99px;padding:6px 9px;color:#166534;background:#e9f9ef;font-size:7px}.exam-auto-insights span.is-warning{color:#995d12;background:#fff5da}.exam-auto-insights span.is-error{color:#a52336;background:#fff0f2}.exam-analysis-card>details{border-top:1px solid #eee9f2;padding-top:9px}.exam-analysis-card>details>summary{color:#654095;font-size:8px;font-weight:900;cursor:pointer}.exam-analysis-card>details>section{display:grid;gap:7px;margin-top:12px}.exam-analysis-card h4{margin:0;color:#443451;font-size:10px}.exam-saved-topics>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.exam-saved-topics span{display:grid;border-radius:10px;padding:8px;color:#166534;background:#ebf9f0}.exam-saved-topics span.is-needs_review{color:#9a5c0e;background:#fff5da}.exam-saved-topics span.is-weak{color:#a52336;background:#fff0f2}.exam-saved-topics b{font-size:8px}.exam-saved-topics em{font-size:7px;font-style:normal}.exam-table-wrap{overflow-x:auto;border:1px solid #e8e4eb;border-radius:11px}.exam-saved-subjects table{width:100%;border-collapse:collapse;white-space:nowrap}.exam-saved-subjects th,.exam-saved-subjects td{border-bottom:1px solid #eeeaf1;padding:8px 10px;color:#556174;font-size:8px;text-align:right}.exam-saved-subjects th{color:#735291;background:#f8f5fb;font-size:7px}.exam-saved-errors>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.exam-saved-errors article{display:grid;border-right:3px solid #df4055;border-radius:9px;padding:8px 10px;background:#fff5f6}.exam-saved-errors b{color:#a72034;font-size:8px}.exam-saved-errors span{color:#737e8d;font-size:7px}.exam-saved-errors p{margin:3px 0 0;color:#566274;font-size:7px}.exam-saved-notes{margin:11px 0 0;border-radius:10px;padding:10px;color:#5e5368;background:#f8f5fa;font-size:8px;line-height:1.9}.exam-analysis-card>form{position:absolute;left:14px;bottom:12px}.exam-analysis-card>form button{border:0;border-radius:8px;padding:6px 8px;color:#b42339;background:#fff0f2;font:inherit;font-size:7px;font-weight:900;cursor:pointer}
@media(max-width:900px){.exam-subject-row{grid-template-columns:repeat(3,1fr)}.exam-error-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.student-exam-analysis{padding:15px}.exam-analysis-head,.exam-analysis-card>header{align-items:flex-start;flex-direction:column}.exam-main-fields{grid-template-columns:repeat(2,1fr)}.exam-main-fields .span-2{grid-column:1/-1}.exam-topic-row,.exam-subject-row,.exam-error-row{grid-template-columns:1fr 1fr}.exam-topic-row label:first-child,.exam-error-description{grid-column:1/-1}.exam-result-pills{width:100%}.exam-result-pills span{flex:1}.exam-saved-topics>div,.exam-saved-errors>div{grid-template-columns:1fr}.exam-analysis-card>form{position:static;justify-self:end}}

.student-problem-areas{display:grid;gap:15px;border:1px solid #d9e8e5;border-radius:24px;padding:20px;background:linear-gradient(145deg,#f4fbfa,#fff);box-shadow:0 15px 38px #135e5312}.student-problem-areas>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.student-problem-areas>header>div:first-child{display:grid}.student-problem-areas>header span{color:#15877c;font-size:9px;font-weight:900}.student-problem-areas>header h2{margin:1px 0;color:#173c3a;font-size:21px}.student-problem-areas>header p{margin:0;color:#748685;font-size:9px}.student-problem-areas>header>div:last-child{display:grid;justify-items:end;gap:3px}.student-problem-areas>header>div:last-child b{border-radius:99px;padding:7px 11px;color:#126e65;background:#dff6f2;font-size:8px}.student-problem-areas>header>div:last-child small{color:#25815f;font-size:7px;font-weight:900}.student-problem-areas>form{display:grid;gap:13px}.problem-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.problem-area-grid>article{display:grid;gap:11px;border:1px solid #e2e8e7;border-radius:17px;padding:14px;background:#fff;box-shadow:0 8px 22px #193e390a;transition:.2s ease}.problem-area-grid>article.is-selected{border-color:#63bdb3;background:linear-gradient(145deg,#fff,#f2fbf9);box-shadow:0 10px 25px #168c7c16,0 0 0 3px #37a99b0d}.problem-area-grid>article.was-resolved:not(.is-selected){border-style:dashed}.problem-area-grid>article>header{display:grid;grid-template-columns:39px 1fr auto;align-items:center;gap:9px}.problem-area-grid>article>header>i{display:grid;width:39px;height:39px;place-items:center;border-radius:12px;color:#fff;background:linear-gradient(145deg,#687987,#8c9ba6);font-size:15px;font-style:normal;font-weight:900}.problem-area-grid>article.is-selected>header>i{background:linear-gradient(145deg,#108a7d,#38b5a5)}.problem-area-grid>article>header>div{display:grid}.problem-area-grid>article>header strong{color:#263d3b;font-size:10px}.problem-area-grid>article>header small{color:#7d8989;font-size:7px;line-height:1.8}.problem-toggle{display:grid;justify-items:center;gap:3px;cursor:pointer}.problem-toggle input{width:19px;height:19px;margin:0;accent-color:#159486}.problem-toggle span{color:#748280;font-size:6px;white-space:nowrap}.problem-area-grid>article.is-selected .problem-toggle span{color:#0e766b}.problem-area-fields{display:grid;grid-template-columns:120px 1fr;gap:8px}.problem-area-fields label{display:grid;gap:4px;color:#687a78;font-size:7px;font-weight:900}.problem-area-fields select,.problem-area-fields textarea{width:100%;min-width:0;min-height:37px;box-sizing:border-box;border:1px solid #dce4e3;border-radius:9px;outline:0;padding:0 9px;color:#334745;background:#fff;font:inherit;font-size:8px}.problem-area-fields textarea{padding:8px;resize:vertical}.problem-area-fields select:focus,.problem-area-fields textarea:focus{border-color:#47aa9f;box-shadow:0 0 0 3px #35a89a12}.problem-area-fields select:disabled,.problem-area-fields textarea:disabled{color:#9aa5a4;background:#f4f6f6}.problem-area-grid>article>footer{display:flex;align-items:center;gap:7px;border-radius:10px;padding:8px 10px;color:#536765;background:#f1f6f5;font-size:7px;line-height:1.8}.problem-area-grid>article>footer>i{font-style:normal}.problem-area-grid>article>footer>span{flex:1}.problem-area-grid>article.is-selected>footer{color:#28655f;background:#e1f6f2}.problem-area-grid>article>footer em{border-radius:99px;padding:3px 6px;color:#217552;background:#dcfce7;font-size:6px;font-style:normal;font-weight:900;white-space:nowrap}.problem-area-submit{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:13px;padding:11px 13px;background:#e8f6f4}.problem-area-submit p{margin:0;color:#5b7471;font-size:7px}.problem-area-submit button{border:0;border-radius:10px;padding:10px 14px;color:#fff;background:linear-gradient(125deg,#107c71,#28a99a);box-shadow:0 7px 16px #168b7d28;font:inherit;font-size:8px;font-weight:900;cursor:pointer}
@media(max-width:750px){.problem-area-grid{grid-template-columns:1fr}}
@media(max-width:500px){.student-problem-areas{padding:15px}.student-problem-areas>header{align-items:flex-start;flex-direction:column}.student-problem-areas>header>div:last-child{justify-items:start}.problem-area-grid>article>header{grid-template-columns:36px 1fr}.problem-toggle{grid-column:1/-1;grid-template-columns:auto 1fr;justify-items:start}.problem-area-fields{grid-template-columns:1fr}.problem-area-submit{align-items:stretch;flex-direction:column}.problem-area-submit button{width:100%}}

/* Advisor monthly settlements */
.advisor-settlement-list { display:grid; gap:9px; }.advisor-settlement-list>article { display:grid; grid-template-columns:minmax(150px,.7fr) 1fr; align-items:center; gap:12px; border:1px solid #e2e7ef; border-radius:14px; padding:13px; background:#fafbfd; }.advisor-settlement-list>article>div { display:grid; }.advisor-settlement-list small { color:#788597; font-size:8px; }.advisor-settlement-list strong { color:#26364e; font-size:11px; }.advisor-settlement-list span { color:#315eb8; font-size:9px; font-weight:900; }.advisor-settlement-list form { display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:8px; }.advisor-settlement-list label { display:grid; gap:4px; color:#56647a; font-size:8px; font-weight:900; }.advisor-settlement-list select,.advisor-settlement-list input { min-width:0; width:100%; border:1px solid #d3dbe7; border-radius:9px; padding:9px; background:#fff; font:inherit; }.advisor-settlement-list button { min-height:38px; border:0; border-radius:9px; padding:9px 13px; color:#fff; background:#315eb8; font:inherit; font-size:8px; font-weight:900; }.settlement-state { justify-items:start; }.settlement-state>b { border-radius:99px; padding:5px 9px; color:#875c13; background:#fff0c7; font-size:8px; }.is-approved .settlement-state>b { color:#166747; background:#dcfce7; }.is-rejected .settlement-state>b { color:#973d46; background:#fee2e2; }.settlement-state p { margin:4px 0 0; color:#68758a; font-size:8px; }
@media(max-width:650px){.advisor-settlement-list>article{grid-template-columns:1fr}.advisor-settlement-list form{grid-template-columns:1fr}.advisor-settlement-list button{width:100%}}

/* Parent education article page */
.parent-learning-card{display:block;text-decoration:none}.parent-article-page{display:grid;gap:18px;margin:18px 0 26px}.parent-article-back{justify-self:start;border-radius:12px;padding:9px 13px;color:#4338ca;background:#eef2ff;font-size:10px;font-weight:900;text-decoration:none}.parent-article{overflow:hidden;border:1px solid #dbeafe;border-radius:25px;background:#fff;box-shadow:0 18px 48px #17255417}.parent-article-cover{display:block;width:100%;max-height:390px;object-fit:cover}.parent-article-heading{padding:25px 28px 15px}.parent-article-heading>span{display:inline-block;border-radius:999px;padding:6px 11px;color:#0e7490;background:#cffafe;font-size:9px;font-weight:900}.parent-article-heading h1{margin:9px 0 6px;color:#172554;font-size:27px;line-height:1.55}.parent-article-heading p{margin:0;color:#64748b;font-size:12px;font-weight:700;line-height:2}.parent-article-heading small{display:block;margin-top:11px;color:#94a3b8;font-size:9px;font-weight:800}.parent-article-content{padding:8px 28px 30px;color:#334155;font-size:13px;line-height:2.15}.parent-article-content img,.parent-article-content video{max-width:100%;height:auto;border-radius:15px}.parent-related-posts{border-radius:22px;padding:20px;background:linear-gradient(135deg,#172554,#312e81)}.parent-related-posts>header{margin-bottom:14px}.parent-related-posts>header span{color:#67e8f9;font-size:9px;font-weight:900}.parent-related-posts>header h2{margin:2px 0;color:#fff;font-size:19px}.parent-article-not-found{display:grid;min-height:360px;place-items:center;align-content:center;border:1px dashed #a5b4fc;border-radius:24px;padding:30px;background:#fff;text-align:center}.parent-article-not-found>span{display:grid;width:56px;height:56px;place-items:center;border-radius:18px;color:#4338ca;background:#e0e7ff;font-size:28px;font-weight:900}.parent-article-not-found h1{margin:14px 0 4px;color:#1e293b}.parent-article-not-found p{margin:0 0 17px;color:#64748b;font-size:11px}.parent-article-not-found a{border-radius:11px;padding:10px 15px;color:#fff;background:#4f46e5;font-size:10px;font-weight:900;text-decoration:none}@media(max-width:560px){.parent-article-heading{padding:20px 18px 12px}.parent-article-heading h1{font-size:22px}.parent-article-content{padding:5px 18px 22px}.parent-related-posts{padding:15px}}

/* Confirmed parent/student connections */
.profile-link-note{display:grid;gap:5px;align-content:center;border:1px solid #c7d2fe;border-radius:13px;padding:13px;background:#eef2ff}.profile-link-note strong{color:#312e81;font-size:11px}.profile-link-note p{margin:0;color:#64748b;font-size:9px;line-height:1.8}.profile-link-note a{justify-self:start;color:#4f46e5;font-size:9px;font-weight:900}.student-linked-parents{margin:16px 0;border:1px solid #bae6fd;border-radius:20px;padding:16px;background:linear-gradient(145deg,#f0f9ff,#fff)}.student-linked-parents>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.student-linked-parents>header span{color:#0284c7;font-size:9px;font-weight:900}.student-linked-parents>header h2{margin:2px 0;color:#164e63;font-size:18px}.student-linked-parents>header>b{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;color:#0369a1;background:#e0f2fe}.student-linked-parents>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.student-linked-parents article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:9px;border:1px solid #e0f2fe;border-radius:13px;padding:9px;background:#fff}.student-linked-parents img,.student-linked-parents article>i{display:grid;width:40px;height:40px;place-items:center;object-fit:cover;border-radius:12px;color:#0369a1;background:#e0f2fe;font-style:normal;font-weight:900}.student-linked-parents article>span{display:grid}.student-linked-parents strong{color:#1e293b;font-size:10px}.student-linked-parents small{color:#64748b;font-size:8px}.student-linked-parents em{border-radius:99px;padding:5px 8px;color:#166534;background:#dcfce7;font-size:7px;font-style:normal;font-weight:900}.student-linked-parents>p{margin:10px 0 0;color:#64748b;font-size:8px;font-weight:750}.form-hint{grid-column:1/-1;margin:0;border:1px solid #c7d2fe;border-radius:11px;padding:11px;color:#4338ca;background:#eef2ff;font-size:10px;font-weight:750;line-height:1.9}
.parent-link-manager{margin:20px 0;border:1px solid #c7d2fe;border-radius:24px;padding:20px;background:linear-gradient(145deg,#fff,#eef2ff);box-shadow:0 15px 38px #4338ca12}.parent-link-manager>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.parent-link-manager>header span{color:#4f46e5;font-size:10px;font-weight:900}.parent-link-manager>header h2{margin:2px 0;color:#1e1b4b;font-size:21px}.parent-link-manager>header p{margin:0;color:#64748b;font-size:10px;font-weight:700}.parent-link-manager>header>b{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;color:#fff;background:#4f46e5;font-size:24px}.parent-link-manager>form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-top:16px}.parent-link-manager>form label{display:grid;gap:6px;color:#334155;font-size:10px;font-weight:900}.parent-link-manager>form input{min-width:0;width:100%;height:44px;border:1px solid #cbd5e1;border-radius:11px;padding:0 12px;background:#fff;font:inherit}.parent-link-manager>form button{height:44px;border:0;border-radius:11px;padding:0 17px;color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);font:inherit;font-size:10px;font-weight:900}.parent-link-flash{margin:14px 0 0;border:1px solid #bbf7d0;border-radius:11px;padding:10px 12px;color:#166534;background:#f0fdf4;font-size:10px;font-weight:850}.parent-link-flash.is-error{border-color:#fecaca;color:#991b1b;background:#fff1f2}.parent-link-request-list{display:grid;gap:8px;margin-top:15px}.parent-link-request-list article{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:13px;padding:9px 11px;background:#fff}.parent-link-request-list img,.parent-link-request-list i{display:grid;width:40px;height:40px;place-items:center;object-fit:cover;border-radius:12px;color:#4338ca;background:#e0e7ff;font-style:normal;font-weight:900}.parent-link-request-list article>div{display:grid}.parent-link-request-list strong{color:#1e293b;font-size:10px}.parent-link-request-list small{color:#94a3b8;font-size:8px}.parent-link-request-list article>b{border-radius:99px;padding:6px 9px;color:#92400e;background:#fef3c7;font-size:8px}.parent-link-request-list .is-approved>b{color:#166534;background:#dcfce7}.parent-link-request-list .is-rejected>b{color:#991b1b;background:#fee2e2}.parent-student-actions{display:flex;align-items:center;gap:7px;margin-right:auto}.parent-student-actions a{margin:0!important;border-radius:9px;padding:7px 9px;background:#eef2ff;text-decoration:none}.parent-student-actions .is-primary{color:#fff;background:#4f46e5}
.parent-link-popup{width:min(92vw,470px);border:0;border-radius:24px;padding:26px;color:#334155;background:#fff;text-align:center;box-shadow:0 28px 80px #17255466}.parent-link-popup::backdrop{background:#0f172ab8;backdrop-filter:blur(5px)}.parent-link-popup-icon{display:grid;width:62px;height:62px;margin:0 auto 12px;place-items:center;border-radius:20px;color:#fff;background:linear-gradient(135deg,#4f46e5,#0891b2);font-size:29px}.parent-link-popup>span{color:#4f46e5;font-size:10px;font-weight:900}.parent-link-popup h2{margin:5px 0 10px;color:#172554;font-size:21px}.parent-link-popup p{margin:0;color:#64748b;font-size:11px;line-height:2}.parent-link-popup p strong{color:#1e293b}.parent-link-popup>small{display:block;margin:12px 0;border-radius:10px;padding:9px;color:#92400e;background:#fffbeb;font-size:8px;font-weight:800;line-height:1.8}.parent-link-popup form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.parent-link-popup form button{min-height:43px;border:0;border-radius:11px;color:#fff;background:#16a34a;font:inherit;font-size:10px;font-weight:900}.parent-link-popup form button:last-child{background:#ef4444}

/* Detailed student reports for parents */
.parent-report-page{display:grid;gap:16px;margin:18px 0 26px}.parent-report-hero{display:grid;grid-template-columns:34px 58px 1fr auto;align-items:center;gap:13px;border-radius:23px;padding:20px;color:#fff;background:linear-gradient(135deg,#172554,#4338ca 60%,#0891b2);box-shadow:0 17px 40px #312e8133}.parent-report-hero>a{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;color:#fff;background:#ffffff1f;font-size:26px;text-decoration:none}.parent-report-avatar{display:grid;width:58px;height:58px;place-items:center;overflow:hidden;border:2px solid #ffffff55;border-radius:17px;background:#ffffff1c;font-size:21px}.parent-report-avatar img{width:100%;height:100%;object-fit:cover}.parent-report-hero span{color:#a5f3fc;font-size:9px;font-weight:900}.parent-report-hero h1{margin:2px 0;color:#fff;font-size:21px}.parent-report-hero p{margin:0;color:#c7d2fe;font-size:9px;font-weight:750}.parent-report-hero>b{border:1px solid #ffffff3d;border-radius:99px;padding:7px 10px;background:#ffffff12;font-size:8px}.parent-report-periods{display:flex;overflow-x:auto;gap:7px}.parent-report-periods a{flex:0 0 auto;border:1px solid #dbe3ef;border-radius:10px;padding:8px 12px;color:#64748b;background:#fff;font-size:9px;font-weight:900;text-decoration:none}.parent-report-periods a.is-active{border-color:#4f46e5;color:#fff;background:#4f46e5}.parent-report-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.parent-report-summary article{display:flex;align-items:center;gap:10px;border:1px solid #e2e8f0;border-radius:15px;padding:13px;background:#fff;box-shadow:0 8px 22px #0f172a0b}.parent-report-summary i{display:grid;width:40px;height:40px;place-items:center;border-radius:12px;color:#4338ca;background:#e0e7ff;font-style:normal;font-weight:900}.parent-report-summary span{display:grid;color:#64748b;font-size:8px;font-weight:800}.parent-report-summary strong{color:#1e293b;font-size:13px}.parent-report-summary small{font-size:7px}.parent-report-chart-card,.parent-report-details,.parent-report-secondary>section{border:1px solid #e2e8f0;border-radius:20px;padding:18px;background:#fff;box-shadow:0 10px 28px #0f172a0c}.parent-report-chart-card>header,.parent-report-details>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.parent-report-chart-card header span,.parent-report-details>header span,.parent-report-secondary header span{color:#4f46e5;font-size:9px;font-weight:900}.parent-report-chart-card h2,.parent-report-details h2,.parent-report-secondary h2{margin:2px 0;color:#1e293b;font-size:18px}.parent-report-chart-card header>b,.parent-report-details>header>b{border-radius:99px;padding:6px 9px;color:#4338ca;background:#eef2ff;font-size:8px}.parent-report-bars{display:flex;height:190px;align-items:end;overflow-x:auto;gap:7px;padding:9px 3px}.parent-report-bars>div{display:grid;flex:1 0 23px;gap:4px;height:100%;align-items:end}.parent-report-bars>div>span{display:flex;height:160px;align-items:end;border-radius:7px;background:#f1f5f9}.parent-report-bars i{display:block;width:100%;border-radius:7px;background:linear-gradient(#22d3ee,#4f46e5)}.parent-report-bars small{overflow:hidden;color:#94a3b8;font-size:6px;white-space:nowrap;text-align:center}.parent-report-empty{margin:0;border:1px dashed #cbd5e1;border-radius:12px;padding:16px;color:#64748b;background:#f8fafc;text-align:center;font-size:9px;font-weight:800}.parent-report-details{display:grid;gap:12px}.parent-report-day>h3{display:flex;justify-content:space-between;margin:0 0 8px;color:#334155;font-size:11px}.parent-report-day>h3 b{color:#4f46e5;font-size:8px}.parent-report-day>div{display:grid;gap:8px}.parent-report-day article{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;align-items:center;gap:12px;border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#f8fafc}.parent-report-book{display:flex;align-items:center;gap:9px}.parent-report-book>i{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;color:#0369a1;background:#e0f2fe;font-style:normal}.parent-report-book span{display:grid}.parent-report-book strong{color:#1e293b;font-size:10px}.parent-report-book p{margin:1px 0;color:#64748b;font-size:8px}.parent-report-day dl{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:0}.parent-report-day dl>div{display:grid;gap:2px}.parent-report-day dt{color:#94a3b8;font-size:7px;font-weight:800}.parent-report-day dd{margin:0;color:#334155;font-size:8px;font-weight:900}.parent-report-day dd em{color:#15803d;font-style:normal}.parent-report-day dd mark{color:#dc2626;background:none}.parent-report-secondary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.parent-report-secondary header{margin-bottom:11px}.parent-report-secondary>section>div{display:grid;gap:7px}.parent-report-secondary article{display:flex;align-items:center;gap:9px;border-radius:11px;padding:9px;background:#f8fafc}.parent-report-secondary article>i{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;color:#b45309;background:#fef3c7;font-style:normal;font-weight:900}.parent-report-secondary article.is-done>i{color:#15803d;background:#dcfce7}.parent-report-secondary article span{display:grid}.parent-report-secondary article strong{color:#334155;font-size:9px}.parent-report-secondary article small{color:#94a3b8;font-size:7px}@media(max-width:720px){.parent-link-manager>form{grid-template-columns:1fr 1fr}.parent-link-manager>form button{grid-column:1/-1}.parent-report-summary{grid-template-columns:repeat(2,1fr)}.parent-report-day article{grid-template-columns:1fr}.parent-report-secondary{grid-template-columns:1fr}.parent-report-hero{grid-template-columns:34px 50px 1fr}.parent-report-hero>b{grid-column:2/-1;justify-self:start}.parent-report-day dl{grid-template-columns:repeat(3,1fr)}}@media(max-width:500px){.parent-link-manager>form,.parent-report-summary{grid-template-columns:1fr}.parent-link-manager>form button{grid-column:auto}.parent-link-request-list article{grid-template-columns:40px 1fr}.parent-link-request-list article>b{grid-column:1/-1;text-align:center}.parent-student-actions{width:100%;margin:0;flex-wrap:wrap}.parent-link-popup form{grid-template-columns:1fr}.parent-report-day dl{grid-template-columns:repeat(2,1fr)}}

/* Compact student SOS */
.student-sos-card{grid-template-columns:54px minmax(0,1fr) auto;gap:12px;margin:12px 0;border-radius:17px;padding:12px 15px;box-shadow:0 10px 25px #7f1d1d2b}.student-sos-beacon{width:50px;height:50px}.student-sos-beacon b{width:44px;height:44px;border-width:2px;font-size:12px}.student-sos-card>div:nth-child(2)>span{font-size:8px}.student-sos-card h2{margin:1px 0;font-size:15px}.student-sos-card p{font-size:9px;line-height:1.7}.student-sos-card form button{min-width:112px;min-height:54px;border-radius:12px;padding:7px 12px}.student-sos-card form strong{font-size:18px}.student-sos-card form small{font-size:7px}.student-sos-card form em{display:none}.student-sos-note{grid-column:2/-1;font-size:7px}
@media(max-width:700px){.student-sos-card{grid-template-columns:48px 1fr;gap:9px;padding:11px 12px}.student-sos-beacon{width:44px;height:44px}.student-sos-beacon b{width:40px;height:40px;font-size:10px}.student-sos-card form{grid-column:1/-1}.student-sos-card form button{min-height:46px}.student-sos-note{grid-column:1/-1}}

/* Extended study report */
.study-test-percentage,.study-sleep-fields{grid-column:1/-1}
.study-test-percentage{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #c7d2fe;border-radius:12px;padding:10px 12px;color:#4338ca;background:#eef2ff}.study-test-percentage span{font-size:8px;font-weight:900}.study-test-percentage strong{font-size:17px}.study-test-percentage small{color:#818cf8;font-size:6px}.study-sleep-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.study-sleep-fields label{display:grid;gap:6px}.study-modal textarea{width:100%;border:1px solid #d5dce8;border-radius:10px;padding:10px;background:#fff;font:inherit;resize:vertical}.report-main>div .test-percent{color:#4338ca;background:#eef2ff}.report-wellbeing{display:flex!important;gap:6px;margin-top:6px}.report-wellbeing span{border-radius:7px;padding:5px 7px;color:#0f766e!important;background:#ecfdf5!important;font-size:7px!important}.report-narrative{margin-top:7px!important;border-right:3px solid #a5b4fc;border-radius:6px;padding:6px 8px;color:#475569!important;background:#f8fafc;font-size:8px!important;line-height:1.9!important}
@media(max-width:480px){.study-test-percentage{align-items:flex-start;flex-direction:column}.study-sleep-fields{grid-template-columns:1fr}}

/* AI feedback preview */
.advisor-ai-feedback{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px;margin:18px 0;border:1px solid #c4b5fd;border-radius:21px;padding:17px;background:linear-gradient(135deg,#f5f3ff,#fff 55%,#ecfeff);box-shadow:0 12px 30px #4f46e512}.advisor-ai-feedback>div{display:flex;align-items:center;gap:12px}.advisor-ai-feedback>div>i{display:grid;flex:0 0 48px;height:48px;place-items:center;border-radius:15px;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb,#0891b2);box-shadow:0 8px 18px #4f46e530;font-size:13px;font-style:normal;font-weight:950}.advisor-ai-feedback>div>span{display:grid}.advisor-ai-feedback small{color:#6d28d9;font-size:8px;font-weight:900}.advisor-ai-feedback h2{margin:1px 0;color:#1e1b4b;font-size:17px}.advisor-ai-feedback p{margin:0;color:#64748b;font-size:8px;line-height:1.8}.advisor-ai-feedback>aside{display:flex;align-items:center;gap:7px;border-radius:12px;padding:9px 11px;color:#4338ca;background:#eef2ff}.advisor-ai-feedback aside b{font-size:20px}.advisor-ai-feedback aside span{font-size:7px;font-weight:850;line-height:1.7}.advisor-ai-feedback>button{min-height:41px;border:0;border-radius:11px;padding:0 14px;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);font:inherit;font-size:8px;font-weight:900;cursor:pointer}.advisor-ai-feedback>button:disabled{color:#64748b;background:#e2e8f0;cursor:not-allowed}.advisor-ai-feedback.is-disabled{border-color:#e2e8f0;filter:saturate(.55);opacity:.78}
@media(max-width:650px){.advisor-ai-feedback{grid-template-columns:1fr 1fr}.advisor-ai-feedback>div{grid-column:1/-1}.advisor-ai-feedback>button{width:100%}}@media(max-width:420px){.advisor-ai-feedback{grid-template-columns:1fr}.advisor-ai-feedback>aside{justify-content:center}}

/* Private Jalali calendar and reminders for advisors */
.advisor-calendar{display:grid;gap:15px;margin:18px 0;border:1px solid #c7d2fe;border-radius:24px;padding:20px;background:linear-gradient(145deg,#eef2ff,#fff 52%,#f0fdfa);box-shadow:0 16px 38px #312e8115}.advisor-calendar-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.advisor-calendar-head span,.advisor-reminder-form>div span{color:#4f46e5;font-size:9px;font-weight:900}.advisor-calendar-head h2{margin:2px 0;color:#1e1b4b;font-size:21px}.advisor-calendar-head p{margin:0;color:#64748b;font-size:9px}.advisor-calendar-head>button{border:0;border-radius:11px;padding:10px 13px;color:#fff;background:linear-gradient(135deg,#4f46e5,#2563eb);font:inherit;font-size:8px;font-weight:900;cursor:pointer}.advisor-calendar-head>button.is-enabled{color:#166534;background:#dcfce7}.advisor-calendar-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:13px}.advisor-calendar-month,.advisor-reminder-form{border:1px solid #e0e7ff;border-radius:18px;padding:14px;background:#fff}.advisor-calendar-month nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.advisor-calendar-month nav a{display:grid;width:31px;height:31px;place-items:center;border-radius:9px;color:#3730a3;background:#eef2ff;font-size:15px;font-weight:900;text-decoration:none}.advisor-calendar-month nav strong{color:#312e81;font-size:12px}.advisor-calendar-weekdays,.advisor-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.advisor-calendar-weekdays{margin-bottom:5px}.advisor-calendar-weekdays b{color:#94a3b8;font-size:8px;text-align:center}.advisor-calendar-grid>span,.advisor-calendar-grid>button{min-height:58px}.advisor-calendar-grid>button{position:relative;display:grid;align-content:start;justify-items:start;overflow:hidden;border:1px solid #edf0f6;border-radius:10px;padding:7px;color:#334155;background:#fafbff;font:inherit;cursor:pointer}.advisor-calendar-grid>button:hover{border-color:#a5b4fc;background:#f5f3ff}.advisor-calendar-grid>button>b{font-size:9px}.advisor-calendar-grid>button>i{position:absolute;top:5px;left:5px;display:grid;min-width:17px;height:17px;place-items:center;border-radius:99px;color:#fff;background:#4f46e5;font-size:7px;font-style:normal}.advisor-calendar-grid>button>small{width:100%;margin-top:5px;overflow:hidden;color:#4f46e5;font-size:6px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.advisor-calendar-grid>button.is-today{border-color:#14b8a6;box-shadow:inset 0 0 0 1px #14b8a6}.advisor-calendar-grid>button.is-today>b{display:grid;width:21px;height:21px;place-items:center;border-radius:7px;color:#fff;background:#0f766e}.advisor-reminder-form{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:10px}.advisor-reminder-form>div:first-child,.advisor-reminder-form .span-2{grid-column:1/-1}.advisor-reminder-form h3{margin:1px 0 3px;color:#1e293b;font-size:15px}.advisor-reminder-form label{display:grid;align-content:start;gap:5px;color:#475569;font-size:8px;font-weight:900}.advisor-reminder-form input,.advisor-reminder-form textarea{min-width:0;width:100%;border:1px solid #dbe1eb;border-radius:10px;padding:10px;background:#fff;font:inherit;outline:0;resize:vertical}.advisor-reminder-form input:focus,.advisor-reminder-form textarea:focus{border-color:#818cf8;box-shadow:0 0 0 3px #e0e7ff}.advisor-reminder-form label small{color:#94a3b8;font-size:6px;line-height:1.7}.advisor-reminder-form-actions{display:flex;gap:7px}.advisor-reminder-form-actions button{flex:1;border:0;border-radius:10px;padding:10px;color:#fff;background:#4f46e5;font:inherit;font-size:8px;font-weight:900;cursor:pointer}.advisor-reminder-form-actions button.is-cancel{color:#475569;background:#e2e8f0}.advisor-reminder-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.advisor-reminder-list>article{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;border:1px solid #e2e8f0;border-radius:14px;padding:11px;background:#fff}.advisor-reminder-list>article>time{display:grid;justify-items:center;border-radius:12px;padding:8px;color:#3730a3;background:#eef2ff}.advisor-reminder-list time b{font-size:16px}.advisor-reminder-list time span{font-size:7px}.advisor-reminder-list article>div:nth-child(2){display:grid;min-width:0}.advisor-reminder-list small{color:#4f46e5;font-size:7px;font-weight:900}.advisor-reminder-list strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.advisor-reminder-list p{margin:2px 0;color:#64748b;font-size:7px;line-height:1.7}.advisor-reminder-list div>span{color:#64748b;font-size:7px}.advisor-reminder-list article.is-due{border-color:#fdba74;background:#fffaf3}.advisor-reminder-list article.is-due>time{color:#9a3412;background:#ffedd5}.advisor-reminder-list article.is-due small{color:#c2410c}.advisor-reminder-actions{display:grid;gap:5px}.advisor-reminder-actions>button,.advisor-reminder-actions form button{width:100%;border:0;border-radius:8px;padding:7px;color:#3730a3;background:#e0e7ff;font:inherit;font-size:7px;font-weight:900;cursor:pointer}.advisor-reminder-actions form button.is-delete{color:#991b1b;background:#fee2e2}.notification-list article.is-reminder{position:relative;border-color:#c7d2fe;background:#f5f3ff}.notification-list article.is-reminder>a{align-self:center;border-radius:7px;padding:5px 7px;color:#4338ca;background:#e0e7ff;font-size:7px;font-weight:900;text-decoration:none}
@media(max-width:760px){.advisor-calendar{padding:14px}.advisor-calendar-head{align-items:flex-start;flex-direction:column}.advisor-calendar-head>button{width:100%}.advisor-calendar-layout{grid-template-columns:1fr}.advisor-reminder-list{grid-template-columns:1fr}.advisor-calendar-grid>span,.advisor-calendar-grid>button{min-height:47px}.advisor-calendar-grid>button>small{display:none}}
@media(max-width:430px){.advisor-reminder-form{grid-template-columns:1fr}.advisor-reminder-form>div:first-child,.advisor-reminder-form .span-2{grid-column:1}.advisor-calendar-grid{gap:3px}.advisor-calendar-grid>button{min-height:40px;padding:5px}.advisor-reminder-list>article{grid-template-columns:42px minmax(0,1fr)}.advisor-reminder-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}

/* Advisor income and mandatory monthly settlements */
body:has(.advisor-finance-lock) .advisor-created-plans details{display:none}
.advisor-finance-lock{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:15px;margin:18px 0;border:1px solid #fecaca;border-radius:20px;padding:17px;color:#7f1d1d;background:linear-gradient(135deg,#fff1f2,#fff);box-shadow:0 12px 30px #991b1b12}.advisor-finance-lock>i{display:grid;width:54px;height:54px;place-items:center;border-radius:17px;color:#fff;background:#dc2626;font-size:25px;font-style:normal;font-weight:900}.advisor-finance-lock span{font-size:9px;font-weight:900}.advisor-finance-lock h2{margin:2px 0;font-size:18px}.advisor-finance-lock p{margin:0;color:#991b1b;font-size:9px;font-weight:700;line-height:1.8}.advisor-finance-lock>a{border-radius:11px;padding:10px 12px;color:#fff;background:#dc2626;font-size:9px;font-weight:900;text-decoration:none}.advisor-income-dashboard{margin:18px 0;border-radius:22px;padding:20px;color:#fff;background:linear-gradient(135deg,#172554,#312e81 58%,#0e7490);box-shadow:0 16px 40px #312e8133}.advisor-income-dashboard>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.advisor-income-dashboard>header span{color:#67e8f9;font-size:9px;font-weight:900}.advisor-income-dashboard>header h2{margin:2px 0;color:#fff;font-size:21px}.advisor-income-dashboard>header p{margin:0;color:#c7d2fe;font-size:9px}.advisor-income-dashboard>header>b{border:1px solid #ffffff3b;border-radius:99px;padding:7px 10px;background:#ffffff12;font-size:9px}.advisor-income-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.advisor-income-summary article{display:grid;gap:4px;border:1px solid #ffffff24;border-radius:15px;padding:14px;background:#ffffff12}.advisor-income-summary small{color:#c7d2fe;font-size:8px;font-weight:850}.advisor-income-summary strong{font-size:17px}.advisor-income-summary span{color:#a5f3fc;font-size:8px;font-weight:800}.advisor-income-summary em{color:#fff;font-size:8px;font-style:normal;font-weight:900}.advisor-income-summary article.is-debt{border-color:#fda4af;background:#be123c55}.advisor-income-summary article.is-clear{border-color:#86efac;background:#15803d40}.advisor-settlement-list>article.is-overdue{border-color:#fecaca;background:#fff7f7}.advisor-settlement-list>article.is-current{border-color:#bae6fd;background:#f0f9ff}.advisor-settlement-list>article>div:first-child em{color:#166534;font-size:8px;font-style:normal;font-weight:900}.advisor-service-empty.is-locked{border-color:#fecaca!important;color:#991b1b!important;background:#fff1f2!important}.advisor-service-payments button:disabled{cursor:not-allowed;opacity:.45}.advisor-account-finance{margin:18px 0;border:1px solid #bfdbfe;border-radius:23px;padding:20px;background:linear-gradient(145deg,#eff6ff,#fff);box-shadow:0 14px 35px #1d4ed812}.advisor-account-finance>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.advisor-account-finance>header span{color:#2563eb;font-size:9px;font-weight:900}.advisor-account-finance>header h2{margin:2px 0;color:#1e3a8a;font-size:20px}.advisor-account-finance>header p{margin:0;color:#64748b;font-size:9px;font-weight:750}.advisor-account-finance>header>b{border-radius:99px;padding:7px 10px;color:#166534;background:#dcfce7;font-size:8px}.advisor-account-finance.is-locked{border-color:#fecaca;background:linear-gradient(145deg,#fff1f2,#fff)}.advisor-account-finance.is-locked>header>b{color:#991b1b;background:#fee2e2}.advisor-account-finance>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:15px 0}.advisor-account-finance article{display:grid;gap:3px;border:1px solid #dbeafe;border-radius:13px;padding:12px;background:#fff}.advisor-account-finance article small{color:#64748b;font-size:8px}.advisor-account-finance article strong{color:#1e3a8a;font-size:14px}.advisor-account-finance article span{color:#0284c7;font-size:8px;font-weight:850}.advisor-account-finance>p{border-radius:10px;padding:9px;color:#991b1b;background:#fee2e2;font-size:9px;font-weight:800}.advisor-account-finance>a{display:inline-block;border-radius:10px;padding:9px 12px;color:#fff;background:#2563eb;font-size:9px;font-weight:900;text-decoration:none}@media(max-width:700px){.advisor-finance-lock{grid-template-columns:48px 1fr}.advisor-finance-lock>a{grid-column:1/-1;text-align:center}.advisor-income-summary,.advisor-account-finance>div{grid-template-columns:1fr}.advisor-income-dashboard>header{align-items:flex-start;flex-direction:column}}

/* Psychological test renewal states */
.psych-test-card.is-due{border-color:#f1d39a;background:#fffdf8}.psych-complete.is-due{color:#9a6216;background:#fff0cf}

/* AI coach, behavior monitoring and advisor AI review */
.advisor-ai-feedback>form{grid-column:1/-1}
.ai-coach-center{margin:20px 0;border:1px solid #dbe3ef;border-radius:26px;padding:20px;background:linear-gradient(145deg,#f8fafc,#fff 48%,#f0fdfa);box-shadow:0 18px 46px #0f172a12}.ai-coach-center.is-red{border-color:#fecaca;background:linear-gradient(145deg,#fff1f2,#fff 48%,#fff7ed)}.ai-coach-center.is-yellow{border-color:#fde68a;background:linear-gradient(145deg,#fffbeb,#fff 48%,#f8fafc)}.ai-coach-center.is-green{border-color:#bbf7d0}.ai-coach-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.ai-coach-head span{color:#0f766e;font-size:9px;font-weight:950}.ai-coach-head h2{margin:2px 0;color:#172554;font-size:22px}.ai-coach-head p{margin:0;color:#64748b;font-size:9px;font-weight:750}.behavior-status{border-radius:99px;padding:8px 11px;font-size:8px;white-space:nowrap}.behavior-status.is-green{color:#166534;background:#dcfce7}.behavior-status.is-yellow{color:#92400e;background:#fef3c7}.behavior-status.is-red{color:#991b1b;background:#fee2e2}.behavior-status.is-gray{color:#475569;background:#e2e8f0}.behavior-dashboard{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:12px;margin-top:15px}.behavior-trends,.behavior-psych{border:1px solid #e2e8f0;border-radius:19px;padding:15px;background:#fff}.behavior-trends>h3,.behavior-psych>h3{margin:0 0 11px;color:#1e293b;font-size:14px}.behavior-trends>div{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.behavior-trends article{display:grid;gap:6px;border:1px solid #e2e8f0;border-right:4px solid #94a3b8;border-radius:13px;padding:11px;background:#fafafa}.behavior-trends article.is-green{border-right-color:#22c55e}.behavior-trends article.is-yellow{border-right-color:#f59e0b}.behavior-trends article.is-red{border-right-color:#ef4444}.behavior-trends article>header{display:flex;justify-content:space-between;gap:6px}.behavior-trends article>header strong{color:#334155;font-size:9px}.behavior-trends article>header span{color:#64748b;font-size:6px;font-weight:900}.behavior-trends article>b{color:#172554;font-size:14px}.behavior-trends article>b small{color:#94a3b8;font-size:6px}.behavior-trends article>p{margin:0;color:#64748b;font-size:7px;line-height:1.7}.behavior-mini-chart{display:flex;height:42px;align-items:end;justify-content:center;gap:8px;border-radius:8px;padding:4px;background:#f1f5f9}.behavior-mini-chart i{position:relative;width:22%;height:var(--value);min-height:3px;border-radius:5px 5px 2px 2px;background:#cbd5e1}.behavior-mini-chart i.is-current{background:linear-gradient(#2dd4bf,#4f46e5)}.behavior-mini-chart small{position:absolute;bottom:2px;right:0;left:0;color:#fff;font-size:5px;font-style:normal;text-align:center}.behavior-psych>div{display:grid;gap:7px}.behavior-psych article{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:11px;padding:9px;background:#f8fafc}.behavior-psych article>i{width:8px;height:8px;border-radius:99px;background:#94a3b8}.behavior-psych article.is-green>i{background:#22c55e}.behavior-psych article.is-yellow>i{background:#f59e0b}.behavior-psych article.is-red>i{background:#ef4444}.behavior-psych article>span{display:grid}.behavior-psych strong{color:#334155;font-size:9px}.behavior-psych small{color:#64748b;font-size:6px;line-height:1.7}.behavior-psych article>b{color:#334155;font-size:7px}.behavior-psych article>a{grid-column:2/-1;color:#4f46e5;font-size:7px;font-weight:900}.behavior-psych>p{margin:10px 0 0;color:#94a3b8;font-size:7px;line-height:1.8}.behavior-ai-decision{margin-top:12px;border:1px solid #c7d2fe;border-radius:18px;padding:15px;background:linear-gradient(135deg,#eef2ff,#fff)}.behavior-ai-decision>header{display:flex;align-items:center;gap:9px}.behavior-ai-decision>header>i{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;color:#fff;background:#4f46e5;font-size:9px;font-style:normal;font-weight:950}.behavior-ai-decision header small{color:#6366f1;font-size:7px}.behavior-ai-decision h3{margin:1px 0;font-size:14px}.behavior-ai-decision>p{color:#475569;font-size:9px;line-height:2}.behavior-ai-decision>strong{display:block;border-radius:10px;padding:9px;color:#312e81;background:#e0e7ff;font-size:8px}.behavior-ai-decision ol,.behavior-ai-decision ul{color:#475569;font-size:8px;line-height:2}.behavior-ai-decision details{margin-top:8px}.behavior-ai-decision summary{color:#7c3aed;font-size:8px;font-weight:900;cursor:pointer}.coach-urgent-note{border:1px solid #fecaca!important;border-radius:10px;padding:9px;color:#991b1b!important;background:#fff1f2}.behavior-awaiting{margin:12px 0 0;border:1px dashed #cbd5e1;border-radius:12px;padding:11px;color:#64748b;background:#fff;font-size:8px;text-align:center}.ai-coach-chat{margin-top:13px;border:1px solid #c4b5fd;border-radius:20px;padding:16px;background:#fff}.ai-coach-chat>header{display:flex;align-items:center;justify-content:space-between}.ai-coach-chat>header span{color:#7c3aed;font-size:8px;font-weight:900}.ai-coach-chat>header h3{margin:2px 0;color:#1e1b4b;font-size:17px}.ai-coach-chat>header>b{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb,#0891b2);font-size:10px}.ai-coach-suggestions{display:flex;overflow-x:auto;gap:6px;margin:10px 0}.ai-coach-suggestions span{flex:0 0 auto;border-radius:99px;padding:6px 9px;color:#5b21b6;background:#f5f3ff;font-size:7px;font-weight:800}.ai-coach-thread{display:grid;max-height:720px;overflow:auto;gap:10px;padding:4px}.coach-empty{border:1px dashed #cbd5e1;border-radius:11px;padding:14px;color:#64748b;background:#f8fafc;font-size:8px;text-align:center}.coach-turn{display:grid;gap:7px}.coach-question{max-width:80%;margin-right:auto;border-radius:15px 15px 4px 15px;padding:10px 12px;color:#fff;background:#4f46e5}.coach-question small{color:#c7d2fe;font-size:6px}.coach-question p{margin:3px 0;font-size:9px;line-height:1.9}.coach-answer{max-width:92%;border:1px solid #e2e8f0;border-radius:15px 15px 15px 4px;padding:12px;background:#f8fafc}.coach-answer.is-urgent{border-color:#fca5a5;background:#fff1f2}.coach-answer>header{display:flex;align-items:center;gap:7px}.coach-answer>header i{display:grid;width:27px;height:27px;place-items:center;border-radius:9px;color:#fff;background:#7c3aed;font-size:7px;font-style:normal;font-weight:900}.coach-answer>header small{color:#94a3b8;font-size:6px}.coach-answer>p{color:#334155;font-size:9px;line-height:2}.coach-answer dl{display:grid;gap:6px;margin:0}.coach-answer dl>div{border-right:3px solid #818cf8;border-radius:7px;padding:7px;background:#fff}.coach-answer dt{color:#6366f1;font-size:7px;font-weight:900}.coach-answer dd{margin:2px 0 0;color:#475569;font-size:8px;line-height:1.8}.coach-answer details{margin-top:7px}.coach-answer summary{color:#4f46e5;font-size:7px;font-weight:900;cursor:pointer}.coach-answer ul,.coach-answer ol{color:#475569;font-size:8px;line-height:2}.coach-note{display:block;border-radius:9px;padding:8px;color:#92400e;background:#fef3c7;font-size:7px}.ai-coach-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px;margin-top:12px;border-top:1px solid #e2e8f0;padding-top:12px}.ai-coach-form label{display:grid;gap:5px;color:#475569;font-size:8px;font-weight:900}.ai-coach-form textarea{width:100%;border:1px solid #d8deea;border-radius:12px;padding:11px;background:#fff;font:inherit;resize:vertical}.ai-coach-form button{min-height:48px;border:0;border-radius:12px;padding:0 15px;color:#fff;background:linear-gradient(135deg,#7c3aed,#2563eb);font:inherit;font-size:8px;font-weight:900}.coach-disabled{border-radius:10px;padding:10px;color:#64748b;background:#e2e8f0;font-size:8px;text-align:center}
.advisor-ai-feedback>form{display:grid;grid-template-columns:180px minmax(240px,1fr) auto;align-items:end;gap:8px}.advisor-ai-feedback>form label{display:grid;gap:5px;color:#475569;font-size:7px;font-weight:900}.advisor-ai-feedback>form select,.advisor-ai-feedback>form textarea{width:100%;border:1px solid #d8deea;border-radius:9px;padding:8px;background:#fff;font:inherit;resize:vertical}.advisor-ai-feedback>form button{min-height:42px;border:0;border-radius:10px;padding:0 12px;color:#fff;background:#4f46e5;font:inherit;font-size:8px;font-weight:900}.advisor-ai-case-review>header>b{border-radius:99px;padding:7px 10px;color:#475569;background:#e2e8f0}.advisor-ai-case-review.is-green>header>b{color:#166534;background:#dcfce7}.advisor-ai-case-review.is-yellow>header>b{color:#92400e;background:#fef3c7}.advisor-ai-case-review.is-red>header>b{color:#991b1b;background:#fee2e2}.advisor-ai-signal-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.advisor-ai-signal-grid article{display:grid;grid-template-columns:7px 1fr auto;align-items:center;gap:7px;border-radius:11px;padding:10px;background:#f8fafc}.advisor-ai-signal-grid i{width:7px;height:7px;border-radius:99px;background:#94a3b8}.advisor-ai-signal-grid .is-green i{background:#22c55e}.advisor-ai-signal-grid .is-yellow i{background:#f59e0b}.advisor-ai-signal-grid .is-red i{background:#ef4444}.advisor-ai-signal-grid span{display:grid}.advisor-ai-signal-grid strong{font-size:8px}.advisor-ai-signal-grid small{color:#64748b;font-size:6px;line-height:1.6}.advisor-ai-signal-grid b{font-size:9px}.advisor-ai-latest{margin-top:10px;border:1px solid #c7d2fe;border-radius:13px;padding:12px;background:#eef2ff}.advisor-ai-latest p,.advisor-ai-latest li{color:#475569;font-size:8px;line-height:2}.advisor-ai-latest>strong{color:#312e81;font-size:8px}.advisor-ai-thread{display:grid;gap:8px;margin-top:10px}.advisor-ai-thread>article{border:1px solid #e2e8f0;border-radius:13px;padding:12px;background:#fff}.advisor-ai-thread small{color:#94a3b8;font-size:6px}.advisor-ai-thread h3{margin:3px 0;color:#312e81;font-size:10px}.advisor-ai-thread p,.advisor-ai-thread li{color:#475569;font-size:8px;line-height:1.9}.advisor-ai-thread strong{font-size:8px}.advisor-ai-review-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:9px;margin-top:12px}.advisor-ai-review-form label{display:grid;gap:5px;color:#475569;font-size:8px;font-weight:900}.advisor-ai-review-form textarea{width:100%;border:1px solid #d8deea;border-radius:11px;padding:10px;font:inherit;resize:vertical}.advisor-ai-review-form button{min-height:46px;border:0;border-radius:11px;padding:0 14px;color:#fff;background:#4f46e5;font:inherit;font-size:8px;font-weight:900}
@media(max-width:900px){.behavior-dashboard{grid-template-columns:1fr}.advisor-ai-feedback>form{grid-column:1/-1;grid-template-columns:1fr 1fr}.advisor-ai-feedback>form label:nth-child(2){grid-column:1/-1}.advisor-ai-signal-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.ai-coach-center{padding:13px}.ai-coach-head{align-items:flex-start;flex-direction:column}.behavior-trends>div{grid-template-columns:1fr}.ai-coach-form,.advisor-ai-review-form{grid-template-columns:1fr}.coach-question,.coach-answer{max-width:100%}.advisor-ai-feedback>form{grid-template-columns:1fr}.advisor-ai-feedback>form label:nth-child(2){grid-column:auto}.advisor-ai-signal-grid{grid-template-columns:1fr}}
.ai-student-brain{margin:24px 0;padding:24px;border:1px solid #dbeafe;border-radius:24px;background:linear-gradient(145deg,#f8fbff,#f5f3ff);box-shadow:0 18px 50px rgba(59,130,246,.08)}.ai-student-brain>header{display:flex;align-items:center;justify-content:space-between;gap:20px}.ai-student-brain>header span{color:#6366f1;font-weight:800;font-size:.78rem}.ai-student-brain h2,.ai-student-brain h3{margin:5px 0}.ai-student-brain p{color:#475569}.jump-score-ring{--jump:0;width:116px;height:116px;flex:0 0 116px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle closest-side,#fff 76%,transparent 78%),conic-gradient(#7c3aed calc(var(--jump)*1%),#e2e8f0 0);box-shadow:0 8px 25px #ddd6fe}.jump-score-ring b{font-size:2rem;color:#5b21b6}.jump-score-ring small{font-size:.6rem;font-weight:900}.jump-score-summary{display:grid;gap:9px;margin:18px 0;padding:16px;border-radius:18px;background:#fff}.jump-score-summary>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.jump-score-summary i{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:11px;background:#f8fafc;font-style:normal}.ai-brain-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.ai-brain-grid>article{padding:17px;border-radius:18px;background:#fff;border:1px solid #e2e8f0}.psych-scorecard>div{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.psych-scorecard a{display:flex;justify-content:space-between;gap:6px;padding:9px;border-radius:10px;background:#f8fafc;text-decoration:none;color:#334155;font-size:.78rem}.psych-scorecard a.is-green{border-right:4px solid #22c55e}.psych-scorecard a.is-yellow{border-right:4px solid #eab308}.psych-scorecard a.is-red{border-right:4px solid #ef4444}.daily-checkin-card form,.daily-checkin-card form>label{display:grid;gap:8px}.daily-checkin-card form>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.daily-checkin-card label{font-size:.78rem;font-weight:700}.daily-checkin-card input,.daily-checkin-card select{width:100%;box-sizing:border-box}.checkin-insight{margin-top:12px;padding:12px;border-radius:12px;background:#eef2ff}@media(max-width:650px){.ai-student-brain{padding:16px}.ai-student-brain>header{align-items:flex-start}.jump-score-ring{width:88px;height:88px;flex-basis:88px}.psych-scorecard>div,.daily-checkin-card form>div{grid-template-columns:1fr}}
 .notification-push-enable{display:block;margin:0 14px 12px;width:calc(100% - 28px);border:0;border-radius:10px;padding:9px 12px;background:#e8efff;color:#1d4ed8;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.notification-push-enable.is-enabled{background:#e6f8ee;color:#15803d}
