.auth-page{position:fixed;inset:0;z-index:1000;display:grid;grid-template-columns:minmax(420px,1fr) minmax(440px,.76fr);gap:clamp(24px,5vw,72px);align-items:center;overflow:auto;padding:112px clamp(28px,6vw,108px) 34px;color:#071446;background:radial-gradient(circle at 18% 24%,rgba(96,165,250,.2),transparent 32%),radial-gradient(circle at 86% 76%,rgba(124,118,255,.16),transparent 32%),linear-gradient(180deg,#fff,#f7fbff,#edf6ff)}.auth-page:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(37,99,235,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.045) 1px,transparent 1px);background-size:62px 62px;-webkit-mask-image:linear-gradient(to bottom,transparent,black 14%,black 84%,transparent);mask-image:linear-gradient(to bottom,transparent,black 14%,black 84%,transparent)}.auth-page:after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 68%,rgba(37,99,235,.16) 0 4px,transparent 5px),radial-gradient(circle at 42% 21%,rgba(56,189,248,.18) 0 3px,transparent 4px),radial-gradient(circle at 72% 38%,rgba(124,118,255,.16) 0 5px,transparent 6px);animation:authDust 7s ease-in-out infinite alternate}@keyframes authDust{0%{transform:translateY(0);opacity:.58}to{transform:translateY(-18px);opacity:.95}}.auth-topbar{position:fixed;top:0;left:0;right:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:84px;padding:16px clamp(22px,4vw,48px);color:#061143;background:#ffffffe6;border-bottom:1px solid rgba(37,99,235,.1);box-shadow:0 16px 44px #12346e1a;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.auth-brand,.auth-secure,.auth-field,.auth-row,.auth-check,.auth-submit,.auth-outline,.auth-switch,.auth-icon,.auth-close{display:flex;align-items:center}.auth-brand{gap:14px}.auth-brand>span{display:grid;place-items:center;width:52px;height:52px;color:#fff;border-radius:8px;background:linear-gradient(135deg,#2563eb,#38bdf8);box-shadow:0 14px 28px #2563eb2e}.auth-brand strong{display:block;font-size:24px;line-height:1.08}.auth-brand small,.auth-secure{color:#486188;font-weight:800}.auth-secure{gap:10px}.auth-close{position:fixed;top:104px;left:clamp(18px,4vw,42px);z-index:6;justify-content:center;min-height:42px;padding:0 18px;border:1px solid rgba(37,99,235,.16);border-radius:8px;color:#1748b8;background:#ffffffd1;box-shadow:0 10px 26px #12346e14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;font-weight:900;transition:transform .16s ease,box-shadow .16s ease}.auth-close:hover{transform:translateY(-2px);box-shadow:0 16px 34px #2563eb24}.auth-visual{position:relative;z-index:1;min-width:0}.auth-visual h1{margin:0 0 22px;color:#071c55;font-size:clamp(54px,6.5vw,96px);line-height:1.02;letter-spacing:0}.auth-visual h1 span{background:linear-gradient(90deg,#2563eb,#38bdf8 50%,#7467ff);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-visual p{max-width:650px;margin:0 0 24px;color:#4a5f86;font-size:clamp(20px,2vw,28px);line-height:1.45;font-weight:800}.auth-constellation{position:relative;width:min(640px,100%);min-height:320px;border:1px solid rgba(37,99,235,.1);border-radius:8px;background:#ffffffb8;box-shadow:0 24px 70px #12346e1a,inset 0 1px #ffffffeb;overflow:hidden}.auth-constellation:before,.auth-constellation:after{content:"";position:absolute;inset:54px;border-radius:999px;border:1px dashed rgba(37,99,235,.16);animation:authOrbit 24s linear infinite}.auth-constellation:after{inset:88px;animation-direction:reverse;animation-duration:18s}.auth-core{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:112px;height:112px;border-radius:999px;color:#fff;background:linear-gradient(135deg,#2563eb,#38bdf8);box-shadow:0 22px 54px #2563eb42;transform:translate(-50%,-50%);animation:authCore 4.6s ease-in-out infinite}.auth-node{position:absolute;display:grid;place-items:center;min-width:122px;min-height:48px;padding:0 14px;border:1px solid rgba(37,99,235,.12);border-radius:8px;color:#17356f;background:#ffffffdb;box-shadow:0 14px 36px #12346e1a;font-style:normal;font-weight:900;animation:authNode 5.5s ease-in-out infinite}.node-1{top:18%;left:14%;animation-delay:-1s}.node-2{top:18%;right:12%;animation-delay:-2s}.node-3{bottom:18%;left:13%;animation-delay:-3s}.node-4{bottom:18%;right:12%;animation-delay:-4s}@keyframes authOrbit{to{transform:rotate(360deg)}}@keyframes authCore{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-10px)}}@keyframes authNode{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.auth-card{position:relative;z-index:2;width:min(100%,620px);justify-self:end;padding:clamp(28px,4vw,48px);border:1px solid rgba(37,99,235,.1);border-radius:8px;background:#fffffff0;box-shadow:0 28px 90px #12346e29}.register-card{align-self:start;margin-top:22px}.auth-icon{width:70px;height:70px;margin:0 auto 18px;justify-content:center;color:#fff;border-radius:999px;background:linear-gradient(135deg,#2563eb,#2fc2ff);box-shadow:0 14px 30px #2563eb33}.auth-card h2{margin:0;color:#071446;text-align:center;font-size:clamp(34px,3vw,42px);line-height:1.12}.auth-muted{margin:8px 0 24px;color:#627096;text-align:center;font-size:18px;font-weight:750}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:7px;color:#0d1b4c;font-weight:900}.auth-field{gap:12px;min-height:58px;padding:0 16px;border:1px solid #c9d6ee;border-radius:8px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.auth-field:hover{transform:translateY(-1px);border-color:#a9bff0}.auth-field:focus-within{transform:translateY(-2px);border-color:#2b73ff;box-shadow:0 0 0 4px #2b73ff1c,0 14px 28px #2563eb14}.auth-field svg{color:#7b8aad;flex:0 0 auto}.auth-field input,.auth-field select{width:100%;min-width:0;border:0;outline:0;color:#0f1b44;background:transparent;font:inherit;font-weight:800}.auth-field button{display:grid;place-items:center;width:34px;height:34px;border:0;color:#667aa7;background:transparent;cursor:pointer}.auth-row{justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:2px}.auth-check{grid-template-columns:auto 1fr;gap:10px!important;color:#233661!important;font-weight:800!important}.auth-check input{width:20px;height:20px;accent-color:#2469ff}.terms{margin-top:4px}.auth-text-button,.auth-switch button{border:0;color:#185cf0;background:transparent;cursor:pointer;font:inherit;font-weight:900}.auth-text-button:hover,.auth-switch button:hover{text-decoration:underline}.auth-submit,.auth-outline{position:relative;justify-content:center;gap:12px;width:100%;min-height:62px;border-radius:8px;cursor:pointer;font-size:20px;font-weight:900;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.auth-submit{margin-top:6px;border:0;color:#fff;background:linear-gradient(135deg,#176aff,#153ee4);box-shadow:0 16px 32px #1858eb3d}.auth-submit:hover,.auth-outline:hover{transform:translateY(-3px)}.auth-submit:active,.auth-outline:active{transform:translateY(-1px) scale(.99)}.auth-submit:disabled{opacity:.7;cursor:wait}.auth-outline{margin-top:18px;border:1px solid #b8c9f4;color:#1455e4;background:#fff}.auth-divider{height:1px;margin:28px 0 18px;background:#dce3f1}.auth-switch{justify-content:center;gap:8px;margin:0;color:#657392;font-size:18px;font-weight:800}.auth-alert,.auth-note{margin:0 0 18px;padding:13px 15px;border:1px solid rgba(220,58,79,.24);border-radius:8px;color:#9b1730;background:#fff0f2;font-weight:800;line-height:1.45}.auth-alert.success{color:#0e6548;border-color:#15946838;background:#edfdf7}.auth-note{margin:16px 0 0;color:#415172;border-color:#d5dfef;background:#f6f9ff}@media(prefers-reduced-motion:reduce){.auth-page:after,.auth-constellation:before,.auth-constellation:after,.auth-core,.auth-node{animation:none}}@media(max-width:1120px){.auth-page{grid-template-columns:1fr;padding-top:120px}.auth-card{justify-self:stretch;width:100%}.auth-constellation{min-height:270px}}@media(max-width:720px){.auth-page{padding:116px 16px 24px}.auth-topbar{min-height:76px;padding:12px 16px}.auth-brand strong{font-size:18px}.auth-brand small,.auth-secure{display:none}.auth-close{top:86px;left:16px}.auth-visual h1{font-size:46px}.auth-visual p{font-size:18px}.auth-constellation{min-height:240px}.auth-node{min-width:96px;font-size:13px}.auth-card{padding:24px 18px}}.landing-page{position:relative;min-height:100vh;overflow:hidden;padding:22px clamp(18px,5vw,72px) 28px;color:#0b1d52;background:radial-gradient(circle at 86% 20%,rgba(88,142,255,.14),transparent 28%),radial-gradient(circle at 12% 72%,rgba(56,189,248,.14),transparent 26%),linear-gradient(180deg,#fff,#f7fbff 48%,#eef6ff)}.landing-page:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(rgba(42,105,219,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(42,105,219,.045) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(to bottom,transparent,black 16%,black 82%,transparent);mask-image:linear-gradient(to bottom,transparent,black 16%,black 82%,transparent)}.landing-motion{position:absolute;inset:0;pointer-events:none;overflow:hidden}.motion-star{position:absolute;left:var(--x);top:var(--y);width:7px;height:7px;border-radius:999px;background:#4f8cff;box-shadow:0 0 18px #3895ff85;opacity:.44;animation:starDrift 7s ease-in-out infinite;animation-delay:var(--delay)}.star-1,.star-4{width:4px;height:4px;background:#8bd8ff}.star-2,.star-5{width:10px;height:10px;opacity:.2}.motion-line{position:absolute;width:360px;height:1px;transform:rotate(-18deg);background:linear-gradient(90deg,transparent,rgba(34,105,255,.28),transparent);animation:lineFloat 11s ease-in-out infinite}.line-one{top:20%;left:18%}.line-two{top:45%;right:12%;animation-delay:-3s}.line-three{bottom:18%;left:34%;animation-delay:-6s}@keyframes starDrift{0%,to{transform:translateZ(0) scale(1);opacity:.22}50%{transform:translate3d(18px,-22px,0) scale(1.4);opacity:.72}}@keyframes lineFloat{0%,to{transform:translate(-24px) rotate(-18deg);opacity:.16}50%{transform:translate(38px) rotate(-18deg);opacity:.42}}.landing-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 18px;border:1px solid rgba(37,99,235,.1);border-radius:8px;background:#ffffffdb;box-shadow:0 18px 50px #12346e1a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.landing-brand,.landing-brand-icon,.landing-links,.landing-actions,.department-card,.landing-assurance,.landing-assurance div,.install-mini,.landing-primary,.landing-secondary,.landing-data-core,.landing-floating-module{display:flex;align-items:center}.landing-brand{gap:14px;min-width:260px}.landing-brand-icon{width:52px;height:52px;justify-content:center;color:#fff;border-radius:8px;background:linear-gradient(135deg,#2563eb,#38bdf8);box-shadow:0 16px 34px #2563eb38}.landing-brand strong{display:block;font-size:clamp(22px,2vw,28px);line-height:1.06;letter-spacing:0}.landing-brand small{color:#597098;font-weight:800}.landing-links{gap:clamp(18px,4vw,48px)}.landing-links a{position:relative;color:#344b78;font-weight:900;text-decoration:none;transition:color .16s ease,transform .16s ease}.landing-links a:hover{color:#1d5bea;transform:translateY(-2px)}.landing-links a:first-child:after{content:"";position:absolute;left:8px;right:8px;bottom:-12px;height:3px;border-radius:999px;background:#2f7cff;box-shadow:0 0 16px #2f7cff80}.landing-hero{position:relative;z-index:1;display:grid;grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);align-items:center;gap:clamp(24px,6vw,78px);min-height:54vh;padding:clamp(50px,7vw,92px) 0 30px}.landing-copy{max-width:720px}.landing-copy h1{margin:0;color:#061b55;font-size:clamp(46px,6vw,86px);line-height:1.03;letter-spacing:0}.landing-copy h1 span{background:linear-gradient(90deg,#2563eb,#2fb7ff 52%,#7c6dff);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-lead{max-width:620px;margin:24px 0 28px;color:#475a82;font-size:clamp(20px,2.1vw,30px);line-height:1.48;font-weight:800}.landing-actions{gap:14px;flex-wrap:wrap}.landing-primary,.landing-secondary,.install-mini{position:relative;justify-content:center;gap:12px;min-height:58px;border-radius:8px;cursor:pointer;font-size:18px;font-weight:900;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}.landing-primary:after,.auth-submit:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.42) 44%,transparent 58%);transform:translate(-130%);transition:transform .52s ease}.landing-primary:hover:after,.auth-submit:hover:after{transform:translate(130%)}.landing-primary{overflow:hidden;padding:0 30px;min-width:240px;border:0;color:#fff;background:linear-gradient(135deg,#2073ff,#1d4ed8 62%,#6d5dfc);box-shadow:0 18px 38px #2563eb38}.landing-secondary{padding:0 28px;min-width:210px;border:1px solid rgba(37,99,235,.2);color:#1646b6;background:#ffffffd1;box-shadow:0 14px 34px #12346e14}.landing-primary:hover,.landing-secondary:hover,.department-card:hover,.install-mini:hover{transform:translateY(-4px)}.landing-primary:active,.landing-secondary:active,.department-card:active,.install-mini:active{transform:translateY(-1px) scale(.99)}.landing-visual{position:relative;min-height:480px;border-radius:8px;background:radial-gradient(circle at 50% 45%,rgba(55,125,255,.16),transparent 30%),linear-gradient(145deg,#ffffffdb,#ecf6ffad);border:1px solid rgba(37,99,235,.12);box-shadow:0 30px 90px #1f489621,inset 0 1px #ffffffe6;overflow:hidden}.landing-visual:before{content:"";position:absolute;inset:58px;border:1px dashed rgba(37,99,235,.18);border-radius:999px;animation:rotateSlow 28s linear infinite}.landing-orbit-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(47,124,255,.14);border-radius:999px;transform:translate(-50%,-50%)}.ring-one{width:72%;aspect-ratio:1;animation:pulseRing 5s ease-in-out infinite}.ring-two{width:48%;aspect-ratio:1;animation:pulseRing 5s ease-in-out infinite reverse}.landing-data-core{position:absolute;left:50%;top:50%;flex-direction:column;justify-content:center;width:168px;height:168px;transform:translate(-50%,-50%);border:1px solid rgba(46,112,255,.18);border-radius:999px;background:#ffffffeb;box-shadow:0 24px 60px #2563eb2e,inset 0 0 30px #38bdf81a;animation:coreFloat 4.8s ease-in-out infinite}.landing-data-core svg{width:76px;height:76px;fill:#2563eb14;stroke:#2367e8;stroke-width:5}.landing-data-core span{color:#12336f;font-weight:900}.landing-floating-module{position:absolute;gap:10px;min-width:152px;padding:13px 15px;border:1px solid rgba(37,99,235,.13);border-radius:8px;color:#16346d;background:#ffffffe0;box-shadow:0 18px 44px #2563eb1f;font-weight:900;animation:moduleFloat 5.8s ease-in-out infinite}.landing-floating-module svg{color:#2563eb}.module-1{top:14%;left:12%;animation-delay:-1s}.module-2{top:18%;right:10%;animation-delay:-2.5s}.module-3{bottom:18%;left:9%;animation-delay:-3.6s}.module-4{bottom:14%;right:9%;animation-delay:-4.8s}@keyframes coreFloat{0%,to{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-12px)}}@keyframes moduleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulseRing{0%,to{opacity:.45;transform:translate(-50%,-50%) scale(.98)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.03)}}@keyframes rotateSlow{to{transform:rotate(360deg)}}.department-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.department-card{min-height:160px;gap:16px;padding:20px;border:1px solid rgba(37,99,235,.12);border-radius:8px;background:#ffffffdb;box-shadow:0 18px 48px #12346e17;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.department-card:hover{border-color:#2563eb3d;box-shadow:0 26px 64px #2563eb24}.department-card>span{display:grid;place-items:center;width:66px;height:66px;flex:0 0 auto;border-radius:8px;color:#fff;background:linear-gradient(135deg,#2f7cff,#63c6ff)}.department-card h2{margin:0 0 8px;color:#0c225a;font-size:21px}.department-card p{margin:0;color:#52678e;line-height:1.5;font-weight:750}.department-card>svg{margin-left:auto;color:#83a1d1}.landing-assurance{position:relative;z-index:2;margin-top:22px;padding:18px 20px;gap:18px;border:1px solid rgba(37,99,235,.1);border-radius:8px;background:#ffffffd6;box-shadow:0 18px 48px #12346e14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.landing-assurance div{flex:1;gap:13px;min-width:190px;padding-right:18px;border-right:1px solid rgba(37,99,235,.1)}.landing-assurance div:last-of-type{border-right:0}.landing-assurance svg{color:#2563eb}.landing-assurance strong,.landing-assurance small{display:block}.landing-assurance strong{color:#0c225a;font-size:17px}.landing-assurance small{color:#607397;font-weight:760}.install-mini{min-height:48px;padding:0 18px;border:1px solid rgba(37,99,235,.18);color:#1855c7;background:#ffffffe0}.install-panel{position:fixed;right:24px;bottom:24px;z-index:10;width:min(420px,calc(100vw - 48px));padding:18px;border:1px solid rgba(37,99,235,.14);border-radius:8px;color:#19325f;background:#fffffff0;box-shadow:0 24px 80px #12346e29;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.install-panel p,.install-panel ol{margin:8px 0}@media(prefers-reduced-motion:reduce){.motion-star,.motion-line,.landing-visual:before,.landing-data-core,.landing-floating-module,.landing-orbit-ring{animation:none}}@media(max-width:1180px){.landing-links{display:none}.landing-hero{grid-template-columns:1fr}.landing-visual{min-height:380px}.department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-assurance{flex-wrap:wrap}}@media(max-width:720px){.landing-page,.landing-nav{padding:14px}.landing-brand{min-width:0}.landing-brand strong{font-size:20px}.landing-brand small{font-size:12px}.landing-hero{padding-top:34px}.landing-copy h1{font-size:48px}.landing-lead{font-size:20px}.landing-primary,.landing-secondary{width:100%;min-width:0}.landing-visual{min-height:330px}.landing-data-core{width:132px;height:132px}.landing-floating-module{min-width:118px;padding:10px 12px;font-size:13px}.department-grid{grid-template-columns:1fr}.department-card{min-height:136px}.landing-assurance div{flex-basis:100%;border-right:0;padding-right:0}}.profile-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 28% 32%,rgba(67,211,255,.14),transparent 28%),radial-gradient(circle at 68% 58%,rgba(173,99,255,.18),transparent 32%),#020718c7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.profile-modal{position:relative;width:min(920px,100%);max-height:min(860px,calc(100vh - 48px));overflow:auto;padding:clamp(26px,4vw,42px);border:1px solid rgba(161,191,255,.16);border-radius:8px;color:#e8efff;background:linear-gradient(135deg,#1e273df5,#101424fa 54%,#221b2df5);box-shadow:0 30px 120px #0000008a}.profile-modal-close{position:absolute;top:26px;right:26px;display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:999px;color:#fff;background:#ffffff1f;cursor:pointer}.profile-modal-heading{padding-right:68px}.profile-modal-heading span{color:#a8d9ff;font-size:13px;font-weight:900;letter-spacing:.08em}.profile-modal-heading h2{margin:10px 0 8px;font-size:clamp(38px,5vw,58px);line-height:1.05;color:#eef6ff}.profile-modal-heading p{margin:0 0 24px;color:#aab4ca;font-weight:800}.profile-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:22px}.profile-card{padding:22px;border:1px solid rgba(188,209,255,.14);border-radius:8px;background:#0c11219e;box-shadow:inset 0 1px #ffffff14}.profile-person{display:flex;align-items:center;gap:18px;margin-bottom:20px}.profile-avatar{display:grid;place-items:center;width:76px;height:76px;overflow:hidden;border-radius:8px;color:#0e1a36;background:linear-gradient(135deg,#d9f6ff,#e2ceff);font-size:24px;font-weight:900}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-person h3,.profile-card-title h3{margin:0;color:#fff;font-size:22px}.profile-person p,.profile-card-title p,.profile-person small{display:block;margin:4px 0 0;color:#9ea9c2;font-weight:800}.profile-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.profile-info-box{display:grid;gap:6px;min-height:112px;padding:16px;border-radius:8px;background:#040818a8}.profile-info-box svg{color:#9fd5ff}.profile-info-box span{color:#77849d;font-size:13px;font-weight:900}.profile-info-box strong{color:#fff6ad;font-size:18px;overflow-wrap:anywhere}.profile-card-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.profile-card-title svg{color:#dfeeff}.profile-connect-state{padding:18px;border:1px solid rgba(118,255,204,.18);border-radius:8px;background:#23423ea8}.profile-connect-state strong,.profile-connect-state span,.profile-connect-state small{display:block}.profile-connect-state strong{color:#c9ffe9;font-size:20px}.profile-connect-state span,.profile-connect-state small{margin-top:8px;color:#c5d0de;font-weight:800}.profile-edit-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.08)}.profile-edit-form label{display:grid;gap:8px;color:#d5e4ff;font-weight:900}.profile-edit-form input{min-height:48px;width:100%;border:1px solid rgba(185,210,255,.14);border-radius:8px;padding:0 14px;color:#fff;background:#070b19bd;font:inherit;font-weight:800}.profile-input-with-icon{position:relative}.profile-input-with-icon svg{position:absolute;left:12px;top:50%;color:#9fb5d7;transform:translateY(-50%)}.profile-input-with-icon input{padding-left:42px}.profile-wide-field{grid-column:1 / -1}.profile-edit-form button{justify-self:end;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 18px;border:0;border-radius:8px;color:#fff;background:linear-gradient(135deg,#1c73ff,#7b53f4);cursor:pointer;font:inherit;font-weight:900}.profile-edit-form button:disabled{opacity:.68;cursor:wait}.profile-message{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(255,117,132,.22);border-radius:8px;color:#ffd6dc;background:#5c182480;font-weight:800}.profile-message.success{color:#c8ffe6;border-color:#61ffc338;background:#154e3d80}@media(max-width:820px){.profile-grid,.profile-edit-form,.profile-info-grid{grid-template-columns:1fr}.profile-edit-form button{width:100%}}:root{color-scheme:light;font-family:Inter,Noto Sans Thai,Sarabun,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #eef5ff;--ink: #0f172a;--muted: #64748b;--line: rgba(148, 163, 184, .28);--navy: #071832;--navy-2: #102a6b;--violet: #28135f;--blue: #2563eb;--sky: #38bdf8;--green: #10b981;--amber: #f59e0b;--surface: rgba(255, 255, 255, .9);--surface-strong: #ffffff;--shadow: 0 18px 45px rgba(15, 23, 42, .1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 18% 0%,rgba(37,99,235,.16),transparent 34%),radial-gradient(circle at 88% 8%,rgba(124,58,237,.16),transparent 32%),linear-gradient(135deg,#f7fbff,#eef5ff 52%,#f7f3ff)}button,input,textarea,select{font:inherit}button{border:0;cursor:pointer}.app-shell{position:relative;display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100dvh;overflow:hidden}.stars{position:fixed;inset:0;pointer-events:none;z-index:0}.stars span{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#38bdf8b8;box-shadow:0 0 18px #38bdf8cc;animation:twinkle 4s ease-in-out infinite;animation-delay:var(--delay)}@keyframes twinkle{0%,to{opacity:.18;transform:scale(.8)}50%{opacity:.9;transform:scale(1.35)}}.sidebar{position:sticky;top:0;z-index:3;display:flex;flex-direction:column;gap:22px;min-height:100dvh;height:100dvh;padding:22px 16px;color:#eaf2ff;background:linear-gradient(145deg,#0e1630fa,#0d254ef7 48%,#241253f5),linear-gradient(180deg,rgba(56,189,248,.14),transparent 42%);box-shadow:16px 0 35px #0718322e;overflow:hidden;isolation:isolate}.sidebar:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(120deg,transparent 0 42%,rgba(255,255,255,.08) 42.4% 42.9%,transparent 43.4%),radial-gradient(circle,rgba(255,255,255,.38) 0 1px,transparent 1.6px),radial-gradient(circle,rgba(125,211,252,.48) 0 1px,transparent 1.6px);background-position:0 0,18px 38px,108px 84px;background-size:360px 240px,130px 130px,190px 170px;opacity:.42;pointer-events:none}.brand{position:relative;display:flex;align-items:center;gap:12px;min-height:66px;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff14;box-shadow:inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand.large{align-items:flex-start}.brand-mark{display:grid;width:46px;height:46px;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:linear-gradient(135deg,#2563ebf2,#7c3aedf2),#ffffff1a;box-shadow:0 12px 28px #2563eb57;flex:none}.brand strong{display:block;font-size:14px;line-height:1.35}.brand span{display:block;margin-top:2px;color:#eaf2ffb3;font-size:11px;line-height:1.4}.nav-list{display:grid;gap:7px;align-content:start;padding-right:4px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(125,211,252,.45) transparent}.nav-list::-webkit-scrollbar{width:6px}.nav-list::-webkit-scrollbar-thumb{border-radius:999px;background:#7dd3fc59}.nav-item{position:relative;overflow:hidden;display:grid;grid-template-columns:22px 1fr 16px;align-items:center;gap:8px;min-height:46px;padding:0 12px;color:#eaf2ffc7;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;transition:transform .18s cubic-bezier(.16,1,.3,1),color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.nav-item:after{content:"";position:absolute;inset:10% auto 10% -36%;width:32%;transform:skew(-18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);opacity:0;transition:left .32s cubic-bezier(.16,1,.3,1),opacity .18s ease}.nav-item:hover{color:#fff;border-color:#ffffff1f;background:#ffffff14;transform:translate(3px)}.nav-item:hover:after{left:102%;opacity:1}.nav-item svg:first-child{color:var(--item-color)}.nav-item svg:last-child{opacity:.38}.nav-item.active{color:#fff;border-color:#fff3;background:linear-gradient(135deg,#2563ebf2,#7c3aedc7),#ffffff1f;box-shadow:0 12px 28px #2563eb57}.chevron{transition:transform .2s ease}.chevron.expanded{transform:rotate(90deg)}.nav-section-group{display:flex;flex-direction:column;gap:4px}.sub-nav-list{display:flex;flex-direction:column;gap:2px;padding-left:22px;margin-top:2px}.sub-nav-item{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;color:#eaf2ff99;background:transparent;border-radius:6px;font-size:13px;text-align:left;transition:all .2s}.sub-nav-item:hover{color:#eaf2ffe6;background:#ffffff0d;transform:translate(3px)}.sub-nav-item.active{color:#38bdf8;background:#38bdf81a}.sub-nav-dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}.sub-nav-item.active .sub-nav-dot{opacity:1;box-shadow:0 0 6px currentColor}.sub-nav-label{flex:1}.sub-nav-badge{font-size:9px;padding:2px 6px;border-radius:9px;background:#ffffff1a;color:#ffffff80}.db-card{position:relative;display:flex;gap:10px;margin-top:auto;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:linear-gradient(135deg,#ffffff1a,#7dd3fc14),#ffffff14;box-shadow:inset 0 1px #ffffff14}.db-card strong,.db-card span{display:block;line-height:1.35}.db-card strong{font-size:12px}.db-card span{margin-top:4px;color:#eaf2ffad;font-size:11px}.main{position:relative;z-index:1;min-width:0;height:100dvh;padding:18px 22px 34px;overflow-y:auto;scroll-behavior:smooth}.topbar{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto auto;gap:12px;align-items:center;margin-bottom:18px;padding:12px;border:1px solid rgba(255,255,255,.76);border-radius:12px;background:linear-gradient(135deg,#ffffffdb,#eff6ffb8),#ffffffbd;box-shadow:0 12px 32px #0f172a14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.searchbox,.filters label{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb;color:var(--muted)}.searchbox input,.filters input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink)}.top-action,.profile-button,.icon-button{min-height:42px;border-radius:8px;background:#ffffffdb;color:#1e293b}.top-action{display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--line)}.icon-button{position:relative;display:grid;width:42px;place-items:center;border:1px solid var(--line)}.icon-button i{position:absolute;right:9px;top:9px;width:8px;height:8px;border:2px solid white;border-radius:50%;background:#ef4444}.mobile-menu{display:none}.profile-button{display:grid;grid-template-columns:36px auto 18px;align-items:center;gap:9px;padding:4px 8px 4px 4px;border:1px solid var(--line);text-align:left}.profile-button>span{display:grid;width:36px;height:36px;place-items:center;color:#fff;border-radius:50%;background:linear-gradient(135deg,#38bdf8,#2563eb)}.profile-button strong,.profile-button small{display:block;line-height:1.25}.profile-button strong{font-size:12px}.profile-button small{color:var(--muted);font-size:10px}.page-stack{display:grid;gap:18px}.hero-panel,.panel,.module-board,.quick-actions{border:1px solid rgba(255,255,255,.78);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.hero-panel{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:center;min-height:190px;padding:26px;overflow:hidden;background:radial-gradient(circle at 90% 10%,rgba(124,58,237,.22),transparent 38%),linear-gradient(135deg,#071832f5,#102a6be0);color:#fff}.system-status{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;color:#dbeafe;font-size:13px;line-height:1.45}.hero-copy h1,.section-title h1{margin:0;font-size:clamp(28px,4vw,46px);line-height:1.15;letter-spacing:0}.hero-copy p,.section-title p{margin:8px 0 0;color:#ffffffbd;line-height:1.55}.section-title{padding:2px 2px 0}.section-title h1{color:#0f172a;font-size:clamp(26px,3vw,38px)}.section-title p{color:var(--muted)}.hero-orbit{position:relative;width:180px;height:180px;justify-self:end}.orbit-core{position:absolute;inset:42px;z-index:1;display:grid;place-items:center;color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:50%;background:radial-gradient(circle,#38bdf8e0,#2563ebb8)}.orbit-core span{font-size:12px;font-weight:700}.hero-orbit i{position:absolute;inset:10px;border:1px solid rgba(125,211,252,.32);border-radius:50%}.hero-orbit i:nth-child(3){inset:25px;transform:rotate(24deg) scaleX(.68)}.hero-orbit i:nth-child(4){inset:0;transform:rotate(-28deg) scaleY(.52)}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease,border-color .18s ease}.metric-card:hover,.module-card:hover,.media-card:hover,.quick-action:hover,.panel:hover,.module-board:hover{transform:translateY(-2px);border-color:#2563eb3d;box-shadow:0 18px 42px #0f172a1a}.metric-card{min-height:128px;padding:18px;border:1px solid rgba(255,255,255,.82);border-radius:8px;background:var(--surface-strong);box-shadow:0 12px 32px #0f172a12}.metric-icon{display:grid;width:36px;height:36px;margin-bottom:10px;place-items:center;border-radius:8px}.metric-card.blue .metric-icon{color:#2563eb;background:#dbeafe}.metric-card.green .metric-icon{color:#059669;background:#d1fae5}.metric-card.violet .metric-icon{color:#7c3aed;background:#ede9fe}.metric-card.amber .metric-icon{color:#d97706;background:#fef3c7}.metric-card span,.metric-card small{display:block;color:var(--muted);line-height:1.45}.metric-card strong{display:block;margin:5px 0 3px;font-size:28px;line-height:1.1}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.chart-panel{grid-column:span 2}.panel,.module-board,.quick-actions{padding:18px}.quick-actions-featured{position:relative;overflow:hidden;border-color:#60a5fa6b;background:radial-gradient(circle at 8% 0%,rgba(56,189,248,.2),transparent 32%),radial-gradient(circle at 92% 20%,rgba(124,58,237,.18),transparent 34%),#fffffff2}.quick-actions-featured:before{position:absolute;inset:0;pointer-events:none;content:"";background-image:radial-gradient(circle,rgba(37,99,235,.22) 0 1px,transparent 1.7px),radial-gradient(circle,rgba(168,85,247,.18) 0 1px,transparent 1.6px);background-position:22px 28px,130px 80px;background-size:160px 140px,210px 180px}.quick-actions-featured>*{position:relative;z-index:1}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-header h2{margin:0;font-size:18px;line-height:1.3}.panel-header button,.header-actions button,.filters button,.learning-card button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;color:#1d4ed8;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;font-size:13px;line-height:1.3}.calendar-layout,.split-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.mini-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.mini-calendar span{display:grid;aspect-ratio:1;place-items:center;color:#334155;border-radius:8px;background:#f8fafc;font-size:12px}.mini-calendar .today{color:#fff;background:#2563eb}.mini-calendar .muted{color:#94a3b8}.event-list{display:grid;gap:10px}.event-row{display:grid;grid-template-columns:60px 1fr;gap:10px;align-items:center;min-height:46px;padding:0 12px;border-radius:8px;background:#f8fafc}.event-row strong{font-size:13px}.event-row span{line-height:1.4}.event-row.blue{border-left:4px solid #2563eb}.event-row.red{border-left:4px solid #ef4444}.event-row.amber{border-left:4px solid #f59e0b}.event-row.violet{border-left:4px solid #7c3aed}.notice-row{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #eef2f7}.notice-row:last-child{border-bottom:0}.notice-row>div{display:grid;width:42px;height:42px;place-items:center;color:#2563eb;border-radius:8px;background:#eff6ff}.notice-row strong,.notice-row small{display:block;line-height:1.42}.notice-row small{color:var(--muted)}.line-chart{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:16px;height:180px;padding:16px;border-radius:8px;background:linear-gradient(#e2e8f0 1px,transparent 1px) 0 0 / 100% 25%,#f8fafc}.line-chart i{position:relative;display:block;height:var(--height);min-height:34px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,#38bdf8,#2563eb)}.line-chart span{position:absolute;left:50%;top:-22px;transform:translate(-50%);color:#475569;font-size:11px;font-style:normal}.action-grid{display:grid;grid-template-columns:repeat(9,minmax(104px,1fr));gap:12px}.quick-action{position:relative;display:grid;min-height:112px;align-content:center;justify-items:center;gap:10px;overflow:hidden;padding:14px 10px;color:#0f172a;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:linear-gradient(180deg,#fffffffa,#f8fafcf5),radial-gradient(circle at top,rgba(96,165,250,.22),transparent 42%);box-shadow:0 12px 26px #0f172a14}.quick-action:after{position:absolute;inset:auto 12px 10px;height:3px;border-radius:999px;content:"";background:linear-gradient(90deg,#38bdf8,#7c3aed);opacity:0;transition:opacity .16s ease,transform .16s ease;transform:translateY(6px)}.quick-action svg{width:30px;height:30px;padding:5px;color:#2563eb;border-radius:8px;background:#eff6ff;box-shadow:inset 0 0 0 1px #3b82f61f}.quick-action span{font-size:13px;font-weight:700;line-height:1.35;text-align:center}.quick-action:hover:after,.quick-action:focus-visible:after{opacity:1;transform:translateY(0)}.school-settings-panel{padding:30px;overflow:hidden;background:linear-gradient(135deg,#fffffff5,#f0f7ffeb),#fffffff0}.school-settings-form{display:grid;gap:22px;max-width:860px}.logo-upload-card{display:grid;grid-template-columns:116px minmax(0,1fr);gap:20px;align-items:center;padding:18px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:linear-gradient(135deg,#eff6fff2,#f5f3ffd1);box-shadow:inset 0 1px #ffffffb8}.logo-preview{display:grid;width:108px;height:108px;place-items:center;color:#64748b;border:1px dashed rgba(37,99,235,.36);border-radius:8px;background:#ffffffc7;overflow:hidden}.logo-preview img{width:100%;height:100%;object-fit:contain;padding:8px}.logo-upload-copy{display:grid;gap:8px}.logo-upload-copy label,.school-settings-panel label{color:#1e293b!important;font-weight:800}.logo-upload-copy p,.school-settings-panel p{margin:0;color:#64748b!important;line-height:1.55}.logo-upload-button,.primary-save-button{display:inline-flex;width:fit-content;align-items:center;gap:8px;min-height:42px;padding:0 16px;color:#fff;border-radius:8px;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 12px 28px #2563eb38;font-weight:800}.logo-upload-button:disabled,.primary-save-button:disabled{cursor:wait;opacity:.72}.logo-message{color:#64748b;font-size:12px;line-height:1.45}.logo-message.success{color:#047857;font-weight:800}.input-group{display:grid;gap:8px}.settings-grid{display:grid;gap:16px}.settings-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid.compact{gap:8px}.school-settings-panel input,.school-settings-panel textarea{width:100%;min-height:46px;padding:10px 14px;color:#0f172a!important;background:#fff!important;border-color:#cbd5e1!important;border-style:solid;border-width:1px;border-radius:8px;outline:0;box-shadow:inset 0 1px 2px #0f172a0d}.school-settings-panel textarea{resize:vertical}.school-settings-panel input:focus,.school-settings-panel textarea:focus{border-color:#2563eb!important;box-shadow:0 0 0 4px #2563eb1f}.school-settings-panel input::placeholder,.school-settings-panel textarea::placeholder{color:#94a3b8}.settings-actions{padding-top:6px}.embedded-module-view{min-height:calc(100dvh - 120px)}.embedded-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:18px;align-items:stretch;padding:22px;color:#fff;border:1px solid rgba(255,255,255,.68);border-radius:12px;background:linear-gradient(135deg,#071832f5,#261c56e6),radial-gradient(circle at 84% 12%,color-mix(in srgb,var(--module-accent) 42%,transparent),transparent 38%);box-shadow:0 18px 46px #0f172a24;overflow:hidden}.embedded-title{display:grid;grid-template-columns:56px minmax(0,1fr);gap:14px;align-items:start}.embedded-icon{display:grid;width:54px;height:54px;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:color-mix(in srgb,var(--module-accent) 68%,rgba(255,255,255,.16));box-shadow:0 16px 34px color-mix(in srgb,var(--module-accent) 30%,transparent)}.embedded-title p,.embedded-title h1,.embedded-title small{display:block;margin:0}.embedded-title p{color:#dbeafec7;font-weight:800}.embedded-title h1{margin-top:4px;font-size:clamp(28px,3.2vw,42px);line-height:1.15}.embedded-title small{max-width:760px;margin-top:8px;color:#ffffffc2;font-size:14px;line-height:1.62}.embedded-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.embedded-status-grid div{min-height:86px;padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#ffffff17;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.embedded-status-grid span,.embedded-status-grid strong{display:block;line-height:1.4}.embedded-status-grid span{color:#dbeafeb8;font-size:12px}.embedded-status-grid strong{margin-top:8px;color:#fff;font-size:13px}.embedded-shell{display:grid;gap:14px;padding:14px;border:1px solid rgba(255,255,255,.78);border-radius:12px;background:linear-gradient(135deg,#fffffff5,#f0f7ffe6),#fffffff0;box-shadow:var(--shadow)}.embedded-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px;border:1px solid rgba(148,163,184,.24);border-radius:10px;background:#f8fafce0}.embedded-toolbar strong,.embedded-toolbar span{display:block;line-height:1.45}.embedded-toolbar strong{color:#0f172a}.embedded-toolbar span{margin-top:3px;color:#64748b;font-size:12px}.embedded-actions{display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.embedded-actions button,.embedded-actions a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 13px;color:#1d4ed8;border:1px solid #dbeafe;border-radius:8px;background:#eff6ff;font-size:13px;font-weight:800;text-decoration:none}.embedded-actions a{color:#fff;border-color:transparent;background:linear-gradient(135deg,#2563eb,#7c3aed)}.embedded-frame-wrap{position:relative;min-height:68dvh;overflow:hidden;border:1px solid #dbe3ef;border-radius:12px;background:linear-gradient(135deg,#f8fbff,#f4f0ff)}.embedded-frame-wrap iframe{display:block;width:100%;height:68dvh;min-height:620px;border:0;background:#fff}.embedded-frame-note{display:grid;gap:3px;padding:10px 12px;color:#475569;border-top:1px solid #e2e8f0;background:#f8fafcf2;font-size:12px}.embedded-frame-note strong{color:#0f172a}.embedded-data-plan{padding:12px 14px;border:1px solid rgba(37,99,235,.12);border-radius:10px;background:linear-gradient(135deg,#eff6fff5,#f5f3ffeb)}.embedded-data-plan strong,.embedded-data-plan p{display:block;margin:0;line-height:1.5}.embedded-data-plan strong{color:#1d4ed8}.embedded-data-plan p{margin-top:4px;color:#475569}.module-grid,.learning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.module-board.compact .module-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.module-card,.learning-card{display:grid;gap:12px;padding:16px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.module-card-top,.module-card footer,.learning-card footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.module-card h3,.learning-card h3{margin:0;font-size:17px;line-height:1.3}.module-card p,.learning-card p{margin:0;color:var(--muted);line-height:1.5}.module-card footer span,.learning-card small{color:#64748b;font-size:12px;line-height:1.4}.ready,.waiting,.external,.designing{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2}.ready{color:#047857;background:#d1fae5}.waiting{color:#b45309;background:#fef3c7}.external{color:#4338ca;background:#e0e7ff}.designing{color:#be185d;background:#fce7f3}.filters{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:10px;margin-bottom:12px}.header-actions{display:flex;flex-wrap:wrap;gap:8px}.table-wrap{overflow-x:auto}table{width:100%;min-width:640px;border-collapse:collapse}th,td{padding:13px 12px;border-bottom:1px solid #eef2f7;text-align:left;line-height:1.45}th{color:#64748b;background:#f8fafc;font-size:12px}td{font-size:13px}.link-status{display:inline-flex;align-items:center;gap:5px;color:#b45309;font-weight:700}.link-status.linked{color:#047857}.schedule-grid{display:grid;grid-template-columns:repeat(5,minmax(92px,1fr));gap:6px;overflow-x:auto}.schedule-grid strong,.schedule-grid span{display:grid;min-height:52px;place-items:center;padding:8px;border-radius:8px;line-height:1.35;text-align:center}.schedule-grid strong{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed)}.schedule-grid span{background:#eef6ff}.schedule-grid .break{color:#92400e;background:#fef3c7}.learning-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.learning-card{min-height:230px;background:radial-gradient(circle at 90% 0%,rgba(236,72,153,.14),transparent 34%),#fff}.learning-icon{display:grid;width:54px;height:54px;place-items:center;color:#be185d;border-radius:8px;background:#fce7f3}.learning-card>span{color:#7c3aed;font-size:13px;font-weight:800}.integration-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.integration-strip article{display:grid;gap:8px;padding:16px;border:1px solid rgba(255,255,255,.84);border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a0f}.integration-strip i{display:block;width:34px;height:5px;border-radius:999px}.integration-strip span{color:var(--muted);font-size:12px}.integration-strip strong{font-size:18px}.module-list{display:grid;gap:8px}.module-row{display:grid;grid-template-columns:42px minmax(0,1fr) 110px 130px;gap:12px;align-items:center;min-height:62px;padding:10px;border:1px solid #eef2f7;border-radius:8px;background:#fbfdff}.row-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:#fff}.module-row strong,.module-row small{display:block;line-height:1.4}.module-row small{color:var(--muted)}.modal-layer{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:#0718328a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.login-preview{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);width:min(920px,100%);min-height:480px;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#fff;box-shadow:0 30px 90px #0000003d}.close-button{position:absolute;right:14px;top:14px;z-index:2;display:grid;width:44px;height:44px;place-items:center;color:#334155;border-radius:8px;background:#ffffffe0}.login-visual{display:grid;align-content:space-between;min-height:480px;padding:34px;color:#fff;background:radial-gradient(circle at 28% 24%,rgba(56,189,248,.24),transparent 20%),linear-gradient(145deg,#071832,#102a6b 64%,#28135f)}.school-scene{position:relative;min-height:230px}.school-scene>span{position:absolute;width:4px;height:4px;border-radius:50%;background:#dbeafe;box-shadow:0 0 18px #38bdf8}.school-scene>span:nth-child(1){left:14%;top:20%}.school-scene>span:nth-child(2){left:52%;top:8%}.school-scene>span:nth-child(3){right:14%;top:30%}.building{position:absolute;left:50%;bottom:12px;width:220px;height:118px;transform:translate(-50%);border:1px solid rgba(191,219,254,.5);background:linear-gradient(180deg,#1d4ed8,#0f2f6f);clip-path:polygon(0 38%,50% 0,100% 38%,100% 100%,0 100%)}.building i{position:absolute;left:50%;top:44px;width:48px;height:74px;transform:translate(-50%);background:#ffffff2e}.building b{position:absolute;top:62px;width:30px;height:28px;background:#dbeafed1}.building b:nth-child(2){left:28px}.building b:nth-child(3){right:28px}.building b:nth-child(4){left:95px;top:18px;border-radius:50%}.login-form{display:grid;align-content:center;gap:16px;padding:54px}.login-form h2{margin:0;font-size:26px}.login-form label{display:grid;gap:7px;color:#475569;font-size:13px;font-weight:700}.login-form input{min-height:44px;padding:0 12px;border:1px solid #dbe3ef;border-radius:8px;outline:0}.primary-button{min-height:46px;color:#fff;border-radius:8px;background:linear-gradient(135deg,#2563eb,#1d4ed8);font-weight:800}.backdrop{display:none}@media(max-width:1180px){.metrics-grid,.module-grid,.module-board.compact .module-grid,.learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-grid{grid-template-columns:repeat(5,minmax(90px,1fr))}.split-grid,.calendar-layout{grid-template-columns:1fr}}@media(max-width:860px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-320px;top:0;width:min(300px,86vw);transform:none;transition:left .18s ease}.sidebar.open{left:0}.backdrop{position:fixed;inset:0;z-index:2;display:block;background:#0f172a5c}.main{padding:12px}.topbar{grid-template-columns:42px minmax(0,1fr) 42px 42px}.mobile-menu{display:grid}.top-action,.profile-button{display:none}.hero-panel{grid-template-columns:1fr}.hero-orbit{display:none}.dashboard-grid,.chart-panel{grid-template-columns:1fr;grid-column:auto}.integration-strip,.embedded-hero,.embedded-status-grid,.metrics-grid,.module-grid,.module-board.compact .module-grid,.learning-grid,.settings-grid.two,.logo-upload-card{grid-template-columns:1fr}.school-settings-panel{padding:20px}.logo-preview{width:96px;height:96px}.embedded-toolbar{align-items:flex-start;flex-direction:column}.embedded-actions{width:100%}.embedded-actions button,.embedded-actions a{flex:1 1 150px;justify-content:center}.embedded-frame-wrap,.embedded-frame-wrap iframe{min-height:560px;height:62dvh}.action-grid{grid-template-columns:repeat(3,minmax(86px,1fr))}.filters{grid-template-columns:1fr}.module-row{grid-template-columns:42px 1fr}.module-row>span,.module-row>small{grid-column:2}.login-preview{grid-template-columns:1fr;max-height:92vh;overflow:auto}.login-visual{min-height:260px}}@media(max-width:520px){.hero-panel,.panel,.module-board,.quick-actions{padding:14px}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-header{align-items:flex-start;flex-direction:column}.header-actions{width:100%}.header-actions button{flex:1 1 auto;justify-content:center}.login-form{padding:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.profile-menu-container{position:relative}.profile-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;width:12rem;background:#0f172ad9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:.75rem;box-shadow:0 10px 25px -5px #00000080;display:flex;flex-direction:column;padding:.5rem;z-index:50;animation:slideDownFade .2s cubic-bezier(.16,1,.3,1)}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item{width:100%;display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.875rem;font-weight:600;color:#e2e8f0;background:transparent;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:left}.dropdown-item:hover{background:#ffffff1a;color:#fff}.dropdown-divider{height:1px;background:#ffffff1a;margin:.25rem 0}.dropdown-item.logout{color:#fca5a5}.dropdown-item.logout:hover{background:#ef444433;color:#fecaca}.hero-interactive-img{width:100%;height:auto;display:block;border-radius:12px;transition:transform .4s cubic-bezier(.175,.885,.32,1.275),box-shadow .4s ease,filter .4s ease;animation:heroGlowPulse 3s infinite alternate;cursor:pointer}.hero-interactive-img:hover{transform:scale(1.015) translateY(-5px) rotateX(2deg);box-shadow:0 25px 50px #00c3ff59,0 0 30px #7c3aed80;filter:brightness(1.1) contrast(1.05)}.timetable-hub-view{gap:20px}.timetable-hub-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:18px;overflow:hidden;padding:28px;border:1px solid rgba(125,211,252,.32);border-radius:8px;background:radial-gradient(circle at 14% 20%,rgba(56,189,248,.26),transparent 30%),radial-gradient(circle at 88% 12%,rgba(168,85,247,.28),transparent 34%),linear-gradient(135deg,#0f172af5,#1e293beb);box-shadow:0 24px 70px #0f172a38;color:#f8fafc}.timetable-hub-hero:after{position:absolute;inset:0;pointer-events:none;content:"";background-image:radial-gradient(circle,rgba(255,255,255,.75) 0 1px,transparent 1.8px),radial-gradient(circle,rgba(125,211,252,.72) 0 1px,transparent 1.7px);background-position:24px 38px,180px 110px;background-size:180px 160px,230px 210px;opacity:.34}.timetable-hub-hero>*{position:relative;z-index:1}.timetable-hub-hero h1{margin:10px 0 8px;font-size:clamp(30px,4vw,52px);line-height:1.08;letter-spacing:0}.timetable-hub-hero p{max-width:780px;margin:0;color:#e2e8f0e0;font-size:16px}.timetable-sync-card{display:flex;flex-direction:column;justify-content:center;gap:10px;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#0f172a8a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.timetable-sync-card small{color:#bae6fd;font-weight:800}.timetable-sync-card strong{color:#fff;font-size:20px}.timetable-sync-card span{color:#e2e8f0d1}.timetable-sync-card button{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:4px;padding:12px 14px;border:0;border-radius:8px;background:linear-gradient(135deg,#38bdf8,#7c3aed);color:#fff;cursor:pointer;font-weight:900;box-shadow:0 14px 28px #3b82f647;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.timetable-sync-card button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 36px #7c3aed57;filter:brightness(1.05)}.timetable-sync-card button:disabled{cursor:wait;opacity:.72}.timetable-message{padding:12px 16px;border:1px solid rgba(14,165,233,.2);border-radius:8px;background:#e0f2feeb;color:#075985;font-weight:800}.timetable-metrics .metric-card{min-height:148px}.timetable-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.timetable-tabs button{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:12px 14px;border:1px solid rgba(148,163,184,.22);border-radius:8px;background:#ffffffd1;color:#334155;cursor:pointer;font-weight:900;box-shadow:0 10px 30px #0f172a0f;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.timetable-tabs button:hover,.timetable-tabs button.active{transform:translateY(-2px);border-color:#3b82f675;background:linear-gradient(135deg,#eff6fff5,#faf5fff5);box-shadow:0 16px 34px #2563eb21}.timetable-tabs button.active strong{background:#2563eb;color:#fff}.timetable-tabs strong{min-width:36px;padding:4px 8px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:13px;text-align:center}.timetable-data-panel{min-height:360px}.timetable-crud-form{display:grid;gap:14px;margin-bottom:18px;padding:16px;border:1px solid rgba(59,130,246,.2);border-radius:8px;background:radial-gradient(circle at top left,rgba(56,189,248,.14),transparent 34%),linear-gradient(180deg,#f8fafcfa,#fffffffa);box-shadow:0 14px 32px #0f172a12}.timetable-crud-form>strong{color:#0f172a;font-size:17px}.timetable-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.timetable-form-grid label{display:grid;gap:6px;color:#334155;font-size:13px;font-weight:800}.timetable-form-grid input{width:100%;min-height:42px;padding:0 12px;color:#0f172a;border:1px solid #cbd5e1;border-radius:8px;background:#fff;outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.timetable-form-grid input:focus{border-color:#60a5fa;background:#f8fbff;box-shadow:0 0 0 4px #60a5fa29}.timetable-form-actions,.row-actions,.card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.timetable-form-actions{justify-content:flex-end}.primary-action,.secondary-action,.row-actions button,.card-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 11px;border-radius:8px;font-size:13px;font-weight:900}.primary-action{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 10px 22px #2563eb33}.secondary-action,.row-actions button,.card-actions button{color:#1d4ed8;border:1px solid #bfdbfe;background:#eff6ff}.row-actions .danger,.card-actions .danger{color:#b91c1c;border-color:#fecaca;background:#fef2f2}.primary-action:disabled,.secondary-action:disabled{cursor:wait;opacity:.68}.card-actions{justify-content:flex-end}.muted-line{margin:0;color:#64748b;font-weight:800}.teacher-subject-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.teacher-subject-card{display:flex;flex-direction:column;gap:8px;min-height:170px;padding:16px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:linear-gradient(180deg,#fffffff5,#f8fafcf5),radial-gradient(circle at top right,rgba(56,189,248,.16),transparent 36%);box-shadow:0 12px 26px #0f172a0f;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.teacher-subject-card:hover{transform:translateY(-3px);border-color:#0ea5e957;box-shadow:0 18px 34px #0f172a1a}.teacher-subject-card strong{color:#0f172a;font-size:17px}.teacher-subject-card>span{color:#64748b;font-weight:800}.teacher-subject-card div{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.teacher-subject-card small{padding:5px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-weight:800}.timetable-room-grid .module-card{min-height:140px}.slot-list{display:grid;gap:10px}.slot-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,auto) auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid rgba(148,163,184,.2);border-radius:8px;background:#f8fafceb;transition:transform .16s ease,border-color .16s ease,background .16s ease}.slot-row:hover{transform:translate(4px);border-color:#38bdf85c;background:#eff6fffa}.slot-row strong{color:#0f172a}.slot-row span{color:#475569;font-weight:800;text-align:right}.approval-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border:1px solid rgba(96,165,250,.22);border-radius:8px;background:radial-gradient(circle at 18% 10%,rgba(56,189,248,.22),transparent 34%),linear-gradient(135deg,#fffffffa,#eff6fff5);box-shadow:0 16px 40px #0f172a14}.approval-hero span,.approval-hero button,.approval-actions button{display:inline-flex;align-items:center}.approval-hero span{gap:8px;color:#2563eb;font-weight:900}.approval-hero h2{margin:8px 0 4px;color:#0f172a;font-size:clamp(24px,3vw,34px)}.approval-hero p{margin:0;color:#64748b;font-weight:800}.approval-hero button{justify-content:center;gap:8px;min-height:42px;padding:0 15px;border:1px solid #bfdbfe;border-radius:8px;color:#1d4ed8;background:#fff;font-weight:900;transition:transform .16s ease,box-shadow .16s ease}.approval-hero button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #2563eb24}.approval-message{padding:12px 14px;border:1px solid rgba(37,99,235,.16);border-radius:8px;color:#1748b8;background:#eff6ff;font-weight:900}.approval-panel{padding:16px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:#ffffffdb;box-shadow:0 18px 44px #0f172a12}.approval-list{display:grid;gap:12px}.approval-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border:1px solid rgba(148,163,184,.18);border-radius:8px;background:linear-gradient(180deg,#fff,#f8fbff);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.approval-card:hover{transform:translateY(-3px);border-color:#2563eb38;box-shadow:0 18px 34px #0f172a1a}.approval-avatar{display:grid;place-items:center;width:54px;height:54px;border-radius:8px;color:#fff;background:linear-gradient(135deg,#2563eb,#38bdf8);font-weight:900}.approval-info{display:grid;gap:4px}.approval-info strong{color:#0f172a;font-size:18px}.approval-info span,.approval-info small{color:#64748b;font-weight:800}.approval-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.approval-actions button{justify-content:center;gap:7px;min-height:38px;padding:0 12px;border-radius:8px;font-weight:900;transition:transform .16s ease,box-shadow .16s ease}.approval-actions button:hover{transform:translateY(-2px)}.approval-actions .approve{border:1px solid #bbf7d0;color:#047857;background:#ecfdf5}.approval-actions .reject{border:1px solid #fecaca;color:#b91c1c;background:#fef2f2}.approval-actions button:disabled{cursor:wait;opacity:.65}.approval-empty{display:grid;place-items:center;gap:8px;min-height:220px;color:#64748b;text-align:center;font-weight:850}.approval-empty svg{color:#2563eb}.approval-empty strong{color:#0f172a;font-size:20px}@keyframes heroGlowPulse{0%{box-shadow:0 0 10px #00c3ff1a,0 0 5px #7c3aed33;filter:brightness(1)}to{box-shadow:0 0 30px #00c3ff4d,0 0 15px #7c3aed66;filter:brightness(1.08)}}@media(max-width:960px){.timetable-hub-hero{grid-template-columns:1fr;padding:22px}.timetable-tabs,.timetable-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-hero{align-items:flex-start;flex-direction:column}.approval-card{grid-template-columns:auto minmax(0,1fr)}.approval-actions{grid-column:1 / -1;justify-content:stretch}.approval-actions button{flex:1}}@media(max-width:560px){.timetable-tabs{grid-template-columns:1fr}.timetable-tabs button{min-height:52px}.teacher-subject-grid,.timetable-room-grid,.slot-row{grid-template-columns:1fr}.slot-row span{text-align:left}.timetable-form-grid{grid-template-columns:1fr}.timetable-form-actions{justify-content:stretch}.timetable-form-actions button{flex:1 1 auto}}
