/* Nút chuyển trang GMM (góc trái dưới), nút thư mục mẫu dự án, nút góp ý (góc phải dưới). Dùng chung cho /, /app, /2FA.
   Màu theo giao diện tài khoản (html[data-theme] do gmm-theme.js đặt): mặc định = Champagne như trước; màu nhấn tự chọn lấy từ --accent / --accent-rgb trên <html>. */
.gmm-switcher-bar,.gmm-feedback,.gmm-template-dialog{--sw-bg:linear-gradient(145deg,rgba(54,45,43,.72),rgba(57,51,52,.45));--sw-panel:linear-gradient(145deg,rgba(67,56,50,.97),rgba(64,59,66,.96));--sw-line:rgba(255,241,219,.3);--sw-text:#fffaf2;--sw-text2:#ded3c8;--sw-gold:#f4d9b2;--sw-accent:var(--accent,#e7c28b);--sw-accent-rgb:var(--accent-rgb,231,194,139);--sw-hover:rgba(126,103,76,.7);--sw-tile-hover:rgba(255,241,219,.12);--sw-shadow:rgba(32,23,20,.2);--sw-inset:rgba(255,250,240,.25);--sw-blur:blur(25px);--sw-ok:#a4e7c5;--sw-err:#ffb4a8;--sw-btn:linear-gradient(135deg,#f4d8aa,#c6aa86);--sw-btn-text:#302823}
html[data-theme=brand] .gmm-switcher-bar,html[data-theme=brand] .gmm-feedback,html[data-theme=brand] .gmm-template-dialog{--sw-bg:var(--nav-bg);--sw-panel:var(--modal-bg);--sw-line:var(--glass-border);--sw-text:var(--text);--sw-text2:var(--text2);--sw-gold:var(--heading);--sw-hover:rgba(var(--sw-accent-rgb),.24);--sw-tile-hover:rgba(var(--tint),.1);--sw-shadow:rgba(0,0,0,.35);--sw-inset:rgba(var(--tint),.12);--sw-btn:var(--btn-bg);--sw-btn-text:var(--btn-text)} /* kiểu theo logo văn phòng (gmm-office.js, 21/10/2026) */
html[data-theme=midnight] .gmm-switcher-bar,html[data-theme=midnight] .gmm-feedback,html[data-theme=midnight] .gmm-template-dialog{--sw-bg:linear-gradient(145deg,rgba(30,38,56,.92),rgba(24,31,47,.86));--sw-panel:linear-gradient(145deg,#1e2639,#192133);--sw-line:rgba(160,180,230,.28);--sw-text:#eef2ff;--sw-text2:#d6ddf0;--sw-hover:rgba(var(--sw-accent-rgb),.24);--sw-tile-hover:rgba(214,224,255,.1);--sw-shadow:rgba(0,0,0,.35);--sw-inset:rgba(200,215,255,.12);--sw-btn:var(--btn-bg);--sw-btn-text:var(--btn-text)}
html[data-theme=light] .gmm-switcher-bar,html[data-theme=light] .gmm-feedback,html[data-theme=light] .gmm-template-dialog{--sw-bg:rgba(255,255,255,.94);--sw-panel:#fffdf9;--sw-line:rgba(72,54,38,.18);--sw-text:#2a221d;--sw-text2:#5a4d44;--sw-gold:#8a5a12;--sw-hover:rgba(var(--sw-accent-rgb),.16);--sw-tile-hover:rgba(72,54,38,.06);--sw-shadow:rgba(60,40,20,.14);--sw-inset:rgba(255,255,255,.6);--sw-ok:#1f7f55;--sw-err:#a3232c;--sw-btn:var(--btn-bg);--sw-btn-text:var(--btn-text)}
html[data-theme=minimal] .gmm-switcher-bar,html[data-theme=minimal] .gmm-feedback,html[data-theme=minimal] .gmm-template-dialog{--sw-bg:#fff;--sw-panel:#fff;--sw-line:#d1d5db;--sw-text:#111827;--sw-text2:#4b5563;--sw-gold:#92400e;--sw-hover:rgba(var(--sw-accent-rgb),.1);--sw-tile-hover:rgba(17,24,39,.05);--sw-shadow:rgba(17,24,39,.12);--sw-inset:transparent;--sw-blur:none;--sw-ok:#1f7f55;--sw-err:#a3232c;--sw-btn:var(--btn-bg);--sw-btn-text:var(--btn-text)}
.gmm-switcher-bar{position:fixed;z-index:25;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:10px;width:max-content}
.gmm-switcher{position:relative;width:max-content;color:var(--sw-text);font-family:'Be Vietnam Pro','Segoe UI',Arial,sans-serif}
.gmm-switcher summary{list-style:none;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--sw-line);border-radius:14px;background:var(--sw-bg);color:inherit;box-shadow:inset 0 1px 0 var(--sw-inset),0 8px 22px var(--sw-shadow);backdrop-filter:var(--sw-blur);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.gmm-switcher summary::-webkit-details-marker{display:none}
.gmm-switcher summary:hover,.gmm-switcher[open] summary{background:var(--sw-hover);border-color:var(--sw-accent);box-shadow:0 0 0 3px rgba(var(--sw-accent-rgb),.12)}
.gmm-switcher svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gmm-switcher-panel{position:absolute;bottom:100%;left:0;padding-bottom:9px;width:444px;max-width:calc(100vw - 32px);transform-origin:20px 100%;animation:gmm-switcher-in .2s ease-out both}
.gmm-switcher.is-closing .gmm-switcher-panel{animation:gmm-switcher-out .17s ease-in both;pointer-events:none} /* 18/10/2026: ẩn mờ dần (site-switcher.js gập <details> sau 170 ms) */
.gmm-switcher-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:10px;border:1px solid var(--sw-line);border-radius:20px;background:var(--sw-panel);box-shadow:0 16px 40px var(--sw-shadow);backdrop-filter:var(--sw-blur)}
.gmm-switcher a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:9px 3px;border:1px solid transparent;border-radius:12px;color:var(--sw-text);text-decoration:none;font-size:11.5px;font-weight:600;line-height:1.3;text-align:center;transition:background .18s,transform .18s}
.gmm-switcher a:hover{background:var(--sw-tile-hover);transform:translateY(-2px)}
.gmm-switcher a[aria-current=page]{border-color:rgba(var(--sw-accent-rgb),.35);background:rgba(var(--sw-accent-rgb),.12)}
.gmm-switcher-icon svg{width:20px;height:20px}.gmm-switcher-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(231,194,139,.18);color:#f4d9b2}
/* 31/10/2026 (người dùng: "màu đang bị trùng nhiều"): mỗi trang một sắc, cách đều nhau trên vòng màu */
.gmm-switcher a[href="/app/"] .gmm-switcher-icon,.gmm-switcher .gmm-app-link .gmm-switcher-icon{background:rgba(150,130,255,.24);color:#cfc6ff}
.gmm-switcher .gmm-2fa-link .gmm-switcher-icon{background:rgba(90,210,140,.22);color:#a9ecc5}
.gmm-switcher .gmm-lich-link .gmm-switcher-icon{background:rgba(255,145,80,.24);color:#ffc29c}
.gmm-switcher .gmm-chamcong-link .gmm-switcher-icon{background:rgba(90,155,255,.24);color:#b5d2ff}
.gmm-switcher .gmm-hd-link .gmm-switcher-icon{background:rgba(255,95,100,.24);color:#ffb7b9}
.gmm-switcher .gmm-training-link .gmm-switcher-icon{background:rgba(60,205,220,.22);color:#a4edf4}
.gmm-switcher .gmm-document-link .gmm-switcher-icon{background:rgba(185,215,70,.22);color:#dcee9c}
.gmm-switcher .gmm-kichban-link .gmm-switcher-icon{background:rgba(245,95,190,.24);color:#fbbde3}
.gmm-switcher .gmm-banquyen-link .gmm-switcher-icon{background:rgba(200,100,255,.24);color:#e6bdff}
.gmm-switcher .gmm-baocao-link .gmm-switcher-icon{background:rgba(245,200,40,.22);color:#ffe28a}
/* giao diện sáng: biểu tượng từng trang giữ sắc màu nhưng đậm hơn để thấy rõ trên nền trắng */
html[data-theme=light] .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher-icon{color:#8a5a12}
html[data-theme=light] .gmm-switcher a[href="/app/"] .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher a[href="/app/"] .gmm-switcher-icon,html[data-theme=light] .gmm-switcher .gmm-app-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-app-link .gmm-switcher-icon{color:#5b43c4}
html[data-theme=light] .gmm-switcher .gmm-2fa-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-2fa-link .gmm-switcher-icon{color:#17794b}
html[data-theme=light] .gmm-switcher .gmm-lich-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-lich-link .gmm-switcher-icon{color:#bd5208}
html[data-theme=light] .gmm-switcher .gmm-chamcong-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-chamcong-link .gmm-switcher-icon{color:#1a5fc0}
html[data-theme=light] .gmm-switcher .gmm-hd-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-hd-link .gmm-switcher-icon{color:#c0262c}
html[data-theme=light] .gmm-switcher .gmm-training-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-training-link .gmm-switcher-icon{color:#0b7f8c}
html[data-theme=light] .gmm-switcher .gmm-document-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-document-link .gmm-switcher-icon{color:#667a0c}
html[data-theme=light] .gmm-switcher .gmm-kichban-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-kichban-link .gmm-switcher-icon{color:#c01f86}
html[data-theme=light] .gmm-switcher .gmm-banquyen-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-banquyen-link .gmm-switcher-icon{color:#8a2bc4}
html[data-theme=light] .gmm-switcher .gmm-baocao-link .gmm-switcher-icon,html[data-theme=minimal] .gmm-switcher .gmm-baocao-link .gmm-switcher-icon{color:#8a6500}
@media(max-width:480px){.gmm-switcher-links{grid-template-columns:repeat(4,minmax(0,1fr))}.gmm-switcher-panel{width:356px}}
@media(max-width:350px){.gmm-switcher-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gmm-switcher summary:focus-visible,.gmm-switcher a:focus-visible{outline:2px solid var(--sw-accent);outline-offset:3px}
.login{min-height:calc(100dvh - 2px);padding-bottom:80px}
body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
.gmm-folder-button{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid var(--sw-line);border-radius:14px;background:var(--sw-bg);color:var(--sw-gold);box-shadow:inset 0 1px 0 var(--sw-inset),0 8px 22px var(--sw-shadow);backdrop-filter:var(--sw-blur);cursor:pointer}
.gmm-folder-button:hover{background:var(--sw-hover);border-color:var(--sw-accent)}
.gmm-folder-button svg,.gmm-template-heading svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gmm-folder-button:focus-visible,.gmm-template-dialog button:focus-visible{outline:2px solid var(--sw-accent);outline-offset:3px}
/* Nút góp ý (site-switcher.js tạo): mở biểu mẫu Google Forms ở tab mới */
.gmm-feedback{position:fixed;z-index:25;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--sw-line);border-radius:14px;background:var(--sw-bg);color:var(--sw-gold);box-shadow:inset 0 1px 0 var(--sw-inset),0 8px 22px var(--sw-shadow);backdrop-filter:var(--sw-blur);text-decoration:none;transition:background .2s,border-color .2s,transform .18s}
.gmm-feedback:hover{background:var(--sw-hover);border-color:var(--sw-accent);transform:translateY(-2px)}
.gmm-feedback:focus-visible{outline:2px solid var(--sw-accent);outline-offset:3px}
.gmm-feedback svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gmm-template-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:24px;border:1px solid var(--sw-line);border-radius:24px;background:var(--sw-panel);color:var(--sw-text);box-shadow:0 24px 80px #20171466;font-family:'Be Vietnam Pro','Segoe UI',Arial,sans-serif;overflow:auto}
.gmm-template-dialog::backdrop{background:#20171488;backdrop-filter:blur(6px)}
html[data-theme=midnight] .gmm-template-dialog::backdrop{background:rgba(6,8,16,.7)}
html[data-theme=light] .gmm-template-dialog::backdrop{background:rgba(40,30,20,.35)}
html[data-theme=minimal] .gmm-template-dialog::backdrop{background:rgba(17,24,39,.4)}
.gmm-template-heading{display:flex;align-items:center;gap:10px;color:var(--sw-gold)}
.gmm-template-heading h2{flex:1;margin:0;font-size:18px;line-height:1.5}
.gmm-template-close{border:0;background:transparent;color:var(--sw-text);font:inherit;font-size:25px;width:36px;height:36px;cursor:pointer}
.gmm-template-dialog p{font-size:13px;line-height:1.8;color:var(--sw-text2);margin:14px 0}
.gmm-template-tree{padding:16px;border:1px solid rgba(var(--sw-accent-rgb),.2);border-radius:14px;background:#ffffff06;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.gmm-template-tree strong{font-weight:600;color:var(--sw-gold)}
.gmm-template-tree ul{list-style:none;margin:10px 0 0 8px;padding:0 0 0 16px;border-left:1px solid rgba(var(--sw-accent-rgb),.33)}
.gmm-template-tree li{padding:3px 0}
.gmm-template-save{width:100%;margin-top:4px;padding:13px 16px;border:1px solid rgba(var(--sw-accent-rgb),.4);border-radius:13px;background:var(--sw-btn);color:var(--sw-btn-text);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.gmm-template-save:disabled{opacity:.55;cursor:default}
.gmm-template-dialog .gmm-template-status{margin-bottom:0}
.gmm-template-status[data-state=success]{color:var(--sw-ok)}
.gmm-template-status[data-state=error]{color:var(--sw-err)}
@keyframes gmm-switcher-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes gmm-switcher-out{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}
@media(prefers-reduced-motion:reduce){.gmm-switcher-panel,.gmm-switcher.is-closing .gmm-switcher-panel{animation:none}.gmm-switcher summary,.gmm-switcher a,.gmm-feedback{transition:none}}
