@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";
:root{--bg-primary:#f0f4f8;--bg-card:#ffffffb3;--bg-card-hover:#fff;--border-subtle:#0f172a0f;--border-hover:#3b82f64d;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--blue:#3b82f6;--red:#ef4444;--yellow:#f59e0b;--green:#10b981;--amber:#f59e0b;--radius:1.5rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg-primary);color:var(--text-primary);-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow-x:hidden}button,input,select,textarea{font-family:inherit}.glow-orb{filter:blur(120px);pointer-events:none;border-radius:50%;width:400px;height:400px;animation:20s ease-in-out infinite float;position:absolute}.glow-blue{background:#4285f426}.glow-red{background:#ea43351f}.glow-yellow{background:#fbbc041a}.glow-green{background:#34a8531f}@keyframes float{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-30px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.95)}75%{transform:translate(15px,15px)scale(1.02)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #4285f44d}50%{box-shadow:0 0 40px #4285f499}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.navbar{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffd9;border:1px solid #0f172a14;border-radius:9999px;align-items:center;gap:1.5rem;height:4.5rem;padding:0 1.5rem 0 .5rem;animation:.8s ease-out fadeInUp;display:inline-flex;position:absolute;top:2rem;left:50%;transform:translate(-50%);box-shadow:0 10px 40px #0f172a0f}.navbar-brand{flex-shrink:0;align-items:center;gap:1rem;text-decoration:none;display:flex}.navbar-logo{background:#f4d03f;border-radius:50%;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;transition:transform .3s;display:flex;box-shadow:0 0 20px #f4d03f4d}.navbar-brand:hover .navbar-logo{transform:rotate(12deg)}.navbar-title{color:var(--text-primary);letter-spacing:-.02em;font-size:1.1rem;font-weight:900}.navbar-links{background:#0f172a08;border:1px solid #0f172a0a;border-radius:9999px;align-items:center;gap:.25rem;padding:.35rem;display:flex}.navbar-link{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);white-space:nowrap;border-radius:9999px;padding:.6rem 1.25rem;font-size:.8rem;font-weight:800;text-decoration:none;transition:all .3s}.navbar-link:hover{color:var(--text-primary)}.navbar-link.active{color:#fff;background:var(--blue);box-shadow:0 4px 15px #3b82f666}.navbar-status{background:#2ecc710d;border:1px solid #2ecc714d;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.navbar-status-dot{background:#2ecc71;border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 10px #2ecc7180}50%{opacity:.5;box-shadow:none}}.navbar-status-text{color:#2ecc71;text-transform:uppercase;letter-spacing:.15em;font-size:.75rem;font-weight:900}.hero-section{width:100%;padding-top:6.5rem;padding-bottom:1.5rem;position:relative;overflow:hidden}.hero-frame{background:linear-gradient(#ffffffd9,#fffffff2),url(https://cdn.fpt-is.com/vi/chuyen-doi-so-y-te-8-700x467.png) 50%/cover no-repeat;border:1px solid #10b98126;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;width:95%;max-width:1000px;margin:0 auto;padding:2rem 1rem;animation:.8s ease-out scaleIn;display:flex;position:relative;box-shadow:0 10px 30px #0000000d}.hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;width:100%;animation:.8s ease-out .2s both slideInLeft;display:flex;position:relative}.hero-badge{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fff9;border:1px solid #0f172a14;border-radius:9999px;align-items:center;gap:.6rem;margin-bottom:1.5rem;padding:.4rem 1rem;display:inline-flex}.hero-badge-dot{background:var(--blue);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.hero-badge-text{color:var(--text-secondary);letter-spacing:.15em;text-transform:uppercase;font-size:.6rem;font-weight:800}.hero-title{text-transform:uppercase;letter-spacing:-.04em;margin-bottom:2.5rem;font-size:clamp(2rem,4.5vw,3.5rem);font-style:italic;font-weight:900;line-height:.9}.hero-title .blue{color:var(--blue)}.hero-title .red{color:var(--red)}.hero-title .yellow{color:var(--yellow)}.hero-title .green{color:var(--green)}.hero-title span{filter:drop-shadow(0 10px 20px #0f172a1a);display:inline-block}.hero-actions{flex-wrap:wrap;gap:1rem;animation:1s ease-out .6s both fadeIn;display:flex}.btn-primary{background:linear-gradient(135deg,var(--blue),#1967d2);color:#fff;cursor:pointer;border:none;border-radius:9999px;align-items:center;gap:.5rem;padding:1rem 2.5rem;font-size:.875rem;font-weight:900;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 0 30px #4285f499}.btn-primary:hover{background:linear-gradient(135deg,#669df6,var(--blue));transform:scale(1.05);box-shadow:0 0 50px #4285f4cc}.btn-secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-secondary);cursor:pointer;background:#fff9;border:1px solid #0f172a1a;border-radius:9999px;align-items:center;gap:.5rem;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn-secondary:hover{color:var(--text-primary);background:#ffffffe6;border-color:#3b82f680}.search-section{z-index:100;width:90%;max-width:50rem;margin:3rem auto;animation:.8s ease-out .5s both fadeInUp;position:sticky;top:1rem}.search-bar{-webkit-backdrop-filter:blur(24px);background:#ffffffd9;border:1px solid #0f172a1a;border-radius:9999px;align-items:center;gap:.75rem;padding:1rem 1.5rem;transition:all .4s;display:flex;box-shadow:0 10px 40px #0f172a14}.search-bar:focus-within,.search-bar:hover{background:#fff;border-color:#3b82f666;box-shadow:0 0 30px #3b82f626}.search-icon{color:var(--text-muted);flex-shrink:0;transition:color .4s}.search-bar:focus-within .search-icon,.search-bar:hover .search-icon{color:var(--blue)}.search-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.95rem;font-weight:500}.search-input::placeholder{color:var(--text-muted)}.categories-section{width:90%;max-width:80rem;margin:0 auto;padding-bottom:4rem}.categories-header{text-align:center;margin-bottom:3rem;animation:.8s ease-out fadeInUp}.categories-header h2{text-transform:uppercase;letter-spacing:-.04em;font-size:2.5rem;font-style:italic;font-weight:900}.vertical-categories{flex-direction:column;gap:2rem;display:flex}.category-group{background:color-mix(in srgb,var(--category-color)4%,white);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:2px solid var(--category-color,#0f172a14);box-shadow:0 10px 30px color-mix(in srgb,var(--category-color)12%,transparent);border-radius:1.5rem;padding:1.5rem;transition:all .3s;animation:.6s ease-out both fadeInUp}@media (min-width:768px){.category-group{border-radius:2rem;padding:2.5rem}}.category-group-header{align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.category-group-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-primary);white-space:nowrap;font-size:1.15rem;font-weight:900}.category-group-line{background:linear-gradient(90deg,#0f172a1a 0%,#0000 100%);flex:1;height:1px}.links-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:640px){.links-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.links-grid{grid-template-columns:repeat(5,1fr)}}.small-links-grid{flex-direction:column;gap:1rem;display:flex!important}.link-card{text-align:center;background:#fff;border-radius:1rem;flex-direction:column;align-items:center;height:100%;padding:1.5rem 1rem;text-decoration:none;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #0f172a0a}.link-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #0f172a14}.link-card-icon-wrapper{background:#f0f4f8;border-radius:50%;justify-content:center;align-items:center;width:4.5rem;height:4.5rem;margin-top:.5rem;margin-bottom:1.25rem;font-size:2rem;transition:transform .3s;display:flex}.link-card:hover .link-card-icon-wrapper{transform:scale(1.05)}.link-card-img{object-fit:contain;width:2.5rem;height:2.5rem}.link-card-title{color:#0f172a;text-transform:uppercase;margin-bottom:.75rem;font-size:1rem;font-weight:900;line-height:1.4}.link-card-desc{color:#64748b;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;flex:1;margin-bottom:1.5rem;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}.link-card-action{color:#3b82f6;text-transform:uppercase;justify-content:center;align-items:center;gap:.5rem;margin-top:auto;font-size:.8rem;font-weight:800;transition:color .3s;display:flex}.link-card:hover .link-card-action{color:#2563eb}.footer{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;background:#0003;border-top:1px solid #ffffff0d;width:100%;padding:3rem 0}.footer-text{color:var(--text-muted);font-size:.875rem}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{z-index:40;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffb3;border-right:1px solid #0f172a0f;flex-direction:column;width:280px;padding:2rem 1.5rem;display:flex;position:fixed;inset:0 auto 0 0}.admin-main{flex:1;min-height:100vh;margin-left:280px;padding:2rem 3rem}.admin-header{border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;display:flex}.admin-title{letter-spacing:-.03em;color:var(--text-primary);font-size:1.75rem;font-weight:900}.sidebar-brand{color:var(--text-primary);border-bottom:1px solid #0f172a0f;align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:1.5rem;text-decoration:none;display:flex}.sidebar-nav{flex-direction:column;flex:1;gap:.375rem;display:flex}.sidebar-link{color:var(--text-secondary);border-radius:.75rem;align-items:center;gap:.75rem;padding:.875rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .3s;display:flex}.sidebar-link:hover{color:var(--text-primary);background:#0f172a0d}.sidebar-link.active{color:var(--blue);background:#4285f426;border:1px solid #4285f433}.data-table{border-collapse:separate;border-spacing:0;background:#ffffffb3;border:1px solid #0f172a0f;border-radius:1rem;width:100%;overflow:hidden;box-shadow:0 4px 15px #0f172a05}.data-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);background:#0f172a08;border-bottom:1px solid #0f172a0f;padding:1rem 1.25rem;font-size:.7rem;font-weight:800}.data-table tbody td{color:var(--text-primary);border-bottom:1px solid #0f172a08;padding:1rem 1.25rem;font-size:.875rem;font-weight:500;transition:background .2s}.data-table tbody tr:hover td{background:#0f172a05}.data-table tbody tr:last-child td{border-bottom:none}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:60;background:#0f172a66;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{width:90%;max-width:500px;color:var(--text-primary);background:#fffffff2;border:1px solid #0f172a14;border-radius:1.5rem;padding:2rem;animation:.3s ease-out scaleIn;box-shadow:0 25px 50px #0f172a1a}.modal-title{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:1.5rem;font-size:1.25rem;font-weight:800}.form-group{margin-bottom:1.25rem}.form-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);margin-bottom:.5rem;font-size:.75rem;font-weight:700;display:block}.form-input{width:100%;color:var(--text-primary);background:#fff;border:1px solid #0f172a26;border-radius:.75rem;outline:none;padding:.875rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .3s}.form-input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #3b82f61a}.form-input::placeholder{color:var(--text-muted)}.form-select{width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background:#fff;border:1px solid #0f172a26;border-radius:.75rem;outline:none;padding:.875rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .3s}.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f61a}.form-select option{color:var(--text-primary);background:#fff}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.btn-sm{cursor:pointer;border:none;border-radius:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:700;transition:all .3s}.btn-save{background:var(--blue);color:#fff}.btn-save:hover{background:#1967d2;box-shadow:0 0 20px #4285f466}.btn-cancel{color:var(--text-secondary);background:#fff;border:1px solid #0f172a1a}.btn-cancel:hover{color:var(--text-primary);background:#0f172a0d}.btn-danger{color:var(--red);background:#ea433526;border:1px solid #ea433533}.btn-danger:hover{background:#ea433540}.btn-edit{color:var(--blue);background:#4285f426;border:1px solid #4285f433}.btn-edit:hover{background:#4285f440}.color-dot{border:2px solid #fff3;border-radius:50%;width:12px;height:12px;margin-right:.5rem;display:inline-block}.badge{border-radius:9999px;align-items:center;padding:.25rem .625rem;font-size:.7rem;font-weight:700;display:inline-flex}.badge-active{color:var(--green);background:#34a85326;border:1px solid #34a85333}.badge-inactive{color:var(--red);background:#ea433526;border:1px solid #ea433533}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:2rem;width:100%;max-width:420px;padding:2.5rem;animation:.5s ease-out scaleIn;box-shadow:0 25px 80px #00000080}.login-title{text-align:center;letter-spacing:-.03em;margin-bottom:.5rem;font-size:1.75rem;font-weight:900}.login-subtitle{color:var(--text-muted);text-align:center;margin-bottom:2rem;font-size:.875rem}.login-btn{background:linear-gradient(135deg,var(--blue),#1967d2);color:#fff;cursor:pointer;border:none;border-radius:.75rem;width:100%;padding:1rem;font-size:.9rem;font-weight:800;transition:all .3s;box-shadow:0 0 20px #4285f44d}.login-btn:hover{transform:translateY(-1px);box-shadow:0 0 40px #4285f480}.login-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state{text-align:center;color:var(--text-muted);padding:4rem 2rem}.empty-state-icon{margin-bottom:1rem;font-size:3rem}.empty-state-text{font-size:1rem;font-weight:600}@media (max-width:768px){.navbar{gap:.5rem;padding:0 .75rem;top:1rem}.navbar-links,.navbar-status{display:none}.hero-frame{border-radius:1.5rem;height:400px}.hero-content{bottom:2rem;left:1.5rem}.hero-title{font-size:2rem}.categories-grid{grid-template-columns:1fr}.admin-sidebar{display:none}.admin-main{margin-left:0;padding:1.5rem}}@media (max-width:480px){.navbar-title{display:none}.hero-title{font-size:1.75rem}}.spinner{border:2px solid #fff3;border-top-color:var(--blue);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.toast{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:70;background:#0d0f14f2;border:1px solid #ffffff1a;border-radius:1rem;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;animation:.3s ease-out fadeInUp;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 40px #00000080}.toast-success{color:var(--green);border-color:#34a8534d}.toast-error{color:var(--red);border-color:#ea43354d}.tour-backdrop{z-index:1000;pointer-events:auto;position:fixed;inset:0}.tour-mask-top,.tour-mask-bottom,.tour-mask-left,.tour-mask-right{pointer-events:auto;background:#0f172abf;transition:all .3s ease-in-out;position:fixed}.tour-spotlight-ring{pointer-events:none;z-index:1001;border:4px solid #fff;border-radius:8px;transition:all .3s ease-in-out;position:fixed;box-shadow:0 0 0 4px #fff3,0 0 20px #00000080}.tour-tooltip{z-index:1002;width:340px;color:var(--text-primary);background:#fff;border-radius:12px;padding:1.5rem;font-family:inherit;transition:all .3s ease-in-out;animation:.3s ease-out scaleIn;position:fixed;box-shadow:0 15px 40px #00000040}.tour-step-badge{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:center;margin-bottom:1rem;font-size:.75rem;font-weight:700;display:flex}.tour-step-dots{gap:6px;display:flex}.tour-step-dot{background:#e2e8f0;border-radius:50%;width:8px;height:8px;transition:all .3s}.tour-step-dot.active{background:var(--blue);border-radius:4px;width:24px}.tour-tooltip-title{color:var(--text-primary);margin-bottom:.75rem;font-size:1.15rem;font-weight:800}.tour-tooltip-body{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.tour-nav{justify-content:space-between;align-items:center;display:flex}.tour-close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600}.tour-close-btn:hover{color:var(--text-primary)}.tour-nav-btn{cursor:pointer;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.85rem;font-weight:700;transition:all .2s}.tour-nav-btn.primary{background:var(--blue);color:#fff}.tour-nav-btn.primary:hover{background:#2563eb}
