/* ===== Giao diện ỨNG DỤNG (/app) theo macOS Tahoe: xám ấm, kính mờ, một màu nhấn. Nạp CUỐI để thắng màu cũ. ===== */
:root{--ivory:var(--bg);--paper:var(--surface);--ink:var(--text);--muted:var(--text-2);--wine:var(--accent);--wine2:var(--accent-2);--gold:var(--accent);--gold2:var(--accent-soft);--shadow:var(--shadow-2);--r:var(--r-l)}
body{background:var(--bg)!important;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;font-feature-settings:normal}
h1,h2,h3,h4,.serif,.kpi b,.score,.dc h4,.step-card h4,.sht,.meh b{font-family:var(--font)!important;font-weight:700;letter-spacing:-.02em;color:var(--text)}
.top h1,.card h3,.mbox h2,.authbox h1,.dc h4,.top h1 em{color:var(--text)}.top h1{font-size:34px;letter-spacing:-.03em}.card h3{font-size:19px}.kpi b{font-size:34px}.score{font-size:36px;color:var(--accent)}.mbox h2{font-size:26px}
input,select,textarea,button{font-family:var(--font)}
input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--line-2);border-radius:var(--r-s)}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
::placeholder{color:var(--text-3)}
.btn{background:var(--accent);border-color:var(--accent);color:var(--on-accent);border-radius:var(--r-s);font-family:var(--font);font-weight:600;box-shadow:none;transition:background .2s,transform .12s,opacity .2s}
.btn:hover{background:var(--accent-2);transform:none}.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;color:var(--accent);border-color:var(--line-2)}.btn.ghost:hover{background:var(--accent-soft);color:var(--accent)}
.btn.gold{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.card,.dc,.cd2,.mbox,.authbox{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1)}
.card{padding:20px}.cd2,.dc{border-radius:var(--r-m)}.dc:hover{border-color:var(--accent);box-shadow:var(--shadow-1)}.cd2:active,.dc:active{transform:scale(.985)}
.card.next{background:linear-gradient(135deg,var(--accent-soft),var(--surface));border-color:var(--line)}
.countdown{background:linear-gradient(135deg,#C73A35,#E0695A);color:#fff;border:0}.countdown b{font-family:var(--font);color:#fff;font-size:56px}.countdown span{color:rgba(255,255,255,.85)}
.bar{background:var(--line)}.bar i{background:var(--accent)}
.tabs button{background:var(--surface);color:var(--text-2);border-color:var(--line)}.tabs button.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.task{border-bottom:1px solid var(--line)}.task.done .tt{color:var(--text-3)}.chk{border-color:var(--accent)}.done .chk{background:var(--accent)}
.pill{background:var(--accent-soft);color:var(--accent)}.pill.red{background:var(--danger-soft);color:var(--danger)}.pill.green{background:var(--ok-soft);color:var(--ok)}.pill.blue{background:var(--accent-soft);color:var(--accent)}.pill.gray{background:var(--surface-2);color:var(--text-2);border:1px solid var(--line)}
table.t th{color:var(--text-2)}.t td{border-bottom:1px solid var(--line)}
.empty,.td{color:var(--text-2)}.x{color:var(--text-2)}.stars{color:var(--warn)}
.corehelp{background:var(--accent-soft);border-color:transparent}
.hl-box,.hl-chip,.cs-o,.cs-c{background:var(--surface);border-color:var(--line)}.cs-o.on,.cs-c.on{background:var(--accent-soft);border-color:var(--accent);box-shadow:none}.cs-wrap{background:var(--bg)}.cs-box{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-1)}
.toast{background:var(--glass-strong);color:var(--text);border:1px solid var(--glass-line);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-radius:var(--r-m);box-shadow:var(--shadow-2)}
/* sidebar kính mờ sáng/tối */
.side{background:var(--glass);color:var(--text);border-right:1px solid var(--glass-line);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}
.side .logo{color:var(--text)}.side .logo img{content:url(/assets/img/logo-hvsc-do.png)}.side .logo .wd{color:var(--text-2);font-family:var(--font);font-size:14px;font-weight:600;letter-spacing:.02em;padding-left:8px}
.side .couple{background:var(--surface);border:1px solid var(--line);color:var(--text);font:700 17px var(--font);border-radius:var(--r-m)}.side .couple small{color:var(--text-2);letter-spacing:0;font-weight:500}
.side a.m{color:var(--text);border-radius:var(--r-s);font-size:14.5px;gap:11px;transition:background .15s}.side a.m:hover{background:var(--accent-soft)}.side a.m.on{background:var(--accent-soft);color:var(--accent);box-shadow:none;font-weight:600}
.side a.m>span:first-child{width:22px;height:22px;display:inline-grid;place-items:center;color:var(--text-2);flex:none}.side a.m.on>span:first-child{color:var(--accent)}
.side a.m .ico,.bnav .ico,.cd2 .ico,.sb .ico{width:22px;height:22px}
.side .mg{color:var(--text-3);letter-spacing:.06em;font-weight:600}.side .sp{background:var(--line)}.side select{background:var(--surface)!important;color:var(--text)!important;border-color:var(--line)!important}
:root[data-scheme=dark] .side .logo img{content:url(/assets/img/logo-hvsc-trang.png)}@media(prefers-color-scheme:dark){:root:not([data-scheme=light]) .side .logo img{content:url(/assets/img/logo-hvsc-trang.png)}}
/* thanh trên / thanh tab dưới / sheet = kính mờ */
.stop,.mobtop{background:var(--glass);color:var(--text);border-bottom:1px solid var(--glass-line);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px)}
.stop .nm{font:700 17px var(--font);letter-spacing:-.01em;color:var(--text)}.stop .sl-logo{display:none}.stop .sb{color:var(--accent)}.stop .sb .ico{width:24px;height:24px}
.bnav{background:var(--glass);border-top:1px solid var(--glass-line);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);box-shadow:none}
.bnav a{color:var(--text-2)}.bnav a.on{color:var(--accent)}.bnav a.on:before{display:none}.bnav .ic{display:grid;place-items:center;height:26px}.bnav .dot{background:var(--danger);color:#fff}
.shb{background:rgba(0,0,0,.32);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.sh{background:var(--glass-strong);backdrop-filter:saturate(180%) blur(30px);-webkit-backdrop-filter:saturate(180%) blur(30px);border:1px solid var(--glass-line)}.shf{border-color:var(--line)}.shg,.mgrip i{background:var(--line-2)}
.modal{background:rgba(0,0,0,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.mbox{background:var(--glass-strong);backdrop-filter:saturate(180%) blur(30px);-webkit-backdrop-filter:saturate(180%) blur(30px);box-shadow:var(--shadow-2)}
.cd2 .ci{color:var(--accent)}.cd2 .tg{background:var(--accent-soft);color:var(--accent)}.mdt>summary{color:var(--text-2)}.mq{background:var(--surface)}
.stp2i .sc{background:var(--surface);border-color:var(--line-2)}.stp2i.past .sc{background:var(--accent);border-color:var(--accent);color:#fff}.stp2i.cur .sc{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);color:#fff}.stp2i.cur .sl{color:var(--accent)}
.btn,.side a.m,.cd2,.tabs button,.hl-chip{-webkit-tap-highlight-color:transparent}
::selection{background:var(--accent-soft)}
.stp2{padding-bottom:2px}.stpw{margin:2px 0 0}.stp2i{min-height:0}
/* thanh trên mobile của tài khoản doanh nghiệp/admin (kính sáng): logo đỏ, chữ tối */
.mobtop .logo{color:var(--text)!important}.mobtop .logo img{content:url(/assets/img/logo-hvsc-do.png)}.mobtop .logo .wd{color:var(--text-2)!important;font-family:var(--font)!important;font-size:14px!important;font-weight:600}
:root[data-scheme=dark] .mobtop .logo img{content:url(/assets/img/logo-hvsc-trang.png)}@media(prefers-color-scheme:dark){:root:not([data-scheme=light]) .mobtop .logo img{content:url(/assets/img/logo-hvsc-trang.png)}}
button.pill,.tmbar button,.tmbar a,.tm-chip,.tr-chip{min-height:44px;padding-left:14px;padding-right:14px;display:inline-flex;align-items:center}
button.pill,.tmbar button{min-height:44px!important;padding-left:14px!important;padding-right:14px!important}
input,select,textarea{font-size:16px}
/* header đăng nhập/đăng ký trong /app (dùng markup .nav của landing) */
.nav{position:sticky;top:0;z-index:60;background:var(--glass);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-bottom:1px solid var(--glass-line)}
.nav .wrap{height:60px}.nav .logo{color:var(--text)}.nav .logo .wd{font-family:var(--font);font-size:14px;font-weight:600;color:var(--text-2);letter-spacing:.02em;padding-left:10px;border-left:1px solid var(--line-2)}
:root[data-scheme=dark] .nav .logo img{content:url(/assets/img/logo-hvsc-trang.png)}@media(prefers-color-scheme:dark){:root:not([data-scheme=light]) .nav .logo img{content:url(/assets/img/logo-hvsc-trang.png)}}

/* album / chính sách (S7) theo bảng Tahoe */
.al-sum,.al-banner,.al-warn,.al-note{background:var(--accent-soft)!important;border-color:transparent!important;color:var(--text)!important}.al-banner.ok{background:var(--ok-soft)!important;color:var(--ok)!important}
.al-pol{background:var(--surface)!important;box-shadow:var(--shadow-1)!important}.al-pol h1,.al-pol h2,.al-title,.al-h2{font-family:var(--font)!important;font-weight:700!important;color:var(--text)!important;letter-spacing:-.02em}.al-sum h2{color:var(--accent)!important}.al-pol h2 span{background:var(--accent)!important}.al-pol .orn{color:var(--accent)!important}
.al-in,.al-tabs button{background:var(--surface);color:var(--text);font-size:16px}.al-tabs button.on{color:#fff}
.alp,.al-full{background:var(--bg)}
.al-sum h2,.al-sum dt{color:var(--accent-2)!important}
.nav .logo{min-height:44px;display:flex;align-items:center}
/* 29/10 — logo chuẩn 4:1 trong app (đã gồm chữ WEDDING, bỏ chữ rời) */
.logo .wd{display:none!important}.nav .logo img{height:40px;width:auto}.side .logo img{height:44px;width:auto}.mobtop .logo img{height:32px!important;width:auto}
