/* หน้าที่: องค์ประกอบ UI และสถานะร่วมของทุกระบบ */
:root{--luxury-ink:#14213d;--luxury-muted:#66758d;--luxury-blue:#3159ff;--luxury-purple:#8257e8;--luxury-gold:#d8a84e;--luxury-surface:rgba(255,255,255,.88);--luxury-line:rgba(91,111,151,.16)}
*,*:before,*:after{box-sizing:border-box}body{font-family:'Prompt','Kanit',sans-serif;color:var(--luxury-ink);text-rendering:optimizeLegibility}h1,h2,h3,h4,p,strong,small,span,a,button,label,td,th{overflow-wrap:anywhere}h1,h2,h3,h4{line-height:1.2;letter-spacing:-.025em}p{line-height:1.75}button,a,input,select,textarea{font:inherit}button,a{position:relative;-webkit-tap-highlight-color:transparent}.interaction-ripple{position:absolute;z-index:5;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.55);pointer-events:none;transform:translate(-50%,-50%);animation:luxuryRipple .65s ease-out forwards}@keyframes luxuryRipple{to{width:260px;height:260px;opacity:0}}

.nav-links>a,.nav-dropdown>button,.nav-search-trigger{transition:color .2s,background .2s,transform .2s,box-shadow .2s}.nav-links>a:hover,.nav-dropdown>button:hover,.nav-search-trigger:hover{transform:translateY(-2px);background:#f0f4ff;color:var(--luxury-blue)}.nav-links>a.active{background:linear-gradient(135deg,#edf2ff,#f4efff);color:var(--luxury-blue);box-shadow:inset 0 0 0 1px rgba(49,89,255,.12)}.nav-search-trigger{height:38px;padding:0 13px;border:1px solid #dfe6f2;border-radius:12px;background:#fff;color:#52627b;display:flex;align-items:center;gap:7px;cursor:pointer}.mobile-dock a.active:after{content:"";position:absolute;bottom:1px;width:20px;height:3px;border-radius:9px;background:linear-gradient(90deg,var(--luxury-blue),var(--luxury-purple))}
.fg2-quick-actions>a,.fg2-venue-tile,.care-db-card,.pr-card,.food-card,.room-card{transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s,border-color .28s}.fg2-quick-actions>a:hover,.care-db-card:hover,.pr-card:hover,.food-card:hover,.room-card:hover{transform:translateY(-6px);box-shadow:0 24px 60px rgba(25,42,82,.16);border-color:rgba(49,89,255,.22)}.fg2-venue-tile:hover{transform:translateY(-7px) scale(1.008);box-shadow:0 30px 75px rgba(24,35,75,.18)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(49,89,255,.32)!important;outline-offset:3px}

.site-search-dialog,.dashboard-search-dialog{width:min(760px,calc(100vw - 26px));max-width:none;padding:0;border:0;border-radius:28px;background:transparent;overflow:visible}.site-search-dialog::backdrop,.dashboard-search-dialog::backdrop{background:rgba(7,13,31,.72);backdrop-filter:blur(12px)}.site-search-shell,.dashboard-search-dialog>div{overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:28px;background:rgba(249,251,255,.97);box-shadow:0 40px 110px rgba(6,12,35,.42)}.site-search-head{height:58px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;color:#64738a;font-size:11px;font-weight:700;letter-spacing:.04em}.site-search-head span{display:flex;align-items:center;gap:8px}.site-search-head span i{color:#8b5de9}.site-search-head button,.dashboard-search-dialog>div>button{width:38px;height:38px;border:0;border-radius:12px;background:#edf1f8;color:#43516a;cursor:pointer}.site-search-input{margin:0 18px 14px;height:62px;padding:0 17px;border:1px solid #d9e2ef;border-radius:18px;background:#fff;display:flex;align-items:center;gap:12px;box-shadow:0 12px 30px rgba(28,45,81,.08)}.site-search-input>i{color:var(--luxury-blue)}.site-search-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:15px}.site-search-input kbd{padding:4px 7px;border:1px solid #dce3ed;border-radius:7px;background:#f4f6f9;color:#7e899a;font-size:8px}.site-search-suggestions{max-height:min(62vh,520px);padding:4px 18px 18px;overflow:auto}.search-welcome{min-height:190px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#7d899a}.search-welcome>i{font-size:30px;margin-bottom:12px;color:#8b5de9}.search-welcome strong{color:#273650}.search-welcome small{margin-top:5px}.search-loading{padding:45px;text-align:center;color:#7c899d}.search-result-item{display:grid;grid-template-columns:45px minmax(0,1fr) auto 24px;gap:12px;align-items:center;padding:11px;border-radius:15px;color:#263650;transition:.2s}.search-result-item:hover{background:#edf2ff;transform:translateX(4px)}.search-result-item>img,.search-result-item>i:first-child{width:45px;height:45px;border-radius:13px;object-fit:cover}.search-result-item>i:first-child{display:grid;place-items:center;background:#eaf0ff;color:var(--luxury-blue)}.search-result-item>span{display:flex;min-width:0;flex-direction:column}.search-result-item>span strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-item small{color:#8490a2;font-size:9px}.search-result-item em{padding:5px 8px;border-radius:999px;background:#f1edff;color:#7754cd;font:700 8px 'Prompt';font-style:normal;text-transform:uppercase}

.dashboard-app{background:radial-gradient(circle at 80% 0,rgba(83,104,255,.08),transparent 28%),linear-gradient(145deg,#f7f9fd,#f3f0f8)}.dashboard-sidebar{background:linear-gradient(180deg,#111a31,#172546 62%,#10192d)!important;color:#f7f9ff!important;box-shadow:18px 0 55px rgba(9,18,39,.15)}.dash-brand,.sidebar-shop{border-color:rgba(255,255,255,.09)!important}.dash-nav a{color:#aebbd0!important;border:1px solid transparent;transition:.2s}.dash-nav a:hover{color:#fff!important;background:rgba(255,255,255,.075);transform:translateX(3px)}.dash-nav a.active{color:#fff!important;background:linear-gradient(135deg,rgba(65,97,255,.42),rgba(139,71,211,.32))!important;border-color:rgba(153,173,255,.18);box-shadow:0 10px 28px rgba(4,10,30,.22)}.dashboard-topbar{background:rgba(255,255,255,.82)!important;backdrop-filter:blur(20px);border-bottom:1px solid var(--luxury-line)}.panel,.module-item{border-color:var(--luxury-line)!important;background:var(--luxury-surface)!important;box-shadow:0 12px 35px rgba(24,42,79,.055)!important}.module-item{overflow:hidden;transition:transform .23s,box-shadow .23s,border-color .23s}.module-item:hover{transform:translateY(-5px);box-shadow:0 24px 55px rgba(25,44,83,.13)!important;border-color:rgba(49,89,255,.22)!important}.module-thumb img{width:100%;height:100%;object-fit:cover}.module-item h3{line-height:1.42;min-height:1.4em}.module-item p{line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.module-actions button,.primary-dash-button,.top-icon,.view-site,.logout-button,.row-menu{overflow:hidden;transition:.2s}.module-actions button:hover,.top-icon:hover,.row-menu:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(30,52,91,.12)}.primary-dash-button{background:linear-gradient(135deg,#3159ff,#8158e8)!important;box-shadow:0 12px 28px rgba(49,89,255,.24)!important}.status-live,.locked,.approval-status{display:inline-flex;align-items:center;gap:5px;width:max-content;padding:5px 8px;border-radius:999px;font-style:normal}.status-live{background:#e9f8f1;color:#148361}.locked{background:#f2f3f6;color:#7f8998}.approval-status.status-pending{background:#fff5d9;color:#9a6a00}.approval-status.status-approved{background:#e9f8f1;color:#148361}.approval-status.status-rejected{background:#fff0f2;color:#bd3651}.access-badges{display:flex;gap:5px;margin-top:10px}.access-badges span{padding:4px 7px;border-radius:7px;font-size:8px;font-weight:700}.access-badges .on{background:#e8f7f0;color:#12815e}.access-badges .off{background:#f0f2f6;color:#8a93a1}.approval-thumb span{text-transform:uppercase}.approval-actions .approve{background:#e8f8f0!important;color:#12815e!important;border-color:#ccebdc!important}.approval-card.is-pending{border-color:#efd38e!important;box-shadow:0 14px 40px rgba(205,153,37,.12)!important}

.venue-scope-menu{position:absolute;z-index:8;left:15px;right:15px;margin-top:7px;padding:7px;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:#1b2947;box-shadow:0 18px 45px rgba(0,0,0,.3)}.venue-scope-menu button{width:100%;padding:9px 11px;border:0;border-radius:9px;background:transparent;color:#c7d1e1;text-align:left;font-size:10px;cursor:pointer}.venue-scope-menu button:hover{background:rgba(255,255,255,.09);color:#fff}.notification-count{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;border:2px solid #fff;border-radius:999px;background:#e84769;color:#fff;font-size:8px;display:grid;place-items:center}.notification-panel{position:absolute;z-index:20;right:18px;top:64px;width:min(390px,calc(100vw - 24px));max-height:520px;overflow:auto;padding:13px;border:1px solid #dde4ef;border-radius:20px;background:#fff;box-shadow:0 28px 75px rgba(10,22,49,.25)}.notification-panel>div:first-child{display:flex;align-items:center;justify-content:space-between;padding:5px 6px 11px}.notification-panel>div:first-child button{border:0;background:none;color:var(--luxury-blue);font-size:9px}.notification-item{display:flex;gap:11px;padding:11px;border-radius:13px;color:#35445d}.notification-item:hover,.notification-item.unread{background:#f0f4ff}.notification-item>i{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;background:#e8eeff;color:var(--luxury-blue)}.notification-item>span{display:flex;min-width:0;flex-direction:column}.notification-item small{color:#718096;font-size:9px}.notification-item em{margin-top:3px;color:#9ba5b4;font-size:8px;font-style:normal}.notification-empty{padding:30px;text-align:center;color:#8994a4}

.module-toolbar,.filter-bar{align-items:center;flex-wrap:wrap}.module-toolbar select,.filter-bar select{min-width:118px}.module-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:18px;padding:13px 15px;border:1px solid var(--luxury-line);border-radius:15px;background:rgba(255,255,255,.76);color:#78859a;font-size:10px}.module-pagination>div{display:flex;align-items:center;gap:10px}.module-pagination button{width:36px;height:34px;border:1px solid #dce3ed;border-radius:10px;background:#fff;color:#53627a}.module-pagination button:not(:disabled):hover{background:#3159ff;color:#fff}.module-pagination button:disabled{opacity:.35}.module-pagination em{font-style:normal}.settings-guide,.upload-spec{display:flex;align-items:center;gap:14px;margin-bottom:17px;padding:16px 18px;border:1px solid #ded8f5;border-radius:17px;background:linear-gradient(135deg,#f4f1ff,#eef4ff)}.settings-guide>i,.upload-spec>i{font-size:23px;color:#7a59dd}.settings-guide strong,.upload-spec strong{display:block}.settings-guide p,.upload-spec small{margin:2px 0 0;color:#758299;font-size:10px}

.image-crop-field{padding:14px;border:1px solid #dce4ef;border-radius:18px;background:#f9fbff}.image-spec{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px;color:#506079;font-size:10px}.image-spec span{font-weight:700}.image-spec i{color:var(--luxury-blue);margin-right:5px}.image-spec small{color:#929cac}.image-drop{min-height:94px;padding:14px;border:1.5px dashed #b9c8dd;border-radius:14px;background:#fff;display:flex!important;align-items:center!important;justify-content:center;gap:12px;cursor:pointer}.image-drop:hover{border-color:#3159ff;background:#f2f6ff}.image-drop input{position:absolute;width:1px;height:1px;opacity:0}.image-drop>i{font-size:24px;color:#5475df}.image-drop>span{display:flex;flex-direction:column}.image-drop small{color:#8b96a7;font-size:9px}.crop-workspace{margin-top:12px}.crop-workspace canvas{display:block;width:100%;max-height:360px;border-radius:14px;background:#0c1326;object-fit:contain}.crop-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:11px}.crop-controls label{font-size:9px;color:#65738a}.crop-controls input{width:100%;accent-color:#3159ff}.employee-poster-submit{margin-bottom:20px;padding:20px}.employee-poster-submit>label{display:grid;gap:6px;margin-bottom:12px}.employee-poster-submit input{height:45px;padding:0 12px;border:1px solid #dce4ef;border-radius:11px}.employee-poster-submit>.primary-dash-button{margin-top:15px}.permission-choice{padding:14px;border:1px solid #dce4ef;border-radius:16px}.permission-choice legend{padding:0 8px;color:#47566e;font-weight:700}.permission-choice>label{display:flex!important;align-items:center;gap:10px;padding:9px;border-radius:10px}.permission-choice>label:hover{background:#f0f4ff}.permission-choice input{width:18px;height:18px;accent-color:#3159ff}.permission-choice span{display:flex;flex-direction:column}.permission-choice small{color:#8994a4;font-size:8px}

.dashboard-search-dialog>div{position:relative;padding:28px}.dashboard-search-dialog>div>button{position:absolute;right:16px;top:16px}.dashboard-search-dialog h2{margin:5px 0 17px}.dashboard-search-dialog label{height:54px;padding:0 15px;border:1px solid #dce4ef;border-radius:15px;background:#fff;display:flex;align-items:center;gap:10px}.dashboard-search-dialog label input{flex:1;border:0;outline:0}.dashboard-search-dialog [data-dashboard-search-results]{display:grid;gap:6px;max-height:390px;margin-top:12px;overflow:auto}.dashboard-search-dialog [data-dashboard-search-results]>button{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:10px;border:0;border-radius:12px;background:transparent;color:#31415b;text-align:left}.dashboard-search-dialog [data-dashboard-search-results]>button:hover{background:#edf2ff}.dashboard-search-dialog [data-dashboard-search-results]>button>i:first-child{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#e6edff;color:#3159ff}.dashboard-search-dialog [data-dashboard-search-results] span{display:flex;flex-direction:column}.dashboard-search-dialog [data-dashboard-search-results] small{color:#8b96a5;font-size:8px}

.toast-stack{right:20px!important;bottom:20px!important;z-index:300!important}.toast-item{min-width:min(360px,calc(100vw - 28px));padding:13px 12px 13px 15px!important;border:1px solid rgba(255,255,255,.16);border-radius:15px!important;background:linear-gradient(135deg,#17223d,#24365e)!important;box-shadow:0 18px 50px rgba(7,16,37,.27)!important;animation:toastIn .28s cubic-bezier(.2,.9,.2,1)!important}.toast-item>i{color:#6ee7b7}.toast-item.toast-error>i{color:#fda4af}.toast-item.toast-warning>i{color:#fcd34d}.toast-item.toast-info>i{color:#93c5fd}.toast-item>span{flex:1}.toast-item>button{width:28px;height:28px;border:0;border-radius:8px;background:rgba(255,255,255,.1);color:#fff}.toast-item.is-leaving{opacity:0;transform:translateX(20px);transition:.25s}

@media(max-width:800px){.nav-search-trigger{width:100%;justify-content:flex-start}.site-search-dialog{width:calc(100vw - 14px);margin-top:max(8px,env(safe-area-inset-top));border-radius:23px}.site-search-shell{border-radius:23px}.site-search-input{height:56px;margin-inline:10px}.site-search-suggestions{padding-inline:10px}.search-result-item{grid-template-columns:42px minmax(0,1fr) 20px}.search-result-item em{display:none}.dashboard-content h1{font-size:clamp(21px,6vw,28px)!important}.module-header{gap:10px}.module-header>div{min-width:0}.module-header p{line-height:1.55}.module-toolbar,.filter-bar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.module-toolbar>.search-box,.filter-bar>.search-box{grid-column:1/-1}.module-toolbar>div:last-child{display:contents!important}.module-toolbar select,.filter-bar select{width:100%;min-width:0}.module-pagination{gap:8px}.module-pagination>span{max-width:120px}.crop-controls{grid-template-columns:1fr}.image-spec{display:block}.image-spec small{display:block;margin-top:3px}.notification-panel{right:8px;top:61px}.toast-stack{left:12px!important;right:12px!important;bottom:86px!important}.toast-item{min-width:0;width:100%}}
.notification-preferences{margin:0 4px 9px;padding:9px 10px;border:1px solid #e3e8f2;border-radius:13px;background:#f8faff}.notification-preferences summary{cursor:pointer;color:#43516a;font-size:9px;font-weight:800}.notification-preferences[open] summary{margin-bottom:8px}.notification-preferences label{display:inline-flex;align-items:center;gap:5px;margin:3px 8px 3px 0;color:#61708a;font-size:8px}.notification-preferences input{accent-color:var(--luxury-blue)}.notification-preferences .popup-switch{display:flex;padding-top:5px;border-top:1px solid #e4e9f2;color:#263652;font-weight:800}
.dashboard-app.no-notifications [data-notification-toggle],.dashboard-app.no-notifications [data-notification-panel]{display:none!important}
.dashboard-app.cannot-submit-poster [data-employee-poster-form]{display:none!important}.dashboard-app.view-only-profile [data-employee-profile-form] .primary-dash-button{display:none!important}.dashboard-app.view-only-profile [data-employee-profile-form] input{background:#eef1f6;color:#7b8797;pointer-events:none}
.employee-poster-thumb{aspect-ratio:16/10;height:auto!important;min-height:150px;background:linear-gradient(145deg,#121b32,#24375e)!important}.employee-poster-thumb>i{color:#a8b9db!important}.employee-poster-state{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:11px;padding:8px 9px;border:1px solid #e4e9f3;border-radius:11px;background:#f8faff;color:#40516e;font-size:8px}.employee-poster-state>span{font-weight:800}.employee-poster-state>em{margin-left:auto}.employee-poster-state>b{display:inline-flex;align-items:center;gap:4px;color:#3159ff;font-weight:800}.employee-poster-state.no-poster{border-style:dashed;color:#8995a8;background:#fafbfc}
.approval-status.status-displaying{background:#e8efff;color:#3159ff}.approval-status.status-displayed{background:#eef0f4;color:#657184}.approval-status.status-cancelled{background:#f3f4f6;color:#7a8492}.scan-warp-admin-card .module-thumb video{width:100%;height:100%;object-fit:cover}.scan-warp-admin-card.status-displaying{border-color:#7b9aff!important;box-shadow:0 14px 40px rgba(49,89,255,.16)!important}.image-editor-preview video{width:100%;max-height:360px;object-fit:contain;border-radius:12px;background:#070b16}
.approval-status.status-verified{background:#e8fff2;color:#11874c}.approval-status.status-unpaid,.approval-status.status-pending{background:#fff7df;color:#9a6700}.approval-status.status-refunded{background:#eef0f4;color:#657184}.field-copy{display:flex;gap:.65rem;align-items:center}.field-copy input{flex:1;min-width:0}.field-copy a{white-space:nowrap;text-decoration:none}.module-item .access-badges a{text-decoration:none}.scan-warp-admin-card .approval-status+ .approval-status{margin-left:.4rem}

@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.interaction-ripple{display:none}}

/* Accessible directional navigation, modal exits and realtime/file registry. */
.universal-dialog-close{position:absolute!important;z-index:30;right:14px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:#fff;color:#14213d;box-shadow:0 10px 30px rgba(8,16,38,.25);cursor:pointer}.universal-dialog-close:hover{transform:rotate(90deg) scale(1.07);color:#e11d48}.cloud-sync-state{position:fixed;z-index:245;left:max(16px,env(safe-area-inset-left));bottom:18px;display:flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid #d9e2ef;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(14,29,64,.15);color:#6f7c90;font-size:9px;font-weight:800;backdrop-filter:blur(15px)}.cloud-sync-state i{width:8px;height:8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.12)}.cloud-sync-state.connected i{background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12)}.cloud-sync-state.disabled i{background:#94a3b8}.file-registry{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 8px;align-items:center;margin-top:9px;padding:8px;border:1px solid #e0e7f1;border-radius:10px;background:#f7f9fd;min-width:0}.file-registry code{padding:3px 5px;border-radius:6px;background:#e9efff;color:#3159ff;font:700 8px ui-monospace,monospace}.file-registry span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#758299;font-size:8px}
@media(max-width:800px){.cloud-sync-state{bottom:91px;left:10px}.universal-dialog-close{right:9px;top:9px;width:42px;height:42px}}
.input-wrap button{display:grid;place-items:center;width:44px;height:44px;margin-right:-12px;border-radius:12px;cursor:pointer}.input-wrap button:hover{background:#edf2ff;color:#3159ff}

/* Scrollable production control-center sidebar. */
.dashboard-sidebar{height:100vh;height:100dvh;max-height:100dvh;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#6f86c4 rgba(255,255,255,.07)}.dashboard-sidebar::-webkit-scrollbar{width:7px}.dashboard-sidebar::-webkit-scrollbar-track{background:rgba(255,255,255,.045)}.dashboard-sidebar::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:linear-gradient(#617dff,#a565e8);background-clip:padding-box}.dashboard-sidebar::-webkit-scrollbar-thumb:hover{background:linear-gradient(#89a0ff,#c28aef);background-clip:padding-box}.dashboard-sidebar .dash-brand{position:sticky;z-index:12;top:0;background:linear-gradient(180deg,#111a31 80%,rgba(17,26,49,.9));backdrop-filter:blur(14px)}.dashboard-sidebar .sidebar-user{position:sticky;z-index:11;bottom:0;background:linear-gradient(0deg,#10192d 82%,rgba(16,25,45,.9));backdrop-filter:blur(14px)}.nav-sublabel{margin-top:14px!important;color:#8292b5!important}.sidebar-shop button:disabled{cursor:default;opacity:1}.sidebar-shop button:disabled>i{color:#7dd3fc}

/* Employee profile: desktop workspace and app-style responsive layouts. */
.profile-page-layout{display:grid;grid-template-columns:minmax(250px,330px) minmax(0,1fr);gap:20px;align-items:start}.profile-identity-card{position:sticky;top:92px;padding:0 22px 24px!important;text-align:center;overflow:hidden}.profile-identity-cover{height:118px;margin:0 -22px;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.35),transparent 30%),linear-gradient(135deg,#3159ff,#7746d9 55%,#df3f93)}.profile-identity-avatar{position:relative;width:112px;height:112px;margin:-58px auto 12px;display:grid;place-items:center;border:6px solid #fff;border-radius:32px;background:linear-gradient(145deg,#eef2ff,#f7eaff);box-shadow:0 18px 45px rgba(41,57,111,.2);overflow:hidden;color:#5b65d8;font-size:36px}.profile-identity-avatar img{width:100%;height:100%;object-fit:cover}.profile-live-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#eafbf2;color:#168247;font-size:10px;font-weight:800}.profile-live-status i{width:7px;height:7px;border-radius:50%;background:#22c55e}.profile-identity-card h2{margin:12px 0 3px;font-size:22px}.profile-identity-card>p{margin:0;color:#718099}.profile-identity-card dl{display:grid;gap:0;margin:20px 0 0;text-align:left}.profile-identity-card dl div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-top:1px solid #e7ecf5}.profile-identity-card dt{color:#8793a8}.profile-identity-card dd{margin:0;max-width:60%;text-align:right;font-weight:700;color:#263451}.employee-profile-form{display:grid;gap:18px}.employee-profile-form fieldset{min-width:0;margin:0;padding:18px;border:1px solid #e0e7f2;border-radius:18px;background:linear-gradient(145deg,#fff,#fbfcff)}.employee-profile-form legend{padding:0 9px;color:#33436a;font-weight:800}.employee-profile-form legend i{margin-right:7px;color:#596ef0}.profile-form-help{display:block;margin-top:12px;color:#718099;line-height:1.6}.profile-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.profile-history-grid>.panel{min-width:0}.profile-history-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #e8edf5}.profile-history-row:last-child{border-bottom:0}.profile-history-row>i{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;background:#edf1ff;color:#5368e5}.profile-history-row span{min-width:0}.profile-history-row strong,.profile-history-row small{display:block}.profile-history-row small{margin-top:3px;color:#8390a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-history-row em{padding:5px 8px;border-radius:999px;background:#edf2f8;color:#65728a;font-size:9px;font-style:normal;font-weight:800}.profile-history-row.status-pending em{background:#fff6dd;color:#a46700}.profile-history-row.status-approved em{background:#e7faef;color:#137743}.profile-history-row.status-rejected em{background:#fff0f2;color:#c83248}
@media(max-width:900px){.profile-page-layout{grid-template-columns:1fr}.profile-identity-card{position:relative;top:auto}.profile-identity-card dl{grid-template-columns:repeat(3,1fr);gap:8px}.profile-identity-card dl div{display:block;padding:10px;border:1px solid #e7ecf5;border-radius:13px;text-align:center}.profile-identity-card dd{max-width:none;margin-top:4px;text-align:center}.profile-history-grid{grid-template-columns:1fr}}
@media(max-width:700px){.dashboard-content{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:calc(90px + env(safe-area-inset-bottom))}.module-header h1{font-size:clamp(21px,7vw,29px)}.profile-page-layout{gap:14px}.profile-identity-card{border-radius:24px!important}.profile-identity-cover{height:100px}.profile-identity-avatar{width:94px;height:94px;margin-top:-49px;border-radius:27px}.profile-identity-card dl{grid-template-columns:1fr}.profile-identity-card dl div{display:flex;text-align:left}.profile-identity-card dd{text-align:right}.employee-profile-form{padding:15px!important;border-radius:24px!important}.employee-profile-form fieldset{padding:14px;border-radius:16px}.employee-profile-form .form-grid{grid-template-columns:1fr}.employee-profile-form .full{grid-column:auto}.profile-history-row{grid-template-columns:38px minmax(0,1fr)}.profile-history-row>i{width:36px;height:36px}.profile-history-row>em{grid-column:2;width:max-content}.employee-gallery-grid{grid-template-columns:1fr!important}.dash-view{animation:profileViewIn .25s ease both}}@keyframes profileViewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Global language control ------------------------------------------------- */
html[lang="zh"] body,
html[lang="zh"] button,
html[lang="zh"] input,
html[lang="zh"] select,
html[lang="zh"] textarea { font-family: "Noto Sans SC", "Prompt", sans-serif; }

.language-switcher { position: fixed; z-index: 1300; top: calc(76px + env(safe-area-inset-top)); right: 16px; color: #14213d; }
.language-current { min-height: 42px; display: inline-flex; align-items: center; gap: 8px; padding: 0 13px; border: 1px solid rgba(91,114,165,.22); border-radius: 14px; background: rgba(255,255,255,.92); color: inherit; box-shadow: 0 12px 34px rgba(22,39,80,.16); backdrop-filter: blur(16px); cursor: pointer; font-weight: 700; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.language-current:hover,.language-current:focus-visible { transform: translateY(-2px); border-color: var(--page-accent,#3159ff); box-shadow: 0 16px 38px rgba(22,39,80,.22); outline: none; }
.language-current .fa-chevron-down { font-size: .7rem; transition: transform .2s ease; }
.language-current[aria-expanded="true"] .fa-chevron-down { transform: rotate(180deg); }
.language-menu { position: absolute; top: calc(100% + 9px); right: 0; width: 188px; padding: 8px; border: 1px solid rgba(91,114,165,.18); border-radius: 18px; background: rgba(255,255,255,.98); box-shadow: 0 24px 54px rgba(17,33,74,.24); backdrop-filter: blur(20px); }
.language-menu[hidden] { display: none; }
.language-menu button { width: 100%; display: grid; grid-template-columns: 34px 1fr 18px; align-items: center; gap: 8px; padding: 10px; border: 0; border-radius: 12px; background: transparent; color: #243456; text-align: left; cursor: pointer; }
.language-menu button:hover,.language-menu button:focus-visible { background: #f0f4ff; outline: none; }
.language-menu button.active { background: color-mix(in srgb, var(--page-accent,#3159ff) 11%, white); color: var(--page-accent,#3159ff); }
.language-menu button > span { display: grid; place-items: center; width: 31px; height: 27px; border-radius: 8px; background: #eaf0ff; font-size: .72rem; font-weight: 800; }
.language-menu button strong { font-size: .9rem; }
.language-menu button > i { opacity: 0; }
.language-menu button.active > i { opacity: 1; }
body:has(.auth-page) .language-switcher,
body:has(.dashboard-shell) .language-switcher,
body:has(.warp-led) .language-switcher { top: calc(16px + env(safe-area-inset-top)); }

@media (max-width: 760px) {
  .language-switcher { top: calc(68px + env(safe-area-inset-top)); right: 10px; }
  .language-current { min-height: 38px; padding: 0 11px; border-radius: 12px; }
  .language-current > span { font-size: .8rem; }
  .language-menu { width: 174px; }
}
