/* =====================================================================
   MIHELSEOUL - TRANG DANG NHAP  (viet lai 2026-08-08)

   Nen dong: mot hat nuoc roi xuong mat ho -> mat nuoc bi khuay dong manh,
   song lan ra bon phia -> song lang dan -> chu MIHELSEOUL hien len cung bong
   lat nguoc duoi nuoc.

   CA CANH CHAY DUNG MOT LAN ROI DUNG  (chot 2026-08-13, theo yeu cau).
   Mo trang -> giot roi -> song lan ra -> song lang -> chu hien len -> HET.
   Muon xem lai phai tai lai trang. Khong co gi lap lai nua.

   THEM LOP CUC QUANG  (2026-08-14, theo yeu cau). Ba viec cung mot dot:
     - Nen sang han len mot bac: mat ho tu xanh dam sang xanh bang.
     - Ba dai cuc quang tren nua tren troi (muc 3b).
     - The dang nhap: VIEN NOI 3D + vanh cuc quang nhieu mau quanh mep
       (muc 9). Day la trong tam cua dot sua.

   DOT LAM MUOT + THE SANG  (2026-08-14, ngay sau do, theo phan anh "vao
   trang thay bi delay" va "the xanh den hoi toi"):
     - Ca canh ke chuyen 8s -> 5s, ten thuong hieu hien tu 2,7s thay vi
       4,3s (muc 1).
     - Dai cuc quang tren troi THOI KHONG TROI nua, lop ve thu nho gan
       mot nua (muc 3b) - day la cho ngon may nhat.
     - Vanh quanh the thoi quay dai conic, doi thanh hai vanh tinh chong
       len nhau doi nhau mo dan (muc 9).
     - The dang nhap doi tu xanh gan den sang NEN BANG SANG; toan bo chu
       va o nhap ben trong lat theo sang tong toi (muc 9).
   Sau dot nay ca trang chi con DUNG MOT thu chuyen dong lien tuc, va no
   chi doi mot minh `opacity`. Muc 12 (dung hoat anh khi tab bi an) van
   giu nguyen.

   Truoc do da qua hai ban: ban dau ca canh lap vo han moi 13 giay, roi rut
   xuong 8 giay cho de nhan ra la co lap. Nay bo han viec lap.

   VI SAO KHONG PHAI SUA MOT KEYFRAME NAO khi bo lap: moi @keyframes trong
   tep deu co khung 0% VA khung 100% GIONG HET NHAU (xem rang buoc 2 ben
   duoi). Cho chay mot lan roi giu khung cuoi la tu no dung dung o mat ho
   lang - dung trang thai nghi von da duoc thiet ke san. Chi doi so lan lap,
   khong dong vao noi dung hoat anh.

   Nap SAU cung va CHI o layouts/auth2.blade.php nen khong dinh gi den phan
   con lai cua he thong. Muon bo toan bo thiet ke nay: xoa the <link>, dong
   @include('layouts.partials.login-scene') va the <script> mihel-login.js
   trong auth2.blade.php - anh nen cu (uploads/login_bg.jpg) se tu quay lai.

   BON RANG BUOC TU DAT RA:

   1. MOT NHIP CHUNG. Moi phan tu deu tinh thoi gian theo bien --mh-tl, khong
      cho nao ghi so giay cung. Doi mot bien do la ca canh co gian theo, khong
      bao gio lech nhip, khong can JavaScript dieu phoi.
      Phan chu chay mot lan thi dung --mh-tl lam MOC (delay .54, .68 - dung
      cac moc cu no von co trong vong lap) chu khong con lap theo vong nua.

   2. TRANG THAI GOC = MAT HO LANG + CHU MIHELSEOUL HIEN RO. May nao khong
      chay duoc hoat anh van phai thay canh hoan chinh.
      => KHONG duoc dat opacity: 0 vao luat goc cua chu. Viec giau chu truoc
         khi no hien duoc lo bang animation-fill-mode: both (phan backwards),
         nen may khong co hoat anh se thay chu ngay lap tuc thay vi mat han.

   3. CHI transform + opacity. KHONG dung filter: blur() - du an nay da phai
      go blur mot lan vi nang GPU (nhat ky ban 13->14 trong constants.php).
      Anh sang deu la radial-gradient tinh.

   4. KHONG DINH VAO FORM. Chi to lai mau/khung; khong doi the, khong doi
      name/id cua o nhap, khong dong toi login.js.
   ===================================================================== */

/* ---------------------------------------------------------------
   1. NHIP CHUNG + BANG MAU
   --------------------------------------------------------------- */
:root {
    /* DO DAI CA MAN KE CHUYEN, tu luc mo trang den luc moi thu dung han.
       13s -> 8s (doi 2026-08-13).

       Nay canh chi chay MOT LAN nen day la "xem het bao lau", khong con la
       "bao lau lap lai mot vong". Moc thoi gian cua tung viec:
           0,1s - 0,75s  giot roi
           0,75s - 1,6s  ban toe
           1,6s - 2,7s   song lang dan
           2,7s - 3,6s   chu MIHELSEOUL hien len
           3,6s - 5,0s   vet sang quet, bong chu on dinh, canh dung han

       8s -> 5s (doi 2026-08-14, theo phan anh "vao trang thay bi delay").
       Ly do doi: o ban 8s, ten thuong hieu mai 4,3s MOI bat dau hien - mo
       trang ra la mot khoang tho gan nam giay truoc khi man hinh trong
       "xong". Nguoi dung mo trang nay hang chuc lan mot ngay, cho chung
       nay lau la co cam giac may cham chu khong phai "dang xem hoat anh".
       5s thi ten hien tu 2,7s, mat van kip nhin ro tung buoc.

       Moi moc trong cac @keyframes deu tinh theo PHAN TRAM cua bien nay, nen
       doi mot cho la ca canh co gian theo, khong lech nhip.
       DUNG HA THEM NUA neu khong doi kem hai moc trong muc 8: chu hien o
       54% va vet sang quet o 74%; rut ngan nua thi hai viec do dam vao
       nhau (o ban 8s moc quet la 68%, ha xuong 5s phai day ra 74% moi con
       kip cho con chu cuoi cung dap xuong). */
    --mh-tl: 5s;
    --mh-nuoc:      #67E8F9;   /* cyan mat nuoc */
    --mh-nuoc-sang: #d7f7ff;
    --mh-xanh:      #2563EB;   /* xanh thuong hieu (giong mihel-holo) */
    --mh-sau:       #2C7089;   /* mat ho (ban sang, doi 2026-08-08) */
    --mh-do:        #E8431A;   /* do cua chu MIHELSEOUL */
    --mh-do-sang:   #FF6B4A;

    /* ---- BANG MAU CUC QUANG (them 2026-08-14) ----------------------
       Sau mau lay theo dai cuc quang that o Nam Cuc: luc oxy (pho bien
       nhat) -> lam bang -> tim -> hong -> vang am, roi vong lai luc de
       noi conic-gradient khep kin khong bi vet noi.
       Dung o HAI cho: vanh quay quanh the dang nhap (muc 9) va dai sang
       tren troi (muc 3b). Doi mau thi ca hai doi theo. */
    --mh-cq-luc:  #2EE5B0;
    --mh-cq-cyan: #4DD0FF;
    --mh-cq-tim:  #7C6BFF;
    --mh-cq-hong: #FF5FD2;
    --mh-cq-vang: #FFC46B;

    /* Ban kinh bo goc cua the dang nhap. Vanh cuc quang, lop nen va gan
       be mat 3D deu tinh theo bien nay -> doi mot so la ca cum tron deu
       theo, khong bao gio lech mot lop. */
    --mh-goc-the: 22px;
}

/* GHI LAI MOT VIEC DA GO BO (2026-08-14, dot lam muot).

   Ban truoc o day co `@property --mh-cq-quay` va vanh cuc quang quanh the
   dang nhap quay bang cach cho goc xuat phat cua conic-gradient chay
   0deg -> 360deg.

   Nhin thi dep nhung DAT: mot bien doi la trinh duyet phai VE LAI ca dai
   conic roi cat lai bang mask, sau muoi lan moi giay, suot ngay. Do la
   loai hoat anh dat nhat: khong phai dich mot anh co san (viec cua GPU)
   ma la ve lai anh do tu dau (viec cua CPU).

   Nay thay bang HAI VANH TINH chong len nhau, doi nhau mo dan - chi dong
   vao `opacity`, tuc la ca hai vanh chi ve MOT LAN roi GPU tron hai lop
   san co. Mat van doc ra "mau dang chuyen dong quanh the", ma may thi
   gan nhu khong phai lam gi. Xem muc 9.
   Dung dat lai kieu quay conic neu chua do lai muc tieu hao. */

/* ---------------------------------------------------------------
   2. NEN TRANG
   --------------------------------------------------------------- */
body {
    /* Trung voi mau giua cua mat ho -> luc trang vua tai chua ve xong
       cung khong bi loe mot mang toi.
       SANG HAN LEN (doi 2026-08-14, theo yeu cau): #327E97 -> #74C0D8.
       Doi cho nay thi PHAI doi kem cac stop cua dai mau #mh-mat-ho trong
       layouts/partials/login-scene.blade.php, neu khong luc tai trang se
       thay ro mot nhip doi mau. */
    background: #74C0D8 !important;
    min-height: 100vh;
}
/* .login-form la khoi bao ngoai cua auth2.blade.php. Truoc day no dat anh
   uploads/login_bg.jpg lam nen (app.css dong 1331) - bo o day. */
.login-form {
    position: relative;
    background: none !important;
    background-image: none !important;
    /* CHI chan tran NGANG (canh nen rong hon man hinh mot chut, khong chan thi
       hien thanh cuon ngang). TUYET DOI khong dung "overflow: hidden": hang
       ben trong bi ghi cung height:100vh ngay trong the HTML, form nao dai hon
       mot man hinh - nhu trang dang ky - se bi CAT CUT va khong cuon toi
       duoc. */
    overflow-x: hidden;
    min-height: 100vh;
}

/* ---------------------------------------------------------------
   3. KHUNG CANH
   --------------------------------------------------------------- */
.mh-canh {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;         /* khong bao gio chan chuot vao form */
    overflow: hidden;
}
.mh-canh__ve {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
/* Nguon sang mo phia xa hat xuong mat ho.

   LOI DA SUA 2026-08-14: khoi nay von dat TRUOC the <svg> trong
   login-scene.blade.php, ma <rect class="mh-ho"> cua svg to kin man hinh
   va DUC -> ca vung sang bi svg de len, gan nhu khong bao gio thay (chi
   he lo mot chut o doan mat ho toi lai con .82). Nay da chuyen the div
   xuong SAU </svg> trong blade nen no ve dung o tren mat ho.
   Cho nao doi lai thu tu hai the do la vung sang bien mat lan nua. */
.mh-ho__sang {
    position: absolute;
    left: 50%;
    top: 62%;
    width: 120vw;
    height: 70vh;
    transform: translate(-50%, -50%);
    /* Nen sang han len roi nen quang trang khong con an thua. Doi thanh
       quang AM PHA LUC NHAT (2026-08-14) - vua la anh phan chieu cua dai
       cuc quang tren troi xuong mat ho, vua du dam de thay tren nen moi. */
    background: radial-gradient(closest-side,
        rgba(255, 255, 255, .34) 0%,
        rgba(214, 255, 240, .20) 40%,
        rgba(46, 229, 176, .10) 62%,
        transparent 78%);
    animation: mh-sang-ho var(--mh-tl) ease-in-out 1 both;
}

/* ---------------------------------------------------------------
   3b. DAI CUC QUANG TREN TROI  (them 2026-08-14)

   Ba dai sang xien vat ngang nua tren man hinh, troi cham nhu rem cuc
   quang that. Muc dich la LAM NEN cho vanh cuc quang cua the dang nhap
   (muc 9): mot minh cai vanh thi trong nhu do hoa dan vao, co them dai
   sang tren troi thi ca trang moi ra mot canh.

   BA DIEU KIEN TU DAT:

   a. KHONG filter: blur()  (rang buoc 3 o dau tep). Do mem lay tu chinh
      dai mau: moi dai la mot linear-gradient co cac chang mau RAT ROI
      (20-30% mot chang) nen tu no da nhoe, khong can lam mo.

   b. DUNG YEN, KHONG HOAT ANH  (doi 2026-08-14 - xem ly do ben duoi).

   c. Kich thuoc lop ve giu nho het muc  (doi 2026-08-14).

   VI SAO BO HOAT ANH TROI (ban dau ba dai nay troi ngang 26-38s mot vong):
   ba dai deu nam trong .mh-cq, ma .mh-cq co mask-image. Mot khoi co mask
   thi trinh duyet phai gop ca khoi lai roi cat mot lan - con ben trong
   dang cuu quay thi phai gop lai TUNG KHUNG HINH. Ba tam 2880x684 diem
   anh gop lai sau muoi lan mot giay: day chinh la cho lam trang giat, va
   no giat dung luc nguoi ta go mat khau.
   Doi lai chang mat gi may: cuc quang that tren troi cung gan nhu dung
   yen truoc mat nguoi nhin - anh chup cuc quang van dep du la anh tinh.
   Phan chuyen dong cua trang nay don ca vao vanh quanh the dang nhap
   (muc 9), la cho nho nhat va re nhat.

   NEU SAU NAY MUON CHO DAI TROI LAI: dung dat animation vao .mh-cq__dai
   khi .mh-cq con mask-image - phai chuyen mask xuong tung dai truoc da.
   --------------------------------------------------------------- */
.mh-cq {
    position: absolute;
    left: 50%;
    top: -8%;
    /* 200vw x 76vh -> 140vw x 62vh (2026-08-14). Dai da dung yen thi
       khong con can chua cho de troi ngang nua; lop ve nho lai gan mot
       nua tuc la lan ve dau tien cua trang cung nhanh len tung ay. */
    width: 140vw;
    height: 62vh;
    transform: translateX(-50%);
    pointer-events: none;
    /* Mo dan ve phia duoi: cuc quang sang nhat o tren cao roi tan vao
       chan troi, khong duoc cham toi mat ho. */
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .82) 46%, transparent 92%);
    mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .82) 46%, transparent 92%);
}
.mh-cq__dai {
    position: absolute;
    inset: -12% -25%;
    /* Rem cuc quang khong bao gio thang dung - hoi nghieng va xoan. */
    --mh-cq-nghieng: -14deg;
    transform: skewX(var(--mh-cq-nghieng));
    /* SO GAN cua rem cuc quang. Cuc quang that khong phai mot mang mau
       lien - no gom hang tram soi sang doc sit nhau, chinh cai do lam
       nguoi ta nhan ra ngay day la cuc quang chu khong phai mot vet may
       mau. Ke so gan bang mot mask lap: cho dam - cho nhat - cho dam.

       HAI SO PHAI GIU TAY (da tri mot lan 2026-08-14): chang lap rong
       44px va do dam day nhat .30 -> ra mot hang vach deu tap tap, nhin
       nhu man hinh bi soc chu khong ra cuc quang. Nay chang rong gap doi
       va cho nhat cung con .55, tuc la gan chi con GO NHE chu khong con
       cat dut dai sang. Quan trong hon: BA DAI DUNG BA BE RONG VA BA GOC
       KHAC NHAU (xem --mh-cq-gan* o tung dai) - chong len nhau thi khong
       con chu ky lap nao du de mat bat ra. */
    --mh-cq-gan: 86px;
    --mh-cq-gan-goc: 96deg;
    -webkit-mask-image: repeating-linear-gradient(var(--mh-cq-gan-goc),
        rgba(0, 0, 0, .55) 0px,
        rgba(0, 0, 0, 1) calc(var(--mh-cq-gan) * .34),
        rgba(0, 0, 0, 1) calc(var(--mh-cq-gan) * .54),
        rgba(0, 0, 0, .55) var(--mh-cq-gan));
    mask-image: repeating-linear-gradient(var(--mh-cq-gan-goc),
        rgba(0, 0, 0, .55) 0px,
        rgba(0, 0, 0, 1) calc(var(--mh-cq-gan) * .34),
        rgba(0, 0, 0, 1) calc(var(--mh-cq-gan) * .54),
        rgba(0, 0, 0, .55) var(--mh-cq-gan));
}
/* Dai 1 - luc oxy, dai nhat, o giua */
.mh-cq__dai--1 {
    background: linear-gradient(100deg,
        transparent 4%,
        rgba(46, 229, 176, .10) 16%,
        rgba(46, 229, 176, .46) 30%,
        rgba(77, 208, 255, .34) 44%,
        rgba(46, 229, 176, .12) 56%,
        transparent 68%);
    opacity: .85;
}
/* Dai 2 - lam sang ngan hon, di nguoc chieu cho hai dai giao nhau */
.mh-cq__dai--2 {
    background: linear-gradient(84deg,
        transparent 28%,
        rgba(77, 208, 255, .30) 44%,
        rgba(124, 107, 255, .34) 58%,
        rgba(124, 107, 255, .08) 70%,
        transparent 80%);
    --mh-cq-nghieng: 10deg;
    --mh-cq-gan: 58px;
    --mh-cq-gan-goc: 88deg;
    opacity: .8;
}
/* Dai 3 - vien hong/vang o ria, mo nhat, chi de dai mau khong bi lanh het */
.mh-cq__dai--3 {
    background: linear-gradient(112deg,
        transparent 46%,
        rgba(255, 95, 210, .22) 62%,
        rgba(255, 196, 107, .18) 74%,
        transparent 88%);
    --mh-cq-nghieng: -8deg;
    --mh-cq-gan: 124px;
    --mh-cq-gan-goc: 102deg;
    opacity: .7;
}
@keyframes mh-sang-ho {
    0%, 12%   { opacity: .45; transform: translate(-50%, -50%) scale(.9); }
    18%       { opacity: 1;   transform: translate(-50%, -50%) scale(1.12); }
    46%       { opacity: .6;  transform: translate(-50%, -50%) scale(1); }
    70%, 92%  { opacity: .85; transform: translate(-50%, -50%) scale(1.04); }
    100%      { opacity: .45; transform: translate(-50%, -50%) scale(.9); }
}

/* ---------------------------------------------------------------
   4. MAT HO + VAN NUOC
   --------------------------------------------------------------- */
.mh-ho__van path {
    fill: none;
    /* .18 -> .30 (2026-08-14): mat ho da sang han len nen van nuoc mau
       trang mo cu gan nhu chim mat. */
    stroke: rgba(255, 255, 255, .30);
    stroke-width: 2;
}
/* Van nuoc troi ngang rat cham cho mat ho khong "chet"; luc hat nuoc cham
   thi bi day manh sang mot ben roi tu tra ve. */
.mh-ho__van { animation: mh-troi-van var(--mh-tl) ease-in-out 1 both; }
@keyframes mh-troi-van {
    0%, 14%  { transform: translateX(0) scaleY(1); opacity: .7; }
    18%      { transform: translateX(-16px) scaleY(1.5); opacity: 1; }
    26%      { transform: translateX(14px) scaleY(.7); opacity: .95; }
    34%      { transform: translateX(-9px) scaleY(1.25); opacity: .9; }
    44%      { transform: translateX(5px) scaleY(.9); opacity: .8; }
    56%, 100% { transform: translateX(0) scaleY(1); opacity: .7; }
}

/* ---------------------------------------------------------------
   5. HIEU UNG NUOC - NEO VAO TAM CHU MIHELSEOUL

   Ca cum nay nam BEN TRONG khoi chu (login-brand.blade.php) va moi phan tu
   deu canh giua khoi do. Nho vay TAM SONG LUON TRUNG TAM CHU, du man hinh
   to nho the nao hay bo cuc co xe dich.

   Truoc day cum nay ve trong SVG - mot he toa do rieng, quy doi ra man hinh
   khac voi HTML - nen canh khop o may nay thi lech o may khac.
   --------------------------------------------------------------- */
.mh-nuoc {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0;                 /* chi la mot DIEM neo; con lai canh giua no */
    height: 0;
    z-index: 0;               /* nam duoi chu */
    pointer-events: none;
}
/* Moi phan tu nuoc deu lay chinh diem neo lam tam */
.mh-nuoc > * {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

/* ---------------------------------------------------------------
   5a. HAT NUOC ROI  (0% -> 15%)
   --------------------------------------------------------------- */
.mh-hat {
    width: 16px;
    height: 26px;
    margin: -13px 0 0 -8px;   /* tu canh giua bang margin de transform con
                                 trong cho keyframes dung rieng */
    left: 50%;
    top: 50%;
    transform: none;
    border-radius: 50% 50% 46% 46%;
    background: linear-gradient(180deg, #ffffff, #eafaff 45%, #a8e4f5);
    box-shadow: 0 0 14px rgba(255, 255, 255, .8), 0 2px 6px rgba(10, 60, 80, .35);
    opacity: 0;
    animation: mh-roi var(--mh-tl) cubic-bezier(.55, 0, .85, .35) 1 both;
}
@keyframes mh-roi {
    0%    { opacity: 0; transform: translateY(-46vh) scaleY(.8); }
    3%    { opacity: 1; transform: translateY(-42vh) scaleY(.9); }
    /* cang gan mat nuoc cang nhanh -> hat bi keo dai ra */
    13%   { opacity: 1; transform: translateY(-6vh) scaleY(2.1) scaleX(.7); }
    14.5% { opacity: 1; transform: translateY(0) scaleY(2.4) scaleX(.58); }
    15%   { opacity: 0; transform: translateY(0) scaleY(1) scaleX(1); }
    100%  { opacity: 0; transform: translateY(-46vh) scaleY(.8); }
}

/* ---------------------------------------------------------------
   5b. LUC CHAM MAT NUOC  (15% -> 31%)
   --------------------------------------------------------------- */
/* Loe sang */
.mh-loe {
    width: 340px;
    height: 110px;
    border-radius: 50%;
    background: radial-gradient(circle,
        rgba(255, 255, 255, 1) 0%,
        rgba(226, 250, 255, .6) 34%,
        rgba(226, 250, 255, 0) 70%);
    opacity: 0;
    animation: mh-loe-sang var(--mh-tl) ease-out 1 both;
}
@keyframes mh-loe-sang {
    0%, 14.5% { opacity: 0; transform: translate(-50%, -50%) scale(.2); }
    16%       { opacity: 1; transform: translate(-50%, -50%) scale(.7); }
    24%       { opacity: 0; transform: translate(-50%, -50%) scale(1.7); }
    100%      { opacity: 0; transform: translate(-50%, -50%) scale(.2); }
}

/* Giot nuoc ban toe: moi giot bay theo huong rieng (--mh-x / --mh-y) roi
   roi xuong lai theo trong luc. */
.mh-toe {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 10px rgba(255, 255, 255, .9), 0 1px 4px rgba(10, 60, 80, .3);
    opacity: 0;
    animation: mh-ban-toe var(--mh-tl) cubic-bezier(.2, .7, .5, 1) 1 both;
}
@keyframes mh-ban-toe {
    0%, 15%  { opacity: 0; transform: translate(-50%, -50%) scale(.3); }
    17%      { opacity: 1; transform: translate(calc(-50% + var(--mh-x) * .45), calc(-50% + var(--mh-y) * .8)) scale(1); }
    /* len toi dinh roi roi xuong: y ve gan 0 nhung x van di tiep */
    23%      { opacity: .9; transform: translate(calc(-50% + var(--mh-x)), calc(-50% + var(--mh-y) * .3)) scale(.85); }
    27%      { opacity: 0; transform: translate(calc(-50% + var(--mh-x) * 1.15), calc(-50% + 14px)) scale(.4); }
    100%     { opacity: 0; transform: translate(-50%, -50%) scale(.3); }
}

/* Tia nuoc bat nguoc len giua tam, roi rot xuong lai */
.mh-tia {
    width: 15px;
    height: 74px;
    border-radius: 50%;
    background: linear-gradient(180deg, #ffffff, #eafaff 45%, #a8e4f5);
    box-shadow: 0 0 16px rgba(255, 255, 255, .75), 0 2px 8px rgba(10, 60, 80, .3);
    opacity: 0;
    animation: mh-bat-tia var(--mh-tl) cubic-bezier(.3, .8, .5, 1) 1 both;
}
@keyframes mh-bat-tia {
    0%, 16%  { opacity: 0; transform: translate(-50%, -20%) scaleY(.15); }
    19%      { opacity: 1; transform: translate(-50%, -95%) scaleY(1.5); }
    23%      { opacity: 1; transform: translate(-50%, -120%) scaleY(1.1); }
    28%      { opacity: .5; transform: translate(-50%, -50%) scaleY(.6); }
    31%      { opacity: 0; transform: translate(-50%, -20%) scaleY(.2); }
    100%     { opacity: 0; transform: translate(-50%, -20%) scaleY(.15); }
}

/* ---------------------------------------------------------------
   5c. SONG LAN TOA  (15% -> 56%)
   Sau vong dung chung mot @keyframes, chi khac do tre (--mh-tre) -> thanh
   dot song noi tiep nhau lan ra, dung nhu mat nuoc that.
   --------------------------------------------------------------- */
.mh-song {
    width: 260px;
    height: 78px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, .9);
    box-shadow: 0 0 22px rgba(255, 255, 255, .45),
                inset 0 0 22px rgba(255, 255, 255, .25);
    opacity: 0;
    animation: mh-lan-song var(--mh-tl) cubic-bezier(.15, .6, .35, 1) 1 both;
    animation-delay: calc(var(--mh-tl) * var(--mh-tre));
}
@keyframes mh-lan-song {
    0%, 15%  { opacity: 0;   transform: translate(-50%, -50%) scale(.12); }
    18%      { opacity: 1;   transform: translate(-50%, -50%) scale(.5); }
    32%      { opacity: .7;  transform: translate(-50%, -50%) scale(2.6); }
    50%      { opacity: 0;   transform: translate(-50%, -50%) scale(7); }
    100%     { opacity: 0;   transform: translate(-50%, -50%) scale(.12); }
}

/* Mat ho toi lai mot chut luc bi khuay manh roi sang tro ve khi lang */
.mh-ho { animation: mh-ho-dong var(--mh-tl) ease-in-out 1 both; }
@keyframes mh-ho-dong {
    0%, 15%   { opacity: 1; }
    20%       { opacity: .82; }
    46%       { opacity: .92; }
    60%, 100% { opacity: 1; }
}

/* ---------------------------------------------------------------
   8. CHU MIHELSEOUL  (56% -> het vong)

   NAM TRONG LUONG NOI DUNG, ngay TRUOC the dang nhap (xem
   layouts/partials/login-brand.blade.php). Truoc day khoi nay nam trong lop
   nen va can giua man hinh nen bi the dang nhap de len che mat - do la ly do
   phai chuyen ra. Da nam trong luong thi du man hinh cao thap the nao chu
   cung o tren dau form.
   --------------------------------------------------------------- */
.mh-chu {
    position: relative;           /* moc de neo cum hieu ung nuoc vao giua */
    z-index: 2;                   /* cung tang voi the dang nhap, tren lop nen */
    width: 100%;
    text-align: center;
    /* margin tren + duoi deu auto -> khoi chu nam CHINH GIUA khoang trong
       phia tren the dang nhap. Nho vay tam song (neo o giua khoi nay) cung
       roi vao giua vung nen dang thay, khong bi che va khong sat mep. */
    margin: auto 0;
    pointer-events: none;         /* chi de nhin, khong chan chuot */
}
.mh-chu__hang {
    position: relative;
    z-index: 1;               /* chu nam TREN cum hieu ung nuoc */
    display: inline-flex;
    justify-content: center;
    overflow: hidden;         /* giu vet sang quet khong tran ra ngoai */
    padding: 0 6px;
}
.mh-chu__hang i {
    display: block;
    font-style: normal;
    font-size: clamp(30px, 7vw, 86px);
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.05;
    /* Chu CAM (doi 2026-08-08).
       LOI VUA SUA: ban truoc dai mau ket thuc o #7A1A09 - nau gan nhu den -
       nen gan het than chu nhin ra mau DEN chu khong ra do. Nay ca dai deu
       nam trong vung SANG: kem -> vang cam -> cam -> cam dam, cho nao cung
       con ra mau. */
    /* DUNG DUNG DAI MAU CUA THANH DAU TRANG UNG DUNG PWA (doi 2026-08-13).
       Nguyen van --mp-dai-cam trong public/pwa/mihel-pwa.css muc 1:
           linear-gradient(135deg, #FF9445 0%, #FA7A25 62%, #F26205 100%)
       Chep tay ba ma mau chu khong tham chieu bien: hai tep nay khong dung
       chung bang mau nao ca (mihel-login.css chi nap o trang dang nhap quan
       tri, mihel-pwa.css chi nap trong ung dung PWA). Doi mau thuong hieu
       thi phai sua CA HAI cho.

       Ban truoc bat dau bang mau kem #FFF6E6 nen nua tren cac chu gan nhu
       trang - dung canh ben PWA la thay khac han mot ton mau. */
    background: linear-gradient(135deg, #FF9445 0%, #FA7A25 62%, #F26205 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    /* Vien mong mau NAU AM (khong phai den/xanh): van tach duoc chu khoi mat
       nuoc nhung khong lam duc mau cam. Da bo bon bong den lech 1px cua ban
       truoc - chinh chung lam chu xam xit di.
       Van la text-shadow, KHONG dung filter (xem rang buoc 3 o dau file). */
    text-shadow:
        0 1px 0 rgba(122, 52, 0, .55),
        0 2px 12px rgba(8, 46, 62, .42),
        0 0 30px rgba(255, 150, 40, .45);
    /* CHAY DUNG MOT LAN ROI DUNG LAI  (doi 2026-08-13, theo yeu cau).
       ---------------------------------------------------------------
       Truoc day chu chay `infinite` cung nhip voi mat nuoc: hien len o 54%
       cua vong roi TAN DI o 100%, cu 8 giay lai bien mat mot lan. Nay chu
       hien mot lan roi o nguyen do; muon xem lai phai tai lai trang.

       Ba diem cua cach viet nay:
       1. `both` = vua backwards vua forwards. Backwards giu khung dau
          (opacity 0) trong suot thoi gian cho, forwards giu khung cuoi
          (hien ro) mai mai sau khi chay xong. Nho backwards ma KHONG phai
          dat opacity: 0 o luat goc - dat vao thi may nao khong chay duoc
          hoat anh se mat chu vinh vien.
       2. Van tinh theo phan tram cua --mh-tl chu khong ghi so giay cung,
          de doi nhip mat nuoc thi chu van vao dung luc song da lang.
          .54 = luc bat dau hien, .08 = do dai cu (54% -> 62% cua vong cu).
       3. --mh-i la thu tu con chu, nhan .012 de tung chu hien lan luot tu
          trai sang phai. Giu nguyen nhu cu. */
    animation: mh-hien-chu calc(var(--mh-tl) * .08) cubic-bezier(.2, 1.3, .4, 1) both;
    animation-delay: calc(var(--mh-tl) * .54 + var(--mh-tl) * .012 * var(--mh-i));
}
@keyframes mh-hien-chu {
    from { opacity: 0; transform: translateY(46px) scale(.86); }
    to   { opacity: 1; transform: none; }
}

/* Vet sang quet ngang qua chu */
.mh-chu__quet {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
    transform: translateX(-160%) skewX(-18deg);
    /* Cung chay MOT LAN roi thoi - di theo chu (xem .mh-chu__hang i).
       Quet ngay sau khi cac con chu da dap xuong. Chay xong vet sang nam
       ngoai khung ben phai, tuc la khuat - dung trang thai nghi mong muon.

       Moc .68 -> .74 (doi 2026-08-14, khi ca canh rut 8s xuong 5s). Con
       chu cuoi cung bat dau hien o 54% + 9 nhip xep hang (.012 moi chu) va
       chay het .08 nua, tuc la xong o khoang 71-72% cua vong - so nay la
       PHAN TRAM nen khong doi khi rut thoi luong. Nhung .68 thi vet sang
       quet len khi hai con chu cuoi CHUA dap xuong xong; o ban 8s moi nhip
       dai 80ms nen mat khong kip bat, o ban 5s chi con 50ms thi thanh ra
       lem nhem. Day ra .74 la quet bat dau sau khi chu da yen han. */
    animation: mh-quet calc(var(--mh-tl) * .14) ease-in-out
               calc(var(--mh-tl) * .74) both;
}
@keyframes mh-quet {
    from { transform: translateX(-160%) skewX(-18deg); }
    to   { transform: translateX(360%)  skewX(-18deg); }
}

/* Bong chu lat nguoc duoi mat nuoc.

   PHAI boc trong mot khung co CHIEU CAO CO DINH + overflow: hidden. Chu lat
   nguoc cao gan bang chu that; khong xen bot thi no chiem them ~90px va day
   the dang nhap tut xuong duoi man hinh. Xen lai chi con phan sat "mat nuoc"
   - dung nhu bong that chi thay ro phan gan mep nuoc. */
.mh-chu__khung-bong {
    position: relative;
    z-index: 1;               /* bong chu cung nam TREN cum hieu ung nuoc */
    height: clamp(16px, 3.2vh, 38px);
    overflow: hidden;
    margin-top: 1px;
}
.mh-chu__bong {
    font-size: clamp(30px, 7vw, 86px);
    font-weight: 800;
    letter-spacing: .06em;
    line-height: 1.05;
    /* Bong cung mau CAM voi chu that (doi 2026-08-08), dam vua du de nhin
       thay tren mat nuoc sang. */
    color: rgba(214, 96, 8, .45);
    /* Lat tai cho (goc lat mac dinh la tam) -> phan lo ra o khung tren chinh
       la chan cua cac con chu, giong bong soi xuong nuoc. */
    transform: scaleY(-1);
    /* Mo dan ve phia duoi cho giong bong tren nuoc */
    -webkit-mask-image: linear-gradient(to top, transparent 4%, #000 62%);
    mask-image: linear-gradient(to top, transparent 4%, #000 62%);
    /* Mot lan roi dung, giong chu that o tren.
       .58 la moc cu bat dau, .42 la phan con lai cua vong (58% -> 100%).
       Cac moc ben trong duoc quy doi lai theo do dai moi:
           cu 68% -> (68-58)/42 = 24%      cu 88% -> 71%
           cu 78% -> 48%                   cu 94% -> 86%
       KHUNG CUOI DOI HAN: ban cu ket thuc opacity 0 (bong tan di de chuan bi
       cho vong sau). Nay khong con vong sau nua nen phai giu bong o lai, neu
       khong chu thi con ma bong bien mat - nhin nhu thieu mot nua. */
    animation: mh-bong-nuoc calc(var(--mh-tl) * .42) ease-in-out
               calc(var(--mh-tl) * .58) both;
}
@keyframes mh-bong-nuoc {
    0%   { opacity: 0;  transform: scaleY(-1) translateY(8px) skewX(0deg); }
    24%  { opacity: 1;  transform: scaleY(-1) translateY(0) skewX(2.5deg); }
    48%  { opacity: .8; transform: scaleY(-1) translateY(0) skewX(-2deg); }
    71%  { opacity: 1;  transform: scaleY(-1) translateY(0) skewX(1.5deg); }
    86%  { opacity: .9; transform: scaleY(-1) translateY(0) skewX(0deg); }
    100% { opacity: .9; transform: scaleY(-1) translateY(0) skewX(0deg); }
}

/* Dong chu phu "HE THONG MI CAY 7 CAP DO" da bo (2026-08-08) - go luon kieu
   dang .mh-chu__phu va @keyframes mh-hien-phu de khong con code chet. */

/* ---------------------------------------------------------------
   9. THE DANG NHAP - kinh toi tren mat ho
   --------------------------------------------------------------- */
/* Khung xep doc: chu MIHELSEOUL o TREN CUNG, the dang nhap o DUOI CUNG, chua
   trong khoang giua cho hieu ung nuoc (doi 2026-08-08 - truoc day the dang
   nhap nam ngay duoi chu nen de len dung cho song lan ra).

   height: auto !important - BAT BUOC: the <div class="row eq-height-row"> bi
   ghi cung style="height:100vh" ngay trong HTML. De nguyen thi form nao dai
   hon mot man hinh se tran ra ngoai khung. */
.login-form .eq-height-row {
    position: relative;
    z-index: 2;
    height: auto !important;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    padding-bottom: min(6vh, 52px);
}

.login-top {
    position: relative;
    z-index: 2;
    width: 420px !important;
    /* max-width la thu GIU CHO the khong tran mep tren dien thoai - khong
       phai `width` o tren. app.css dong 671 co mot luat
           @media (max-width:450px) { .login-top { width:auto !important } }
       bi dong `width: 420px !important` nay ghi de (nap sau, do dai chon
       ngang nhau) - nhung khong sao ca, vi max-width bao gio cung thang
       width. Da do lai o man hinh 412px: the ra 379px, van nam gon.
       Bo dong max-width nay di thi the moi thoc ra ngoai mep. */
    max-width: 92vw;
    /* Khong dat margin-top:auto o day: khoi chu o tren da co margin tren VA
       duoi deu auto, hai margin do nuot het khoang trong nen the dang nhap
       tu roi xuong DAY trang, dong thoi khoi chu nam chinh giua khoang con
       lai. Them auto o day nua thi khoang trong bi chia ba, chu bi day len
       cao va the dang nhap khong con sat day. */
    /* 20px cuoi la khoang nang the len cao hon (yeu cau 2026-08-08). Doi so
       nay la the len/xuong, khong dong den cho gi khac: khoang trong con lai
       tu chia lai va khoi chu MIHELSEOUL van tu can giua.
       Thu tu: tren / phai-trai / duoi. */
    margin: 0 auto 20px !important;
    padding: 26px 32px 24px !important;
    max-height: none !important;
    border-radius: var(--mh-goc-the);
    /* Bo `border: 1px solid` cu: mot net vien deu tap tap chi lam PHANG
       mep the, dung dung cai ma muc nay dang co gang pha. Vien gio la ba
       lop chong len nhau (go sang / go toi / vanh cuc quang) dung bang
       box-shadow va ::before - xem ben duoi. */
    border: 0;
    /* Nen dac (khong dung backdrop-filter): du an da bo blur vi nang GPU.

       THE SANG - BANG TAN (doi 2026-08-14, theo yeu cau "dang xanh den,
       hoi toi, cho mau sang tuoi hon"). Truoc do the la mot khoi xanh gan
       den de anh cuc quang o mep noi bat; nhung dat mot khoi gan den giua
       mot nen troi bang sang thi no ra mot lo thung toi giua trang.
       Nay ca trang di mot huong sang: nen bang xanh nhat, the trang ngan
       xanh, quang mau chay quanh mep.

       DOI NEN THI PHAI DOI HET CHU TRONG THE. Ba mau nen o day sang
       (~#FDFEFF..#E1F0F8) nen moi thu ben trong deu da lat sang TONG TOI:
       chu #123A52, o nhap nen trang, duong ke mo... Neu sau nay ai do doi
       nen the ve toi lai ma quen lat chu, ca the se thanh chu toi tren nen
       toi - khong doc duoc gi. Cac luat can doi kem nam ngay duoi muc nay
       (hr / strong-label / .form-control / .help-block / .bg-maroon). */
    background: linear-gradient(168deg,
        #FDFEFF 0%,
        #EFF8FC 52%,
        #E1F0F8 100%) !important;
    box-shadow:
        /* --- 1. GO NOI 3D ------------------------------------------
           Cach lam khoi noi cua vat that: mep TREN hung sang thi ke mot
           vach sang, mep DUOI khuat sang thi ke mot vach toi, roi hat
           them mot vet sang loang tu tren xuong trong long the. Ba thu
           do doc ra la "khoi nay day va dang loi len".
           The da sang thi vach sang phai la trang tinh, con vach toi ha
           xuong that nhe - dam qua la thanh vet ban tren mat trang. */
        inset 0  2px 0 rgba(255, 255, 255, 1),
        inset 0 -2px 0 rgba(14, 62, 88, .16),
        inset 0  0 0 1px rgba(255, 255, 255, .85),
        inset 0  30px 42px -34px rgba(255, 255, 255, .95),
        inset 0 -34px 46px -36px rgba(14, 62, 88, .22),

        /* --- 2. NHAC THE LEN KHOI NEN ------------------------------
           Mot vet toi mong sat day (nhu chan de) + mot bong do rong o
           duoi. Co bong do thi vanh cuc quang moi ra "quang" chu khong
           ra "hinh dan".
           Vong 4px mau tham la NET VIEN NGOAI cua go noi: vanh cuc quang
           (::before) day 3px se de len 3px trong, chi chua lai dung mot
           soi toi 1px vien ra ngoai vanh. Khong co soi do thi vanh sang
           dinh thang vao quang mau, mep the nhin nhoe di. */
        0 0 0 4px rgba(10, 52, 74, .26),
        0 4px 0 -1px rgba(12, 58, 82, .18),
        0 30px 56px -22px rgba(12, 58, 82, .45),

        /* --- 3. HAO QUANG CUC QUANG (lop nen, dung yen) ------------
           Bon vet sang mau lech ra bon goc. box-shadow tu no da mem san
           va om dung theo goc bo tron cua the - khong can filter:blur()
           (rang buoc 3 o dau tep) va cung khong the dung var() o day vi
           mau nam trong rgba().
           Mau DAM HON bon bien --mh-cq-* o muc 1 mot bac: quang mau tren
           nen sang thi mo hon han khi tren nen toi, giu nguyen do dam cu
           la gan nhu mat hut. */
        -30px -24px 58px -20px rgba( 16, 200, 150, .85),   /* luc  - tren trai */
         30px -24px 58px -20px rgba(108,  86, 255, .78),   /* tim  - tren phai */
         34px  26px 60px -20px rgba(255,  60, 190, .62),   /* hong - duoi phai */
        -34px  26px 60px -20px rgba( 40, 180, 255, .78);   /* cyan - duoi trai */
}

/* --- VANH CUC QUANG quanh mep the ------------------------------------
   Day la "vien noi 3d hieu ung hao quang nhieu mau" trong yeu cau.

   Cach ve mot vanh: phu kin mot the to hon the dang nhap 3px bang
   conic-gradient sau mau, roi KHOET RUOT bang mask-composite -> chi con
   lai dung mot vanh 3px chay vong quanh mep, om khit goc bo tron.

   CHUYEN DONG lam bang HAI VANH CHONG KHIT LEN NHAU (doi 2026-08-14):
       ::before = vanh A, dai mau bat dau tu 0deg   - luon hien, dung yen
       ::after  = vanh B, dai mau bat dau tu 168deg - mo dan roi ro dan
   Vanh B nam de dung len vanh A. B mo han -> thay A; B ro han -> thay B;
   o giua -> hai dai mau tron vao nhau ra cac mau chuyen tiep. Mat doc ra
   la dai mau dang truot vong quanh the.

   VI SAO PHAI LAM VONG VO NHU VAY thay vi quay thang dai conic (cach cu):
   quay conic la doi mot bien mau -> trinh duyet VE LAI ca dai mau roi cat
   lai bang mask, sau muoi lan mot giay. Cach nay chi doi `opacity` cua
   mot the nho: hai vanh ve dung MOT LAN luc mo trang, tu do ve sau GPU
   chi viec tron hai lop san co - dung loai hoat anh re nhat co the.
   Ca trang gio chi con DUNG MOT thu dang chuyen dong, va no nam o day.

   PHAI viet ca ban chuan "mask" ben canh "-webkit-mask" - Firefox khong
   hieu ban -webkit-, thieu no thi vanh thanh mot mang mau dac de len ca
   noi dung the. */
.login-top::before,
.login-top::after {
    content: "";
    position: absolute;
    inset: -3px;
    border-radius: calc(var(--mh-goc-the) + 3px);
    padding: 3px;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
/* Vanh A - nen, luon hien */
.login-top::before {
    background: conic-gradient(from 0deg,
        var(--mh-cq-luc)  0%,
        var(--mh-cq-cyan) 15%,
        var(--mh-cq-tim)  30%,
        var(--mh-cq-hong) 45%,
        var(--mh-cq-vang) 60%,
        #7CF0C0           78%,
        var(--mh-cq-luc)  100%);
}
/* Vanh B - cung dai mau nhung xoay di 168deg, de tren vanh A va tho.
   168deg (khong phai 180deg) la co y: nua vong chan thi hai dau dai mau
   doi xung nhau qua tam, luc tron vao se trung mau o hai canh doi dien -
   lech di mot chut thi khong canh nao lap lai canh nao. */
.login-top::after {
    background: conic-gradient(from 168deg,
        var(--mh-cq-luc)  0%,
        var(--mh-cq-cyan) 15%,
        var(--mh-cq-tim)  30%,
        var(--mh-cq-hong) 45%,
        var(--mh-cq-vang) 60%,
        #7CF0C0           78%,
        var(--mh-cq-luc)  100%);
    opacity: 0;
    /* Bao truoc cho trinh duyet: the nay chi doi mot minh opacity -> tach
       han ra mot lop rieng ngay tu dau, khoi phai tinh lai gi khi chay. */
    will-change: opacity;
    /* 9s mot nhip, di roi ve. Cham nhu vay thi mat khong bao gio bat duoc
       khoanh khac "no vua doi", chi thay mau luc nao cung dang chuyen. */
    animation: mh-vanh-doi-mau 9s ease-in-out infinite alternate;
}
@keyframes mh-vanh-doi-mau {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* An anh logo va duong ke ngay duoi no o DAU the: chu MIHELSEOUL to o tren
   da lam nhiem vu nhan dien roi, de them anh logo nua la hai dau hieu thuong
   hieu chong len nhau, lai day form tut xuong.
   Muon hien lai logo: xoa hai luat nay. */
.login-top .row > .text-center img { display: none; }
.login-top .row > hr { display: none; }

/* CHU TRONG THE - lat sang tong toi (2026-08-14, khi the doi sang nen
   sang). #123A52 la xanh muc dam, khong dung den tuyen: den tren nen
   trang ngan xanh nhin gat, xanh muc thi hop voi ca trang.
   .text-white la lop cua he thong (nghia den la "chu trang") - o day
   BUOC phai ghi de, neu khong dong "Already registered?" se la chu trang
   tren nen trang, tuc la mat han. */
.login-top hr {
    border-top: 1px solid rgba(14, 62, 88, .14) !important;
    margin: 16px 0 !important;
}
.login-top,
.login-top strong,
.login-top label,
.login-top .text-white { color: #123A52; }
.login-top strong { font-weight: 600; font-size: 14px; }
/* Nhan o nhap nhat hon mot bac so voi chu thuong: doc van ro nhung khong
   tranh phan voi noi dung nguoi ta go vao. */
.login-top label { color: #4A7186; font-weight: 600; }

/* O nhap - KHOET LOM XUONG, nguoc voi the dang nhap dang loi len.
   Cung mot nguon sang (tren cao roi xuong) nhung dao lai hai vach: o day
   mep TREN toi (thanh o bi khoet) va mep DUOI sang. Nho vay the va o nhap
   khong "dep" thanh mot mat phang - mat doc ra hai cap do sau. */
.login-top .form-control {
    height: 46px !important;
    border-radius: 11px !important;
    border: 1px solid rgba(14, 62, 88, .18) !important;
    background: #FFFFFF !important;
    color: #10314A !important;
    box-shadow:
        inset 0 2px 4px rgba(14, 62, 88, .13),
        inset 0 -1px 0 rgba(255, 255, 255, .9) !important;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.login-top .form-control::placeholder { color: rgba(16, 49, 74, .34); }
/* Dang go vao o nao thi o do bat mau cuc quang - cung ho mau voi vanh
   quanh the, khong dung mau cam nhu ban cu (mau cam de danh rieng cho
   nut Dang nhap va chu MIHELSEOUL, de lan sang day thi ca the thanh hai
   ton mau danh nhau). */
.login-top .form-control:focus {
    /* Tren nen trang thi #4DD0FF nhat qua, khong ra duong vien - dung ban
       dam hon mot bac cho canh o hien ro han. */
    border-color: #1BA7E0 !important;
    background: #FFFFFF !important;
    box-shadow:
        inset 0 2px 4px rgba(14, 62, 88, .10),
        0 0 0 3px rgba(27, 167, 224, .22) !important;
}
.login-top .form-control-feedback { color: rgba(16, 49, 74, .38); line-height: 46px; }

/* Nut dang nhap.

   PHAI viet `body:not(.lockscreen)` o dau (sua 2026-08-14): mihel-holo.css
   dong 920 co luat
       body:not(.lockscreen) .btn-primary { background: ... !important }
   phu mau XANH holographic len moi nut chinh cua he thong. Tep do cung nap
   o trang dang nhap. Hai ben deu !important, ma ben do do dai chon hon
   (.btn-primary co them body:not(...)) nen nut Dang nhap tu truoc den gio
   van ra MAU XANH chu khong phai mau cam nhu doan CSS nay dinh - nhin lac
   han so voi chu MIHELSEOUL cam ngay tren dau.
   Them body:not(.lockscreen) vao day la do dai chon nhinh hon ben kia,
   mau cam moi len duoc. Bo di la nut xanh tro lai. */
body:not(.lockscreen) .login-top .btn-login,
body:not(.lockscreen) .login-top .btn-primary {
    width: 100%;
    height: 48px;
    border: none !important;
    border-radius: 11px !important;
    background: linear-gradient(120deg, var(--mh-do-sang), var(--mh-do)) !important;
    color: #fff !important;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: 0 10px 26px rgba(232, 67, 26, .42);
    transition: transform .12s ease, box-shadow .16s ease;
}
body:not(.lockscreen) .login-top .btn-login:hover,
body:not(.lockscreen) .login-top .btn-primary:hover {
    transform: translateY(-2px);
    background: linear-gradient(120deg, #FF8460, var(--mh-do-sang)) !important;
    box-shadow: 0 16px 34px rgba(255, 107, 74, .5);
}
.login-top .btn-login:active { transform: translateY(0); }

/* Duong dan tren nen sang: dung --mh-do (dam) chu khong dung --mh-do-sang
   (nhat) - ban nhat von chon cho nen toi, dat len nen trang thi chu nhu
   bi phai mau. Di chuot vao thi dam them chu KHONG doi sang trang: trang
   tren nen trang la mat chu. */
.login-top a { color: var(--mh-do) !important; }
.login-top a:hover { color: #A82C0B !important; text-decoration: underline; }
.login-top .help-block { color: #C2270B; }

/* O tich "Ghi nho dang nhap". iCheck ve o nay bang anh sprite nen trang.
   Hoi the con la khoi gan den thi o nay sang choi phai ha xuong .78; nay
   the da sang, o tich lai thanh CHIM vao nen - tra ve dam day du va them
   mot net vien mo cho no con hinh khoi tren nen trang.
   Chi chinh o TRONG the dang nhap, khong dong vao anh sprite (dung chung
   cho ca he thong). */
.login-top .icheckbox_square-blue,
.login-top .iradio_square-blue {
    border-radius: 4px;
    opacity: 1;
    box-shadow: 0 0 0 1px rgba(14, 62, 88, .22);
}

/* Dong dau trang (nut Dang ky) - can giua cho gon */
.login-top .col-md-9 { width: 100%; text-align: center !important; padding-top: 0 !important; }
.login-top .bg-maroon {
    background: rgba(14, 62, 88, .05) !important;
    border: 1px solid rgba(14, 62, 88, .16) !important;
    border-radius: 9px !important;
    color: #123A52 !important;
    font-size: 12px;
}

/* ---------------------------------------------------------------
   10. MAN HINH HEP
   --------------------------------------------------------------- */
@media (max-width: 767px) {
    /* KHONG dat padding-top cho .mh-chu nua: khoi chu da tu can giua bang
       margin auto, them padding vao la lech xuong. */
    .mh-chu__khung-bong { display: none; }   /* het cho, bo bong cho gon */
    .login-top { padding: 22px 20px 18px !important; }
    .login-form .eq-height-row { padding-bottom: 3vh; }
    /* Thu vong song lai cho vua man hinh hep */
    .mh-song { width: 180px; height: 56px; }
    .mh-loe  { width: 230px; height: 78px; }
}
/* Man hinh THAP (may ban hang, cua so nho): con it cho doc nen keo the dang
   nhap len gan hon, neu khong khoang giua bi ho qua to. Van giu margin-top
   auto de the o duoi chu MIHELSEOUL, chi thu bot le duoi. */
@media (max-height: 680px) {
    .mh-chu__khung-bong { display: none; }
    .login-form .eq-height-row { padding-bottom: 2vh; }
    .mh-song { height: 52px; }
}

/* ---------------------------------------------------------------
   11. CO Y KHONG THEO "prefers-reduced-motion"  (quyet dinh 2026-08-08)

   Truoc day o day co khoi @media (prefers-reduced-motion: reduce) tat sach
   hoat anh. DA GO BO theo yeu cau cua chu he thong.

   LY DO GHI LAI CHO NGUOI SUA SAU - de khong ai tuong day la thieu sot:
   Windows co cai dat "Play animations in Windows" (Settings > Accessibility
   > Visual effects). Rat nhieu may VAN PHONG / BAN HANG bi tat cai nay tu
   truoc cho may chay nhanh, chu khong phai vi nguoi dung say chuyen dong.
   Trinh duyet doc cai dat do va bao trang web la "prefers-reduced-motion:
   reduce" -> canh nen bi dong bang, may chu he thong khong bao gio nhin thay
   hieu ung minh dat lam. Nen o RIENG trang dang nhap, hoat anh chay bat ke
   cai dat may.

   PHAM VI: file nay chi nap o layouts/auth2.blade.php (dang nhap, dang ky,
   quen/dat lai mat khau). Cac trang khac cua he thong khong co hoat anh nao
   nen quyet dinh nay khong lan sang cho khac.

   MUON THEO LAI CAI DAT MAY: dan lai khoi @media o tren (xem lich su git).
   --------------------------------------------------------------- */

/* Tab bi an -> dung hoat anh cho do ton dien (mihel-login.js gan class nay).

   Ca trang chi con DUNG MOT thu chay lap vo han: vanh cuc quang thu hai
   quanh the dang nhap (.login-top::after) tho mo-ro 9s mot nhip. Canh
   nuoc chay mot lan roi dung, dai cuc quang tren troi thi dung yen han.
   Van giu luat dung o day cho may ban hang mo suot ca ngay: mot lop
   dang tho trong tab khong ai nhin van la viec thua. */
.mh-nghi .mh-canh *,
.mh-nghi .mh-ho__sang,
.mh-nghi .login-top::after,
.mh-nghi .mh-chu__hang i,
.mh-nghi .mh-chu__bong { animation-play-state: paused !important; }
