@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&display=swap";.access-denied{padding:var(--page-padding-y,32px) var(--page-padding-x,24px);justify-content:center;align-items:flex-start;min-width:0;display:flex}.access-denied .access-denied-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:14px;margin-top:8vh;padding:32px 28px;display:flex}.access-denied .access-denied-icon{border-radius:var(--radius-round);background:var(--warn-soft);width:56px;height:56px;color:var(--warn-text);place-items:center;display:grid}.access-denied h1{color:var(--text-strong);margin:0;font-size:20px;font-weight:600}.access-denied p{color:var(--text-body);margin:0;font-size:14px;line-height:1.55}.access-denied .access-denied-home{border-radius:var(--radius-md);background:var(--accent);color:var(--on-solid);margin-top:6px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none}.access-denied .access-denied-home:hover{background:var(--accent-hover)}.access-denied .access-denied-home:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}@media (width<=640px){.access-denied{padding:16px}.access-denied .access-denied-card{margin-top:24px;padding:24px 18px}.access-denied h1{font-size:18px}}.sidebar-scrim{z-index:900;-webkit-backdrop-filter:saturate(.9);backdrop-filter:saturate(.9);cursor:pointer;background:#0f172a47;border:0;padding:0;animation:.18s ease-out sidebar-scrim-in;position:fixed;inset:0}.sidebar-container{--sidebar-menu-row-height:48px;--sidebar-menu-icon-size:24px;--sidebar-menu-icon-stroke:1.85;--sidebar-collapsed-item-size:56px;z-index:1000;background-color:var(--surface);border-right:1px solid var(--border);height:100vh;box-shadow:var(--shadow-sm);box-sizing:border-box;white-space:nowrap;flex-direction:column;padding:24px 16px;transition:width .4s ease-in-out;display:flex;position:absolute;top:0;bottom:0;left:0}.sidebar-container .logo-text-svg,.sidebar-container .menu-text,.sidebar-container .user-details,.sidebar-container .profile-action-btn{opacity:1;max-width:200px;transition:max-width .3s ease-in-out,opacity .3s ease-in-out;overflow:hidden}.sidebar-container.expanded{width:280px}.sidebar-container.collapsed{width:90px}.sidebar-container.collapsed .logo-text-svg,.sidebar-container.collapsed .menu-text,.sidebar-container.collapsed .user-details,.sidebar-container.collapsed .profile-action-btn{opacity:0;pointer-events:none;max-width:0}.sidebar-container.collapsed .logo-wrapper{transform:translate(12px)}.sidebar-container.collapsed .sidebar-footer .user-profile{width:var(--sidebar-collapsed-item-size);height:var(--sidebar-collapsed-item-size);min-width:var(--sidebar-collapsed-item-size);flex:0 0 var(--sidebar-collapsed-item-size);box-sizing:border-box;justify-content:center;place-items:center;gap:0;margin-inline:auto;padding:0;display:grid}.sidebar-container.collapsed .sidebar-footer{justify-content:center;align-items:center;width:calc(100% + 32px);margin:auto -16px 0;display:flex}.sidebar-container.collapsed .sidebar-scroll-area,.sidebar-container.collapsed .menu-section{width:100%}.sidebar-container.collapsed .sidebar-footer .user-details,.sidebar-container.collapsed .sidebar-footer .profile-action-btn{display:none}.sidebar-container.collapsed .sidebar-footer .user-avatar{grid-area:1/1;margin:0;display:block}.sidebar-container.collapsed .sidebar-scroll-area,.sidebar-container.collapsed .menu-section{align-items:center}.sidebar-container.collapsed .menu-section{width:100%}.sidebar-container.collapsed .menu-section .menu-item{width:var(--sidebar-collapsed-item-size);height:var(--sidebar-collapsed-item-size);min-height:var(--sidebar-collapsed-item-size);justify-content:center;gap:0;padding:0}.sidebar-container .sidebar-header{align-items:center;height:40px;margin-bottom:40px;display:flex}.sidebar-container .sidebar-header .logo-wrapper{align-items:center;gap:12px;transition:transform .3s ease-in-out;display:flex;transform:translate(12px)}.sidebar-container .sidebar-header .logo-wrapper .logo-icon{object-fit:contain;flex-shrink:0;width:36px;height:36px}.sidebar-container .sidebar-header .logo-wrapper .logo-text-svg{flex-shrink:0}.sidebar-container .sidebar-header .toggle-btn{border:1px solid var(--border);background-color:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;z-index:100;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:800;transition:background-color .2s,transform .2s;display:flex;position:absolute;top:32px;right:-20px;box-shadow:0 4px 10px #0000001a}.sidebar-container .sidebar-header .toggle-btn:hover{background-color:var(--surface-sunk);transform:scale(1.05)}.sidebar-container .sidebar-scroll-area{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:auto;gap:16px;min-height:0;display:flex;overflow:hidden auto}.sidebar-container .sidebar-scroll-area::-webkit-scrollbar{width:0;display:none}.sidebar-container .menu-section{flex-direction:column;gap:10px;display:flex}.sidebar-container .menu-section .menu-item{min-height:var(--sidebar-menu-row-height);border-radius:var(--radius-md);box-sizing:border-box;cursor:pointer;color:var(--text-soft);font-family:var(--font-sans);align-items:center;gap:16px;padding:4px 12px;font-size:14px;font-weight:500;transition:background-color .2s,color .2s;display:flex}.sidebar-container .menu-section .menu-item .menu-icon{width:var(--sidebar-menu-icon-size);height:var(--sidebar-menu-icon-size);flex:0 0 var(--sidebar-menu-icon-size);transition:color .2s,opacity .2s;display:block;overflow:visible}.sidebar-container .menu-section .menu-item .menu-icon [stroke]{stroke-width:var(--sidebar-menu-icon-stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sidebar-container .menu-section .menu-item .menu-icon :is(path,rect,circle,line,polyline,polygon){vector-effect:non-scaling-stroke}.sidebar-container .menu-section .menu-item:hover{background-color:var(--surface-sunk);color:var(--accent)}.sidebar-container .menu-section .menu-item:hover .menu-icon{color:var(--accent)}.sidebar-container .menu-section .menu-item--disabled{color:var(--border-strong);cursor:default}.sidebar-container .menu-section .menu-item--disabled:hover{color:var(--border-strong);background-color:#0000}.sidebar-container .menu-section .menu-item--disabled:hover .menu-icon{color:var(--border-strong)}.sidebar-container .menu-section .menu-item.active{background-color:var(--surface-sunk);color:var(--accent);font-weight:600}.sidebar-container .menu-section .menu-item.active .menu-icon{color:var(--accent)}.sidebar-container .divider{background-color:var(--surface-sunk);width:100%;height:1px;margin:16px 0}.sidebar-container .sidebar-footer{margin-top:auto}.sidebar-container .sidebar-footer .user-profile{border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-sans);align-items:center;gap:12px;padding:10px 8px;transition:padding-left .3s ease-in-out;display:flex}.sidebar-container .sidebar-footer .user-profile:hover{background-color:var(--bg)}.sidebar-container .sidebar-footer .user-profile .user-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:44px;height:44px}.sidebar-container .sidebar-footer .user-profile .user-details{flex-direction:column;flex:1;display:flex}.sidebar-container .sidebar-footer .user-profile .user-details .user-role{color:var(--text-muted);margin:0;font-size:13px}.sidebar-container .sidebar-footer .user-profile .user-details .user-name{color:var(--text-strong);margin:2px 0 0;font-size:16px;font-weight:600}.sidebar-container .sidebar-footer .user-profile .profile-action-btn{color:var(--text-soft);cursor:pointer;background:0 0;border:none;font-size:16px;font-weight:700}.sidebar-container .menu-section .menu-item--bell{cursor:pointer;outline:none;position:relative}.sidebar-container .menu-section .menu-item--bell:focus-visible{box-shadow:0 0 0 2px var(--accent-border)}.sidebar-container .menu-section .menu-item--bell .bell-wrapper{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.sidebar-container .menu-section .menu-item--bell .bell-badge{box-sizing:border-box;background:var(--warn);min-width:17px;height:17px;color:var(--on-solid);text-align:center;border:2px solid var(--surface);border-radius:999px;padding:0 4px;font-size:10px;font-weight:800;line-height:17px;animation:2s ease-in-out infinite bell-pulse;position:absolute;top:-5px;right:-7px}.sidebar-container .menu-section .menu-item--bell .menu-count-pill{background:var(--warn-soft);color:var(--warn-text);border-radius:999px;margin-left:auto;padding:2px 9px;font-size:12px;font-weight:700}.sidebar-container.collapsed .menu-item--bell .menu-count-pill{display:none}@keyframes sidebar-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes bell-pulse{0%,to{box-shadow:0 0 #f973168c}50%{box-shadow:0 0 0 5px #f9731600}}@media (prefers-reduced-motion:reduce){.sidebar-scrim{animation:none}}.notifications-panel{z-index:2100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:380px;max-width:calc(100vw - 32px);max-height:420px;font-family:var(--font-sans);flex-direction:column;animation:.2s ease-out panel-in;display:flex;position:fixed;overflow:hidden;box-shadow:0 24px 60px #0f172a2e}.notifications-panel__header{border-bottom:1px solid var(--surface-sunk);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 14px;display:flex}.notifications-panel__header h3{color:var(--text-strong);margin:0;font-size:16px;font-weight:700}.notifications-panel__header p{color:var(--text-muted);margin:4px 0 0;font-size:12px}.notifications-panel__close{border:1px solid var(--border);background:var(--surface);width:28px;height:28px;color:var(--text-soft);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.notifications-panel__close:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.notifications-panel__list{flex-direction:column;gap:6px;padding:8px;display:flex;overflow-y:auto}.notifications-panel__empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:36px 20px 42px;display:flex}.notifications-panel__empty p{color:var(--text-soft);margin:6px 0 0;font-size:14px;font-weight:600}.notifications-panel__empty span{color:var(--text-muted);white-space:normal;max-width:240px;font-size:12px}.notification-row{box-sizing:border-box;text-align:left;background:var(--bg);cursor:pointer;white-space:normal;border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:10px;width:100%;padding:12px 12px 12px 10px;font-family:inherit;transition:background .2s,opacity .3s,border-color .2s;display:flex}.notification-row:hover{background:var(--surface-sunk);border-color:var(--border)}.notification-row__dot{background:var(--warn);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px}.notification-row__body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.notification-row__title{color:var(--text-strong);font-size:13px;font-weight:700}.notification-row__message{color:var(--text-body);font-size:13px;line-height:1.4}.notification-row__meta{color:var(--text-muted);font-size:11px}.notification-row__meta em{font-style:normal}.notification-row__close{width:22px;height:22px;color:var(--border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.notification-row__close:hover{background:var(--danger-soft);color:var(--danger)}.notification-row--success .notification-row__dot{background:var(--ok)}.notification-row--error .notification-row__dot{background:var(--danger)}.notification-row--info .notification-row__dot{background:var(--accent)}.notification-row.is-read{opacity:.42;background:var(--surface)}.notification-row.is-read .notification-row__dot{background:var(--border-strong)}@keyframes panel-in{0%{opacity:0;transform:translate(-10px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.mobile-topbar{z-index:850;height:var(--mobile-topbar-height,56px);box-sizing:border-box;background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:4px;padding:0 8px;display:flex;position:fixed;top:0;left:0;right:0}.mobile-topbar__menu,.mobile-topbar__logo{border-radius:var(--radius-md);min-width:44px;min-height:44px;color:var(--text-strong);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;padding:0 6px;display:inline-flex}.mobile-topbar__menu:focus-visible,.mobile-topbar__logo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-topbar__menu:active,.mobile-topbar__logo:active{background:var(--surface-sunk)}@media (width>=901px){.mobile-topbar{display:none}}@media (width<=900px){.sidebar-container{height:100dvh;transition:transform .25s ease-out,visibility .25s;position:fixed;width:min(300px,86vw)!important}.sidebar-container.collapsed{visibility:hidden;box-shadow:none;transform:translate(-105%)}.sidebar-container .sidebar-header .toggle-btn{width:44px;height:44px;top:22px;right:8px}.sidebar-container .menu-item{min-height:48px}.sidebar-container .sidebar-scroll-area{scrollbar-width:thin;overscroll-behavior:contain}.sidebar-container .sidebar-scroll-area::-webkit-scrollbar{width:4px;display:block}.sidebar-container .sidebar-scroll-area::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.notifications-panel{width:auto;max-width:none;max-height:calc(100dvh - var(--mobile-topbar-height,56px) - 24px);right:8px;top:calc(var(--mobile-topbar-height,56px) + 8px)!important;left:8px!important}.notifications-panel__close{width:44px;height:44px}}.settings-overlay{z-index:2500;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-sizing:border-box;font-family:var(--font-sans);background:#0f172a80;justify-content:center;align-items:center;padding:24px;animation:.15s ease-out set-fade;display:flex;position:fixed;inset:0}.settings-modal{width:min(980px, 100vw - 2 * var(--space-4));max-width:980px;height:min(680px,88vh);max-height:calc(100dvh - 2 * var(--space-4));background:var(--surface);box-shadow:var(--shadow-lg);border-radius:20px;grid-template-columns:260px minmax(0,1fr);animation:.24s cubic-bezier(.21,1.02,.73,1) set-modal-in;display:grid;overflow:hidden}@media (width<=760px){.settings-modal{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}}.settings-nav{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:28px 16px;display:flex;overflow-y:auto}.settings-nav .settings-nav-head{padding:0 12px 20px}.settings-nav .settings-nav-head h2{color:var(--text-strongest);margin:0 0 4px;font-size:22px;font-weight:700}.settings-nav .settings-nav-head p{color:var(--text-muted);text-overflow:ellipsis;margin:0;font-size:12px;overflow:hidden}.settings-nav .settings-nav-item{box-sizing:border-box;width:100%;color:var(--text-soft);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:12px;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:600;transition:background .18s,color .18s,transform .18s;display:flex}.settings-nav .settings-nav-item:hover{background:var(--accent-soft);color:var(--accent);transform:translate(2px)}.settings-nav .settings-nav-item.active{background:var(--accent);color:var(--on-solid);box-shadow:0 4px 12px #5656e047}.settings-body{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.settings-body .settings-close{border:1px solid var(--border);background:var(--surface);width:32px;height:32px;color:var(--text-soft);cursor:pointer;z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.settings-body .settings-close:hover{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-border)}.settings-panel{flex:auto;min-height:0;padding:30px 32px 8px;animation:.22s ease-out set-panel-in;overflow:hidden auto}.settings-panel h3{color:var(--text-strongest);margin:0 0 20px;padding-right:44px;font-size:18px;font-weight:700}.settings-row{border-bottom:1px solid var(--surface-sunk);justify-content:space-between;align-items:center;gap:24px;padding:16px 0;display:flex}.settings-row:last-child{border-bottom:none}.settings-row .settings-row-text{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-row .settings-row-label{color:var(--text-strong);font-size:14px;font-weight:600}.settings-row .settings-row-hint{color:var(--text-muted);font-size:12px;line-height:1.4}.settings-row select{border:1px solid var(--border);min-width:170px;color:var(--text-strong);background:var(--surface);cursor:pointer;border-radius:8px;outline:none;flex-shrink:0;padding:10px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:border-color .2s}.settings-row select:focus{border-color:var(--accent)}.settings-segmented{gap:var(--space-1);background:var(--surface-sunk);border-radius:10px;flex-wrap:wrap;min-width:0;padding:4px;display:flex}.settings-segmented button{color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .18s}.settings-segmented button.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 4px #0f172a1a}.accent-swatches{flex-wrap:wrap;gap:10px;min-width:0;display:flex}.accent-swatches .accent-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0;transition:transform .18s,box-shadow .18s}.accent-swatches .accent-swatch:hover{transform:scale(1.12)}.accent-swatches .accent-swatch.active{border-color:var(--surface);box-shadow:0 0 0 2px var(--text-strong)}.settings-toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.settings-toggle input{opacity:0;width:0;height:0}.settings-toggle input:checked+.settings-slider{background-color:var(--accent)}.settings-toggle input:checked+.settings-slider:before{transform:translate(20px)}.settings-toggle .settings-slider{cursor:pointer;background-color:var(--border-strong);border-radius:24px;transition:all .3s;position:absolute;inset:0}.settings-toggle .settings-slider:before{content:"";background-color:var(--surface);border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:2px;left:2px}.settings-note{background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent-text);border-radius:10px;margin-top:18px;padding:14px 16px;font-size:13px;line-height:1.5}.settings-footer{border-top:1px solid var(--surface-sunk);background:var(--surface-sunk);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 32px;display:flex}.settings-footer .settings-footer-note{color:var(--text-muted);font-size:12px}.settings-footer .settings-footer-actions{flex-wrap:wrap;gap:12px;margin-left:auto;display:flex}.settings-btn{cursor:pointer;border-radius:8px;padding:11px 22px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.settings-btn.ghost{background:var(--surface);border:1px solid var(--border-strong);color:var(--text-body)}.settings-btn.ghost:hover{background:var(--surface-sunk)}.settings-btn.solid{background:var(--accent);border:1px solid var(--accent);color:var(--on-solid);box-shadow:0 4px 12px #5656e040}.settings-btn.solid:hover{background:var(--accent-hover)}@media (width<=640px){.settings-overlay{padding:var(--space-4)}.settings-panel{padding:var(--space-6) var(--space-4) var(--space-2)}.settings-row{align-items:stretch;gap:var(--space-3);flex-direction:column}.settings-row select{width:100%;min-width:0}.settings-segmented{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));display:grid}.settings-footer{padding:var(--space-4)}.settings-footer .settings-footer-actions{width:100%}.settings-footer .settings-footer-actions .settings-btn{flex:1 1 0}}@keyframes set-fade{0%{opacity:0}to{opacity:1}}@keyframes set-modal-in{0%{opacity:0;transform:translateY(20px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes set-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.settings-overlay,.settings-modal,.settings-panel{animation:none}.settings-nav-item:hover{transform:none}}.effisync-footer{border-radius:var(--radius-md);box-sizing:border-box;width:100%;font-family:var(--font-sans);color:var(--footer-text);background:linear-gradient(135deg, var(--footer-bg) 0%, var(--footer-bg-deep) 100%);margin-top:auto;padding:28px 32px 22px;position:relative;overflow:hidden}.effisync-footer:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);border-radius:50%;width:420px;height:420px;position:absolute;top:-60%;left:-10%}.effisync-footer>*{position:relative}.effisync-footer .footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:48px;margin-bottom:28px;display:flex}.effisync-footer .footer-brand{align-items:center;gap:16px;max-width:340px;display:flex}.effisync-footer .footer-brand h3{letter-spacing:0;margin:0 0 6px;font-size:20px;font-weight:700}.effisync-footer .footer-brand p{color:var(--footer-text-soft);margin:0;font-size:13px;line-height:1.5}.effisync-footer .footer-mark{--accent:var(--footer-text);flex-shrink:0}.effisync-footer .footer-columns{flex-wrap:wrap;gap:56px;display:flex}.effisync-footer .footer-column h4{text-transform:uppercase;letter-spacing:0;color:var(--footer-text-soft);margin:0 0 14px;font-size:11px;font-weight:700}.effisync-footer .footer-column ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.effisync-footer .footer-column .footer-info-item{color:var(--footer-text);opacity:.88;font-size:13px;display:inline-block}.effisync-footer .footer-column a{color:var(--footer-text);opacity:.88;font-size:13px;text-decoration:none;transition:opacity .18s,transform .18s;display:inline-block}.effisync-footer .footer-column a:hover{opacity:1;text-underline-offset:3px;text-decoration:underline;transform:translate(3px)}.effisync-footer .footer-column a:focus-visible{outline:2px solid var(--footer-text);outline-offset:3px;border-radius:3px}.effisync-footer .footer-bottom{border-top:1px solid var(--footer-rule);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.effisync-footer .footer-bottom p{color:var(--footer-text-soft);margin:0;font-size:12px}.effisync-footer .footer-bottom .footer-org{opacity:.85}@media (width<=900px){.effisync-footer{padding:28px 24px 20px}.effisync-footer .footer-top{flex-direction:column;gap:28px}.effisync-footer .footer-columns{gap:40px}.effisync-footer .footer-bottom{flex-direction:column;align-items:flex-start;gap:6px}.effisync-footer .footer-column ul{gap:0}.effisync-footer .footer-column a,.effisync-footer .footer-column .footer-info-item{align-items:center;min-width:44px;min-height:44px;display:inline-flex}}@media (prefers-reduced-motion:reduce){.effisync-footer .footer-column a:hover{transform:none}}.toast-host{z-index:2000;pointer-events:none;font-family:var(--font-sans);flex-direction:column-reverse;gap:12px;display:flex;position:fixed;bottom:28px;right:28px}.toast{pointer-events:auto;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--ok);align-items:center;gap:12px;min-width:300px;max-width:420px;padding:14px 16px;animation:.32s cubic-bezier(.21,1.02,.73,1) toast-in;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px #0f172a29}.toast.is-leaving{animation:.26s ease-in forwards toast-out}.toast .toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.toast .toast-text{flex:1;margin:0;font-size:14px;font-weight:600;line-height:1.35}.toast .toast-text strong{font-weight:800}.toast .toast-close{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.toast .toast-close:hover{background:var(--surface-sunk);color:var(--text-body)}.toast .toast-progress{transform-origin:0;width:100%;height:3px;animation:5s linear forwards toast-progress;position:absolute;bottom:0;left:0}.toast--success{border-left-color:var(--ok)}.toast--success .toast-icon{background:var(--ok-soft);color:var(--ok-strong)}.toast--success .toast-text{color:var(--ok-text)}.toast--success .toast-progress{background:var(--ok-border)}.toast--error{border-left-color:var(--danger)}.toast--error .toast-icon{background:var(--danger-soft);color:var(--danger-strong)}.toast--error .toast-text{color:var(--danger-text)}.toast--error .toast-progress{background:var(--danger-border)}.toast--info{border-left-color:var(--accent)}.toast--info .toast-icon{background:var(--accent-soft);color:var(--accent)}.toast--info .toast-text{color:var(--accent-text)}.toast--info .toast-progress{background:var(--accent-border)}@keyframes toast-in{0%{opacity:0;transform:translate(120%)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(120%)scale(.96)}}@keyframes toast-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.toast,.toast.is-leaving,.toast-progress{animation:none}}@media (width<=640px){.toast-host{bottom:12px;left:12px;right:12px}.toast{min-width:0;max-width:none}}html,body{height:100%;margin:0;padding:0;overflow:hidden}.main-page{background:linear-gradient(180deg, var(--bg) 0%, var(--surface-sunk) 100%);width:100vw;height:100vh;display:flex;position:relative}.content-wrapper{flex-direction:column;flex:1;width:calc(100vw - 90px);height:100vh;margin-left:90px;display:flex;overflow:hidden auto}.content-wrapper main{background:var(--bg);flex:1;position:relative}.footer-wrapper{z-index:0;width:100%;margin-top:var(--page-gap);flex-shrink:0;position:relative}.content-wrapper main>:is(.dashboard-page,.generate-page,.rules-page,.requests-page,.admin-tech-page,.academic-data-page,.student-account-page,.history-page,.reports-page,.calendar-page){padding:var(--page-padding);font-family:var(--font-sans);background-color:var(--bg);color:var(--text);letter-spacing:0}.content-wrapper main>:is(.dashboard-page,.generate-page,.rules-page,.requests-page,.admin-tech-page,.academic-data-page,.student-account-page,.history-page,.reports-page,.calendar-page) :is(.card,.summary-card,.year-card,.top-profile-card,.history-panel){border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.auth-layout-only{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}@keyframes page-enter{0%{opacity:0}to{opacity:1}}@keyframes page-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}:where(.content-wrapper main>*){animation:.28s ease-out backwards page-enter}:where(.content-wrapper main>*>:not(.overlay-backdrop):not(.modal-overlay):not(.account-overlay):not(.settings-overlay):not(.confirm-overlay):not([hidden])){animation:.45s cubic-bezier(.21,1.02,.73,1) backwards page-rise}:where(.content-wrapper main>*>:not(.overlay-backdrop):not(.modal-overlay):not(.account-overlay):not(.settings-overlay):not(.confirm-overlay):not([hidden]):first-child){animation-delay:20ms}:where(.content-wrapper main>*>:not(.overlay-backdrop):not(.modal-overlay):not(.account-overlay):not(.settings-overlay):not(.confirm-overlay):not([hidden]):nth-child(2)){animation-delay:70ms}:where(.content-wrapper main>*>:not(.overlay-backdrop):not(.modal-overlay):not(.account-overlay):not(.settings-overlay):not(.confirm-overlay):not([hidden]):nth-child(3)){animation-delay:.12s}:where(.content-wrapper main>*>:not(.overlay-backdrop):not(.modal-overlay):not(.account-overlay):not(.settings-overlay):not(.confirm-overlay):not([hidden]):nth-child(4)){animation-delay:.17s}:where(.content-wrapper main>*>:not(.overlay-backdrop):not(.modal-overlay):not(.account-overlay):not(.settings-overlay):not(.confirm-overlay):not([hidden]):nth-child(5)){animation-delay:.22s}:where(.content-wrapper main>*>:not(.overlay-backdrop):not(.modal-overlay):not(.account-overlay):not(.settings-overlay):not(.confirm-overlay):not([hidden]):nth-child(6)){animation-delay:.27s}:where(.content-wrapper main>*>:not(.overlay-backdrop):not(.modal-overlay):not(.account-overlay):not(.settings-overlay):not(.confirm-overlay):not([hidden]):nth-child(n+7)){animation-delay:.32s}@media (prefers-reduced-motion:reduce){:where(.content-wrapper main>*),:where(.content-wrapper main>*>*){animation:none}}body:has(.overlay-backdrop,.modal-overlay,.account-overlay,.settings-overlay,.confirm-overlay) .sidebar-container{filter:blur(4px);pointer-events:none;-webkit-user-select:none;user-select:none}.sidebar-container{transition:filter .2s}body:has(.overlay-backdrop,.modal-overlay,.account-overlay,.settings-overlay,.confirm-overlay) .content-wrapper main{z-index:1}body:has(.overlay-backdrop,.modal-overlay,.account-overlay,.settings-overlay,.confirm-overlay) .footer-wrapper{z-index:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.sidebar-container{transition:none}}.overlay-panel:not(.keeps-scrollbar),.modal-content:not(.keeps-scrollbar),.account-modal:not(.keeps-scrollbar),.settings-modal:not(.keeps-scrollbar),.add-semester-modal:not(.keeps-scrollbar),.add-year-modal:not(.keeps-scrollbar),.notifications-panel__list:not(.keeps-scrollbar),.settings-panel:not(.keeps-scrollbar),.semester-sources:not(.keeps-scrollbar),.modal-body-scrollable:not(.keeps-scrollbar){scrollbar-width:none;-ms-overflow-style:none}.overlay-panel:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.modal-content:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.account-modal:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.settings-modal:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.add-semester-modal:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.add-year-modal:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.notifications-panel__list:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.settings-panel:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.semester-sources:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.modal-body-scrollable:not(.keeps-scrollbar)::-webkit-scrollbar{width:0;height:0;display:none}.academic-data-page .modal-body-scrollable.keeps-scrollbar{scrollbar-width:thin;-ms-overflow-style:auto}.academic-data-page .modal-body-scrollable.keeps-scrollbar::-webkit-scrollbar{width:10px;height:10px;display:block}.academic-data-page .modal-body-scrollable.keeps-scrollbar::-webkit-scrollbar-track{background:var(--surface-sunk);border-radius:8px}.academic-data-page .modal-body-scrollable.keeps-scrollbar::-webkit-scrollbar-thumb{background:var(--border-strong);border:2px solid var(--surface-sunk);border-radius:8px}.academic-data-page .modal-body-scrollable.keeps-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (width<=900px){.main-page{height:100dvh}.content-wrapper{width:100vw;margin-left:0;margin-top:var(--mobile-topbar-height,56px);height:calc(100vh - var(--mobile-topbar-height,56px));height:calc(100dvh - var(--mobile-topbar-height,56px))}.sidebar-container{box-shadow:6px 0 24px #0f172a1f}.dashboard-page,.generate-page,.rules-page,.requests-page,.admin-tech-page,.academic-data-page,.student-account-page,.history-page,.reports-page{padding:var(--page-padding)}.page-header{flex-direction:column;gap:12px;align-items:flex-start!important}.page-header .title-right{text-align:left!important}.dashboard-page .kpi-grid,.generate-page .kpi-metrics-grid,.generate-page .actions-row-grid,.rules-page .summary-cards,.student-account-page .details-grid,.admin-tech-page .kpi-grid{grid-template-columns:1fr!important}.dashboard-page .overview-grid{flex-direction:column;display:flex!important}.table-wrapper,.table-responsive,.modal-body-scrollable{-webkit-overflow-scrolling:touch;overflow-x:auto}.overlay-panel,.modal-content,.account-modal,.add-year-modal,.add-semester-modal{width:94vw!important;max-width:94vw!important}.settings-modal{height:92vh;grid-template-rows:auto minmax(0,1fr)!important;grid-template-columns:minmax(0,1fr)!important}.settings-nav{border-right:none;border-bottom:1px solid var(--border);flex-direction:row;padding:14px;overflow-x:auto}.settings-nav .settings-nav-head{display:none}.settings-nav .settings-nav-item{white-space:nowrap;width:auto}}@media (width<=640px){.dashboard-page,.generate-page,.rules-page,.requests-page,.admin-tech-page,.academic-data-page,.student-account-page,.history-page,.reports-page,.calendar-page{padding:var(--page-padding)}.teacher-requests-panel .request-row,.rule-requests-panel .request-row{grid-template-columns:1fr!important}.teacher-requests-panel .request-row .request-decision,.rule-requests-panel .request-row .request-decision{justify-self:stretch!important}.teacher-requests-panel .request-row .request-decision button,.rule-requests-panel .request-row .request-decision button{flex:1;justify-content:center}.rules-page .rule-item{flex-direction:column;gap:14px;align-items:flex-start!important}.rules-page .rule-item .rule-actions{justify-content:space-between;width:100%}.teacher-requests-panel,.rule-requests-panel{padding:20px 16px 22px!important}}@media (width<=900px){.calendar-page{padding:var(--page-padding)}.calendar-page .filters-section{gap:12px;padding:16px}.calendar-page .filters-section .filter-group{flex:140px}.calendar-page .filters-section .filter-group select{width:100%;min-width:0}.calendar-page .filters-section .actions-group{width:100%;margin-left:0}.calendar-page .filters-section .actions-group button{flex:1}.calendar-page .calendar-container{-webkit-overflow-scrolling:touch;max-height:70vh}}@media (width<=640px){:where(button,select,textarea,summary,[role=button],a[class*=btn],input:not([type=checkbox],[type=radio],[type=hidden],[type=range],[type=file])):not(:where(.calendar-container *,.sidebar-container *,.mobile-topbar *)){min-height:44px}:where(button,[role=button],a[class*=btn]):not(:where(.calendar-container *,.sidebar-container *,.mobile-topbar *)){min-width:44px}:where(select,textarea,input:not([type=checkbox],[type=radio],[type=hidden],[type=range],[type=file])){font-size:16px!important}:where(input[type=checkbox],input[type=radio]){width:22px;height:22px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:"Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SFMono-Regular", Consolas, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--page-padding-x:32px;--page-padding-y:32px;--page-padding:var(--page-padding-y) var(--page-padding-x);--page-gap:24px;--section-gap:20px;--card-padding:20px;--control-padding-x:14px;--control-padding-y:10px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-pill:999px;--radius-round:50%;--bg:#f8fafc;--surface:#fff;--surface-sunk:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--text-muted:#94a3b8;--text-soft:#64748b;--text-body:#475569;--text:#334155;--text-strong:#1e293b;--text-strongest:#0f172a;--field-bg:#f8fafc;--field-bg-focus:#fff;--field-bg-disabled:#f1f5f9;--field-border:#dbe2ea;--field-border-hover:#c3ccd8;--field-focus-ring:#5656e02e;--accent:#5656e0;--accent-hover:#4747cc;--accent-soft:#eef2ff;--on-solid:#fff;--on-pastel:#1e293b;--on-pastel-soft:#475569;--ok:#22c55e;--ok-strong:#16a34a;--ok-soft:#dcfce7;--danger:#ef4444;--danger-strong:#dc2626;--danger-text:#b91c1c;--danger-soft:#fee2e2;--danger-border:#fca5a5;--warn:#f59e0b;--warn-text:#b45309;--warn-soft:#fef3c7;--warn-strong:#d97706;--warn-border:#fde68a;--accent-text:#4338ca;--accent-border:#c7d2fe;--info:#2563eb;--info-text:#1e40af;--info-soft:#eff6ff;--info-border:#bfdbfe;--ok-text:#166534;--ok-border:#bbf7d0;--purple:#9333ea;--purple-text:#6b21a8;--purple-soft:#f3e8ff;--shadow-sm:0 2px 10px #0f172a0d;--shadow-md:0 10px 26px #0f172a17;--shadow-lg:0 20px 60px #0f172a2e;--footer-bg:#5656e0;--footer-bg-deep:#4646c4;--footer-rule:#ffffff29;--footer-text:#fff;--footer-text-soft:#ffffffb8}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1017;--surface:#171825;--surface-sunk:#1e2030;--border:#2b2d3f;--border-strong:#3b3e55;--text-muted:#7c8098;--text-soft:#9aa0b8;--text-body:#b4bad0;--text:#c9cee2;--text-strong:#e4e7f2;--text-strongest:#f2f4fb;--field-bg:#20222f;--field-bg-focus:#262838;--field-bg-disabled:#1a1b26;--field-border:#343751;--field-border-hover:#464a6b;--field-focus-ring:#7676ee4d;--accent:#7676ee;--accent-hover:#8f8ff3;--accent-soft:#232544;--ok:#4ade80;--ok-strong:#86efac;--ok-soft:#16301f;--danger:#f87171;--danger-strong:#fca5a5;--danger-text:#fca5a5;--danger-soft:#331519;--danger-border:#7f2a2a;--warn:#fbbf24;--warn-text:#fcd34d;--warn-soft:#33260f;--warn-strong:#fbbf24;--warn-border:#4a3714;--accent-text:#b4b4f8;--accent-border:#3a3d66;--info:#60a5fa;--info-text:#93c5fd;--info-soft:#14243a;--info-border:#2b4570;--ok-text:#86efac;--ok-border:#235c39;--purple:#c084fc;--purple-text:#d8b4fe;--purple-soft:#2a1840;--shadow-sm:0 2px 10px #0000004d;--shadow-md:0 10px 26px #00000073;--shadow-lg:0 20px 60px #0009;--footer-bg:#1b2050;--footer-bg-deep:#141733;--footer-rule:#ffffff1f;--footer-text:#eef0ff;--footer-text-soft:#eef0ff9e}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1017;--surface:#171825;--surface-sunk:#1e2030;--border:#2b2d3f;--border-strong:#3b3e55;--text-muted:#7c8098;--text-soft:#9aa0b8;--text-body:#b4bad0;--text:#c9cee2;--text-strong:#e4e7f2;--text-strongest:#f2f4fb;--field-bg:#20222f;--field-bg-focus:#262838;--field-bg-disabled:#1a1b26;--field-border:#343751;--field-border-hover:#464a6b;--field-focus-ring:#7676ee4d;--accent:#7676ee;--accent-hover:#8f8ff3;--accent-soft:#232544;--ok:#4ade80;--ok-strong:#86efac;--ok-soft:#16301f;--danger:#f87171;--danger-strong:#fca5a5;--danger-text:#fca5a5;--danger-soft:#331519;--danger-border:#7f2a2a;--warn:#fbbf24;--warn-text:#fcd34d;--warn-soft:#33260f;--warn-strong:#fbbf24;--warn-border:#4a3714;--accent-text:#b4b4f8;--accent-border:#3a3d66;--info:#60a5fa;--info-text:#93c5fd;--info-soft:#14243a;--info-border:#2b4570;--ok-text:#86efac;--ok-border:#235c39;--purple:#c084fc;--purple-text:#d8b4fe;--purple-soft:#2a1840;--shadow-sm:0 2px 10px #0000004d;--shadow-md:0 10px 26px #00000073;--shadow-lg:0 20px 60px #0009;--footer-bg:#1b2050;--footer-bg-deep:#141733;--footer-rule:#ffffff1f;--footer-text:#eef0ff;--footer-text-soft:#eef0ff9e}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);letter-spacing:0;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:14px;line-height:1.5}*,:before,:after{box-sizing:border-box}button,input,select,textarea{font:inherit;letter-spacing:0}button{border-radius:var(--radius-md)}a{text-underline-offset:3px}::selection{background:var(--accent-soft);color:var(--accent-text)}@media (width<=900px){:root{--page-padding-x:20px;--page-padding-y:24px;--page-gap:20px;--card-padding:18px}}@media (width<=640px){:root{--page-padding-x:14px;--page-padding-y:18px;--page-gap:16px;--card-padding:16px}}html.theme-ready body,html.theme-ready body *{transition:background-color .25s,border-color .25s,color .25s}@media (prefers-reduced-motion:reduce){html.theme-ready body,html.theme-ready body *{transition:none}}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea{background-color:var(--field-bg);color:var(--text-strong);border:1px solid var(--field-border);border-radius:var(--radius-md);font-family:inherit;font-size:13px;line-height:1.45;transition:border-color .15s,box-shadow .15s,background-color .15s}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file])::placeholder,select::placeholder,textarea::placeholder{color:var(--text-muted)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):hover:not(:disabled):not(:read-only),select:hover:not(:disabled):not(:read-only),textarea:hover:not(:disabled):not(:read-only){border-color:var(--field-border-hover)}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):focus-visible,select:focus,select:focus-visible,textarea:focus,textarea:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px var(--field-focus-ring);background-color:var(--field-bg-focus);outline:none}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):disabled,select:disabled,textarea:disabled{background-color:var(--field-bg-disabled);color:var(--text-muted);cursor:not-allowed}textarea{resize:vertical;line-height:1.5}@media (prefers-color-scheme:dark){:root[data-theme=dark] input::-webkit-calendar-picker-indicator{filter:invert()opacity(.7)}:root:not([data-theme=light]) input::-webkit-calendar-picker-indicator{filter:invert()opacity(.7)}}:root[data-theme=dark] input::-webkit-calendar-picker-indicator{filter:invert()opacity(.7)}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.route-loading{min-height:60vh}
