:root{color:#0f172a;background:#07111f;font-family:Inter,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top,#2563eb55,#0000 35%),linear-gradient(135deg,#07111f,#111827);min-height:100vh;margin:0}button,input,select{font:inherit}.login{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.orb{filter:blur(18px);opacity:.45;background:linear-gradient(135deg,#38bdf8,#8b5cf6);border-radius:50%;width:360px;height:360px;animation:6s ease-in-out infinite float;position:absolute}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffe6;border:1px solid #fffa;border-radius:32px;width:min(430px,100%);padding:34px;position:relative;box-shadow:0 30px 90px #0006}.logo{width:72px;height:72px;margin-bottom:12px}.login-card h1{margin:0;font-size:32px}.login-card p{color:#64748b}.login-card input,.panel input,.panel select{background:#fff;border:1px solid #dbe3ef;border-radius:16px;width:100%;margin:8px 0;padding:15px 16px}.login-card button,.primary{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border:0;border-radius:18px;width:100%;margin-top:12px;padding:15px 18px;font-weight:900;box-shadow:0 16px 35px #2563eb55}.phone{background:#f8fafc;max-width:520px;min-height:100vh;margin:0 auto;padding-bottom:92px;position:relative}header{z-index:4;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f8fafcd1;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:18px 20px;display:flex;position:sticky;top:0}header span{color:#64748b;font-size:13px}header h2{margin:0}.ghost{color:#3730a3;background:#e0e7ff;border:0;border-radius:14px;width:44px;height:44px}.hero{color:#fff;background:linear-gradient(135deg,#0f172a,#2563eb 55%,#8b5cf6);border-radius:30px;padding:28px;box-shadow:0 24px 60px #1d4ed844}.hero h1{margin:0 0 8px;font-size:34px}.cards{gap:14px;margin:18px 0;display:grid}.card{color:#fff;border-radius:24px;flex-direction:column;gap:8px;min-height:112px;padding:22px;display:flex;box-shadow:0 18px 40px #0f172a22}.card b{font-size:20px}.blue{background:linear-gradient(135deg,#0284c7,#2563eb)}.purple{background:linear-gradient(135deg,#7c3aed,#db2777)}.amber{background:linear-gradient(135deg,#f59e0b,#ef4444)}nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172aeb;border-radius:24px;grid-template-columns:repeat(4,1fr);gap:8px;width:min(488px,100% - 24px);padding:10px;display:grid;position:fixed;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 18px 55px #0007}nav button{color:#fff;background:0 0;border:0;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;display:flex}nav b{font-size:11px}.metric{background:#fff;border-radius:24px;padding:24px;box-shadow:0 14px 35px #0f172a12}.metric b{color:#2563eb;font-size:42px}.metric span{color:#64748b;display:block}.list{gap:12px;display:grid}.row,.notice,.child,.att,.panel{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:16px;box-shadow:0 10px 28px #0f172a0d}.row{justify-content:space-between;align-items:center;gap:10px;display:flex}.row small,.child span,.att small{color:#64748b;margin-top:4px;display:block}.row strong{color:#2563eb}.notice p{color:#475569}.child{text-align:left;border:0;width:100%;margin:8px 0}.att{grid-template-columns:1fr auto;align-items:center;gap:10px;margin:10px 0;display:grid}.att select{border:1px solid #dbe3ef;border-radius:12px;padding:10px}#toast{color:#fff;z-index:99;background:#0f172a;border-radius:999px;padding:13px 18px;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 14px 40px #0006}@keyframes float{50%{transform:translateY(-24px)scale(1.08)}}.student-box{color:#fff;background:linear-gradient(135deg,#0f172a,#1d4ed8);border-radius:26px;padding:18px 20px;box-shadow:0 18px 42px #1d4ed82e}.student-box b{font-size:20px;display:block}.student-box span{color:#dbeafe;margin-top:6px;font-size:13px;display:block}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.stats div{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:14px 10px;box-shadow:0 10px 24px #0f172a0d}.stats b{color:#2563eb;font-size:24px}.stats span{color:#64748b;margin-top:4px;font-size:12px;display:block}.grade-list-app{gap:12px;display:grid}.grade-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.grade-head b{font-size:16px}.grade-head small{color:#64748b;margin-top:4px;display:block}.badge{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.badge.ok{color:#166534;background:#dcfce7}.badge.bad{color:#991b1b;background:#fee2e2}.badge.muted{color:#475569;background:#e2e8f0}.grade-lines{gap:10px;display:grid}.grade-lines>div{grid-template-columns:34px 1fr;align-items:center;gap:8px;display:grid}.grade-lines span{color:#2563eb;font-size:12px;font-weight:900}.score{color:#64748b;background:#f1f5f9;border-radius:12px;justify-content:center;align-items:center;min-width:34px;height:34px;margin:2px;font-style:normal;font-weight:900;display:inline-flex}.score.ok{color:#166534;background:#dcfce7}.score.bad{color:#991b1b;background:#fee2e2}.score.empty{color:#94a3b8;background:#f1f5f9}.grade-summary,.composite-score{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px;display:grid}.grade-summary span,.composite-score span{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:9px 10px;font-size:12px}.grade-summary strong,.composite-score strong{color:#0f172a;font-size:16px}.components{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.components small{color:#5b21b6;background:#ede9fe;border-radius:999px;padding:7px 9px;font-weight:700}.phone{background:linear-gradient(#f8fbff 0%,#eef4fb 100%);padding-bottom:112px;box-shadow:0 0 0 1px #ffffff14,0 24px 80px #0000003d}header{background:#f8fbfff0;padding:18px 18px 14px}header h2{color:#111827;font-size:24px}.ghost{color:#1d4ed8;background:#e6ecff;border-radius:15px}#content{padding:16px 18px 26px}#content h3{color:#030712;margin:18px 0 12px;font-size:20px}.student-box{background:linear-gradient(135deg,#11235a 0%,#2852d6 100%);border-radius:18px;padding:20px;box-shadow:0 18px 34px #2563eb2e}.student-box b{font-size:19px}.stats{gap:12px;margin:14px 0 18px}.stats div{background:#ffffffeb;border:1px solid #dbe4ef;border-radius:18px;padding:18px 8px;box-shadow:0 12px 26px #0f172a14}.stats b{font-size:23px}.grade-list-app{gap:14px}.grade-card-app{background:linear-gradient(#fff 0%,#fbfdff 100%);border:1px solid #d6e0ea;border-radius:20px;padding:14px 16px;box-shadow:0 10px 26px #0f172a12}.grade-head small{text-transform:uppercase;letter-spacing:.02em;color:#64748b;font-size:11px}.badge{box-shadow:none;padding:7px 10px;font-size:11px}.grade-lines{flex-wrap:wrap;gap:12px 20px;margin:6px 0 8px;display:flex}.grade-lines>div{align-items:center;gap:8px;display:flex}.grade-lines span{color:#1d4ed8;min-width:25px;font-size:12px}.score{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;min-width:38px;height:32px;margin:0 4px 0 0;font-size:14px}.score.ok{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.score.bad{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.grade-summary,.composite-score{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.grade-summary span,.composite-score span{background:#f8fafc;border:1px solid #dbe4ef;border-radius:12px;padding:8px 10px}.grade-summary strong,.composite-score strong{margin-left:3px;font-size:15px}.grade-card-app.composite{background:linear-gradient(#fff 0%,#f8f5ff 100%);border-color:#ddd6fe}.components small{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0}nav{background:#1f2937f5;border-radius:20px;width:min(488px,100% - 30px);bottom:14px;box-shadow:0 12px 34px #00000052}nav button{padding:8px 4px}.grade-card-app:hover{transition:all .18s;transform:translateY(-1px);box-shadow:0 14px 30px #0f172a1a}.web-login{background:linear-gradient(#ffffff14,#ffffff14),url(https://sinhvien.dongan.io.vn/background.jpg) 50%/cover no-repeat;align-items:start;min-height:100vh;padding:14px;overflow:auto}.web-login:before{content:"";-webkit-backdrop-filter:saturate(1.05);backdrop-filter:saturate(1.05);background:#ffffff14;position:absolute;inset:0}.web-login-card{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;border:0;border-radius:18px;width:min(430px,100%);margin:0 auto 22px;padding:34px 38px 42px;box-shadow:0 22px 60px #0f172a33}.brand-web{text-align:center}.web-logo{object-fit:contain;filter:drop-shadow(0 12px 18px #2563eb40);width:78px;height:78px;margin:0 auto 8px;display:block}.brand-web h1{color:#6c63c8;margin:0 0 10px;font-size:24px;font-weight:900;line-height:1.1}.brand-web p{color:#475569;margin:0 0 28px;font-size:13px}.login-tabs{background:#f1f5f9;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:26px;padding:5px;display:grid}.login-tabs button{color:#475569;box-shadow:none;background:0 0;border:0;border-radius:8px;margin:0;padding:11px 8px;font-size:13px;font-weight:800}.login-tabs .active{color:#fff;background:linear-gradient(135deg,#6578ee,#7a4db3);box-shadow:0 8px 18px #6366f147}.input-wrap{background:#fff;border:1px solid #d7e0ee;border-radius:10px;align-items:center;height:40px;margin:12px 0 16px;padding:0 12px;display:flex}.input-wrap span{margin-right:7px;font-size:13px}.input-wrap input{outline:0;font-size:13px;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important}.input-wrap button{border:0;font-size:14px;color:#111!important;width:auto!important;height:auto!important;box-shadow:none!important;background:0 0!important;margin:0!important;padding:0!important}.login-options{color:#64748b;justify-content:space-between;align-items:center;margin:4px 0 18px;font-size:11px;display:flex}.login-options label{align-items:center;gap:7px;display:flex}.login-options input{width:14px;height:14px;margin:0}.login-options a{color:#6d5dfc;text-decoration:none}.web-submit{background:linear-gradient(135deg,#6578ee,#794ab0)!important;border-radius:10px!important;margin:0 0 24px!important;padding:13px!important;box-shadow:0 12px 24px #6366f159!important}.guide-box{background:#d9efff;border:1px solid #8fc7ff;border-radius:14px;padding:18px 16px;box-shadow:0 12px 24px #3b82f624}.guide-box h3{color:#075aa8;margin:0 0 14px;font-size:15px}.guide-card{background:#fff;border-radius:10px;margin-bottom:12px;padding:12px 16px}.guide-card p{font-weight:700;color:#0f172a!important;margin:8px 0!important;font-size:12px!important}.guide-card b{color:#2372c9;background:#dceeff;border-radius:4px;padding:3px 6px}.guide-card strong{color:#ef4444;background:#ffe3e3;border-radius:4px;padding:3px 6px}.guide-note{color:#1d6bb5;background:#eef8ff;border-radius:8px;margin-bottom:14px;padding:12px;font-size:12px;font-weight:600;line-height:1.55}.guide-warn{color:#f04438;background:#fff7d8;border:1px solid #f59e0b;border-radius:8px;padding:13px;font-size:12px;font-weight:700;line-height:1.5}@media (width<=420px){.web-login{padding:8px}.web-login-card{border-radius:16px;padding:30px 36px 40px}.brand-web h1{font-size:22px}.guide-box{padding:16px}.login-tabs button{font-size:12px}}.screen-enter{animation:.35s cubic-bezier(.16,1,.3,1) both screenIn}@keyframes screenIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0;display:grid}.feature-tile{color:#fff;text-align:left;border:0;border-radius:26px;min-height:142px;padding:18px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 18px 38px #0f172a2e}.feature-tile:active{transform:scale(.95)}.feature-tile:hover{transform:translateY(-3px);box-shadow:0 24px 48px #0f172a42}.feature-tile i{margin-bottom:12px;font-size:34px;font-style:normal;display:block}.feature-tile b{margin-bottom:6px;font-size:18px;display:block}.feature-tile span{color:#ffffffdb;font-size:12px;line-height:1.45;display:block}.message-hero{color:#fff;background:linear-gradient(135deg,#5137dd,#06b6d4);border-radius:28px;gap:6px;padding:22px;display:grid;box-shadow:0 18px 42px #2563eb40}.message-hero b{font-size:24px}.message-hero span{color:#e0f2fe}.contact-list{gap:12px;margin-top:16px;display:grid}.contact-card{text-align:left;background:#fffffff0;border:1px solid #dbe4ef;border-radius:22px;grid-template-columns:54px 1fr;align-items:center;gap:12px;width:100%;padding:14px;transition:all .18s;display:grid;box-shadow:0 12px 28px #0f172a14}.contact-card:hover{transform:translateY(-1px);box-shadow:0 16px 34px #0f172a1f}.avatar{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:18px;place-items:center;width:54px;height:54px;font-weight:900;display:grid}.contact-card b{color:#0f172a;font-size:16px;display:block}.contact-card span{color:#2563eb;margin-top:3px;font-size:12px;font-weight:900;display:block}.contact-card small{color:#64748b;margin-top:4px;line-height:1.35;display:block}.back-link{color:#1d4ed8;background:#e0e7ff;border:0;border-radius:999px;margin-bottom:12px;padding:10px 14px;font-weight:900}.chat-box{background:linear-gradient(#f8fbff,#edf4ff);border:1px solid #dbe4ef;border-radius:24px;flex-direction:column;gap:10px;height:calc(100vh - 260px);min-height:360px;padding:14px;display:flex;overflow:auto;box-shadow:inset 0 2px 12px #0f172a0d}.bubble{border-radius:20px;max-width:82%;padding:10px 12px;animation:.2s both bubbleIn;box-shadow:0 8px 20px #0f172a14}@keyframes bubbleIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}.bubble p{margin:0;line-height:1.45}.bubble small{opacity:.68;margin-top:5px;font-size:10px;display:block}.bubble.me{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border-bottom-right-radius:7px;align-self:flex-end}.bubble.them{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:7px;align-self:flex-start}.empty-chat{text-align:center;color:#64748b;margin:auto}.chat-form{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fbffe0;border:1px solid #dbe4ef;border-radius:20px;grid-template-columns:1fr auto;gap:8px;margin-top:12px;padding:8px;display:grid;position:sticky;bottom:96px}.chat-form input{background:#fff;border:0;border-radius:16px;outline:0;padding:14px}.chat-form button{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border:0;border-radius:16px;padding:0 18px;font-weight:900}@media (width<=390px){.feature-grid{grid-template-columns:1fr}.feature-tile{min-height:118px}.chat-box{height:calc(100vh - 245px)}}.app-header-premium{z-index:10;-webkit-backdrop-filter:blur(20px);background:#f8fbffe0;border-bottom:1px solid #e2e8f0cc;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.profile-meta{align-items:center;gap:14px;display:flex}.avatar-glow{color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);border-radius:20px;place-items:center;width:52px;height:52px;font-size:20px;font-weight:800;animation:4s infinite alternate pulseGlow;display:grid;box-shadow:0 8px 24px #3b82f659}@keyframes pulseGlow{0%{box-shadow:0 8px 20px #3b82f64d}to{box-shadow:0 12px 30px #8b5cf68c}}.profile-meta h2{color:#0f172a;margin:0;font-size:19px;font-weight:900}.role-badge{color:#2563eb;background:#3b82f61f;border-radius:99px;margin-top:4px;padding:3px 10px;font-size:11px;font-weight:800;display:inline-block}.logout-btn{color:#ef4444;cursor:pointer;background:#ef44441a;border:0;border-radius:16px;place-items:center;width:44px;height:44px;transition:transform .2s,background .2s;display:grid}.logout-btn:active{background:#ef444433;transform:scale(.92)}.school-home-top{justify-content:space-between;align-items:center;margin:2px 0 10px;display:flex}.school-kicker{color:#2b6cb0;align-items:center;gap:6px;font-size:13px;font-weight:900;display:inline-flex}.school-kicker b{color:#fff;background:#22c55e;border-radius:7px;padding:2px 7px}.school-home-top h1{color:#12305a;margin:4px 0 0;font-size:22px;line-height:1.15}.school-bell{color:#0ea5e9;background:#eff7ff;border:0;border-radius:15px;width:38px;height:38px;box-shadow:0 9px 20px #0ea5e91f}.school-search{color:#94a3b8;background:#f1f5f9;border:1px solid #e5edf6;border-radius:12px;align-items:center;gap:8px;height:38px;margin:8px 0 14px;padding:0 13px;font-size:12px;display:flex}.school-banner{color:#fff;background:linear-gradient(135deg,#87ddf1,#4cc5de);border-radius:18px;grid-template-columns:64px 1fr auto;align-items:center;gap:12px;margin-bottom:14px;padding:14px;display:grid;overflow:hidden;box-shadow:0 16px 30px #0ea5e92e}.banner-mascot{background:#ffffff61;border-radius:18px;place-items:center;width:62px;height:62px;font-size:38px;display:grid}.school-banner b{font-size:14px;line-height:1.25;display:block}.school-banner span{color:#ffffffe6;margin-top:4px;font-size:11px;line-height:1.35;display:block}.school-banner button{color:#fff;background:#14b8a6;border:0;border-radius:10px;padding:9px 11px;font-size:11px;font-weight:900;box-shadow:0 8px 16px #0d94883d}.school-section-card{background:#fff;border:1px solid #e6edf7;border-radius:20px;margin:0 0 16px;padding:15px 12px 12px;box-shadow:0 14px 30px #0f172a0f}.school-section-head{justify-content:space-between;align-items:center;margin:0 4px 12px;display:flex}.school-section-head b{color:#172554;font-size:15px}.school-section-head button{color:#0284c7;background:#edf8ff;border:0;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.home-toolbar{justify-content:flex-end;margin:16px 0 12px;display:flex}.home-toolbar-btn{color:#0369a1;background:#e8f6ff;border:0;border-radius:999px;padding:9px 14px;font-weight:900;box-shadow:0 10px 24px #0ea5e924}.feature-grid-home.icon-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px 8px;margin:0;display:grid}.icon-menu-item{color:#162033;text-align:center;min-height:auto;box-shadow:none;border:0;border-radius:0;flex-direction:column;align-items:center;gap:7px;padding:0;display:flex;background:0 0!important}.icon-menu-item:hover{box-shadow:none;transform:translateY(-2px)}.icon-menu-item:active{transform:scale(.96)}.icon-menu-item .tile-icon-bg{background:linear-gradient(#eef7ff,#fff);border:1px solid #dbeafe;border-radius:15px;place-items:center;width:45px;height:45px;margin:0;display:grid;box-shadow:0 9px 16px #2563eb1c}.icon-menu-item .tile-icon-bg i{margin:0;font-size:22px;font-style:normal}.icon-menu-item b{color:#334155;justify-content:center;align-items:flex-start;min-height:28px;font-size:11px;font-weight:800;line-height:1.25;display:flex}.icon-menu-item span{display:none}.quick-menu-panel{background:#fffffff2;border:1px solid #dbe4ef;border-radius:24px;padding:18px;box-shadow:0 16px 36px #0f172a14}.quick-menu-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.quick-menu-head b{color:#0f172a;font-size:20px;display:block}.quick-menu-head p{color:#64748b;margin:4px 0 0;font-size:13px}.quick-menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.quick-menu-item{text-align:left;background:#fff;border:1px solid #dbe4ef;border-radius:18px;padding:14px;box-shadow:0 10px 22px #0f172a0d}.quick-menu-item.active{background:linear-gradient(135deg,#eff6ff,#fff);border-color:#60a5fa}.quick-menu-item span{margin-bottom:8px;font-size:18px;display:block}.quick-menu-item b{color:#0f172a;font-size:14px;display:block}.quick-menu-item small{color:#64748b;margin-top:4px;font-size:11px;display:block}@media (width<=390px){.school-banner{grid-template-columns:56px 1fr}.school-banner button{grid-column:2;width:max-content}.banner-mascot{width:56px;height:56px}.feature-grid-home.icon-menu-grid{gap:15px 6px}.icon-menu-item .tile-icon-bg{width:42px;height:42px}.icon-menu-item b{font-size:10.5px}.quick-menu-list{grid-template-columns:1fr}}.nav-glass{-webkit-backdrop-filter:blur(18px);background:#fffffff5;border:1px solid #d8e6f5;border-radius:28px;grid-template-columns:repeat(5,1fr);gap:8px;width:min(488px,100% - 32px);padding:10px;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 16px 34px #0f172a14}.nav-glass button{color:#7b8ca6;background:linear-gradient(#fafdff,#eff7ff);border:1px solid #0000;border-radius:20px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:inset 0 1px #ffffffe6}.nav-glass button:hover{border-color:#d3e6fb;transform:translateY(-1px);box-shadow:0 10px 18px #2563eb14}.nav-glass button.active{color:#156fe0;background:linear-gradient(#edf7ff,#dff0ff);border-color:#a9d1ff;box-shadow:0 10px 20px #3b82f626}.nav-glass button b{font-size:11px;font-weight:800}.nav-glass button[data-v=home]{background:linear-gradient(#eef8ff,#dff1ff);border-color:#b7dbff}.nav-glass button[data-v=home].active{color:#0f6fd8;background:linear-gradient(#e7f4ff,#cfeaff)}.nav-glass button[data-v=home] b{color:inherit}.child-card-premium{text-align:left;cursor:pointer;background:#fff;border:1px solid #dbe4ef;border-radius:24px;align-items:center;gap:16px;width:100%;margin:12px 0;padding:16px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 12px 28px #0f172a0f}.child-card-premium:hover{transform:translateY(-2px);box-shadow:0 16px 36px #0f17c81a}.child-avatar{color:#fff;background:linear-gradient(135deg,#10b981,#3b82f6);border-radius:16px;place-items:center;width:48px;height:48px;font-size:18px;font-weight:800;display:grid}.child-info b{color:#0f172a;font-size:16px;display:block}.child-info span{color:#64748b;margin-top:4px;font-size:12px;display:block}.message-hero-premium span{color:#e0f2fe;font-size:13px}.contact-card-premium{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:24px;grid-template-columns:56px 1fr;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:16px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s;display:grid;box-shadow:0 12px 30px #0f172a0d}.contact-card-premium:hover{transform:translateY(-2px);box-shadow:0 18px 36px #0f172a1a}.avatar-circle{color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:50%;place-items:center;width:56px;height:56px;font-size:20px;font-weight:800;display:grid;box-shadow:0 8px 18px #6366f140}.contact-info b{color:#0f172a;font-size:16px;display:block}.role-tag{text-transform:uppercase;border-radius:6px;margin:4px 4px 0 0;padding:2px 8px;font-size:10px;font-weight:900;display:inline-block}.role-tag.teacher{color:#1e40af;background:#dbeafe}.role-tag.student{color:#065f46;background:#d1fae5}.label-detail{color:#4b5563;background:#f3f4f6;border-radius:6px;margin-top:4px;padding:2px 8px;font-size:11px;display:inline-block}.contact-info small{color:#9ca3af;margin-top:6px;font-size:12px;display:block}.chat-thread-header{align-items:center;gap:16px;margin-bottom:14px;display:flex}.back-link-premium{color:#475569;cursor:pointer;background:#f1f5f9;border:0;border-radius:12px;padding:10px 14px;font-weight:800;transition:all .2s}.back-link-premium:active{background:#e2e8f0;transform:scale(.95)}.thread-title b{color:#0f172a;font-size:18px;display:block}.thread-title span{color:#10b981;margin-top:2px;font-size:12px;display:block}.chat-box-premium{background:#fff9;border:1px solid #e2e8f0cc;border-radius:28px;flex-direction:column;gap:14px;height:calc(100vh - 280px);min-height:380px;padding:18px;display:flex;overflow-y:auto;box-shadow:inset 0 4px 16px #0f172a05}.bubble-wrapper{align-items:flex-end;gap:10px;max-width:85%;display:flex}.bubble-wrapper.me{flex-direction:row-reverse;align-self:flex-end}.bubble-wrapper.them{align-self:flex-start}.bubble-avatar{color:#475569;background:#e2e8f0;border-radius:50%;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.bubble-wrapper.me .bubble-avatar{color:#4338ca;background:#c7d2fe}.bubble-wrapper .bubble{border-radius:20px;padding:12px 16px;box-shadow:0 6px 15px #0f172a0a}.bubble-wrapper.me .bubble{color:#fff;background:linear-gradient(135deg,#3b82f6,#6366f1);border-bottom-right-radius:4px}.bubble-wrapper.them .bubble{color:#1e293b;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.chat-form-premium{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd9;border:1px solid #e2e8f0;border-radius:24px;grid-template-columns:1fr auto;gap:10px;margin-top:14px;padding:8px;display:grid;position:sticky;bottom:96px;box-shadow:0 10px 25px #0f172a0d}.chat-form-premium input{background:#fff;border:0;border-radius:18px;outline:0;padding:14px 18px;font-size:14px}.chat-form-premium button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#6366f1);border:0;border-radius:18px;padding:0 22px;font-weight:800;transition:transform .15s}.chat-form-premium button:active{transform:scale(.94)}.student-profile-premium{color:#fff;background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:28px;align-items:center;gap:16px;margin-bottom:18px;padding:20px;display:flex;box-shadow:0 20px 40px #0f172a38}.sp-avatar{color:#fff;background:linear-gradient(135deg,#3b82f6,#10b981);border-radius:20px;place-items:center;width:60px;height:60px;font-size:22px;font-weight:800;display:grid;box-shadow:0 8px 20px #3b82f64d}.sp-info b{font-size:19px;display:block}.sp-info span{color:#94a3b8;margin-top:4px;font-size:12px;display:block}.stats-premium{grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0;display:grid}.stat-box-premium{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:16px 8px;box-shadow:0 8px 24px #0f172a0a}.stat-box-premium b{color:#2563eb;font-size:24px;display:block}.stat-box-premium span{color:#64748b;margin-top:4px;font-size:12px;display:block}.section-title{color:#0f172a;margin:22px 0 14px;font-size:18px;font-weight:900}.grade-card-premium{background:#fff;border:1px solid #e2e8f0;border-radius:24px;margin-bottom:14px;padding:18px;transition:transform .2s;box-shadow:0 12px 30px #0f172a0d}.grade-card-premium:hover{transform:translateY(-2px)}.grade-card-premium.composite{background:linear-gradient(#fff 0%,#fbfaff 100%);border-color:#ddd6fe}.badge-pill{border-radius:99px;padding:4px 10px;font-size:11px;font-weight:800}.grade-lines-premium{gap:10px;margin:14px 0;display:grid}.line-row{grid-template-columns:36px 1fr;align-items:center;gap:10px;display:grid}.line-row>span{color:#4b5563;font-size:12px;font-weight:800}.score-pill{border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-style:normal;font-weight:800;display:inline-flex}.grade-footer-premium{border-top:1px solid #f3f4f6;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;padding-top:12px;display:grid}.composite-grid-premium{grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0;display:grid}@media (width<=390px){.nav-glass{gap:3px;width:calc(100% - 20px)}.nav-glass b{font-size:9px}.profile-detail-head{grid-template-columns:52px 1fr}.profile-detail-head strong{grid-column:1/-1;justify-self:start}.profile-detail-grid{grid-template-columns:1fr}.social-hero b{font-size:21px}}@media (width<=390px){.header-logo-dap{border-radius:16px;width:50px;height:50px}.app-header-premium{padding:16px 14px}.app-header-premium #headerName{max-width:210px;font-size:16px}.logout-btn{width:40px;height:40px}}.class-mini,.logout-btn{color:#fff;background:#ffffff2e}@media (width<=420px){.da-login{padding:10px}.da-login-card{border-radius:28px;padding:26px 24px 28px}.logo-ring{border-radius:28px;width:102px;height:102px}.da-brand .web-logo{width:80px;height:80px}.da-brand h1{font-size:24px}.login-mode-pill{height:46px}.da-input{height:52px!important}.da-guide{border-radius:22px!important}}@media (width<=390px){.grade-evals-premium,.grade-footer-premium{grid-template-columns:1fr}.tile-icon-bg{border-radius:16px;width:48px;height:48px}.nav-glass button{font-size:21px}.feature-grid-compact{gap:8px}.feature-grid-compact .feature-tile{min-height:112px;padding:13px}.hero-content h1{font-size:25px}}@media (width<=760px){.notify-shell{grid-template-columns:1fr}.notice-detail-card{position:static}.notif-badge{right:18px}}.eval-inline-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.composite-grid-premium div{text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 4px}.composite-grid-premium span{color:#64748b;font-size:10px;display:block}.composite-grid-premium strong{color:#0f172a;margin-top:2px;font-size:14px;display:block}.components-list-premium{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.components-list-premium span{color:#5b21b6;background:#ede9fe;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:750}.attendance-header-premium,.notify-header-premium{color:#fff;background:linear-gradient(135deg,#0284c7,#0ea5e9);border-radius:24px;margin-bottom:18px;padding:20px;box-shadow:0 16px 36px #0ea5e938}.attendance-header-premium b,.notify-header-premium b{margin-bottom:4px;font-size:20px;display:block}.attendance-header-premium span,.notify-header-premium span{color:#e0f2fe;font-size:12px;display:block}.list-premium{gap:12px;display:grid}.row-premium{background:#fff;border:1px solid #e2e8f0;border-radius:22px;justify-content:space-between;align-items:center;padding:16px;display:flex;box-shadow:0 8px 24px #0f172a08}.row-left b{color:#0f172a;font-size:16px;display:block}.row-left span{color:#64748b;margin-top:3px;font-size:12px;display:block}.att-note{margin-top:6px;display:block;color:#b91c1c!important;font-size:11px!important}.status-badge{border-radius:99px;padding:4px 10px;font-size:11px;font-weight:800}.status-badge.present{color:#065f46;background:#d1fae5}.status-badge.excused_absent{color:#92400e;background:#fef3c7}.status-badge.unexcused_absent{color:#991b1b;background:#fee2e2}.status-badge.late{color:#0369a1;background:#e0f2fe}.status-badge.leave{color:#374151;background:#f3f4f6}.notice-card-premium{background:#fff;border:1px solid #e2e8f0;border-radius:24px;padding:18px;box-shadow:0 8px 24px #0f172a08}.notice-top{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding-bottom:8px;display:flex}.notice-top b{color:#0f172a;font-size:16px}.notice-time{color:#9ca3af;white-space:nowrap;font-size:11px}.notice-card-premium p{color:#4b5563;margin:0;font-size:13px;line-height:1.5}.panel-premium{background:#fff;border:1px solid #e2e8f0;border-radius:28px;margin-bottom:18px;padding:22px;box-shadow:0 12px 30px #0f172a0a}.panel-premium h3{margin:0 0 16px;font-size:18px}.form-group-premium{margin-bottom:14px}.form-group-premium label{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:800;display:block}.form-group-premium select,.form-group-premium input{background:#f8fafc;border:1px solid #dbe4ef;border-radius:14px;outline:0;width:100%;padding:12px 14px}.primary-btn-premium{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2563eb,#7c3aed);border:0;border-radius:16px;width:100%;padding:14px 18px;font-weight:900;transition:transform .15s;box-shadow:0 10px 25px #2563eb33}.primary-btn-premium:active{transform:scale(.97)}.att-row-premium{background:#fff;border:1px solid #e2e8f0;border-radius:20px;justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px;display:flex;box-shadow:0 6px 20px #0f172a05}.att-student-meta b{font-size:15px;display:block}.att-student-meta span{color:#64748b;margin-top:2px;font-size:11px;display:block}.att-row-premium select{border:1px solid #dbe4ef;border-radius:10px;padding:8px}.feature-tile.indigo{background:linear-gradient(135deg,#4f46e5,#06b6d4)}.nav-glass{grid-template-columns:repeat(5,1fr)}.nav-glass button{min-width:0}.nav-glass button{padding:9px 2px}.profile-inline-loading{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:22px;margin:16px 0;padding:16px;box-shadow:0 10px 26px #0f172a0d}.profile-detail-card{background:linear-gradient(#fff,#f8fbff);border:1px solid #dbeafe;border-radius:28px;margin:16px 0;padding:18px;animation:.35s cubic-bezier(.16,1,.3,1) both screenIn;box-shadow:0 18px 42px #2563eb1a}.profile-detail-head{grid-template-columns:60px 1fr auto;align-items:center;gap:14px;margin-bottom:16px;display:grid}.profile-detail-head b{color:#0f172a;font-size:18px;display:block}.profile-detail-head span{color:#64748b;margin-top:4px;font-size:12px;display:block}.profile-detail-head strong{color:#166534;white-space:nowrap;background:#dcfce7;border-radius:999px;padding:7px 10px;font-size:11px}.profile-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.profile-detail-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px}.profile-detail-grid span{color:#64748b;margin-bottom:5px;font-size:11px;display:block}.profile-detail-grid b{color:#0f172a;font-size:13px;line-height:1.35;display:block}.family-strip{gap:8px;margin-top:12px;display:grid}.family-strip span{color:#3730a3;background:#eef2ff;border-radius:14px;padding:10px 12px;font-size:12px}.special-info{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;margin:12px 0 0;padding:10px 12px;font-size:12px;line-height:1.45}.social-hero{color:#fff;background:radial-gradient(circle at 90% 0,#ffffff47,#0000 28%),linear-gradient(135deg,#0f172a,#4f46e5 55%,#06b6d4);border-radius:30px;margin-bottom:16px;padding:24px;box-shadow:0 22px 48px #4f46e547}.social-hero b{margin-bottom:7px;font-size:24px;display:block}.social-hero span{color:#e0f2fe;font-size:13px;line-height:1.5;display:block}.post-composer{background:#fff;border:1px solid #e2e8f0;border-radius:28px;gap:12px;margin-bottom:18px;padding:16px;display:grid;box-shadow:0 14px 34px #0f172a0f}.post-composer textarea{resize:vertical;background:#f8fafc;border:0;border-radius:20px;outline:0;width:100%;min-height:92px;padding:14px 16px;line-height:1.45}.media-picker{color:#1d4ed8;background:#eff6ff;border:1px dashed #93c5fd;border-radius:18px;justify-content:center;align-items:center;gap:8px;padding:13px;font-weight:900;display:flex;position:relative}.media-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.social-feed{gap:16px;display:grid}.social-post{background:#fff;border:1px solid #e2e8f0;border-radius:28px;padding:16px;animation:.3s both screenIn;box-shadow:0 14px 34px #0f172a0f}.post-head{grid-template-columns:44px 1fr auto;align-items:center;gap:12px;display:grid}.avatar-circle.small{width:44px;height:44px;font-size:16px}.post-head b{color:#0f172a;font-size:15px;display:block}.post-head span{color:#64748b;margin-top:3px;font-size:11px;display:block}.post-delete{color:#991b1b;background:#fee2e2;border:0;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.post-content{white-space:pre-wrap;color:#1f2937;margin:14px 0;line-height:1.55}.post-media{object-fit:cover;background:#0f172a;border-radius:22px;width:100%;max-height:430px;margin:10px 0;box-shadow:0 12px 26px #0f172a1f}video.post-media{object-fit:contain}.post-actions{color:#64748b;border-top:1px solid #f1f5f9;border-bottom:1px solid #f1f5f9;justify-content:space-between;margin:10px 0;padding:10px 0;font-size:12px;font-weight:800;display:flex}.comments-list{gap:8px;display:grid}.comment-item{background:#f8fafc;border-radius:16px;padding:10px 12px}.comment-item b{color:#334155;margin-bottom:3px;font-size:12px;display:block}.comment-item span{color:#475569;font-size:12px;line-height:1.45}.comment-form{grid-template-columns:1fr auto;gap:8px;margin-top:10px;display:grid}.comment-form input{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;outline:0;padding:12px 14px}.comment-form button{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border:0;border-radius:16px;padding:0 15px;font-weight:900}@media (width<=390px){.nav-glass{gap:3px;width:calc(100% - 20px)}.nav-glass b{font-size:9px}.profile-detail-head{grid-template-columns:52px 1fr}.profile-detail-head strong{grid-column:1/-1;justify-self:start}.profile-detail-grid{grid-template-columns:1fr}.social-hero b{font-size:21px}}.header-logo-dap{object-fit:contain;background:#fff;border-radius:18px;width:58px;height:58px;padding:6px;box-shadow:0 12px 26px #2563eb2e,0 0 0 1px #dbeafee6}.header-subline{flex-wrap:wrap;align-items:center;gap:7px;margin-top:4px;display:flex}.class-mini{color:#3730a3;background:#eef2ff;border-radius:999px;align-items:center;padding:3px 9px;font-size:11px;font-weight:900;display:inline-flex}.app-header-premium #headerName{white-space:nowrap;text-overflow:ellipsis;max-width:285px;font-size:18px;line-height:1.18;overflow:hidden}.back-home-btn{color:#1d4ed8;background:#2563eb1a;border:0;border-radius:999px;align-items:center;gap:7px;margin:0 0 14px;padding:10px 14px;font-weight:900;transition:transform .16s,background .16s;display:inline-flex;box-shadow:0 8px 20px #2563eb14}.back-home-btn:active{background:#2563eb2e;transform:scale(.95)}@media (width<=390px){.header-logo-dap{border-radius:16px;width:50px;height:50px}.app-header-premium{padding:16px 14px}.app-header-premium #headerName{max-width:210px;font-size:16px}.logout-btn{width:40px;height:40px}}.da-login{background:linear-gradient(#ffffffb8,#f5fbffe6),url(https://sinhvien.dongan.io.vn/background.jpg) 50%/cover no-repeat;align-items:center;padding:18px}.da-login:before{content:"";-webkit-backdrop-filter:saturate(1.02)blur(2px);backdrop-filter:saturate(1.02)blur(2px);background:linear-gradient(#ffffff9e,#e8f6ffd1);position:absolute;inset:0}.da-login-card{background:#fff;border:1px solid #dbeefd;border-radius:30px;width:min(430px,100%);margin:0 auto;padding:28px 30px 32px;overflow:hidden;box-shadow:0 24px 70px #0e749029}.login-orb{display:none}.da-brand{text-align:center;position:relative}.logo-ring{background:#fff;border-radius:28px;place-items:center;width:108px;height:108px;margin:0 auto 8px;display:grid;box-shadow:0 14px 34px #0284c71f,0 0 0 1px #dbeafe}.da-brand .web-logo{filter:none;width:86px;height:86px;margin:0}.brand-kicker{color:#0b78c8;letter-spacing:.08em;background:#eef8ff;border-radius:999px;margin:2px auto 8px;padding:5px 12px;font-size:10px;font-weight:900;display:inline-flex}.da-brand h1{color:#0b78c8;background:0 0;-webkit-background-clip:initial;background-clip:initial;margin:0;font-size:26px;font-weight:1000;line-height:1.05}.da-brand p{color:#64748b;margin:9px 0 22px;font-size:13px}.login-mode-pill{color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#0b8ee8,#0aa9ef);border-radius:999px;place-items:center;height:46px;margin-bottom:18px;font-weight:900;display:grid;box-shadow:0 12px 26px #0ea5e938}.da-input{height:52px!important;box-shadow:none!important;background:#fff!important;border:1.5px solid #b8d7e8!important;border-radius:999px!important;margin:12px 0!important}.da-input:focus-within{border-color:#0ea5e9!important;box-shadow:0 0 0 4px #0ea5e91f!important}.input-icon{color:#0b78c8;background:#eef8ff;border-radius:999px;place-items:center;width:30px;height:30px;display:grid;margin-right:10px!important}.input-icon svg,.eye-modern svg,.da-submit svg,.da-guide h3 svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.da-input input{color:#0f172a;font-weight:700}.eye-modern{color:#0b78c8!important;border-radius:999px!important;place-items:center!important;width:34px!important;height:34px!important;display:grid!important}.da-options{margin:10px 0 18px;font-size:12px}.da-options label{color:#64748b;font-weight:600}.da-options input{accent-color:#0ea5e9}.zalo-link{align-items:center;gap:6px;font-weight:800;display:inline-flex;color:#0b78c8!important;text-decoration:none!important}.zalo-link:before{content:"Z";color:#fff;background:#0b8ee8;border-radius:6px;place-items:center;width:18px;height:18px;font-size:11px;font-weight:900;display:grid}.da-submit{justify-content:center;align-items:center;gap:10px;transition:transform .18s,filter .18s;display:flex;background:linear-gradient(135deg,#087ee8,#0aa9ef)!important;border-radius:999px!important;height:54px!important;margin:0 0 22px!important;box-shadow:0 14px 28px #0ea5e947!important}.da-submit svg{width:21px;height:21px}.da-submit:active{transform:scale(.98)}.da-guide{background:#eaf7ff!important;border:1px solid #93d5ff!important;border-radius:22px!important;padding:18px!important;box-shadow:0 14px 30px #0ea5e91f!important}.da-guide h3{align-items:center;gap:9px;display:flex;color:#0b78c8!important;font-size:16px!important}.da-guide .guide-card{box-shadow:none;background:#fff;border:0}.da-guide .guide-card b{color:#0b78c8;background:#dff1ff}.da-guide .guide-card strong{color:#0b78c8;background:#eef6ff}.da-guide .guide-note{color:#0b78c8;background:#f5fbff}.da-guide .guide-warn{color:#d97706;background:#fffdf2;border-color:#facc15}.login-tabs{display:none!important}body{background:#eaf7ff}.phone{background:#f7fbff;box-shadow:0 0 0 1px #bae6fd8c,0 24px 70px #0e74902e}.app-header-premium{color:#fff;background:linear-gradient(#087ee8,#0aa9ef);border-bottom:0}.app-header-premium #headerName,.app-header-premium h2{color:#fff}.header-logo-dap{background:#fff;box-shadow:0 12px 28px #0284c72e,0 0 0 1px #fffc}.role-badge{color:#fff;background:#ffffff38}.class-mini,.logout-btn{color:#fff;background:#ffffff2e}.nav-glass{background:#fff;border:1px solid #dbeafe;box-shadow:0 12px 34px #0e74902e}.nav-glass button{color:#7c95a8;font-size:21px;transition:transform .18s,background .18s,color .18s}.nav-glass b{color:inherit}.nav-glass button.active{color:#0b78c8;background:#eaf7ff;box-shadow:inset 0 0 0 1px #bae6fd}.nav-glass button:active{transform:scale(.95)}.hero-premium,.social-hero{background:linear-gradient(135deg,#087ee8,#0aa9ef)!important;box-shadow:0 18px 38px #0ea5e938!important}.feature-tile.blue,.feature-tile.indigo{background:linear-gradient(135deg,#0b8ee8,#0aa9ef)}.feature-tile.purple{background:linear-gradient(135deg,#4aa3df,#0b8ee8)}.feature-tile.green{background:linear-gradient(135deg,#32b4e8,#0aa9ef)}.feature-tile.amber{background:linear-gradient(135deg,#65c7f7,#0b8ee8)}.feature-tile{box-shadow:0 14px 28px #0e749024}.primary-btn-premium,.comment-form button{background:linear-gradient(135deg,#087ee8,#0aa9ef)!important}.back-home-btn{color:#0b78c8;box-shadow:none;background:#eaf7ff}.profile-detail-card,.social-post,.post-composer,.grade-card-premium,.panel-premium{border-color:#dbeafe!important;box-shadow:0 12px 28px #0e74901a!important}.sp-avatar,.avatar-circle,.child-avatar{background:linear-gradient(135deg,#0b8ee8,#0aa9ef)!important}.badge-pill.ok,.score-pill.ok{color:#0369a1!important;background:#e0f2fe!important}.guide-note{color:#0b78c8;background:#eaf7ff}@media (width<=420px){.da-login{padding:10px}.da-login-card{border-radius:28px;padding:26px 24px 28px}.logo-ring{border-radius:28px;width:102px;height:102px}.da-brand .web-logo{width:80px;height:80px}.da-brand h1{font-size:24px}.login-mode-pill{height:46px}.da-input{height:52px!important}.da-guide{border-radius:22px!important}}.stat-box-premium{border-radius:22px;padding:18px 10px}.stat-box-premium b{font-size:26px}.stat-box-premium span{font-size:12px}.student-profile-premium{color:#fff;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:28px;grid-template-columns:54px 1fr;align-items:center;gap:14px;margin:12px 0 16px;padding:18px 16px;display:grid;box-shadow:0 18px 38px #0f172a2e}.student-profile-premium .sp-avatar{background:linear-gradient(135deg,#0b8ee8,#0aa9ef);width:54px;height:54px;font-size:20px}.student-profile-premium .sp-info b{color:#fff;font-size:18px;display:block}.student-profile-premium .sp-info span{color:#cbd5e1;margin-top:4px;font-size:12px;line-height:1.35;display:block}.grade-card-premium{background:#fff;border:1px solid #dbeafe;border-radius:24px;margin-bottom:14px;padding:15px 16px;box-shadow:0 12px 28px #0f172a12}.grade-card-premium:hover{transition:all .18s;transform:translateY(-1px);box-shadow:0 16px 32px #0f172a17}.grade-head{border-bottom:1px solid #eef4fb;margin-bottom:10px;padding-bottom:10px}.grade-head b{color:#0f172a;font-size:16px}.grade-head small{letter-spacing:.02em;text-transform:uppercase;color:#64748b;font-size:11px}.badge-pill{white-space:nowrap;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}.badge-pill.ok{color:#0369a1;background:#e0f2fe}.badge-pill.bad{color:#b91c1c;background:#fee2e2}.badge-pill.muted{color:#64748b;background:#f1f5f9}.grade-evals-premium{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;display:grid}.eval-block{background:#f8fbff;border:1px solid #e2e8f0;border-radius:18px;min-width:0;padding:12px 12px 10px}.eval-block>span{color:#475569;letter-spacing:.03em;margin-bottom:8px;font-size:11px;font-weight:900;display:block}.scores{flex-wrap:wrap;gap:8px;display:flex}.score-pill{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;min-width:38px;height:38px;padding:0 10px;font-size:14px;font-weight:900;display:inline-flex}.score-pill.ok{color:#166534;background:#dcfce7;border-color:#bbf7d0}.score-pill.bad{color:#b91c1c;background:#fee2e2;border-color:#fecaca}.score-pill.empty{color:#94a3b8;background:#f8fafc}.grade-footer-premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;display:grid}.foot-item{background:#f8fbff;border:1px solid #e2e8f0;border-radius:16px;padding:10px 12px}.foot-item span{color:#64748b;font-size:11px;display:block}.foot-item strong{color:#0f172a;margin-top:3px;font-size:15px;display:block}.empty-text{color:#64748b;text-align:center;padding:18px 0}.section-title{color:#0f172a;margin:18px 0 12px;font-size:20px}.nav-glass button{font-size:23px}.nav-glass b{font-size:11px}.tile-icon-bg{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff2e;border-radius:18px;place-items:center;width:52px;height:52px;margin-bottom:14px;display:grid}.tile-icon-bg i{font-size:26px;line-height:1}.feature-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.feature-grid-compact .feature-tile{border-radius:22px;min-height:120px;padding:14px 14px 16px}.feature-grid-compact .feature-tile b{font-size:16px}.feature-grid-compact .feature-tile span{font-size:11px;line-height:1.35}.feature-grid-compact .tile-icon-bg{border-radius:14px;width:42px;height:42px;margin-bottom:10px}.feature-grid-compact .tile-icon-bg i{font-size:20px}.hero-content h1{font-size:28px;line-height:1.1}.hero-content p{max-width:34ch;font-size:14px;line-height:1.55}@media (width<=390px){.grade-evals-premium,.grade-footer-premium{grid-template-columns:1fr}.tile-icon-bg{border-radius:16px;width:48px;height:48px}.nav-glass button{font-size:21px}.feature-grid-compact{gap:8px}.feature-grid-compact .feature-tile{min-height:112px;padding:13px}.hero-content h1{font-size:25px}}.notif-badge{color:#fff;background:#ef4444;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:900;display:inline-flex;position:absolute;top:6px;right:12px;box-shadow:0 6px 14px #ef444447}.nav-glass button{position:relative}.notify-list{flex-direction:column;gap:10px;min-width:0;display:flex}.notice-card-premium{text-align:left;background:#fff;border:1px solid #dbeafe;border-radius:20px;flex-direction:column;gap:8px;width:100%;padding:14px 15px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 10px 24px #0e749014}.notice-card-premium.unread{background:linear-gradient(#f8fcff,#fff);border-color:#0b8ee8}.notice-card-premium.active{outline:2px solid #0b8ee8}.notice-card-head,.notice-detail-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notice-card-head b,.notice-detail-top b{color:#0f172a;font-size:15px;line-height:1.35}.notice-state{white-space:nowrap;color:#475569;background:#e2e8f0;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:11px;font-weight:900;display:inline-flex}.notice-state.unread{color:#0369a1;background:#dbeafe}.notice-meta,.notice-detail-meta{color:#64748b;flex-wrap:wrap;gap:8px;font-size:11px;display:flex}.notice-meta span,.notice-detail-meta span{background:#f8fbff;border:1px solid #e2e8f0;border-radius:999px;padding:5px 8px}.notify-detail-wrap{min-width:0}.notice-detail-content{color:#0f172a;white-space:normal;background:#fff;border:1px solid #e2e8f0;border-radius:18px;margin-top:14px;padding:16px;font-size:14px;line-height:1.7}.notice-attachments{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.notice-attachments a{color:#0b78c8;background:#eaf7ff;border-radius:999px;align-items:center;gap:6px;padding:8px 12px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}@media (width<=760px){.notify-shell{grid-template-columns:1fr}.notice-detail-card{position:static}.notif-badge{right:18px}}.grade-evals-inline{background:#f8fbff;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:8px;margin-top:8px;padding:12px 13px;display:flex}.eval-inline-row span{color:#334155;white-space:nowrap;font-size:13px;font-weight:900}.eval-inline-row .scores{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.grade-evals-inline .score-pill{border-radius:12px;min-width:34px;height:34px;font-size:13px}@media (width<=390px){.eval-inline-row span{font-size:12px}.grade-evals-inline .score-pill{min-width:32px;height:32px}}.date-nav-premium{background:#fff;border:1px solid #e2e8f0;border-radius:24px;justify-content:space-between;align-items:center;margin-bottom:18px;padding:12px 14px;display:flex;box-shadow:0 10px 25px #0f172a08,0 1px 3px #00000003}.date-nav-premium button{color:#334155;cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;place-items:center;width:38px;height:38px;font-size:14px;font-weight:900;transition:all .2s cubic-bezier(.16,1,.3,1);display:grid;box-shadow:0 2px 8px #0000000a}.date-nav-premium button:active{background:#e2e8f0;transform:scale(.9)}.date-nav-premium div{text-align:center}.date-nav-premium b{color:#0f172a;letter-spacing:-.01em;font-size:15px;font-weight:800;display:block}.date-nav-premium span{color:#0b78c8;background:#e6f4ff;border-radius:99px;align-items:center;gap:4px;margin-top:3px;padding:3px 10px;font-size:12px;font-weight:750;display:inline-flex}.timetable-list-container{gap:14px;display:grid}.timetable-card-premium{background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:16px 16px 16px 22px;transition:transform .22s cubic-bezier(.16,1,.3,1),box-shadow .22s;position:relative;overflow:hidden;box-shadow:0 10px 30px #0f172a08}.timetable-card-premium:before{content:"";border-top-left-radius:20px;border-bottom-left-radius:20px;width:6px;position:absolute;top:0;bottom:0;left:0}.timetable-card-premium.morning:before{background:linear-gradient(#f59e0b,#d97706)}.timetable-card-premium.afternoon:before{background:linear-gradient(#3b82f6,#1d4ed8)}.timetable-card-premium:hover{transform:translateY(-2px);box-shadow:0 14px 36px #0f172a0f}.timetable-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.timetable-card-title-wrap{flex-direction:column;gap:4px;display:flex}.timetable-card-title-wrap b{color:#0f172a;font-size:16px;font-weight:800;line-height:1.35}.timetable-card-title-wrap span{color:#64748b;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex}.timetable-range-badge{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:99px;padding:4px 10px;font-size:11px;font-weight:800}.timetable-card-premium.morning .timetable-range-badge{color:#b45309;background:#fffbeb;border-color:#fde68a}.timetable-card-premium.afternoon .timetable-range-badge{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.timetable-card-meta{border-top:1px dashed #f1f5f9;flex-wrap:wrap;gap:6px;padding-top:12px;display:flex}.timetable-card-meta span{color:#64748b;background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.att-status-btn{color:#64748b;cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1px solid #dbe4ef;border-radius:12px;outline:none;min-width:140px;padding:8px 16px;font-size:13px;font-weight:800;transition:all .15s cubic-bezier(.16,1,.3,1)}.att-status-btn.present{color:#065f46;background:#d1fae5;border-color:#a7f3d0}.att-status-btn.excused_absent{color:#92400e;background:#fef3c7;border-color:#fde68a}.att-status-btn.unexcused_absent{color:#991b1b;background:#fee2e2;border-color:#fecaca}.att-status-btn:active{transform:scale(.95)}.att-note-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;gap:6px;margin-bottom:12px;padding:14px;display:flex;box-shadow:0 6px 20px #0f172a05}.att-note-label{color:#475569;align-items:center;gap:4px;font-size:12px;font-weight:800;display:flex}.att-note-textarea{color:#334155;resize:none;background:#f8fafc;border:1px solid #cbd5e1;border-radius:12px;outline:none;width:100%;min-height:72px;padding:10px 12px;font-size:13px;transition:all .15s}.att-note-textarea:focus{background:#fff;border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.homeroom-tabs{background:#f1f5f9;border-radius:14px;margin-bottom:20px;padding:4px;display:flex}.homeroom-tabs button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1;padding:10px;font-size:14px;font-weight:800;transition:all .2s}.homeroom-tabs button.active{color:#0b78c8;background:#fff;box-shadow:0 4px 10px #0000000d}.message-hero-premium{color:#fff;background:linear-gradient(135deg,#0b8ee8,#0aa9ef);border-radius:24px;margin-bottom:18px;padding:20px;box-shadow:0 16px 36px #0b8ee838}.message-hero-premium b{margin-bottom:4px;font-size:20px;display:block}.message-hero-premium span{color:#e0f2fe;font-size:12px;display:block}.message-search-wrap{margin-bottom:16px;position:relative}.message-search-wrap i{color:#64748b;font-size:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.message-search-wrap input{color:#0f172a;background:#fff;border:1.5px solid #b8d7e8;border-radius:999px;outline:none;width:100%;padding:12px 14px 12px 42px;font-size:14px;box-shadow:0 4px 12px #0e749008}.message-search-wrap input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91f}.message-contact-list{flex-direction:column;gap:10px;display:flex}.message-contact-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:22px;align-items:center;gap:14px;width:100%;padding:14px 16px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 8px 24px #0f172a05}.message-contact-card:hover{border-color:#bae6fd;transform:translateY(-1px);box-shadow:0 12px 28px #0e74900f}.message-contact-card:active{transform:scale(.98)}.contact-avatar{color:#fff;background:linear-gradient(135deg,#0b8ee8,#0aa9ef);border-radius:16px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:16px;font-weight:800;display:grid}.contact-meta{flex-grow:1;min-width:0}.contact-meta b{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:15px;display:block;overflow:hidden}.contact-meta span{color:#64748b;margin-bottom:4px;font-size:11px;display:block}.contact-meta small{color:#475569;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.message-contact-card time{color:#94a3b8;white-space:nowrap;align-self:flex-start;margin-top:2px;font-size:11px}.notify-shell-premium{gap:14px;display:grid}.notify-header-premium{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#2563eb 55%,#7c3aed 100%);border-radius:26px;justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 18px 16px;display:flex;box-shadow:0 20px 48px #2563eb3d}.notify-header-premium b{margin:4px 0 6px;font-size:22px;display:block}.notify-header-premium span{color:#dbeafe;font-size:13px}.notify-header-stats{gap:10px;display:flex}.notify-header-stats div{text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff24;border:1px solid #ffffff29;border-radius:18px;min-width:74px;padding:10px 12px}.notify-header-stats b{margin:0;font-size:20px;line-height:1;display:block}.notify-header-stats span{color:#e0f2fe;margin-top:4px;font-size:11px;display:block}.notify-shell{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:14px;display:grid}.notify-list,.notify-detail-wrap{min-width:0}.notice-card-premium{text-align:left;background:#fffffff5;border:1px solid #dbe4ef;border-radius:22px;width:100%;margin-bottom:12px;padding:14px 15px;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s,border-color .18s;box-shadow:0 10px 26px #0f172a0f}.notice-card-premium:hover{transform:translateY(-2px);box-shadow:0 16px 34px #0f172a1a}.notice-card-premium.active{border-color:#60a5fa;box-shadow:0 18px 36px #2563eb1f}.notice-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notice-card-title-wrap{min-width:0}.notice-card-title-wrap b{color:#0f172a;margin-top:6px;font-size:16px;line-height:1.35;display:block}.notice-chip{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:5px 10px;font-size:10px;font-weight:900;display:inline-flex}.notice-chip.unread{color:#1d4ed8;background:#dbeafe}.notice-chip.read{color:#475569;background:#e2e8f0}.notice-state{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border-radius:999px;flex-shrink:0;padding:7px 10px;font-size:11px;font-weight:800}.notice-state.read{color:#475569;background:#e2e8f0}.notice-meta{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.notice-meta span,.notice-card-foot span,.notice-detail-meta span,.notice-kicker{color:#475569;background:#f8fbff;border:1px solid #dbe4ef;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:inline-flex}.notice-card-foot{margin-top:12px}.notice-card-foot span{color:#1d4ed8;background:#f1f5ff}.notice-detail-card{background:#fffffffa;border:1px solid #dbe4ef;border-radius:28px;padding:18px;position:sticky;top:92px;box-shadow:0 16px 34px #0f172a14}.notice-detail-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notice-detail-top b{color:#0f172a;margin:6px 0;font-size:22px;line-height:1.25;display:block}.notice-detail-top>div>span{color:#64748b;font-size:12px;display:block}.notice-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.notice-detail-metrics div{text-align:center;background:linear-gradient(#f8fbff,#eef6ff);border:1px solid #dbe4ef;border-radius:18px;padding:12px}.notice-detail-metrics b{color:#1d4ed8;font-size:20px;display:block}.notice-detail-metrics span{color:#64748b;margin-top:4px;font-size:11px;display:block}.notice-detail-meta{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.notice-detail-content{color:#0f172a;background:linear-gradient(#fbfdff,#f8fbff);border:1px solid #dbe4ef;border-radius:22px;padding:16px;font-size:14px;line-height:1.65}.notice-attachments{margin-top:16px}.notice-attachments-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.notice-attachments-head b{color:#0f172a;font-size:15px}.notice-attachments-head span{color:#64748b;font-size:12px}.attachment-grid{gap:12px;display:grid}.attachment-card{background:#fff;border:1px solid #dbe4ef;border-radius:22px;grid-template-columns:56px 1fr;align-items:center;gap:12px;padding:14px;display:grid;box-shadow:0 12px 24px #0f172a0d}.attachment-card.pdf{background:linear-gradient(135deg,#fff 0%,#fff7f8 100%)}.attachment-icon{border-radius:18px;place-items:center;width:56px;height:56px;font-size:24px;display:grid}.attachment-icon.pdf{color:#fff;background:linear-gradient(135deg,#ef4444,#f97316)}.attachment-icon.file{color:#fff;background:linear-gradient(135deg,#2563eb,#8b5cf6)}.attachment-body b{color:#0f172a;font-size:14px;display:block}.attachment-body span{color:#64748b;margin-top:4px;font-size:12px;display:block}.attachment-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.attachment-btn{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;min-height:36px;padding:0 12px;font-size:12px;font-weight:900;text-decoration:none;display:inline-flex}.attachment-btn.primary{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed)}.attachment-btn.ghost{color:#1d4ed8;background:#eff6ff;border-color:#dbe4ef}@media (width<=860px){.notify-shell{grid-template-columns:1fr}.notice-detail-card{position:static}}@media (width<=520px){.notify-header-premium{flex-direction:column}.notify-header-stats{width:100%}.notify-header-stats div{flex:1;min-width:0}.notice-detail-metrics,.attachment-card{grid-template-columns:1fr}.attachment-icon{width:48px;height:48px}}.chat-thread-head{background:#fff;border:1px solid #e2e8f0;border-radius:22px;align-items:center;gap:14px;margin-bottom:14px;padding:12px 16px;display:flex;box-shadow:0 8px 24px #0f172a05}.chat-thread-head button{color:#0b78c8;cursor:pointer;background:#eaf7ff;border:0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:800;transition:all .15s}.chat-thread-head button:active{background:#bae6fd;transform:scale(.95)}.chat-thread-head b{color:#0f172a;font-size:16px;font-weight:800}.chat-messages-live{scroll-behavior:smooth;background:#f8fafc;border:1px solid #e2e8f0;border-radius:24px;flex-direction:column;gap:12px;height:380px;margin-bottom:14px;padding:16px;display:flex;overflow-y:auto}.chat-bubble{border-radius:18px;flex-direction:column;gap:4px;max-width:80%;padding:10px 14px;font-size:14px;line-height:1.45;animation:.25s both screenIn;display:flex}.chat-bubble.them{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble.me{color:#fff;background:linear-gradient(135deg,#0b8ee8,#0aa9ef);border-bottom-right-radius:4px;align-self:flex-end;box-shadow:0 6px 16px #0b8ee826}.chat-bubble p{white-space:pre-wrap;margin:0}.chat-bubble span{align-self:flex-end;font-size:10px}.chat-bubble.them span{color:#94a3b8}.chat-bubble.me span{color:#e0f2fe}.chat-compose{gap:8px;display:flex}.chat-compose input{color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:none;flex-grow:1;padding:12px 14px;font-size:14px;transition:all .15s}.chat-compose input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px #0ea5e91a}.chat-compose button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0b8ee8,#0aa9ef);border:0;border-radius:16px;padding:0 20px;font-weight:800;transition:transform .15s;box-shadow:0 4px 12px #0b8ee826}.chat-compose button:active{transform:scale(.95)}
