@import "https://fonts.googleapis.com/css2?family=Poppins:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap";:root{--navy-900:#0b1f3f;--navy-800:#0f2a56;--navy-700:#14356c;--blue-600:#1e4fa3;--blue-500:#2563c9;--gold-500:#f2a93b;--gold-400:#f6bd63;--ink-900:#101828;--ink-700:#344054;--ink-500:#667085;--line:#e6e9f0;--bg:#f6f8fc;--white:#fff;--success:#1a9c6b;--danger:#e0463f;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--shadow-xs:0 1px 2px #1018280a;--shadow-sm:0 1px 3px #1018280d, 0 4px 10px #1018280a;--shadow-md:0 6px 16px #10182812, 0 14px 32px #10182814;--shadow-lg:0 12px 28px #0b1f3f1f, 0 24px 48px #0b1f3f24;--font-head:"Poppins", sans-serif;--font-body:"Inter", sans-serif;--ease:cubic-bezier(.2, .7, .3, 1)}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--ink-700);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-size:13.5px;line-height:1.55}h1,h2,h3,h4{font-family:var(--font-head);color:var(--navy-900);letter-spacing:-.01em;margin:0 0 .4em;font-weight:600;line-height:1.3}h1{font-size:21px}h2{font-size:17.5px}h3{font-size:14.5px}h4{font-size:13.5px}p{margin:0 0 1em}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:#2563c933}:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{background:linear-gradient(180deg, var(--navy-900), var(--navy-800));color:#fff;flex-direction:column;flex-shrink:0;width:264px;height:100vh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid #ffffff1a;flex-shrink:0;align-items:center;gap:12px;margin-bottom:20px;padding:0 8px 24px;display:flex}.brand-mark{background:linear-gradient(160deg, var(--gold-400), var(--gold-500));width:42px;height:42px;color:var(--navy-900);font-family:var(--font-head);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.sidebar-brand strong{color:#fff;font-size:14.5px;font-family:var(--font-head);display:block}.sidebar-brand span{color:#fff9;font-size:11.5px}.sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:0;height:0;display:none}.sidebar-link{color:#ffffffbf;border-radius:10px;align-items:center;gap:12px;padding:11px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.sidebar-link:hover{color:#fff;background:#ffffff14}.sidebar-link.active{background:var(--gold-500);color:var(--navy-900);font-weight:600}.sidebar-link-label{text-align:left;flex:1}.sidebar-group-toggle{cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit}.sidebar-group-toggle.active-parent{color:#fff}.sidebar-chevron{flex-shrink:0;transition:transform .2s}.sidebar-chevron.open{transform:rotate(90deg)}.sidebar-submenu{flex-direction:column;gap:2px;padding:4px 0 6px 42px;display:flex}.sidebar-sublink{color:#fff9;border-radius:8px;padding:8px 12px;font-size:12.5px}.sidebar-sublink:hover{color:#fff;background:#ffffff14}.sidebar-sublink.active{color:var(--gold-400);background:#f2a93b2e;font-weight:600}.sidebar-sublink-external{justify-content:space-between;align-items:center;gap:8px;display:flex}.sidebar-sublink-external-icon{opacity:.55;flex-shrink:0;width:13px;height:13px}.sidebar-sublink-external:hover .sidebar-sublink-external-icon{opacity:.9}.sidebar-overlay{display:none}.main-col{flex-direction:column;flex:1;min-width:0;display:flex}.topbar-app{border-bottom:1px solid var(--line);z-index:20;background:#fff;flex-shrink:0;align-items:center;gap:14px;height:68px;padding:0 28px;display:flex;position:sticky;top:0}.menu-btn{color:var(--navy-900);background:0 0;border:none;padding:8px;display:none}.topbar-spacer{flex:1}.topbar-page{align-items:center;gap:12px;min-width:0;display:flex}.topbar-page-icon{border-radius:var(--radius-sm);background:linear-gradient(160deg, var(--navy-800), var(--navy-900));width:40px;height:40px;color:var(--gold-400);flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar-page-text{flex-direction:column;min-width:0;line-height:1.3;display:flex}.topbar-page-crumb{color:var(--ink-500);text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:600}.topbar-page-text strong{color:var(--navy-900);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.notif-bell{position:relative}.notif-bell-btn{background:var(--bg);border:1px solid var(--line);width:38px;height:38px;color:var(--navy-900);border-radius:50%;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:flex;position:relative}.notif-bell-btn:hover{background:#eef1f7;border-color:#d3d9e6}.notif-badge{background:var(--danger);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.notif-dropdown{border-radius:var(--radius-md);width:350px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);border:1px solid var(--line);z-index:50;animation:account-pop .16s var(--ease);transform-origin:100% 0;background:#fff;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden}.notif-dropdown-head{justify-content:space-between;align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.notif-dropdown-head h4{margin:0}.notif-mark-all{color:var(--blue-600);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:11.5px;font-weight:700}.notif-mark-all:hover{text-decoration:underline}.notif-empty{margin:0;padding:10px 16px 20px}.notif-list{flex-direction:column;max-height:360px;display:flex;overflow-y:auto}.notif-item{text-align:left;cursor:pointer;background:0 0;border:none;align-items:flex-start;gap:12px;width:100%;padding:11px 16px;font-family:inherit;transition:background .15s;display:flex;position:relative}.notif-item:hover{background:var(--bg)}.notif-item-unread{background:#2563c90a}.notif-item-icon{color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;box-shadow:0 3px 8px #1018281f}.notif-item-text{flex:1;min-width:0}.notif-item-msg{color:var(--ink-700);font-size:12.5px;line-height:1.45;display:block}.notif-item-unread .notif-item-msg{color:var(--navy-900);font-weight:600}.notif-item-time{color:var(--ink-500);margin-top:3px;font-size:11px;display:block}.notif-item-dot{background:var(--blue-500);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:5px}.notif-dropdown-foot{border-top:1px solid var(--line);padding:10px 16px}.notif-view-all{width:100%;color:var(--blue-600);cursor:pointer;text-align:center;background:0 0;border:none;padding:4px 0;font-family:inherit;font-size:12.5px;font-weight:700}.notif-view-all:hover{text-decoration:underline}.notif-list-page{max-height:none}.notif-list-page .notif-item{border-radius:var(--radius-sm);padding:14px}.chip-count{color:var(--blue-600);background:#2563c91a;margin-left:8px}.lang-switch{background:var(--bg);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.lang-switch button{color:var(--ink-500);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 11px;font-family:inherit;font-size:11.5px;font-weight:700;transition:background .15s,color .15s}.lang-switch button.active{background:var(--navy-900);color:#fff}.lang-switch button:not(.active):hover{color:var(--navy-900)}.lang-switch-light{background:#ffffff1a;border-color:#ffffff2e}.lang-switch-light button{color:#fff9}.lang-switch-light button.active{background:var(--gold-500);color:var(--navy-900)}.lang-switch-light button:not(.active):hover{color:#fff}.user-avatar{object-fit:cover;background:var(--blue-600);color:#fff;width:34px;height:34px;font-size:13px;font-family:var(--font-head);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.user-avatar-lg{width:40px;height:40px;font-size:15px}.user-avatar-xl{width:84px;height:84px;margin:0 auto 16px;font-size:28px}.sidebar-account{border-top:1px solid #ffffff1a;flex-shrink:0;margin-top:12px;padding-top:12px;position:relative}.sidebar-account-trigger{border-radius:var(--radius-sm);cursor:pointer;background:#ffffff0d;border:1px solid #ffffff14;align-items:center;gap:10px;width:100%;padding:9px 10px;font-family:inherit;transition:background .15s,border-color .15s;display:flex}.sidebar-account-trigger:hover{background:#ffffff17;border-color:#ffffff24}.sidebar-account-avatar{flex-shrink:0;display:flex;position:relative}.sidebar-account-avatar img{object-fit:cover;border-radius:50%;width:34px;height:34px;display:block}.sidebar-account-meta{text-align:left;flex:1;min-width:0}.sidebar-account-meta strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.sidebar-account-meta span{color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:11.5px;display:block;overflow:hidden}.sidebar-account-chevron{color:#ffffff73;transition:transform .2s var(--ease);flex-shrink:0}.sidebar-account-chevron.open{transform:rotate(180deg)}.account-status-dot{background:var(--success);border:2px solid var(--navy-800);border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-1px;box-shadow:0 0 0 1px #1a9c6b59}.account-dropdown{box-sizing:border-box;border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--line);z-index:50;animation:account-pop .16s var(--ease);transform-origin:0 100%;background:#fff;padding:8px;position:absolute}@keyframes account-pop{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.account-dropdown-up{bottom:calc(100% + 10px);left:0;right:0}.account-card{align-items:flex-start;gap:12px;padding:12px 10px 14px;display:flex}.account-card img{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.account-card-meta{flex:1;min-width:0}.account-card-meta strong{color:var(--navy-900);white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:700;display:block;overflow:hidden}.account-email{color:var(--ink-500);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;display:block;overflow:hidden}.account-card-badges{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.account-online{color:var(--success);align-items:center;gap:5px;font-size:10.5px;font-weight:600;display:inline-flex}.account-online i{background:var(--success);border-radius:50%;width:6px;height:6px;font-style:normal}.pill.pill-role{color:var(--navy-900);background:#0b1f3f0f;padding:3px 9px;font-size:10px}.account-divider{background:var(--line);height:1px;margin:4px 10px}.account-links{flex-direction:column;gap:1px;padding:6px 0;display:flex}.account-link{border-radius:var(--radius-sm);color:var(--ink-700);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;width:100%;padding:8px 10px;font-family:inherit;font-size:13.5px;font-weight:500;transition:background .15s;display:flex}.account-link:hover{background:var(--bg)}.account-link-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.account-link-icon.tint-blue{color:var(--blue-600);background:#2563c91a}.account-link-icon.tint-teal{color:#1a7d8c;background:#37b7c91f}.account-link-icon.tint-gold{color:#a35c00;background:#f2a93b26}.account-link-icon.tint-red{color:var(--danger);background:#e0463f1a}.account-link-danger{color:var(--danger);margin-top:2px;padding:8px 10px 10px}.account-link-danger:hover{background:#e0463f0f}.curriculum-grid{flex-direction:column;gap:2px;display:flex}.curriculum-item{color:var(--ink-700);border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.curriculum-item:hover{background:var(--bg)}.curriculum-actions{align-items:center;gap:10px;display:flex}.curriculum-edit{align-items:center;gap:8px;display:flex}.curriculum-edit input{border:1px solid var(--line);border-radius:8px;width:240px;padding:8px 12px;font-size:13px}.link-edit-btn{border:1px solid var(--line);color:var(--blue-600);background:0 0;border-radius:999px;padding:6px 12px;font-family:inherit;font-size:12.5px;font-weight:600}.link-edit-btn:hover{background:#2563c914}.link-edit-btn-danger{color:var(--danger)}.link-edit-btn-danger:hover{background:#e0463f14}.table-actions{justify-content:flex-end;gap:6px;display:flex}.table-icon-btn{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-500);background:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.table-icon-btn:hover{color:var(--blue-600);background:#2563c914;border-color:#0000}.table-icon-btn-danger:hover{color:var(--danger);background:#e0463f14;border-color:#0000}.export-actions{flex-shrink:0;gap:8px;display:flex}.export-btn{color:var(--ink-700);border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.export-btn:hover:not(:disabled){background:var(--bg);color:var(--blue-600);border-color:#d3d9e6}.export-btn:disabled{opacity:.4;cursor:default}.card-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-heading-row .card-heading{margin-bottom:0}.status-pill{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11px;font-weight:700;display:inline-flex}.status-pill-done{color:var(--success);background:#25c98f1f}.status-pill-pending{color:var(--danger);background:#e0463f1a}tbody tr.row-status-done{background:#25c98f0b}tbody tr.row-status-pending{background:#e0463f0a}tbody tr.row-status-done:hover{background:#25c98f17}tbody tr.row-status-pending:hover{background:#e0463f14}.muted-inline{color:var(--ink-500);font-size:13px;font-style:italic}.kpm-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.kpm-card{background:var(--bg);border-radius:10px;padding:16px}.kpm-card strong{color:var(--navy-900);margin-bottom:4px;font-size:14px;display:block}.kpm-card span{color:var(--ink-500);font-size:12.5px}@media (width<=640px){.curriculum-item{flex-direction:column;align-items:flex-start;gap:8px}.curriculum-edit input{width:100%}.kpm-grid{grid-template-columns:1fr}}.profile-header{align-items:center;gap:18px;display:flex}.danger-zone{background:#e0463f08;border-color:#e0463f40}.danger-zone .card-heading{color:var(--danger)}.profile-avatar{object-fit:cover;border-radius:50%;width:52px;height:52px}.profile-avatar-md{width:68px;height:68px}.profile-field-grid{flex-wrap:wrap;gap:22px 32px;display:flex}.profile-field-item{flex:0 200px}.profile-field-item-wide{flex:100%}.profile-field-item label{color:var(--ink-500);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.profile-field-item p,.profile-field-value{color:var(--navy-900);margin:0;font-size:14.5px;font-weight:400}.profile-photo-edit-row{align-items:center;gap:16px;display:flex}.photo-choose-btn{cursor:pointer;align-items:center;display:inline-flex}.photo-choose-btn input{display:none}.profile-layout{grid-template-columns:300px 1fr;align-items:start;gap:24px;max-width:1080px;display:grid}.profile-summary-card{text-align:center;padding:32px 26px;position:sticky;top:88px}.profile-summary-card .profile-avatar{width:84px;height:84px;margin:0 auto 16px}.profile-summary-card h2{margin-bottom:6px}.profile-summary-email{color:var(--ink-500);word-break:break-word;margin:0 0 14px;font-size:12.5px}.profile-summary-meta{border-top:1px solid var(--line);text-align:left;flex-direction:column;gap:10px;margin-top:22px;padding-top:18px;display:flex}.profile-summary-meta-row{color:var(--ink-500);justify-content:space-between;gap:10px;font-size:12.5px;display:flex}.profile-summary-meta-row strong{color:var(--navy-900);font-weight:600}.profile-settings .content-card:last-child{margin-bottom:0}.profile-settings .content-card.profile-actions-card{margin-bottom:22px}@media (width<=860px){.profile-layout{grid-template-columns:1fr}.profile-summary-card{position:static}}.page-content{width:100%;max-width:1180px;margin:0 auto;padding:32px}.page-head{margin-bottom:30px}.page-head h1{font-size:19px}.page-head p{color:var(--ink-500);margin:0;font-size:13px}.dash-hero{background:linear-gradient(135deg, var(--navy-900) 0%, var(--navy-800) 55%, var(--blue-600) 100%);border-radius:var(--radius-lg);color:#fff;box-shadow:var(--shadow-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:26px 30px;display:flex;position:relative;overflow:hidden}.dash-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 88% -20%,#f2a93b59,#0000 55%);position:absolute;inset:0}.dash-hero-text{position:relative}.dash-hero-text h1{color:#fff;margin-bottom:6px}.dash-hero-text p{color:#ffffffb8;margin:0;font-size:13px}.dash-hero-date{border-radius:var(--radius-md);text-align:center;background:#ffffff1f;border:1px solid #ffffff2e;flex-shrink:0;padding:10px 20px;position:relative}.dash-hero-date strong{font-family:var(--font-head);font-size:22px;line-height:1.2;display:block}.dash-hero-date span{color:#ffffffa6;text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}.snapshot-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;display:grid}.snapshot-item{border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;align-items:center;gap:14px;padding:16px 18px;transition:box-shadow .2s,transform .2s;display:flex}.snapshot-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 4px 10px #1018281f}.snapshot-item strong{color:var(--navy-900);font-size:13px;display:block}.snapshot-item span{color:var(--ink-500);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.snapshot-good{border-top-color:var(--success)}.snapshot-warn{border-top-color:var(--gold-500)}.teacher-dash-layout{grid-template-columns:1fr 280px;gap:20px;display:grid}.teacher-dash-side{flex-direction:column;display:flex}.teacher-dash-side .content-card{margin-bottom:0}.activity-sidebar{flex-direction:column;flex:1;display:flex}.activity-sidebar .card-heading{margin-bottom:10px}.activity-list-compact{flex:1;gap:0}.activity-list-compact .activity-row{gap:10px;padding:9px 6px}.activity-list-compact .activity-row-text strong{font-size:12.5px}.activity-list-compact .activity-row-text span{font-size:11px}.activity-sidebar .muted{text-align:center;flex:1;justify-content:center;align-items:center;padding:0;display:flex}@media (width<=960px){.teacher-dash-layout{grid-template-columns:1fr}}.module-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.module-card{border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);background:#fff;padding:22px;display:block}.module-card:hover{box-shadow:var(--shadow-md);border-color:#0000;transform:translateY(-3px)}.module-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:16px;display:flex;box-shadow:0 4px 10px #1018281f}.module-card h3{margin-bottom:5px;font-size:14px}.help-layout{grid-template-columns:300px 1fr;align-items:start;gap:24px;max-width:1080px;display:grid}.help-contact-card{text-align:center;padding:32px 26px;position:sticky;top:88px}.help-contact-icon{margin:0 auto 16px}.help-contact-card .card-heading{margin-bottom:18px}.help-contact-row{color:var(--ink-700);text-align:left;justify-content:center;align-items:center;gap:9px;margin-bottom:10px;font-size:13.5px;display:flex}.help-contact-row:last-child{margin-bottom:0}.help-contact-row svg{color:var(--ink-500);flex-shrink:0}.help-contact-row a{color:var(--blue-600);font-weight:600}.help-contact-row a:hover{text-decoration:underline}@media (width<=860px){.help-layout{grid-template-columns:1fr}.help-contact-card{position:static}}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid var(--line)}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;color:var(--navy-900);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-family:inherit;font-size:14.5px;font-weight:600;display:flex}.faq-item:first-child .faq-question{padding-top:0}.faq-chevron{color:var(--ink-500);flex-shrink:0;transition:transform .18s}.faq-chevron.is-open{transform:rotate(180deg)}.faq-answer{color:var(--ink-500);margin:0 0 16px;font-size:13.5px;line-height:1.6}.module-card p{color:var(--ink-500);font-size:12.5px;line-height:1.5}.module-link{color:var(--blue-600);align-items:center;gap:6px;font-size:13px;font-weight:700;transition:gap .15s;display:inline-flex}.module-card:hover .module-link{gap:9px}.bg-blue{background:linear-gradient(160deg,#2563c9,#0f2a56)}.bg-gold{background:linear-gradient(160deg,#f6bd63,#e0872a)}.bg-green{background:linear-gradient(160deg,#25c98f,#127a56)}.bg-purple{background:linear-gradient(160deg,#8b6cf2,#4a2fbd)}.bg-red{background:linear-gradient(160deg,#f2696c,#c22e35)}.bg-teal{background:linear-gradient(160deg,#37b7c9,#166b7a)}.bg-navy{background:linear-gradient(160deg,#2c4a86,#0b1f3f)}.module-card[data-color=bg-blue],.quick-action[data-color=bg-blue]{border-top-color:#2563c9}.module-card[data-color=bg-gold],.quick-action[data-color=bg-gold]{border-top-color:#f2a93b}.module-card[data-color=bg-green],.quick-action[data-color=bg-green]{border-top-color:#25c98f}.module-card[data-color=bg-teal],.quick-action[data-color=bg-teal]{border-top-color:#37b7c9}.module-card[data-color=bg-navy],.quick-action[data-color=bg-navy]{border-top-color:#14356c}.module-card[data-color=bg-purple],.quick-action[data-color=bg-purple]{border-top-color:#8b6cf2}.module-card[data-color=bg-red],.quick-action[data-color=bg-red]{border-top-color:#f2696c}.content-card{border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;margin-bottom:22px;padding:26px}.card-heading{margin-bottom:16px;font-size:14.5px}.card-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.toolbar-controls{flex-wrap:wrap;gap:10px;display:flex}.toolbar-select{flex-shrink:0;width:190px}.toolbar-controls .datepicker{flex-shrink:0;width:170px}.toolbar-controls input,.toolbar-controls select{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);padding:9px 14px;font-size:13.5px;transition:border-color .15s,background .15s}.toolbar-controls input:focus,.toolbar-controls select:focus{border-color:var(--blue-500);background:#fff;outline:none}.btn-filter-apply{background:var(--navy-900);color:#fff;border-radius:var(--radius-sm);border:none;flex-shrink:0;padding:9px 20px;font-size:13.5px;font-weight:600;transition:background .15s}.btn-filter-apply:hover{background:var(--navy-700)}.table-toolbar-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.view-toggle{background:var(--bg);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:inline-flex}.view-toggle button{color:var(--ink-500);background:0 0;border:none;border-radius:999px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.view-toggle button.active{background:var(--navy-900);color:#fff}.form-page{max-width:640px}.form-page-grid{max-width:100%}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:7px;margin-bottom:18px;display:flex}.field label{color:var(--navy-900);font-size:12.5px;font-weight:600}.field input,.field select,.field textarea{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);color:var(--ink-900);padding:10px 13px;font-size:13.5px;transition:border-color .15s,background .15s,box-shadow .15s}.field input::placeholder,.field textarea::placeholder{color:#a3adc2}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-500);background:#fff;outline:none;box-shadow:0 0 0 4px #2563c91a}.form-note{color:var(--ink-500);margin:0;font-size:12.5px}.sselect{position:relative}.sselect-trigger{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink-900);text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:10px 13px;font-family:inherit;font-size:13.5px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.sselect-trigger:hover{border-color:#d3d9e6}.sselect-trigger:focus-visible{border-color:var(--blue-500);outline:none;box-shadow:0 0 0 4px #2563c91a}.sselect-placeholder{color:#a3adc2}.sselect-chevron{color:var(--ink-500);flex-shrink:0;transition:transform .18s}.sselect-chevron.open{transform:rotate(180deg)}.sselect-disabled .sselect-trigger{opacity:.6;cursor:not-allowed}.sselect-panel{z-index:60;border:1px solid var(--line);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);animation:account-pop .14s var(--ease);background:#fff;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.sselect-search{border-bottom:1px solid var(--line);color:var(--ink-500);align-items:center;gap:8px;padding:10px 12px;display:flex}.sselect-search input{color:var(--ink-900);background:0 0;border:none;outline:none;flex:1;min-width:0;font-family:inherit;font-size:13.5px}.sselect-options{max-height:220px;padding:6px;overflow-y:auto}.sselect-option{text-align:left;width:100%;color:var(--ink-700);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:9px 10px;font-family:inherit;font-size:13.5px}.sselect-option:hover{background:var(--bg)}.sselect-option.active{color:var(--blue-600);background:#2563c914;font-weight:600}.sselect-empty{text-align:center;color:var(--ink-500);padding:14px;font-size:13px}.datepicker{position:relative}.datepicker-panel{z-index:60;border:1px solid var(--line);border-radius:var(--radius-sm);width:280px;box-shadow:var(--shadow-lg);animation:account-pop .14s var(--ease);background:#fff;padding:14px;position:absolute;top:calc(100% + 6px);left:0}.datepicker-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.datepicker-header strong{color:var(--navy-900);font-size:13.5px;font-family:var(--font-head);font-weight:600}.datepicker-header-label{font-family:var(--font-head);color:var(--navy-900);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:13.5px;font-weight:600;transition:background .15s}.datepicker-header-label:hover{background:var(--bg);color:var(--blue-600)}.datepicker-cell-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.datepicker-cell{background:var(--bg);border-radius:var(--radius-sm);color:var(--navy-900);cursor:pointer;border:none;padding:10px 4px;font-size:13px;font-weight:600;transition:background .15s}.datepicker-cell:hover{background:var(--line)}.datepicker-cell.is-selected{background:var(--navy-900);color:#fff}.datepicker-cell.is-selected:hover{background:var(--navy-900)}.datepicker-nav{width:28px;height:28px;color:var(--ink-500);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.datepicker-nav:hover{background:var(--bg);color:var(--navy-900)}.datepicker-weekdays{grid-template-columns:repeat(7,1fr);margin-bottom:2px;display:grid}.datepicker-weekdays span{text-align:center;color:var(--ink-500);text-transform:uppercase;font-size:10px;font-weight:700}.datepicker-row{grid-template-columns:repeat(7,1fr);display:grid}.datepicker-day{aspect-ratio:1;width:100%;color:var(--ink-700);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;font-size:12.5px;transition:background .15s,color .15s;display:flex}.datepicker-day:hover:not(:disabled){background:var(--bg)}.datepicker-day.is-empty{visibility:hidden;cursor:default}.datepicker-day.is-today{color:var(--blue-600);font-weight:700}.datepicker-day.is-selected{background:var(--navy-900);color:#fff;font-weight:700}.datepicker-day.is-selected:hover{background:var(--navy-900)}.datepicker-footer{border-top:1px solid var(--line);text-align:center;margin-top:8px;padding-top:10px}.datepicker-today-btn{color:var(--blue-600);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px;font-weight:700}.datepicker-today-btn:hover{text-decoration:underline}.btn-submit{background:var(--navy-900);color:#fff;border:none;border-radius:999px;padding:13px 26px;font-size:14.5px;font-weight:600;transition:background .15s,transform .12s,box-shadow .15s}.btn-submit:hover{background:var(--navy-700);box-shadow:var(--shadow-sm)}.btn-submit:active{transform:scale(.98)}.btn-submit:disabled{opacity:.55;cursor:default;box-shadow:none}.btn-ghost-app{border:1px solid var(--line);color:var(--navy-900);background:#fff;border-radius:999px;padding:10px 20px;font-size:13.5px;font-weight:600;transition:background .15s,border-color .15s,transform .12s}.btn-ghost-app:hover{background:var(--bg);border-color:#d3d9e6}.btn-ghost-app:active{transform:scale(.98)}.btn-danger-app{color:var(--danger);background:#e0463f1a;border:1px solid #e0463f4d;border-radius:999px;padding:10px 20px;font-size:13.5px;font-weight:600;transition:background .15s,transform .12s}.btn-danger-app:hover{background:#e0463f29}.btn-danger-app:active{transform:scale(.98)}.alert{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:18px;padding:13px 16px;font-size:13.5px;font-weight:600;display:flex}.alert-success{color:var(--success);background:#1a9c6b1a}.alert-error{color:var(--danger);background:#e0463f1a}.alert-warning{color:#a35c00;background:#f2a93b24}.table-wrap{border-radius:var(--radius-sm);border:1px solid var(--line);overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13px}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:12.5px 16px}th{background:var(--bg);color:var(--ink-700);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);font-size:10.5px;font-weight:700}td{color:var(--ink-700)}td:first-child{color:var(--navy-900);font-weight:600}tbody tr{transition:background .12s}tbody tr:nth-child(2n){background:var(--bg)}tbody tr:hover{background:#2563c90f}tbody tr:last-child td{border-bottom:none}.muted{color:var(--ink-500);padding:16px}.pagination{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:16px 2px 2px;display:flex}.pagination-size{color:var(--ink-700);align-items:center;gap:10px;font-size:13px;display:flex;position:relative}.pagination-size-label{flex-shrink:0}.page-size-select{flex-shrink:0;width:74px}.page-size-select .sselect-trigger{background:#fff;padding:7px 10px}.page-size-select .sselect-panel{min-width:74px}.page-size-select .sselect-option{text-align:center}.pagination-summary{color:var(--ink-700);font-size:13px}.pagination-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pagination-btn{border-radius:var(--radius-sm);border:1.5px solid var(--pager-accent,#e2572f);min-width:36px;height:36px;color:var(--pager-accent,#e2572f);cursor:pointer;transition:background .15s var(--ease), color .15s var(--ease);background:#fff;padding:0 12px;font-size:13.5px;font-weight:600}.pagination-btn:hover:not(:disabled):not(.active){background:#e2572f14}.pagination-btn.active{background:var(--pager-accent,#e2572f);color:#fff;border-color:var(--pager-accent,#e2572f)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{color:var(--ink-500);padding:0 2px}.skeleton{background:linear-gradient(90deg,#eef1f6 25%,#e4e8f2 37%,#eef1f6 63%) 0 0/400% 100%;border-radius:6px;animation:1.4s infinite skeleton-shimmer;display:inline-block}@keyframes skeleton-shimmer{0%{background-position:100%}to{background-position:0}}.skeleton-text{height:12px;display:block}.skeleton-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.skeleton-circle{border-radius:10px;width:34px;height:34px;display:block}.stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--line);border-top:3px solid var(--line);border-radius:var(--radius-md);text-align:center;box-shadow:var(--shadow-xs);background:#fff;padding:20px;transition:box-shadow .2s,transform .2s}.stat-card-icon{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;margin:0 auto 10px;display:flex;box-shadow:0 4px 10px #1018281f}.stat-card span{font-family:var(--font-head);color:var(--navy-900);letter-spacing:-.01em;font-size:23px;font-weight:700;display:block}.stat-card label{color:var(--ink-500);font-size:11px;font-weight:500}.stat-good span{color:var(--success)}.stat-bad span{color:var(--danger)}.chip-list{flex-wrap:wrap;gap:8px;display:flex}.admin-overview-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:20px;display:grid}.admin-overview-side{flex-direction:column;gap:20px;display:flex}.admin-overview-side .content-card{margin-bottom:0}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;display:grid}.quick-action{text-align:center;border-radius:var(--radius-md);border:1px solid var(--line);border-top:3px solid var(--line);transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);background:#fff;flex-direction:column;align-items:center;gap:9px;padding:16px 8px;display:flex}.quick-action:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.quick-action-icon{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;display:flex;box-shadow:0 4px 10px #1018281f}.quick-action span{color:var(--navy-900);font-size:12px;font-weight:600;line-height:1.3}.activity-list{flex-direction:column;gap:2px;display:flex}.activity-row{border-radius:var(--radius-sm);align-items:center;gap:12px;padding:10px 8px;transition:background .15s;display:flex}.activity-row:hover{background:var(--bg)}.activity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.activity-row-text{min-width:0}.activity-row-text strong{color:var(--navy-900);font-size:13px;display:block}.activity-row-text span{color:var(--ink-500);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}@media (width<=960px){.admin-overview-grid{grid-template-columns:1fr}}.chip{color:var(--danger);background:#e0463f14;border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:600}.code-card{text-align:center}.code-label{color:var(--ink-500);font-size:13px;font-weight:600}.code-display{font-family:var(--font-head);color:var(--navy-900);letter-spacing:.2em;margin:12px 0 20px;font-size:48px;font-weight:700}.code-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.login-screen{background:#fff;min-height:100vh;display:flex}.login-showcase{background:linear-gradient(160deg, var(--navy-900) 0%, var(--navy-800) 45%, var(--blue-600) 100%);color:#fff;flex-direction:column;flex:46%;justify-content:space-between;max-width:560px;padding:56px;display:flex;position:relative;overflow:hidden}.login-showcase:before{content:"";background-image:radial-gradient(circle at 12% 15%,#ffffff14,#0000 40%),radial-gradient(circle at 88% 85%,#f2a93b29,#0000 45%);position:absolute;inset:0}.login-showcase-top{max-width:400px;position:relative}.login-showcase-brand{align-items:center;gap:10px;margin-bottom:48px;display:inline-flex}.login-showcase-brand strong{font-family:var(--font-head);font-size:16px}.login-showcase-top h1{color:#fff;margin-bottom:14px;font-size:30px;line-height:1.3}.login-showcase-top p{color:#ffffffb8;margin:0;font-size:14px;line-height:1.65}.login-showcase-footer{color:#ffffff8c;border-top:1px solid #ffffff24;max-width:400px;margin:0;padding-top:20px;font-size:12.5px;position:relative}.login-form-panel{flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.login-form-panel-inner{text-align:center;width:100%;max-width:380px}.login-top-row{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.login-back-link{color:var(--ink-500);align-items:center;gap:6px;padding:4px 2px;font-size:13px;font-weight:600;transition:color .15s;display:inline-flex}.login-back-link:hover{color:var(--blue-600)}.login-back-link svg{transition:transform .15s}.login-back-link:hover svg{transform:translate(-2px)}.login-mobile-brand{display:none}.login-mark{width:56px;height:56px;margin:0 auto 18px;font-size:20px;box-shadow:0 6px 16px #f2a93b59}.login-form-panel-inner h1{font-size:21px}.login-sub{color:var(--ink-500);margin-bottom:26px;font-size:13.5px}@media (width<=900px){.login-showcase{display:none}.login-mobile-brand{display:block}}.btn-google{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink-700);background:#fff;justify-content:center;align-items:center;gap:10px;padding:13px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex}.btn-google:hover{background:var(--bg);box-shadow:var(--shadow-sm)}.btn-google:disabled{opacity:.5;cursor:default}.login-hint{color:var(--ink-500);margin-top:16px;margin-bottom:0;font-size:12.5px}.login-divider{color:var(--ink-500);align-items:center;gap:12px;margin:20px 0;font-size:12px;font-weight:600;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.pdpa-screen{background:var(--bg);justify-content:center;min-height:100vh;padding:48px 24px;display:flex}.pdpa-card{border-radius:var(--radius-lg);width:100%;max-width:640px;box-shadow:var(--shadow-sm);background:#fff;height:fit-content;padding:40px}.pdpa-card h1{margin-bottom:6px;font-size:22px}.pdpa-card h3{margin-top:22px;font-size:14.5px}.pdpa-card p{color:var(--ink-700);font-size:13.5px}.password-field{position:relative}.password-field input{width:100%;padding-right:42px}.password-field input::-ms-reveal{display:none}.password-field input::-ms-clear{display:none}.password-toggle{color:var(--ink-500);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-toggle:hover{color:var(--navy-900);background:var(--bg)}.login-options-row{justify-content:space-between;align-items:center;margin:-4px 0 20px;display:flex}.remember-me{color:var(--ink-700);cursor:pointer;align-items:center;gap:8px;font-size:12.5px;font-weight:500;display:inline-flex}.remember-me input[type=checkbox]{accent-color:var(--blue-600);cursor:pointer;width:15px;height:15px}.auth-tabs{background:var(--bg);border-radius:999px;gap:2px;margin-bottom:22px;padding:4px;display:flex}.auth-tab{color:var(--ink-500);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:10px;font-family:inherit;font-size:13.5px;font-weight:600;transition:background .18s,color .18s,box-shadow .18s}.auth-tab.active{color:var(--navy-900);box-shadow:var(--shadow-xs);background:#fff}.local-login-form,.auth-tabs,.local-login-form .alert{text-align:left}.consent-row{color:var(--ink-500);cursor:pointer;align-items:flex-start;gap:9px;margin-bottom:18px;font-size:12.5px;line-height:1.5;display:flex}.consent-row input[type=checkbox]{accent-color:var(--blue-600);flex-shrink:0;width:15px;height:15px;margin-top:2px}.consent-row a{color:var(--blue-600);font-weight:600;text-decoration:underline}.inline-link-btn{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.modal-overlay{z-index:300;-webkit-backdrop-filter:blur(6px);background:#0b1f3f73;justify-content:center;align-items:center;padding:20px;animation:.18s modal-fade;display:flex;position:fixed;inset:0}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}.modal-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;width:100%;max-width:360px;animation:modal-pop .2s var(--ease);background:#fff;padding:32px}@keyframes modal-pop{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-icon{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 18px;display:flex}.modal-icon-danger{color:var(--danger);background:#e0463f1a}.modal-icon-warning{color:#a35c00;background:#f2a93b26}.modal-icon-info{color:var(--blue-600);background:#2563c91a}.modal-card h3{margin-bottom:8px;font-size:17px}.modal-card p{color:var(--ink-500);margin-bottom:24px;font-size:14px}.modal-actions{gap:10px;display:flex}.modal-card-wide{text-align:left;max-width:640px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:20px;display:grid}.photo-grid img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;height:140px;display:block}.photo-upload-input{border:1.5px dashed var(--line);border-radius:var(--radius-sm);text-align:center;cursor:pointer;background:var(--bg);padding:16px;transition:border-color .15s,background .15s}.photo-upload-input:hover{border-color:var(--blue-500);background:#fff}.photo-upload-input input{display:none}.photo-preview-strip{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.photo-preview-item{border-radius:var(--radius-sm);border:1px solid var(--line);width:84px;height:84px;position:relative;overflow:hidden}.photo-preview-item img{object-fit:cover;width:100%;height:100%;display:block}.photo-preview-remove{color:#fff;cursor:pointer;background:#0b1f3fbf;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:12px;line-height:1;display:flex;position:absolute;top:3px;right:3px}.photo-count-btn{background:var(--bg);border:1px solid var(--line);color:var(--navy-900);cursor:pointer;border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:600}.photo-count-btn:hover{border-color:var(--blue-500);background:#fff}.dynamic-input-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.dynamic-input-row input,.dynamic-input-row .sselect{flex:1}.dynamic-input-row .photo-preview-remove{flex-shrink:0;position:static}.dynamic-input-row .btn-add-row{flex-shrink:0}.profile-chip-list{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.profile-chip{color:var(--blue-600);background:#2563c914;border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.profile-chip button{color:var(--blue-600);cursor:pointer;background:#2563c926;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:11px;display:flex}.profile-chip-static{padding:5px 12px}.btn-add-row{background:var(--bg);border:1px dashed var(--line);color:var(--navy-900);border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;font-size:13px;font-weight:600;transition:border-color .15s,background .15s}.btn-add-row:hover{border-color:var(--blue-500);background:#fff}.btn-danger-solid{background:var(--danger);color:#fff;border:none;border-radius:999px;padding:13px 26px;font-size:14.5px;font-weight:600;transition:background .15s,transform .12s}.btn-danger-solid:hover{background:#c53a34}.btn-danger-solid:active{transform:scale(.98)}.page-loading,.setup-notice{text-align:center;color:var(--ink-500);padding:60px}.system-locked-screen{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.system-locked-card{text-align:center;border:1px solid var(--line);border-radius:var(--radius-md);max-width:420px;box-shadow:var(--shadow-md);background:#fff;padding:40px 32px}.system-locked-card h2{color:var(--navy-900);margin-bottom:12px}.system-locked-card p{color:var(--ink-500);margin-bottom:24px}@media (width<=960px){.module-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}}@media (width<=780px){.sidebar{z-index:100;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:90;background:#0b1f3f80;display:block;position:fixed;inset:0}.menu-btn{display:flex}.page-content{padding:20px}.module-grid,.profile-detail-grid{grid-template-columns:1fr}.topbar-app{gap:8px;padding:0 14px}.topbar-page-icon,.topbar-page-crumb{display:none}.topbar-page-text strong{font-size:14px}}.pill{color:var(--blue-600);background:#2563c91a;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.btn-block{justify-content:center;width:100%;display:flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--blue-600);background:#2563c917;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:6px 14px;font-size:13px;font-weight:700;display:inline-flex}.step-card{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:26px}.step-num{background:var(--navy-900);width:40px;height:40px;color:var(--gold-400);font-family:var(--font-head);border-radius:12px;justify-content:center;align-items:center;margin-bottom:16px;font-weight:700;display:flex}.step-card h3{font-size:16px}.step-card p{color:var(--ink-500);margin:0;font-size:13.5px}.landing{background:#fff}.landing-section-inner{max-width:1180px;margin:0 auto;padding:0 28px}.section-head{text-align:center;max-width:640px;margin:0 auto 44px}.section-head h2{font-size:clamp(26px,3.2vw,36px)}.section-head p{color:var(--ink-500);font-size:16px}.reveal{opacity:0;transition:opacity .7s var(--ease), transform .7s var(--ease);transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffe6;position:sticky;top:0}.landing-nav-inner{align-items:center;gap:32px;max-width:1180px;margin:0 auto;padding:16px 28px;display:flex}.landing-brand{align-items:center;gap:10px;display:flex}.landing-brand strong{font-family:var(--font-head);color:var(--navy-900);font-size:17px}.landing-links{flex:1;gap:28px;display:flex}.landing-links a{color:var(--ink-700);font-size:14.5px;font-weight:600}.landing-links a:hover{color:var(--blue-600)}.landing-nav-actions{align-items:center;gap:12px;display:flex}.landing-menu-btn{margin-left:auto;display:none}.landing-mobile-menu{border-top:1px solid var(--line);flex-direction:column;gap:4px;padding:12px 28px 20px;display:flex}.landing-mobile-menu a{color:var(--navy-900);padding:10px 4px;font-size:15px;font-weight:600}.landing-hero{background:linear-gradient(160deg, var(--navy-900) 0%, var(--navy-800) 45%, var(--blue-600) 100%);color:#fff;position:relative;overflow:hidden}.landing-hero:before{content:"";background-image:radial-gradient(circle at 15% 20%,#ffffff14,#0000 40%),radial-gradient(circle at 85% 80%,#f2a93b26,#0000 45%);position:absolute;inset:0}.landing-hero-inner{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;max-width:1180px;margin:0 auto;padding:88px 28px;display:grid;position:relative}.landing-hero .eyebrow{color:var(--gold-400);background:#ffffff1f}.landing-hero-copy h1{color:#fff;letter-spacing:-.01em;font-size:clamp(32px,4.2vw,50px)}.landing-hero-copy>p{color:#ffffffc7;max-width:520px;font-size:17px}.landing-hero-actions{flex-wrap:wrap;gap:14px;margin-top:26px;display:flex}.landing-hero .btn-ghost-app{color:#fff;background:0 0;border-color:#fff6}.landing-hero .btn-ghost-app:hover{background:#ffffff1a}.btn-outline-light{color:#fff;border:2px solid #ffffff80;border-radius:999px;align-items:center;padding:13px 26px;font-size:14.5px;font-weight:600;display:inline-flex}.btn-outline-light:hover{background:#ffffff1a}.landing-trust{flex-wrap:wrap;gap:32px;margin-top:40px;display:flex}.landing-trust strong{font-family:var(--font-head);color:var(--gold-400);font-size:22px;display:block}.landing-trust span{color:#ffffffa6;font-size:12.5px}.landing-hero-visual{position:relative}.mock-browser{box-shadow:var(--shadow-lg,0 16px 40px #0b1f3f59);border:1px solid #ffffff26;border-radius:14px;overflow:hidden}.mock-browser-bar{background:#e4e7ee;gap:6px;padding:10px 14px;display:flex}.mock-browser-bar span{background:#c3c9d6;border-radius:50%;width:9px;height:9px;display:inline-block}.mock-browser-body{background:#fff;height:300px;display:flex}.mock-sidebar{background:var(--navy-900);flex-direction:column;gap:8px;width:30%;padding:14px 10px;display:flex}.mock-sidebar-brand{background:var(--gold-500);border-radius:5px;width:60%;height:20px;margin-bottom:10px}.mock-sidebar-link{background:#ffffff26;border-radius:4px;height:12px}.mock-sidebar-link.active{background:var(--gold-500)}.mock-content{flex-direction:column;flex:1;gap:12px;padding:16px;display:flex}.mock-stat-row{gap:10px;display:flex}.mock-stat{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex:1;height:40px}.mock-card-row{gap:10px;display:flex}.mock-card{background:var(--bg);border:1px solid var(--line);border-radius:8px;flex:1;height:60px}.mock-chart{border:1px solid var(--line);background:linear-gradient(#2563c91f,#2563c905);border-radius:8px;flex:1;min-height:60px}.landing-section{padding:84px 0}.landing-section--alt{background:var(--bg)}.landing-feature-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.landing-feature{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:24px}.landing-feature h3{margin-bottom:6px;font-size:15.5px}.landing-feature p{color:var(--ink-500);margin:0;font-size:13.5px}.landing-feature .module-icon{margin-bottom:16px}.landing-module-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.landing-module-grid .module-card{cursor:default}.landing-module-grid .module-card:hover{box-shadow:none;transform:none}.landing-steps{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.landing-cta{background:linear-gradient(120deg, var(--navy-900), var(--blue-600));color:#fff;padding:72px 0}.landing-cta-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;display:flex}.landing-cta h2{color:#fff;margin-bottom:8px;font-size:28px}.landing-cta p{color:#ffffffbf;margin:0}.landing-footer{background:var(--bg);color:var(--ink-700);border-top:1px solid var(--line);padding-top:56px}.landing-footer-inner{grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:40px;display:grid}.landing-footer-brand .landing-brand strong{color:var(--navy-900)}.landing-footer-brand p{color:var(--ink-500);max-width:300px;margin-top:14px;font-size:13.5px}.landing-footer-col h4{color:var(--ink-500);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px;font-size:12px;font-weight:700}.landing-footer-col a{color:var(--ink-700);margin-bottom:12px;font-size:14px;display:block}.landing-footer-col a:hover{color:var(--blue-500)}.landing-footer-bottom{border-top:1px solid var(--line);text-align:center;color:var(--ink-500);padding:18px 0;font-size:12.5px}@media (width<=960px){.landing-hero-inner{grid-template-columns:1fr}.landing-hero-visual{order:-1}.landing-feature-grid,.landing-module-grid{grid-template-columns:repeat(2,1fr)}.landing-steps{grid-template-columns:1fr}.landing-footer-inner{grid-template-columns:1fr;gap:28px}}@media (width<=780px){.landing-links,.landing-nav-actions{display:none}.landing-menu-btn{display:flex}.landing-feature-grid,.landing-module-grid{grid-template-columns:1fr}.landing-hero-inner{padding:56px 20px}.landing-cta-inner{text-align:center;flex-direction:column}}
