:root{--white: #ffffff;--black: #000000;--red-light: #f25555;--red: #ef4444;--red-dark: #dc2626;--red-clay: #864444;--red-bg: #2b1e1e;--red-bg-light: #3a2e2e;--red-bg-hover: #503838;--red-bg-light-theme: #fcebea;--red-bg-light-hover-theme: #f5c0c0;--red-clay-light: #c88c8c;--green-light: #38d976;--green: #22c55e;--green-dark: #16a34a;--yellow-light: #facc15;--yellow: #eab308;--yellow-dark: #ca8a04;--yellow-strong: #d97706;--blue-light: #5593f9;--blue: #3b82f6;--blue-dark: #2563eb;--blue-link: #4ea1f3;--purple-light: #a078fa;--purple: #8b5cf6;--purple-dark: #6d28d9;--gray-light: #787e8b;--gray: #6b7280;--gray-dark: #4b5563;--gray-border: #444;--gray-border-light: #333;--gray-xlight: #f4f4f4;--gray-light-theme: #e0e0e0;--gray-theme: #ccc;--gray-dark-theme: #999;--gray-border-theme: #d1d5db;--gray-border-light-theme: #e5e7eb;--bg: #1e1e1e;--bg-light: #252525;--bg-dark: #111;--bg-theme: #f7f7fa;--bg-light-theme: #f0f2f5;--bg-dark-theme: #e7e9ee;--text-white: #fff;--text-red-light: #f8d7da;--text-gray: #666;--text-black: #0a0a0a;--text-dark: #111111;--text-muted-light: #2a2a2a;--text-gray-light-theme: #555;--loader-gray: #999;--loader-light: #ccc;--loader-bg-light: #e0e0e0;--surface-light: #ffffff;--surface-muted-light: #f3f3f3;--shadow-light: rgba(0, 0, 0, .05);--shadow-medium: rgba(0, 0, 0, .15);--shadow-strong: rgba(0, 0, 0, .25)}.theme-dark{--status-enabled: var(--green);--status-disabled: var(--red);--status-waiting: var(--yellow-strong);--background: var(--bg);--light-background: var(--bg-light);--dark-background: var(--bg-dark);--red-background: var(--red-bg);--light-red-background: var(--red-bg-light);--light-red-background-hover: var(--red-bg-hover);--border: var(--gray-border-light);--light-border: var(--gray-border);--red-border: var(--red-clay);--text-primary: var(--white);--red-text: var(--text-red-light);--active: var(--blue);--button-green: var(--green);--button-green-hover: var(--green-light);--button-green-active: var(--green-dark);--button-gray: var(--gray);--button-gray-hover: var(--gray-light);--button-gray-active: var(--gray-dark);--button-blue: var(--blue);--button-blue-hover: var(--blue-light);--button-blue-active: var(--blue-dark);--button-red: var(--red);--button-red-hover: var(--red-light);--button-red-active: var(--red-dark);--button-yellow: var(--yellow);--button-yellow-hover: var(--yellow-light);--button-yellow-active: var(--yellow-dark);--button-purple: var(--purple);--button-purple-hover: var(--purple-light);--button-purple-active: var(--purple-dark);--button-black: #111827;--button-black-hover: #1f2937;--button-black-active: #0f172a;--button-dark-gray: #2a2a2a;--button-dark-gray-hover: #333;--button-dark-gray-active: #222222;--button-link: #374151;--button-link-hover: var(--gray-dark);--button-link-active: var(--bg-dark);--button-icon-bg: var(--button-dark-gray);--button-icon-border: var(--gray-border);--loader-bg: var(--gray-border);--loader-color: var(--loader-gray);--slider-enabled: var(--green);--slider-disabled: var(--red);--input-bg: var(--button-dark-gray);--input-text: var(--text-white);--input-red: var(--red);--link-text: var(--blue-link);--tooltip-bg: var(--button-dark-gray);--tooltip-border: var(--white);--tooltip-text: var(--white);--header-hover: var(--blue-dark)}.theme-light{--status-enabled: var(--green);--status-disabled: var(--red);--status-waiting: var(--yellow-strong);--background: var(--bg-theme);--light-background: var(--bg-light-theme);--dark-background: var(--bg-dark-theme);--red-background: var(--red-bg-light-theme);--light-red-background: var(--red-bg-light-theme);--light-red-background-hover: var(--red-bg-light-hover-theme);--border: var(--gray-border-theme);--light-border: var(--gray-border-light-theme);--red-border: var(--red-clay-light);--text-primary: var(--text-dark);--red-text: var(--text-red-light);--active: var(--blue);--button-green: var(--green);--button-green-hover: var(--green-light);--button-green-active: var(--green-dark);--button-gray: var(--gray-theme);--button-gray-hover: var(--gray-light-theme);--button-gray-active: var(--gray-dark-theme);--button-blue: var(--blue);--button-blue-hover: var(--blue-light);--button-blue-active: var(--blue-dark);--button-red: var(--red);--button-red-hover: var(--red-light);--button-red-active: var(--red-dark);--button-yellow: var(--yellow);--button-yellow-hover: var(--yellow-light);--button-yellow-active: var(--yellow-dark);--button-purple: var(--purple);--button-purple-hover: var(--purple-light);--button-purple-active: var(--purple-dark);--button-black: var(--gray-border-theme);--button-black-hover: var(--gray-border-light-theme);--button-black-active: #cbd5e1;--button-dark-gray: var(--gray-light-theme);--button-dark-gray-hover: var(--gray-theme);--button-dark-gray-active: var(--gray-dark-theme);--button-link: var(--gray-border-light-theme);--button-link-hover: var(--gray-theme);--button-link-active: var(--gray-dark-theme);--button-icon-bg: var(--gray-xlight);--button-icon-border: var(--gray-border-theme);--loader-bg: var(--loader-bg-light);--loader-color: var(--loader-light);--slider-enabled: var(--green);--slider-disabled: var(--red);--input-bg: var(--surface-light);--input-text: var(--text-dark);--input-red: var(--red);--link-text: var(--blue-link);--tooltip-bg: var(--surface-muted-light);--tooltip-border: var(--gray-dark-theme);--tooltip-text: var(--text-dark);--header-hover: var(--blue-dark)}.app-container{--background: rgba(255, 255, 255, .96);--text-primary: #0d3328;--border: rgba(6, 31, 25, .12);--light-border: rgba(6, 31, 25, .08);--light-background: rgba(255, 255, 255, .7);--dark-background: rgba(255, 255, 255, .55);--tooltip-bg: rgba(255, 255, 255, .95);--tooltip-border: rgba(6, 31, 25, .12);--tooltip-text: #000;--bg-speed: 15s;--page-shell-max-width: 1460px;--page-shell-gutter: 20px;--page-shell-gutter-mobile: 10px;position:relative;isolation:isolate;display:flex;height:100vh;color:var(--text-primary)}.app-container:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(135deg,#173d7a,#3b6f92 55%,#00b1b3);background-size:220% 220%;animation:app-bg-shift var(--bg-speed) ease-in-out infinite alternate}.app-container.page-login{--bg-speed: 13s}.app-container.page-default{--bg-speed: 18s}.app-container.page-default:before{background:radial-gradient(112% 84% at 11% 14%,#5dbcf47a,#5dbcf400 69%),radial-gradient(94% 82% at 84% 18%,#3edbd266,#3edbd200 71%),radial-gradient(88% 82% at 50% 104%,#0b377194,#0b377100 65%),linear-gradient(142deg,#123260,#1f5684 42%,#2e82b6,#30b8be);background-size:175% 175%,185% 185%,170% 170%,225% 225%;animation:app-bg-default-shift var(--bg-speed) ease-in-out infinite alternate}.app-container.page-default:after{content:"";position:fixed;inset:-14%;z-index:-1;pointer-events:none;opacity:.36;filter:blur(9px) saturate(118%) contrast(108%);mix-blend-mode:soft-light;background:repeating-linear-gradient(118deg,#c6fbf93d 0 2px,#c6fbf900 7px 18px),repeating-linear-gradient(62deg,#82ddff33 0 1px,#82ddff00 5px 14px),radial-gradient(42% 36% at 22% 34%,#91e8f047,#91e8f000 72%),radial-gradient(34% 30% at 74% 58%,#76c3f840,#76c3f800 74%);background-size:210% 180%,195% 170%,160% 150%,145% 145%;animation:app-bg-default-wave 32s ease-in-out infinite}@keyframes app-bg-shift{0%{background-position:0% 30%}to{background-position:100% 70%}}@keyframes app-bg-default-shift{0%{background-position:8% 22%,88% 16%,52% 92%,0% 34%}to{background-position:28% 68%,64% 56%,46% 80%,100% 74%}}@keyframes app-bg-default-wave{0%{transform:translate3d(-1.4%,-.8%,0) scale(1.02) rotate(.1deg);background-position:10% 18%,82% 70%,18% 28%,76% 62%;opacity:.24}50%{transform:translate3d(.9%,1.3%,0) scale(1.05) rotate(-.12deg);background-position:24% 38%,70% 52%,30% 44%,64% 50%;opacity:.34}to{transform:translate3d(1.8%,.8%,0) scale(1.03) rotate(.08deg);background-position:36% 62%,58% 40%,40% 60%,54% 38%;opacity:.27}}.main-content{display:flex;flex-direction:column;flex:1;height:100vh;background:transparent;background-color:transparent;overflow:hidden;overflow-y:auto}.content{flex:1;padding:18px 14px;background-color:transparent}html,body{background:#1f4e86;margin:0;padding:0;height:100%;font-family:sans-serif;scrollbar-width:thin;scrollbar-color:#bdbdbd #2e2e2e}.login-page{position:relative;display:flex;align-items:center;justify-content:center;height:100vh;overflow:hidden;background:linear-gradient(160deg,#6f85ff,#50c9b5 60%,#3ecfb5);padding:2rem 1rem}.login-layout{position:relative;z-index:2;display:flex;gap:clamp(2rem,6vw,5rem);align-items:center;justify-content:space-between;width:min(1100px,96vw)}.logo-stack{flex:1;color:#072c22;text-shadow:none}.logo-stack h1{font-size:clamp(2rem,6vw,4rem);letter-spacing:.25em;margin:0 0 .5rem}.logo-stack p{margin:0;font-size:1rem;color:#072c22cc}.bg-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;background:transparent}.login-card{position:relative;z-index:2;width:min(420px,calc(100vw - 2rem));pointer-events:auto;-webkit-user-select:none;user-select:none}.card-glow{position:absolute;inset:0;border-radius:28px;background:radial-gradient(circle at 30% 20%,rgba(58,186,152,.35),transparent 60%);filter:blur(16px);opacity:.8;z-index:0}.card-body{position:relative;display:flex;flex-direction:column;gap:1.5rem;padding:2.6rem 2.6rem 2.1rem;border-radius:28px;border:1px solid rgba(6,31,25,.08);background:#fffffff5;box-shadow:0 30px 70px #163a3040;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.card-meta{display:flex;flex-direction:column;gap:.6rem;text-align:left}.card-pill{align-self:flex-start;padding:.35rem .75rem;border-radius:999px;background:#072c2214;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:#072c22bf}.card-meta h1{margin:0;font-size:1.75rem;color:#000}.card-subtitle{margin:0;color:#0e2921b3;font-size:.95rem}.oauth-section{display:flex;flex-direction:column;gap:.35rem}.oauth-button .atom-button,.email-button .atom-button{width:100%;align-items:center;justify-content:center;font-size:1rem;padding:.95rem 1.2rem;border-radius:999px;border:1px solid rgba(6,31,25,.06)}.oauth-button .atom-button.atom-button--secondary{background:linear-gradient(120deg,#38397a,#1a7aa7);color:#f0fffa;box-shadow:0 12px 24px #0d4b4259;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;border-color:#10456a73}.oauth-button .atom-button.atom-button--secondary:hover:not(:disabled){background:linear-gradient(120deg,#30326e,#176f97);box-shadow:0 14px 28px #0d4b426b;color:#f0fffa;border-color:#10456a8c}.card-divider{position:relative;text-align:center;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#072c2280}.card-divider:before,.card-divider:after{content:"";position:absolute;top:50%;width:35%;height:1px;background:#072c2226}.card-divider:before{left:0}.card-divider:after{right:0}.credential-form{display:flex;flex-direction:column;gap:1rem}.credential-form .field-wrapper .atom-label__text,.credential-form .field-wrapper .atom-label__required{color:#092f24}.credential-form .field-input{background:#fff;color:#091a17;border:1px solid rgba(9,26,23,.15);box-shadow:inset 0 1px 3px #00000014}.credential-form .field-input::placeholder{color:#091a1766}.credential-form .field-input.invalid{border-color:#d24e4e99}.card-actions{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}.email-button{width:100%;display:flex;justify-content:center}.email-button .atom-button{width:auto;min-width:220px;max-width:260px}@media(max-width:540px){.card-body{padding:2rem 1.75rem}.card-meta h1{font-size:1.4rem}}.atom-button{appearance:none;-webkit-appearance:none;border:1px solid transparent;border-radius:999px;padding:.75rem 1rem;font:inherit;font-weight:700;line-height:1.1;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}.atom-button:hover:not(:disabled){transform:translateY(-1px)}.atom-button:disabled{opacity:.58;cursor:not-allowed}.atom-button--full{width:100%}.atom-button--sm{padding:.55rem .82rem;font-size:.88rem}.atom-button--md{min-height:42px}.atom-button--lg{min-height:48px;padding:.88rem 1.2rem}.atom-button--icon{width:42px;height:42px;padding:0;border-radius:14px}.atom-button--icon-sm{width:38px;height:38px;padding:0;border-radius:10px}.atom-button--primary{background:linear-gradient(135deg,#0e6b9f,#2f94c8);border-color:#0749704d;color:#f8fdff;box-shadow:0 10px 20px #0e547a2e}.atom-button--primary:hover:not(:disabled){background:linear-gradient(135deg,#0d5f8d,#2688bb)}.atom-button--secondary{background:#f2f9ffeb;border-color:#0e567c2e;color:#114668}.atom-button--secondary:hover:not(:disabled){background:#e7f4fbfa;border-color:#0e567c4d}.atom-button--ghost{background:transparent;border-color:#0e567c29;color:#165378}.atom-button--ghost:hover:not(:disabled){background:#dbf0fb80}.atom-button--danger{background:#ffeeeef5;border-color:#bf292929;color:#a62626}.atom-button--danger:hover:not(:disabled){background:#ffe1e1;border-color:#bf292947}.atom-button__icon,.atom-button__label{position:relative;z-index:1}.atom-button__icon-image{width:1.15rem;height:1.15rem;display:block;object-fit:contain}.atom-button__spinner{width:1rem;height:1rem;border-radius:999px;border:2px solid rgba(255,255,255,.42);border-top-color:currentColor;animation:atom-button-spin .72s linear infinite}.legacy-global-button-shake{animation:atom-button-shake .3s}@keyframes atom-button-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes atom-button-shake{0%{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-3px)}to{transform:translate(0)}}.atom-checkbox{display:inline-flex;align-items:center;gap:.7rem;color:#154c6f;font-weight:700;cursor:pointer}.atom-checkbox--compact{gap:.55rem;font-size:.92rem}.atom-checkbox__input{position:absolute;opacity:0;pointer-events:none}.atom-checkbox__box{width:1.45rem;height:1.45rem;border-radius:.42rem;border:1px solid rgba(15,90,128,.18);background:#c3dcecb3;color:transparent;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.atom-checkbox__check-icon{width:1.02rem;height:1.02rem}.atom-checkbox__track{width:2.9rem;height:1.6rem;border-radius:999px;background:#84a4b885;border:1px solid rgba(15,90,128,.14);padding:2px;box-sizing:border-box;display:inline-flex;align-items:center;transition:background-color .16s ease,border-color .16s ease}.atom-checkbox__thumb{width:1.2rem;height:1.2rem;border-radius:999px;background:#fff;box-shadow:0 3px 8px #11395242;transition:transform .16s ease}.atom-checkbox__input:checked+.atom-checkbox__track,.atom-checkbox__input:checked+.atom-checkbox__box{background:linear-gradient(135deg,#0e6b9f,#2f94c8);border-color:#0c58834d}.atom-checkbox--cyan .atom-checkbox__input:checked+.atom-checkbox__track,.atom-checkbox--cyan .atom-checkbox__input:checked+.atom-checkbox__box{background:linear-gradient(135deg,#0c88a0,#31b8d0);border-color:#0c74884d}.atom-checkbox--green .atom-checkbox__input:checked+.atom-checkbox__track,.atom-checkbox--green .atom-checkbox__input:checked+.atom-checkbox__box{background:linear-gradient(135deg,#1b8a4c,#31bb6a);border-color:#1066374d}.atom-checkbox--amber .atom-checkbox__input:checked+.atom-checkbox__track,.atom-checkbox--amber .atom-checkbox__input:checked+.atom-checkbox__box{background:linear-gradient(135deg,#b27a12,#e1a62f);border-color:#895e0f4d}.atom-checkbox__input:checked+.atom-checkbox__track .atom-checkbox__thumb{transform:translate(1.25rem)}.atom-checkbox__input:checked+.atom-checkbox__box{color:#f8fdff}.atom-checkbox__input:focus-visible+.atom-checkbox__track,.atom-checkbox__input:focus-visible+.atom-checkbox__box{outline:3px solid rgba(74,168,220,.22);outline-offset:2px}.atom-checkbox__input:disabled+.atom-checkbox__track,.atom-checkbox__input:disabled+.atom-checkbox__box{opacity:.5}.atom-checkbox--mode-checkbox:hover .atom-checkbox__box{transform:translateY(-1px)}.atom-checkbox__input:disabled~.atom-checkbox__label{opacity:.55}.atom-edit-button{appearance:none;-webkit-appearance:none;border:1px solid rgba(37,110,149,.28);background:#f1f8fd;color:#1e628a;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:transform .16s ease,opacity .16s ease}.atom-edit-button:disabled{opacity:.5;cursor:not-allowed}.atom-edit-button--inline{width:28px;height:28px;border-radius:8px}.atom-edit-button--card{width:38px;height:38px;border-radius:10px}.atom-edit-button:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 35% 35%,#78bde759,#78bde700);transform:scale(0);transition:transform .25s ease}.atom-edit-button:hover:not(:disabled):before{transform:scale(1)}.atom-edit-button svg{width:13px;height:13px;fill:currentColor;position:relative;z-index:3;transition:transform .2s ease;transform-origin:bottom}.atom-edit-button--card svg{width:16px;height:16px}.atom-edit-button:hover:not(:disabled) svg{transform:rotate(-15deg) translate(4px)}.atom-edit-button:after{content:"";width:12px;height:1.5px;position:absolute;bottom:11px;left:-4px;background-color:currentColor;border-radius:2px;z-index:2;transform:scaleX(0);transform-origin:left;transition:transform .4s ease-out}.atom-edit-button:hover:not(:disabled):after{transform:scaleX(1);left:0;transform-origin:right}.atom-input{width:100%;min-width:0;min-height:42px;box-sizing:border-box;border:1px solid rgba(15,90,128,.2);border-radius:12px;background:#fffffff0;padding:.75rem .9rem;font:inherit;color:#113b5a;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.atom-input:focus{outline:none;border-color:#1974ab8f;box-shadow:0 0 0 4px #4aa8dc29}.atom-input::placeholder{color:#6a879c}.atom-label{display:flex;flex-direction:column;gap:.4rem;min-width:0}.atom-label__text{color:#114668;font-size:.95rem;font-weight:800;letter-spacing:.01em}.atom-label__required{color:#b43131;margin-left:.25rem}.atom-label__hint{color:#5a7a91;font-size:.82rem;font-weight:600}.atom-logo{display:inline-flex;align-items:center;gap:.8rem;min-width:0}.atom-logo__mark{width:auto;height:2.7rem;display:block;object-fit:contain}.atom-logo__copy{display:flex;flex-direction:column;gap:.12rem;min-width:0}.atom-logo__title{color:#eefaff;font-size:.96rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.atom-logo__subtitle{color:#e1f7ffc2;font-size:.74rem;font-weight:700}.atom-select{width:100%;min-width:0;min-height:42px;box-sizing:border-box;border:1px solid rgba(15,90,128,.2);border-radius:12px;background:#fffffff0;padding:.75rem 2.4rem .75rem .9rem;font:inherit;color:#113b5a;transition:border-color .16s ease,box-shadow .16s ease}.atom-select:focus{outline:none;border-color:#1974ab8f;box-shadow:0 0 0 4px #4aa8dc29}.atom-textarea{width:100%;min-width:0;min-height:96px;box-sizing:border-box;border:1px solid rgba(15,90,128,.2);border-radius:12px;background:#fffffff0;padding:.8rem .9rem;font:inherit;color:#113b5a;resize:vertical;transition:border-color .16s ease,box-shadow .16s ease}.atom-textarea:focus{outline:none;border-color:#1974ab8f;box-shadow:0 0 0 4px #4aa8dc29}.atom-trash-button{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:#ffececf2;color:#c0392b;cursor:pointer;transition:transform .16s ease,background-color .16s ease}.atom-trash-button:hover:not(:disabled){transform:translateY(-1px);background:#ffdfdffa}.atom-trash-button:disabled{opacity:.58;cursor:not-allowed}.atom-trash-button--sm{width:38px;height:38px;border-radius:10px}.atom-trash-button--md{width:42px;height:42px}.atom-trash-button__svg{width:26px;height:26px}.atom-trash-button--sm .atom-trash-button__svg{width:22px;height:22px}.atom-trash-button__svg,.atom-trash-button__lid-group{transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.atom-trash-button:hover:not(:disabled) .atom-trash-button__lid-group{transform:rotate(-22deg) translateY(2px)}.molecule-card{border:1px solid rgba(14,57,81,.16);border-radius:16px;background:#ffffffb3;box-shadow:0 16px 36px #03213924;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem}.molecule-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;margin-bottom:.95rem}.molecule-card__copy{display:flex;flex-direction:column;gap:.18rem;min-width:0}.molecule-card__title{margin:0;color:#103f61;font-size:clamp(1.2rem,2vw,1.85rem);line-height:1.05}.molecule-card__subtitle{margin:0;color:#4b7089;font-size:.92rem;font-weight:600}.molecule-card__actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.molecule-card__body{min-width:0}.molecule-form-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.molecule-form-actions--start{justify-content:flex-start}.molecule-form-actions--center{justify-content:center}.molecule-form-actions--end{justify-content:flex-end}.molecule-form-actions--between{justify-content:space-between}.molecule-form-field{display:flex;flex-direction:column;gap:.55rem;min-width:0}.molecule-form-field__error{color:#b32e2e;font-size:.84rem;font-weight:700}.molecule-menu{display:flex;flex-wrap:wrap;gap:.7rem}.molecule-menu__item{appearance:none;-webkit-appearance:none;border:1px solid rgba(168,233,251,.28);border-radius:999px;padding:.65rem .9rem;background:#1a5d8b6b;color:#e1f7ffeb;font:inherit;font-size:.84rem;font-weight:700;display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;transition:filter .16s ease,transform .16s ease,background-color .16s ease,color .16s ease}.molecule-menu__item:hover{filter:brightness(1.08);transform:translateY(-1px)}.molecule-menu__item.is-active{color:#08304d;border-color:#bef5ffdb;background:linear-gradient(120deg,#9fe8ff,#78cbec)}.molecule-menu__badge{min-width:18px;height:18px;border-radius:999px;padding:0 5px;background:#e13b3b;color:#fff;font-size:.7rem;font-weight:900;line-height:18px;text-align:center;box-shadow:0 3px 8px #780b0b59}.molecule-modal-card__backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:#04172766;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.molecule-modal-card{width:min(100%,38rem);max-height:min(90vh,56rem);overflow:auto;border:1px solid rgba(14,57,81,.18);border-radius:20px;background:#f5fbfffa;box-shadow:0 24px 56px #03213947;padding:1.2rem}.molecule-modal-card--lg{width:min(100%,54rem)}.molecule-modal-card--sm{width:min(100%,30rem)}.molecule-modal-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;margin-bottom:1rem}.molecule-modal-card__copy{display:flex;flex-direction:column;gap:.25rem;min-width:0}.molecule-modal-card__title{margin:0;color:#103f61;font-size:1.4rem}.molecule-modal-card__subtitle{margin:0;color:#567487;font-size:.95rem}.molecule-modal-card__body{display:flex;flex-direction:column;gap:.9rem}.molecule-modal-card__actions{margin-top:1rem}.molecule-page-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.molecule-page-intro__copy{display:flex;flex-direction:column;gap:.35rem}.molecule-page-intro__kicker{color:#e2f6ffe0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.molecule-page-intro__title{margin:0;font-size:clamp(2rem,5vw,3.5rem);color:#f2fbff;text-shadow:0 6px 26px rgba(5,35,56,.42);line-height:1.05}.molecule-page-intro__description{margin:0;color:#e2f6ffe6;font-size:1rem}.molecule-page-intro__actions{display:flex;gap:.75rem;flex-wrap:wrap}.molecule-search-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;flex-wrap:wrap}.molecule-search-bar__left{display:flex;align-items:center;gap:1rem;flex:1 1 420px;min-width:0}.molecule-search-bar__input-wrap{position:relative;flex:1 1 auto;min-width:0}.molecule-search-bar__icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:#5f7e95;z-index:1}.molecule-search-bar__input{padding-left:2.35rem}.molecule-summary-card{border:1px solid rgba(15,90,128,.18);border-radius:14px;padding:.8rem;background:#ffffffdb;display:flex;flex-direction:column;gap:.45rem}.molecule-summary-card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.molecule-summary-card__title{color:#0f3c63;font-size:.82rem;font-weight:800}.molecule-summary-card__action{display:flex;align-items:center}.molecule-summary-card__meta{color:#2b6283;font-size:.76rem;font-weight:700}.user-menu{position:relative;display:inline-flex;align-items:center;justify-content:flex-end}.user-menu-trigger{appearance:none;border:1px solid rgba(170,220,245,.5);background:#0f487059;color:#e7f8ff;border-radius:999px;padding:6px 12px 6px 6px;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.user-menu-trigger:hover{filter:brightness(1.05)}.user-menu-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:#ffffffe6}.user-menu-avatar-fallback{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;color:#0b3a59}.user-menu-name{font-size:14px;font-weight:700;white-space:nowrap}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:180px;background:#fffffff5;border:1px solid rgba(15,90,128,.2);border-radius:12px;box-shadow:0 12px 26px #07253c38;padding:6px;display:grid;gap:4px;z-index:30}.user-menu-separator{height:1px;background:#0f5a8029;margin:4px 6px}.user-menu-large .user-menu-trigger{padding:6px 12px 6px 6px;border-radius:999px}.user-menu-large .user-menu-avatar{width:42px;height:42px}.user-menu-large .user-menu-name{font-size:14px}.user-menu-item{appearance:none;border:none;background:transparent;text-align:left;padding:8px 10px;border-radius:8px;font-size:13px;font-weight:600;color:#0f3c63;cursor:pointer}.user-menu-item:hover{background:#cae2f2b3}.user-menu-item-danger{color:#b91c1c}.user-menu-item-danger:hover{background:#fecaca99}.organism-admin-header{position:relative;border:1px solid rgba(195,240,255,.28);border-radius:18px;background:#0c395f8c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 18px 40px #031e343d;padding:14px 14px 10px}.organism-admin-header__top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.9rem}.organism-admin-header__brand{min-width:0}.organism-admin-header__user-menu .user-menu-trigger{background:#0c395f8c;border-color:#a8e9fb66}@media(max-width:720px){.organism-admin-header__top{flex-direction:column;align-items:flex-start}}.organism-builder-layout{display:grid;grid-template-columns:280px minmax(0,1fr) 280px;gap:.9rem;align-items:start;min-height:calc(100vh - 180px)}.organism-builder-layout--no-right{grid-template-columns:280px minmax(0,1fr)}.organism-builder-layout__left,.organism-builder-layout__main,.organism-builder-layout__right{min-width:0}@media(max-width:1220px){.organism-builder-layout{grid-template-columns:1fr}}.organism-collection-sidebar{display:flex;flex-direction:column}.organism-collection-sidebar .molecule-card__body{display:flex;flex-direction:column;gap:.75rem}.organism-collection-sidebar__list{display:flex;flex-direction:column;gap:.6rem;max-height:60vh;overflow:auto;padding-right:.15rem}.organism-collection-sidebar__item{display:flex;align-items:center;gap:.6rem;position:relative;border:1px solid rgba(15,90,128,.2);border-radius:14px;background:#ffffffd6;padding:.4rem;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.organism-collection-sidebar__item.is-active{border-color:#0c5d85a8;box-shadow:inset 0 0 0 1px #0c5d853d}.organism-collection-sidebar__item.is-highlighted{border-color:#0b82409e;background:#edfcf2f2}.organism-collection-sidebar__main{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:.35rem .45rem;text-align:left;display:flex;flex-direction:column;gap:.18rem;cursor:pointer;flex:1 1 auto;min-width:0}.organism-collection-sidebar__actions{position:relative;flex:0 0 auto;display:flex;align-items:center}.organism-collection-sidebar__menu-trigger{appearance:none;-webkit-appearance:none;border:1px solid rgba(12,93,133,.16);background:#f5fafff5;color:#0f4f77;width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.organism-collection-sidebar__menu-trigger:hover{background:#eaf5fffa;border-color:#0c5d8547}.organism-collection-sidebar__menu-trigger:active{transform:translateY(1px)}.organism-collection-sidebar__menu-icon{width:1rem;height:1rem;fill:currentColor}.organism-collection-sidebar__menu{position:fixed;z-index:6;min-width:12rem;padding:.35rem;border:1px solid rgba(12,93,133,.16);border-radius:14px;background:#fffffffa;box-shadow:0 18px 34px #0321392e;display:flex;flex-direction:column;gap:.25rem}.organism-collection-sidebar__menu-item{appearance:none;-webkit-appearance:none;border:0;background:transparent;border-radius:10px;padding:.55rem .7rem;display:flex;align-items:center;gap:.55rem;color:#0f3c63;text-align:left;cursor:pointer;font-weight:700}.organism-collection-sidebar__menu-item:hover{background:#e8f3fff2}.organism-collection-sidebar__menu-item.is-danger{color:#ce4a3a}.organism-collection-sidebar__menu-item-icon{width:1rem;height:1rem;flex:0 0 auto}.organism-collection-sidebar__menu-item-icon--copy{stroke:currentColor;stroke-width:2;fill:none}.organism-collection-sidebar__menu-item-icon--trash{fill:none}.organism-collection-sidebar__name{color:#0f3c63;font-size:.94rem;font-weight:800}.organism-collection-sidebar__meta{color:#3b6887;font-size:.78rem;font-weight:600}.organism-collection-sidebar__empty{border:1px dashed rgba(15,90,128,.26);border-radius:14px;padding:.9rem;color:#44657d;text-align:center}.organism-collection-sidebar__footer{margin-top:.25rem}.admin-shell{width:min(var(--page-shell-max-width, 1460px),calc(100vw - var(--page-shell-gutter, 20px)));margin:14px auto 20px;display:flex;flex-direction:column;gap:10px}.admin-shell>*{width:100%;box-sizing:border-box}.admin-student-not-found{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:40vh;text-align:center}.admin-student-not-found-text{font-size:16px;color:var(--text-secondary, #2c4a5e)}.year-page{width:100%;box-sizing:border-box;padding:4px 2px;display:flex;flex-direction:column;gap:10px}.year-page>*{width:100%;box-sizing:border-box}.year-page-wide{min-height:calc(100vh - 140px)}.year-page-center{min-height:60vh;justify-content:center}.year-header{color:#f0fbff}.year-header h1{margin:0;font-size:56px;color:#f2fbff;text-shadow:0 6px 26px rgba(5,35,56,.42);line-height:1.05}.year-header p{margin:5px 0 0;color:#e2f6ffe6;font-size:18px}.year-header-line{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.year-header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.year-warning{border:1px solid rgba(255,220,132,.66);border-radius:14px;padding:11px 14px;background:#fff3cde6;color:#6f4f00;font-weight:700}.year-card{border:1px solid rgba(214,244,255,.35);border-radius:16px;padding:14px;background:#f0faffe6;box-shadow:0 16px 36px #03213938;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.year-card h2{margin:0 0 12px;color:#0f3c63}.year-list-card{flex:initial}.year-groups{display:grid;gap:12px}.year-group{border:1px solid rgba(14,57,81,.16);border-radius:12px;background:#ffffff47;overflow:hidden}.year-group-header{width:100%;appearance:none;-webkit-appearance:none;border:0;padding:10px 12px;background:#c3e6f680;color:#0f4768;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}.year-group-title{font-size:14px;font-weight:800;letter-spacing:.03em;text-transform:uppercase}.year-group-meta{display:inline-flex;align-items:center;gap:8px}.year-group-count{min-width:22px;height:22px;border-radius:999px;padding:0 8px;background:#0d3f59e6;color:#ecfbff;font-size:12px;font-weight:800;line-height:22px;text-align:center}.year-group-count[data-zero=true],.year-group-count.year-group-count-zero{background:transparent;color:#0d3f59;border:1px dashed rgba(13,63,89,.65);line-height:20px}.year-group-toggle{color:#14597f;font-size:12px;font-weight:700}.year-group-body{padding:0 0 8px}.year-group-ongoing .year-group-body{background:#c7fff073}.year-group-not_started .year-group-body{background:#d5e8ff61}.year-group-ended .year-group-body{background:#e8dff154}.year-list-table-head{display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr;gap:12px;border-radius:12px;padding:10px 14px;margin-bottom:10px;background:#c2e6f68f;color:#0c4a69;font-size:13px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.year-list{display:grid;grid-template-columns:1fr;gap:8px}.year-item{border:1px solid rgba(15,90,128,.2);border-radius:12px;padding:12px 14px;background:#ffffffd6;display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr;gap:12px;align-items:center}.year-item-name{font-weight:800;color:#0d3d63}.year-item-dates{color:#1a5378;font-size:14px}.year-item-count{justify-self:end;color:#0d5573;font-weight:700}.year-list-v2{gap:0}.year-item-v2{border:0;border-top:2px solid rgba(8,32,44,.84);border-radius:0;padding:14px 12px;background:transparent;grid-template-columns:minmax(0,1fr) auto;align-items:start;cursor:pointer}.year-item-v2:hover{background:#dff4ff61}.year-item-main{min-width:0;padding-left:6px}.year-item-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.year-item-title-row .year-status-badge{transform:translateY(0)}.year-item-title{margin:0;font-size:22px;line-height:1;color:#2bb69f;font-weight:800}.year-item-current .year-item-title{color:#1aa08a}.year-item-upcoming .year-item-title{color:#2d6fbe}.year-item-ended .year-item-title{color:#7a5ab0}.year-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 10px;font-size:10px;font-weight:800;line-height:1.15;letter-spacing:.05em;text-transform:uppercase;transform:translateY(-6px)}.year-status-badge-ongoing{border:1px solid rgba(55,170,145,.58);background:#d5fff6b8;color:#0a6253}.year-status-badge-not_started{border:1px solid rgba(103,150,223,.58);background:#dbecffbf;color:#1d4e90}.year-status-badge-ended{border:1px solid rgba(156,126,172,.58);background:#ece2f4c2;color:#5c3f74}.year-status-badge-closed{border:1px solid rgba(217,79,79,.42);background:#ffe0e0d9;color:#ab2222}.year-item-current{border-top-color:#1a8d75d1;border-top-width:3px;background:#d5fff65c}.year-item-upcoming{border-top-color:#497fccb3;border-top-width:3px;background:#e2efff57}.year-item-ended{border-top-color:#836097a8;border-top-width:3px;background:#ede8f54d}.year-item-admin-flat{position:relative}.year-item-admin-current-highlight{box-shadow:inset 0 0 0 1px #1c907740}.year-item-admin-current-highlight:after{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#1ea78bf2,#157c68f2)}.year-chip-current-indicator{border-color:#17846dc7;background:#d6fff6e6;color:#0a6253}.year-item-dossier-validated{border-top-color:#1a8d75d1;border-top-width:3px;background:#d5fff673}.year-item-dossier-validated_temporarily{border-top-color:#7e6ac2c7;border-top-width:3px;background:#ede8ff7a}.year-item-dossier-invalid{border-top-color:#c44a4acc;border-top-width:3px;background:#ffe5e57a}.year-item-dossier-pending_validation{border-top-color:#c58d36d1;border-top-width:3px;background:#ffefd480}.year-item-dossier-not_started{border-top-color:#6796dfb3;border-top-width:3px;background:#e2efff7a}.year-item-dossier-in_progress{border-top-color:#427bc2b8;border-top-width:3px;background:#daecff73}.year-status-badge-dossier-validated{border:1px solid rgba(55,170,145,.58);background:#d5fff6b8;color:#0a6253}.year-status-badge-dossier-validated_temporarily{border:1px solid rgba(126,106,194,.58);background:#e8e1ffbd;color:#4f3f8f}.year-status-badge-dossier-invalid{border:1px solid rgba(196,74,74,.58);background:#ffe1e1c7;color:#8f2626}.year-status-badge-dossier-pending_validation{border:1px solid rgba(197,141,54,.58);background:#ffefd4cc;color:#8a5b00}.year-status-badge-dossier-not_started{border:1px solid rgba(103,150,223,.58);background:#dbecffbf;color:#1d4e90}.year-status-badge-dossier-in_progress{border:1px solid rgba(66,123,194,.58);background:#ddeeffc2;color:#1a4f8f}.year-item-meta{display:grid;gap:2px;color:#1f3140;font-size:14px;line-height:1.35}.year-item-meta strong{color:#111f2d;font-weight:800}.year-item-actions{display:flex;align-items:center;gap:6px;padding-top:2px;margin-right:6px}.year-item-actions-stacked{flex-direction:column;align-items:flex-end}.year-chip{border:1px solid rgba(13,30,44,.84);border-radius:4px;padding:5px 9px;color:#152637;font-size:12px;font-weight:700;background:#ffffffa6;white-space:nowrap}.year-chip-action{cursor:pointer;color:#1e9f8b;background:#ebfffbb8}.year-chip-action:hover{filter:brightness(1.03)}.year-header-compact h1{font-size:40px}.year-detail-title-row{display:inline-flex;align-items:center;gap:14px;flex-wrap:wrap}.year-detail-intro .molecule-page-intro__actions{align-items:center}.year-detail-intro .year-status-badge{transform:none;padding:8px 14px;font-size:12px;letter-spacing:.08em;border-radius:999px;box-shadow:inset 0 1px #ffffff40}.year-detail-intro .atom-button{min-height:44px;padding:.75rem 1.25rem;font-weight:800;border-width:1px;box-shadow:0 8px 18px #04233826}.year-detail-intro .atom-button--danger{background:linear-gradient(135deg,#ffe9e9,#ffd8d8);border-color:#b9333347;color:#9f2222}.year-detail-intro .atom-button--danger:hover:not(:disabled){background:linear-gradient(135deg,#ffe1e1,#ffcdcd);border-color:#b9333366;box-shadow:0 10px 20px #821c1c2e}.year-detail-intro .atom-button--secondary{background:linear-gradient(135deg,#eef8ff,#d8ecfa);border-color:#105f8440;color:#134b70}.year-detail-intro .atom-button--secondary:hover:not(:disabled){background:linear-gradient(135deg,#e4f3ff,#cfe7f8);border-color:#105f8461;box-shadow:0 10px 20px #09476a2b}.year-status-badge-inline{transform:translateY(0)}.year-item-title-row .year-status-badge-inline{align-self:center;transform:translateY(0)}.year-details-card{width:100%;max-width:none}.year-details-grid{display:grid;grid-template-columns:repeat(3,minmax(200px,1fr));column-gap:42px;row-gap:32px}.year-detail-label{color:#365a73;font-weight:700;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.year-detail-value{margin-top:4px;color:#11324a;font-size:20px;font-weight:700}.year-list-empty{color:#1a5378;padding:12px 14px}.year-sessions-card{width:100%;max-width:none}.year-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.year-section-head h2{margin:0}.year-section-head span{color:#2a546d;font-size:13px;font-weight:700}.year-section-actions{display:flex;align-items:center;gap:10px}.year-sessions-list{display:grid;gap:8px}.year-sessions-timeline{display:grid;gap:4px}.year-sessions-board-header{position:relative;height:18px}.year-sessions-hover-label{position:absolute;top:0;left:clamp(40px,var(--timeline-x, 50%),calc(100% - 40px));transform:translate(-50%);color:#0d4f78;background:#ebf8fff2;border:1px solid rgba(16,95,132,.2);border-radius:999px;padding:1px 6px;min-width:64px;font-size:10px;font-weight:800;line-height:1.2;z-index:3;pointer-events:none;white-space:nowrap;text-align:center}.year-sessions-hover-label.is-left{transform:translate(0)}.year-sessions-hover-label.is-right{transform:translate(-100%)}.year-sessions-board{position:relative;border:1px solid rgba(14,57,81,.22);border-radius:10px;background:linear-gradient(#ffffff94,#ffffff94);padding:40px 0 10px;overflow:visible}.year-sessions-timeline-rows{display:grid;gap:10px;position:relative;z-index:3}.year-session-timeline-row{display:grid;padding:0;position:relative}.year-session-track{position:relative;height:34px;border-radius:6px;background:transparent}.year-session-track:hover,.year-session-track:focus-within{z-index:20}.year-session-bar{position:absolute;top:4px;bottom:4px;min-width:44px;border:1px solid rgba(83,191,255,.58);border-radius:4px;background:#0c4c77eb;color:#edfcff;display:inline-flex;align-items:center;gap:8px;padding:0 10px;cursor:pointer;overflow:visible;transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease}.year-session-bar-close-line{position:absolute;top:1px;bottom:1px;width:2px;border-radius:999px;background:#e03333f2;box-shadow:0 0 0 1px #ffefef40;transform:translate(-50%);pointer-events:auto;cursor:help}.year-session-bar:hover,.year-session-bar:focus-visible{background:#0e5f93f5;box-shadow:0 8px 18px #072f493d;transform:translateY(-1px);z-index:2}.year-session-bar.year-session-bar-warning{background:#f0ad3ce6;border-color:#ffe5b2a6;color:#5b3900}.year-session-bar.year-session-bar-warning:hover,.year-session-bar.year-session-bar-warning:focus-visible{background:#f0ad3cf7;box-shadow:0 8px 18px #925f1138}.year-session-bar.year-session-bar-success{background:#2ea56fe0;border-color:#b6f4d39e;color:#ecfff6}.year-session-bar.year-session-bar-success:hover,.year-session-bar.year-session-bar-success:focus-visible{background:#2ea56ff2;box-shadow:0 8px 18px #14644233}.year-session-bar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}.year-sessions-month-lines{position:absolute;inset:0;z-index:0;pointer-events:none}.year-sessions-month-line{position:absolute;top:0;bottom:0;width:1px;border-left:1px dashed rgba(64,122,157,.18);transform:translate(-.5px)}.year-sessions-month-line.is-year-change{border-left-style:solid;border-left-color:#105f8447;border-left-width:2px;transform:translate(-1px)}.year-sessions-month-year-label{position:absolute;top:2px;left:4px;color:#2b5671;font-size:10px;font-weight:800;background:#ecf7fdf2;border:1px solid rgba(16,95,132,.12);border-radius:999px;padding:1px 6px;line-height:1.15}.year-sessions-month-labels{position:relative;height:24px;margin-bottom:10px;z-index:1;pointer-events:none}.year-sessions-month-label{position:absolute;top:0;transform:translate(-50%);color:#2a546d;font-size:10px;font-weight:800;white-space:nowrap;background:#ecf7fde6;border:1px solid rgba(16,95,132,.12);border-radius:999px;padding:1px 6px;max-width:70px;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:4px}.year-sessions-month-label small{font-size:9px;color:#456981;font-weight:800}.year-sessions-month-label.is-first{left:4px!important;transform:none}.year-sessions-month-label.is-last{left:auto!important;right:4px;transform:none}.year-sessions-today-line{position:absolute;top:0;bottom:0;width:2px;background:repeating-linear-gradient(to bottom,#d7303094,#d7303094 4px,#d7303024 4px 8px);box-shadow:0 0 0 1px #fff3;z-index:0;pointer-events:none}.year-sessions-hover-line{position:absolute;top:0;bottom:0;width:2px;background:repeating-linear-gradient(to bottom,#105f8473,#105f8473 4px,#105f8414 4px 8px);box-shadow:0 0 0 1px #ffffff2e;z-index:2;pointer-events:none}.year-sessions-today-label{position:absolute;top:0;left:clamp(40px,var(--timeline-x, 50%),calc(100% - 40px));transform:translate(-50%);color:#9a2626;background:#fff0f0eb;border:1px solid rgba(180,47,47,.18);border-radius:999px;padding:1px 6px;min-width:64px;font-size:10px;font-weight:800;line-height:1.2;z-index:2;pointer-events:none;white-space:nowrap;text-align:center}.year-sessions-today-label-outside{top:0}.year-sessions-today-label.is-left{transform:translate(0)}.year-sessions-today-label.is-right{transform:translate(-100%)}.year-session-bar-students{margin-left:auto;flex:0 0 auto;min-width:18px;height:18px;border-radius:999px;border:1px solid rgba(235,252,255,.25);background:#ebfcff2e;text-align:center;padding:0 5px;line-height:16px;font-size:11px;font-weight:800}.year-session-bar.year-session-bar-warning .year-session-bar-students,.year-session-bar.year-session-bar-success .year-session-bar-students{background:#ffffff29;border-color:#ffffff38}.year-session-bar.year-session-bar-warning .year-session-bar-students{background:#fff3d84d;border-color:#fff8e573;color:#714600}.year-session-bar-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);min-width:200px;max-width:260px;display:grid;gap:2px;border:1px solid rgba(16,58,84,.22);border-radius:10px;background:#fffffffa;color:#133f5f;box-shadow:0 12px 24px #08294329;padding:8px 10px;font-size:12px;line-height:1.3;text-align:left;opacity:0;visibility:hidden;pointer-events:none;z-index:30}.year-session-bar:hover .year-session-bar-tooltip,.year-session-bar:focus-visible .year-session-bar-tooltip{opacity:1;visibility:visible}.year-session-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-top:2px solid rgba(14,45,63,.7);padding:10px 0 4px;cursor:pointer;border-radius:8px;transition:background .15s ease,border-color .15s ease}.year-session-item:hover{background:#dff4ff61}.year-session-item-active{background:#d0eeff85;border-top-color:#1f6c99c7}.year-session-main h3{margin:0;color:#113c5f;font-size:20px}.year-session-meta{margin-top:6px;display:grid;gap:2px;color:#1f3140;font-size:14px;line-height:1.35}.year-session-meta strong{color:#111f2d;font-weight:800}.year-session-count{padding-top:2px}.year-session-form{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px}.year-session-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#104164}.year-field-label-with-help{display:inline-flex;align-items:center;gap:6px}.year-help-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;border:1px solid rgba(20,89,127,.45);background:#e2f6ffeb;color:#14597f;font-size:11px;font-weight:800;line-height:1;cursor:help;-webkit-user-select:none;user-select:none}.year-session-form input:not([type=checkbox]),.year-session-form textarea{border-radius:12px;border:1px solid rgba(16,95,132,.22);background:#fffffff0;padding:10px 12px;color:#0c3557}.year-session-form textarea{resize:vertical}.year-session-logins{grid-column:1 / -1}.year-session-helper{grid-column:1 / -1;color:#2a546d;font-size:13px;font-weight:700}.students-stats{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.students-stats-inline{margin-top:12px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:stretch}.students-tools-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#124365;font-weight:700}.students-tools-grid{display:grid;grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) minmax(170px,1fr) auto;gap:10px;align-items:end}.students-tools-actions{display:flex;align-items:flex-end}.students-tools-actions .atom-button{white-space:nowrap}.students-more-filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.students-tools-card input,.students-tools-card select{border-radius:10px;border:1px solid rgba(16,95,132,.22);background:#fffffff0;padding:8px 10px;color:#0c3557}@media(max-width:920px){.students-tools-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}.students-stats-inline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.students-tools-grid,.students-stats-inline{grid-template-columns:1fr}}.students-stat-chip{border-radius:999px;border:1px solid rgba(16,95,132,.22);background:#f5feffd9;color:#134d72;padding:8px 12px;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;width:100%;box-sizing:border-box}.students-stat-value{min-width:26px;text-align:center;border-radius:999px;background:#c7e6f7e6;color:#0f4b73;padding:2px 8px;font-size:13px;font-weight:900}.students-stat-label{font-size:12px;font-weight:700;color:#245b7e;white-space:nowrap}.students-list-card{box-sizing:border-box;width:100%;max-width:none}.students-list{display:grid;gap:8px}.students-list-more{display:flex;justify-content:center;align-items:center;min-height:44px;padding-top:8px;color:#2c617f;font-size:12px;font-weight:700}.students-item{border-top:2px solid rgba(8,32,44,.84);padding:10px 6px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(170px,.6fr) minmax(190px,.7fr) minmax(160px,.6fr) minmax(170px,.6fr);gap:12px;align-items:start}.students-item-clickable{cursor:pointer;border-radius:8px;transition:background .15s ease}.students-item-clickable:hover{background:#dff4ff61}.students-row-action{justify-self:end;color:#1d5c87;font-size:13px;font-weight:700}.students-user{display:flex;align-items:center;gap:10px}.students-avatar{width:42px;height:42px;border-radius:999px;overflow:hidden;border:1px solid rgba(16,95,132,.28);background:#d6eefcf2;display:flex;align-items:center;justify-content:center;color:#12486b;font-weight:800}.students-avatar img{width:100%;height:100%;object-fit:cover}.students-user-text{display:grid;gap:2px}.students-login{color:#0f3555;font-size:15px;font-weight:800}.students-name{color:#2f4e64;font-size:13px}.students-col-label{color:#375d77;font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.students-status{margin-top:4px;display:inline-flex;align-items:center;border-radius:999px;border:1px solid rgba(17,63,99,.12);padding:3px 9px;font-size:12px;font-weight:800}.students-status-validated{background:#d6fce8f2;color:#0d6a46;border-color:#0d6a4633}.students-status-invalid{background:#ffd6d6f5;color:#8c1010;border-color:#8c101038}.students-status-pending_validation{background:#ffe9c2f5;color:#8b5100;border-color:#8b510033}.students-status-in_progress{background:#daecfff2;color:#165893;border-color:#16589333}.students-status-validated_temporarily{background:#e6e1fff2;color:#543f91;border-color:#543f9133}.students-status-not_started{background:#e4e9eef5;color:#4a5763;border-color:#4a57632e}.students-status-none{background:#e1edf5f2;color:#426178;border-color:#42617829}.students-auth-badge{margin-top:4px;display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:800}.students-auth-dot{width:10px;height:10px;border-radius:999px;border:1px solid rgba(20,58,82,.22);flex:0 0 auto}.students-auth-yes{background:#2abf73}.students-auth-no{background:#d94f4f}.students-subline{color:#2b4960;font-size:12px}.students-auth-line{margin-top:3px;display:inline-flex;align-items:center;gap:6px}.students-subline-danger{color:#9c2442;font-weight:800}.students-dossiers-list{margin-top:4px;display:grid;gap:4px}.students-dossier-line{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.students-dossier-year{color:#123d61;font-size:12px;font-weight:700}.students-dossier-inline{margin-top:3px;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.students-dossier-year-inline{color:#123d61;font-size:12px;font-weight:700}.students-closed-pill{margin-top:4px;display:inline-flex;align-items:center;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:900;letter-spacing:.05em;background:#d94f4ff2;color:#fff}.year-import-panel{grid-column:1 / -1;border:1px solid rgba(16,95,132,.18);border-radius:12px;padding:10px;background:#ffffff73;display:grid;gap:10px}.year-import-title{color:#104164;font-size:13px;font-weight:800}.year-import-modes{display:flex;flex-wrap:wrap;gap:8px}.year-import-mode{appearance:none;-webkit-appearance:none;border:1px solid rgba(16,95,132,.3);border-radius:999px;background:#ecf9ffe6;color:#0d4e74;font-size:12px;font-weight:700;padding:7px 12px;cursor:pointer}.year-import-mode-active{border-color:#2974a28f;background:#3d85ceeb;color:#f1fbff}.year-import-mode-disabled,.year-import-mode[aria-disabled=true]{border-color:#105f842e;background:#d7e4ecb8;color:#0d4e748c;cursor:not-allowed;filter:saturate(.6)}.year-import-mode-active.year-import-mode-disabled,.year-import-mode-active[aria-disabled=true]{border-color:#105f842e;background:#d7e4ecb8;color:#0d4e748c}.year-import-controls{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:10px}.year-import-controls label{display:flex;flex-direction:column;gap:6px;color:#104164;font-size:13px}.year-import-filters{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:end}.year-import-search-row{display:grid;grid-template-columns:auto minmax(180px,1fr);gap:10px;align-items:end}.year-import-visible-toggle{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:8px;color:#104164;font-size:13px;font-weight:700;white-space:nowrap;margin-bottom:10px;margin-left:15px}.year-import-visible-toggle input{margin:0}.year-import-search-field{display:flex;flex-direction:column;gap:6px;color:#104164;font-size:13px}.year-import-search-field input{border-radius:12px;border:1px solid rgba(16,95,132,.22);background:#fffffff0;padding:10px 12px;color:#0c3557}.year-import-status-filter{position:relative}.year-import-status-filter-trigger{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;border:1px solid rgba(16,95,132,.22);border-radius:12px;background:#fffffff0;color:#0c3557;font-size:13px;font-weight:700;padding:10px 12px;cursor:pointer;text-align:left}.year-import-status-filter-trigger:after{content:"▾";margin-left:8px;font-size:11px;line-height:1;opacity:.8}.year-import-status-filter-trigger[aria-expanded=true]:after{content:"▴"}.year-import-status-filter-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:5;min-width:320px;max-height:none;overflow:visible;border:1px solid rgba(16,95,132,.2);border-radius:12px;background:#fafefffa;box-shadow:0 10px 30px #0321392e;padding:8px;display:grid;gap:4px}.year-import-status-filter-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:4px}.year-import-status-filter-actions button{appearance:none;-webkit-appearance:none;border:1px solid rgba(16,95,132,.2);border-radius:8px;background:#e9f6ff8c;color:#0d4e74;font-size:12px;font-weight:700;padding:6px 8px;cursor:pointer}.year-import-status-filter-option{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;color:#0f3555;font-size:13px;background:#e9f6ff59}.year-import-status-filter-option input{margin:0}.year-import-status-filter-option .year-import-status{display:inline-flex;align-items:center;white-space:nowrap}.year-session-form select{border-radius:12px;border:1px solid rgba(16,95,132,.22);background:#fffffff0;padding:10px 12px;color:#0c3557}.year-import-results{border:1px solid rgba(16,95,132,.2);border-radius:10px;background:#fafeffcc;max-height:220px;overflow:auto;padding:6px}.year-import-grid{display:grid;gap:4px}.year-session-form .year-import-row{display:grid;grid-template-columns:auto 1fr auto;flex-direction:row;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;background:#e9f6ff73}.year-import-row input{margin:0}.year-import-login{color:#0f3555;font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:8px;min-width:0}.year-import-row-note{color:#7a3a3a;font-size:11px;font-weight:700;white-space:nowrap}.year-import-row-note-warning{color:#9a5b00}.year-session-form .year-import-row.year-import-row-disabled{background:#d2dce48c;opacity:.78;cursor:not-allowed}.year-session-form .year-import-row.year-import-row-disabled .year-import-login{color:#5a6c7c}.year-import-status{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:800}.year-import-status-invalid{background:#ffdedef2;color:#8c1d1d}.year-import-status-in_progress{background:#ffefcbf2;color:#815000}.year-import-status-validated{background:#d6fce8f2;color:#0d6a46}.year-import-status-pending_validation{background:#dfecfff2;color:#1d4f8c}.year-import-status-abandoned{background:#f5e3e3f2;color:#7a3a3a}.year-import-status-validated_temporarily{background:#e2f4fff2;color:#0d5f88}.year-import-status-not_started{background:#e8ecf0f2;color:#43505c}.session-search-card{display:grid;gap:6px}.session-summary-layout{display:grid;grid-template-columns:minmax(0,1fr) max-content;gap:10px;align-items:start}.session-summary-main{display:grid;gap:12px}.session-header-title-row{display:inline-flex;align-items:center;gap:10px}.session-header-edit-btn{width:auto;height:auto;border-radius:0;border:0;background:transparent;color:#e6f8ff;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:2px;cursor:pointer}.session-header-edit-btn:hover{background:transparent;transform:scale(1.04)}.session-header-edit-btn-icon{width:20px;height:20px;object-fit:contain;display:block;opacity:1;filter:drop-shadow(0 1px 1px rgba(8,46,69,.22))}.session-inline-row{display:grid;gap:4px}.session-inline-row-name{padding-bottom:2px}.session-inline-edit{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.session-inline-value{color:#11324a;font-weight:700}.session-inline-value-name{font-size:20px}.session-detail-grid-horizontal{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}.session-date-detail{min-width:0}.session-inline-input{min-width:0;border-radius:10px;border:1px solid rgba(16,95,132,.24);background:#fffffff5;padding:7px 10px;color:#0c3557}.session-inline-input[type=date]{width:150px}.session-inline-input[type=text]{min-width:220px}.session-inline-icon-btn{width:28px;height:28px;border-radius:999px;border:1px solid rgba(16,95,132,.22);background:#ffffffe6;color:#0f4f77;font-size:14px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s ease,background-color .12s ease,border-color .12s ease}.session-inline-icon-btn:hover:not(:disabled){transform:translateY(-1px);background:#ebf9fffa}.session-inline-icon-btn:disabled{opacity:.65;cursor:default}.session-inline-icon-confirm{color:#0d6a46;border-color:#18896247;background:#e3fff4e6}.session-inline-icon-cancel{color:#8c1d1d;border-color:#b0373747;background:#ffececeb}.session-close-meta{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap}.session-close-meta-value{color:#174a6d;font-weight:700}.session-pie-panel{border:1px solid rgba(16,95,132,.14);border-radius:14px;background:#ffffff61;padding:8px 4px 8px 8px;display:grid;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:2px;width:fit-content;justify-self:end}.session-pie-chart-wrap{display:grid;justify-items:center;gap:1px;margin-left:-12px;margin-right:-60px}.session-pie-chart{width:min(100%,148px);height:auto;display:block}.session-pie-slice{stroke:#ffffffeb;stroke-width:2px;transition:opacity .15s ease,transform .15s ease;transform-origin:80px 80px}.session-pie-chart:hover .session-pie-slice{opacity:.8}.session-pie-slice.is-active{opacity:1!important;transform:scale(1.03)}.session-pie-total-label{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;fill:#4b6880}.session-pie-total-value{font-size:16px;font-weight:800;fill:#0f3c63}.session-pie-empty-text{font-size:12px;font-weight:700;fill:#4b6880}.session-pie-hover-label{min-height:14px;color:#143e5f;font-size:11px;font-weight:700;text-align:center;line-height:1.1}.session-pie-legend{display:grid;gap:3px;margin-right:-4px;align-content:center}.session-pie-legend-item{display:grid;grid-template-columns:10px minmax(0,1fr);align-items:center;gap:7px;color:#163f5f;font-size:11px;line-height:1.15;border:0;background:transparent;padding:0;text-align:left;width:100%;cursor:pointer}.session-pie-legend-dot{width:10px;height:10px;border-radius:999px;box-shadow:0 0 0 1px #105f841f}.session-pie-legend-text{min-width:0}.session-pie-legend-item:hover .session-pie-legend-text{color:#0c4a69}.session-pie-legend-item.is-muted{opacity:.55}.session-pie-legend-item.is-muted .session-pie-legend-text{text-decoration:line-through}.session-edit-modal-note{grid-column:1 / -1;border:1px solid rgba(15,90,128,.16);border-radius:10px;padding:8px 10px;background:#ffffff9e;color:#174a6d;font-size:12px;line-height:1.25}.session-edit-modal-note-secondary{background:#fff8e5b8;border-color:#d8a73c38;color:#6f520a}.year-inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.year-inline-form input[type=date]{border-radius:10px;border:1px solid rgba(16,95,132,.22);background:#fffffff0;padding:8px 10px;color:#0c3557}.year-separator{border:0;border-top:1px solid rgba(16,95,132,.2);width:100%;margin:8px 0 2px}.year-dossiers-search{display:grid;gap:6px;margin:2px 0 12px}.session-search-label{color:#104164;font-size:13px;font-weight:800}.session-search-input{border-radius:12px;border:1px solid rgba(16,95,132,.22);background:#fffffff0;padding:10px 12px;color:#0c3557}.session-group .year-group-header{background:#c2e6f68f}.session-group-pending_validation .session-group-body{background:#ffe7bc73}.session-group-in_progress .session-group-body{background:#d5e8ff61}.session-group-invalid .session-group-body{background:#ffd4d46b}.session-group-validated_temporarily .session-group-body{background:#e4dcff66}@media(max-width:980px){.session-summary-layout,.session-detail-grid-horizontal{grid-template-columns:1fr}.session-pie-panel{max-width:100%;width:100%;grid-template-columns:1fr;gap:8px;justify-self:stretch}}.session-group-validated .session-group-body{background:#c7fff073}.session-group-not_started .session-group-body{background:#e4e9ee73}.session-students-grid{display:grid;grid-template-columns:1fr;gap:8px;padding:8px 10px}.session-student-card{display:grid;grid-template-columns:minmax(0,280px) 90px 1fr 110px;align-items:center;gap:10px;border:1px solid rgba(15,90,128,.2);border-radius:10px;padding:8px 10px;background:#ffffffd6;cursor:pointer;transition:background .15s ease,transform .15s ease;width:100%;box-sizing:border-box;text-decoration:none;color:inherit}.session-student-badge-slot{display:flex;align-items:center;justify-content:center}.session-student-close{display:flex;align-items:center;justify-content:center;text-align:center}.session-student-close .students-closed-pill{margin-top:0}.session-student-close-date{color:#1b4f72;font-size:12px;font-weight:700;white-space:nowrap}.session-student-card:hover{background:#eef9fff2;transform:translateY(-1px)}.session-student-action{color:#1d5c87;font-size:12px;font-weight:700;white-space:nowrap;text-align:right;text-decoration:none}.session-student-action:hover{text-decoration:underline}.session-empty-message{margin-top:8px;padding:6px 18px 10px}.year-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;align-items:end}.year-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#104164}.year-form input{border-radius:12px;border:1px solid rgba(16,95,132,.22);background:#fffffff0;padding:10px 12px;color:#0c3557}.year-btn{appearance:none;-webkit-appearance:none;border-radius:999px;border:1px solid rgba(182,241,255,.72);background:linear-gradient(118deg,#3e61b8,#249ccc);color:#f4fdff;font-weight:700;padding:10px 16px;cursor:pointer}.year-btn-secondary{border-color:#b6f1ffad;background:linear-gradient(118deg,#2f75a8,#1f8eb8);color:#f3fcff}.year-btn-danger{border-color:#ffbabaa3;background:linear-gradient(118deg,#a6334a,#d84d4d);color:#fff4f4}.year-btn:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.45)}.year-btn:disabled:hover{filter:saturate(.45)}.year-btn:hover{filter:brightness(1.08)}.year-actions,.year-inline-action{display:flex;justify-content:flex-end}.year-error{margin-top:10px;color:#9c2442}.year-overlap-warning{margin-top:12px;border:1px solid rgba(244,178,106,.66);border-radius:12px;padding:10px 12px;background:#ffefd6eb;color:#7c4b00;font-weight:700}.year-distance-warning{margin-top:10px;border:1px solid rgba(255,187,112,.72);border-radius:12px;padding:10px 12px;background:#ffe8c4eb;color:#744400;font-weight:700}.year-invalid-warning{margin-top:12px;border:1px solid rgba(226,94,94,.82);border-radius:12px;padding:10px 12px;background:#ffddddf0;color:#8e1f1f;font-weight:800}.year-modal-backdrop{position:fixed;inset:0;z-index:50;background:#0214258f;display:flex;align-items:center;justify-content:center;padding:18px}.year-modal{width:min(760px,96vw);border:1px solid rgba(188,240,255,.52);border-radius:18px;background:#ecf9fff5;box-shadow:0 28px 56px #00192c5c;padding:18px}.year-modal-danger{border-color:#ffb0b0b3;background:#ffefeffa}.year-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.year-modal-header h2{margin:0;color:#123e61}.year-modal-close{border:0;background:transparent;color:#1b5b85;font-size:22px;cursor:pointer;line-height:1}.year-danger-intro{margin:0 0 10px;color:#6f1f2f;font-size:14px}.year-danger-list{margin:0 0 12px;padding-left:18px;color:#6b1f2a;display:grid;gap:5px;font-size:13px}.year-danger-confirm{display:grid;gap:7px;font-size:13px;color:#6f1f2f}.year-danger-confirm-text{white-space:nowrap}.year-danger-confirm strong{display:inline}.year-danger-confirm input{border-radius:10px;border:1px solid rgba(201,108,108,.45);background:#fffffff2;padding:10px 11px;color:#5b1d25;margin-bottom:8px}.year-modal-footer{grid-column:1 / -1;display:flex;justify-content:flex-end;gap:10px}@media(max-width:900px){.year-header-line{flex-direction:column;align-items:flex-start}.year-list-table-head,.year-item{grid-template-columns:1fr 1fr}.year-item-v2{grid-template-columns:1fr;gap:10px;padding:12px 0}.year-item-title{font-size:20px}.year-item-meta{font-size:14px}.year-details-grid,.year-session-form{grid-template-columns:1fr}.year-session-bar-label{display:none}.year-session-bar{justify-content:center;padding:0 8px}.year-sessions-board{padding-top:8px}.year-sessions-month-labels,.year-sessions-month-year-label,.year-sessions-today-label,.year-sessions-hover-label{display:none}.year-session-logins,.year-session-helper{grid-column:auto}.year-import-controls{grid-template-columns:1fr}.year-import-filters,.year-import-search-row{grid-template-columns:1fr;align-items:stretch}.year-import-visible-toggle{margin-bottom:0;margin-left:0}.year-import-status-filter-trigger{min-width:0;width:100%}.year-import-status-filter-menu{left:0;right:0;min-width:0}.year-item-count{justify-self:start}.students-item{grid-template-columns:1fr;gap:8px}}@media(max-width:620px){.admin-shell{width:calc(100vw - var(--page-shell-gutter-mobile, 10px))}.year-header h1{font-size:40px}.year-list-table-head,.year-item{grid-template-columns:1fr}}.me-shell{width:min(var(--page-shell-max-width, 1460px),calc(100vw - var(--page-shell-gutter, 20px)));margin:14px auto 20px;display:flex;flex-direction:column;gap:10px}.me-shell>*{width:100%;box-sizing:border-box}.me-deadline-chip{min-width:128px;border-radius:16px;padding:8px 12px;border:1px solid rgba(190,236,255,.36);background:linear-gradient(180deg,#1a80b461,#0a58884d),#0c4c735c;box-shadow:0 8px 18px #0321392e;color:#eff9ff;display:grid;gap:2px;text-align:center;align-content:center}.me-deadline-chip-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#e8f9ffe6;font-weight:700;text-align:center}.me-deadline-chip-value{font-size:20px;line-height:1.05;font-weight:900;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:24px}.me-deadline-chip-value .me-doc-help{color:#fff;border-color:#ffffff8c}.me-deadline-chip-value .me-doc-help:before{font-size:10px}.me-deadline-chip-value .me-doc-tooltip{text-transform:none;letter-spacing:normal;font-weight:600}.me-deadline-chip-value .students-closed-pill{font-size:11px;padding:3px 9px}.me-deadline-chip-value-warning{color:#ffb2b2;text-shadow:0 0 10px rgba(209,34,34,.25)}@media(max-width:620px){.me-shell{width:calc(100vw - var(--page-shell-gutter-mobile, 10px))}.me-deadline-chip{min-width:112px;padding:7px 10px}.me-deadline-chip-value{font-size:17px}}.me-dossier-scroll{display:flex;overflow-x:auto;overflow-y:hidden;padding:4px 16px 12px;scroll-snap-type:x proximity;scroll-padding-left:16px;scroll-padding-right:16px}.me-dossier-sections{display:flex;gap:clamp(24px,4vw,48px);align-items:start;width:max-content;margin:0 auto}.me-upload-card{flex:0 0 276px;width:276px;max-width:276px;min-width:184px;border:1px solid rgba(15,90,128,.2);border-radius:12px;padding:12px;background:#ffffffd6;display:grid;align-content:start;gap:10px;scroll-snap-align:start}.me-upload-card-pending{background:#e8ebeff2;border-color:#54637159;filter:grayscale(.45);pointer-events:none}.me-upload-title{margin:0;color:#0f3c63;font-size:16px;line-height:1.2}.me-upload-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.me-upload-title-wrap{display:inline-flex;align-items:center;gap:6px;min-width:0}.me-doc-help{position:relative;width:16px;height:16px;border-radius:999px;border:1px solid rgba(15,60,99,.35);color:#0f3c63;font-weight:800;display:inline-block;cursor:help;flex:0 0 16px;padding:0;font-size:0}.me-doc-help:before{content:"?";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px;line-height:1}.me-doc-tooltip{position:absolute;z-index:20;left:50%;top:calc(100% + 8px);transform:translate(-50%);width:clamp(190px,24vw,280px);border:1px solid rgba(15,60,99,.22);border-radius:10px;background:#fff;color:#173f5f;box-shadow:0 12px 26px #0e283e29;padding:8px 10px;font-size:12px;line-height:1.35;font-weight:600;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease}.me-doc-help:hover .me-doc-tooltip,.me-doc-help:focus .me-doc-tooltip,.me-doc-help:focus-visible .me-doc-tooltip{opacity:1;visibility:visible}.me-upload-title-row .students-status{font-size:11px;padding:2px 7px;white-space:nowrap}.me-upload-dropzone{border:1px dashed rgba(16,95,132,.35);border-radius:10px;width:100%;min-width:0;min-height:0;max-height:420px;aspect-ratio:210 / 297;background:#f0faffc7;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:border-color .15s ease,background .15s ease}.me-upload-dropzone-active{border-color:#105f84d9;background:#c8eafae6}.me-upload-preview-frame{position:relative;width:100%;height:100%;max-width:100%;max-height:100%;overflow:hidden;background:#fff}.me-upload-replace-btn{position:absolute;top:8px;right:8px;z-index:5;width:32px;height:32px;border-radius:999px;border:1px solid rgba(16,95,132,.25);background:#ffffffeb;color:#0f5a84;font-size:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px #0e283e2e;transition:transform .15s ease,background .15s ease}.me-upload-replace-btn:hover,.me-upload-replace-btn:focus-visible{background:#fff;transform:scale(1.08)}.me-upload-preview{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center center}.me-doc-preview-button{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;margin:0;width:100%;height:100%;cursor:zoom-in;display:block}.me-doc-preview-iframe{width:103%;height:103%;border:0;background:#fff;pointer-events:none;transform:translate(-1.5%,-1.5%)}.me-doc-preview-fallback{width:100%;height:100%;display:grid;align-content:center;justify-items:center;gap:6px;text-align:center;color:#244f6a;padding:12px;box-sizing:border-box}.me-doc-preview-fallback strong{font-size:12px;line-height:1.2}.me-doc-preview-fallback span{font-size:11px}.me-upload-preview.is-blurred,.admin-doc-preview-blurred{filter:blur(6px) saturate(.85);transform:scale(1.02)}.me-output-preview-wrap{position:relative;width:100%;height:100%;overflow:hidden}.me-output-empty-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:160px;background:#f4f8fb}.me-output-empty-preview-content{text-align:center;padding:18px;color:#2a546d}.me-output-empty-preview-icon{font-size:28px;margin-bottom:8px}.me-output-empty-preview-title{font-size:14px;font-weight:700}.me-output-empty-preview-subtitle{font-size:12px;color:#5c7f93;margin-top:4px}.me-output-preview-iframe{position:absolute;top:-6px;left:-6px;width:794px;height:1123px;transform:scale(.315);transform-origin:top left;border:none;pointer-events:none}.me-upload-placeholder-button{appearance:none;-webkit-appearance:none;border:0;background:transparent;width:100%;height:100%;padding:18px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:background .15s ease}.me-upload-placeholder-button:hover:not(:disabled),.me-upload-placeholder-button:focus-visible:not(:disabled){background:#c8eafa8c}.me-upload-placeholder-button:disabled{cursor:not-allowed;opacity:.55}.me-upload-plus-icon{width:44px;height:44px;flex:0 0 44px;border-radius:999px;border:2px dashed rgba(16,95,132,.5);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:700;line-height:1;color:#0f5a84;background:#fff9;transition:transform .15s ease,border-color .15s ease,background .15s ease}.me-upload-placeholder-button:hover:not(:disabled) .me-upload-plus-icon,.me-upload-placeholder-button:focus-visible:not(:disabled) .me-upload-plus-icon{transform:scale(1.08);border-color:#105f84e6;background:#fff}.me-upload-placeholder{color:#2a546d;font-size:16px;font-weight:700;text-align:center}.me-upload-footer{display:grid;align-content:start;gap:8px;min-width:0}.me-upload-label{color:#104164;font-size:13px;font-weight:700;min-width:0;overflow-wrap:anywhere;word-break:break-word}.me-upload-input-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.me-upload-action-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:2px}.me-output-footer-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.me-output-footer-row .me-upload-label{margin:0}.me-output-footer-row .me-upload-action-btn{flex-shrink:0}.me-upload-action-btn{border:1px solid rgba(78,139,190,.6);background:#e2effce6;color:#1d4f75;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer}.me-upload-action-btn-secondary{border-color:#788c9b80;background:#ecf0f4e6;color:#3c4d5c}.me-upload-action-btn-danger{border-color:#c8464680;background:#fce7e7e6;color:#9a2c2c}.me-upload-action-row .me-upload-action-btn-danger{margin-right:auto}.me-upload-card-add-extra{align-self:start;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:10px;width:302px;height:502px;border-style:dashed;background:#ffffff8c;transition:border-color .15s ease,background .15s ease}.me-upload-card-add-extra-drag-active{border-color:#105f84d9;background:#c8eafae6}.me-upload-add-extra-trigger{appearance:none;border:1px dashed rgba(78,139,190,.6);background:transparent;color:#1d4f75;border-radius:10px;padding:14px 12px;font-size:13px;font-weight:700;cursor:pointer;width:100%}.me-upload-add-extra-trigger:disabled{opacity:.5;cursor:not-allowed}.me-upload-add-extra-form{display:grid;gap:10px;width:100%}.me-upload-add-extra-input{border:1px solid rgba(15,90,128,.3);border-radius:8px;padding:8px 10px;font-size:13px}.me-user-form-page{width:min(1100px,calc(100vw - 28px));margin:16px auto 28px}.me-user-form-card{border-radius:18px;border:1px solid rgba(18,88,126,.28);background:radial-gradient(120% 130% at 0% -5%,#ffffff70,#ffffff29 58%,#ffffff14),#e2f0fad1;box-shadow:0 16px 34px #0a355133}.me-user-form-card .molecule-card__header{padding-bottom:10px;border-bottom:1px solid rgba(16,84,122,.16)}.me-user-form-card .molecule-card__title{font-size:clamp(31px,3.6vw,43px);line-height:1.02;letter-spacing:-.02em}.me-user-form-card .molecule-card__subtitle{font-size:16px;color:#0a3f63db}.me-user-form-grid{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}.me-user-form-timeline{grid-column:1 / -1;position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0;padding:8px 0 2px;margin-bottom:6px}.me-user-form-timeline-step{position:relative;display:grid;justify-items:center;align-items:start;gap:6px;padding:0 6px;background:transparent;color:#235171;z-index:2;border:0;cursor:pointer}.me-user-form-timeline-step.is-current{color:#10476d}.me-user-form-timeline-step.is-done{color:#0f5c62}.me-user-form-timeline-index{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#c6d7e4;border:2px solid #8db0c7;font-size:12px;font-weight:800;color:#315c79}.me-user-form-timeline-label{font-size:11px;font-weight:700;text-align:center;line-height:1.2;max-width:100%}.me-user-form-timeline-step:focus-visible{outline:2px solid rgba(18,100,145,.6);outline-offset:2px;border-radius:8px}.me-user-form-timeline:before{content:"";position:absolute;left:12px;right:12px;top:20px;height:4px;border-radius:999px;background:#12587e33;z-index:0}.me-user-form-timeline:after{content:"";position:absolute;left:12px;top:20px;height:4px;width:var(--timeline-progress, 0%);border-radius:999px;background:linear-gradient(90deg,#2bc4d8,#1f7bad 55%,#1a5e92);z-index:1}.me-user-form-timeline-step.is-current .me-user-form-timeline-index{border-color:#145f8cb3;background:#dcf2fdf2;color:#0f4569;box-shadow:0 0 0 4px #2bc4d824}.me-user-form-timeline-step.is-done .me-user-form-timeline-index{border-color:#1f9d77;background:#dff6ec;color:#1f9d77}.me-user-form-block-head{grid-column:1 / -1;border:1px solid rgba(17,90,131,.2);border-radius:12px;background:#ffffff6b;padding:12px 14px}.me-user-form-block-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#0c466bc2;font-weight:800;margin-bottom:4px}.me-user-form-block-title{margin:0;color:#0f4164;font-size:21px;line-height:1.2}.me-user-form-block-description{margin:6px 0 0;color:#0f4164db;font-size:14px}.me-user-form-field{background:transparent;border:0;border-radius:0;padding:0}.me-user-form-field--full{grid-column:1 / -1}.me-user-form-field .atom-label{font-size:14px;letter-spacing:.01em;color:#0f4164}.me-user-form-field .atom-input,.me-user-form-field .atom-select,.me-user-form-field .atom-textarea{min-height:44px;border-radius:10px;background:#fffffff5;border-color:#14679342}.me-user-form-field .atom-input[type=date]{color-scheme:light;appearance:none;-webkit-appearance:none;padding-right:40px;background:linear-gradient(180deg,#fffffff7,#f7fcfff7)}.me-user-form-field .atom-input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.82;filter:saturate(.8) hue-rotate(168deg) contrast(1.05)}.me-user-form-field .atom-input[type=date]::-webkit-datetime-edit{color:#0f3f62}.me-user-form-field .atom-input[type=date]:focus::-webkit-calendar-picker-indicator{opacity:1}.me-date-picker-wrap{position:relative;display:block;width:100%}.me-date-picker-wrap:after{content:"";position:absolute;right:12px;top:50%;transform:translateY(-50%);width:17px;height:17px;background-repeat:no-repeat;background-size:contain;opacity:.78;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23104567' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2.5' x2='16' y2='6'/%3E%3Cline x1='8' y1='2.5' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");pointer-events:none}.me-date-picker-input{width:100%;padding-right:64px!important}.me-date-picker-wrap .react-datepicker__close-icon{right:36px;padding-right:0}.me-date-picker-wrap .react-datepicker__close-icon:after{background-color:#104567eb;font-size:12px;width:18px;height:18px;line-height:18px}.me-date-picker-popper{z-index:20}.me-date-picker-calendar{border:1px solid rgba(17,90,131,.24)!important;border-radius:14px!important;box-shadow:0 16px 28px #0c314a33!important;overflow:hidden;font-family:inherit!important}.me-date-picker-calendar .react-datepicker__header{background:linear-gradient(180deg,#e1f2fcf0,#d2e9f7f0);border-bottom:1px solid rgba(17,90,131,.15)}.me-date-picker-calendar .react-datepicker__current-month,.me-date-picker-calendar .react-datepicker-time__header,.me-date-picker-calendar .react-datepicker-year-header{color:#104263;font-weight:800}.me-date-picker-calendar .react-datepicker__month-dropdown-container,.me-date-picker-calendar .react-datepicker__year-dropdown-container{margin:0 6px}.me-date-picker-calendar .react-datepicker__month-select,.me-date-picker-calendar .react-datepicker__year-select{border:1px solid rgba(17,90,131,.28);border-radius:8px;background:#fffffff2;color:#104263;font-weight:700;padding:4px 8px}.me-date-header{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:0 6px}.me-date-header-nav{border:0;background:transparent;color:#1a577b;font-size:26px;line-height:1;cursor:pointer;padding:0 4px}.me-date-header-label{border:0;background:#ffffffb8;color:#114567;border-radius:8px;padding:5px 10px;font-size:14px;font-weight:800;cursor:pointer;text-transform:capitalize}.me-date-picker-calendar .react-datepicker__day-name{color:#22536f;font-weight:700}.me-date-picker-calendar .react-datepicker__day{border-radius:8px;color:#123d5a}.me-date-picker-calendar .react-datepicker__day:hover{background:#1f79ad1f}.me-date-picker-calendar .react-datepicker__day--selected,.me-date-picker-calendar .react-datepicker__day--keyboard-selected{background:#1f79ad;color:#fff}.me-user-form-field .atom-textarea{min-height:126px}.me-user-form-field.is-missing .atom-input,.me-user-form-field.is-missing .atom-select,.me-user-form-field.is-missing .atom-textarea{border-color:#c53f3f;box-shadow:0 0 0 3px #c53f3f24}.me-user-form-field .atom-label__hint{color:#0f4164b8;font-style:italic;font-weight:600}.me-user-form-actions{grid-column:1 / -1;position:sticky;bottom:10px;z-index:4;display:flex;justify-content:space-between;gap:10px;padding:10px;border-radius:14px;border:1px solid rgba(13,85,126,.24);background:#ecf7ffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.me-user-form-actions-left,.me-user-form-actions-right{display:flex;align-items:center;gap:8px}.me-user-form-status{grid-column:1 / -1}.me-user-form-summary{display:grid;gap:8px}.me-user-form-summary-block{display:grid;gap:8px;border:1px solid rgba(17,90,131,.24);border-radius:12px;padding:10px;background:#ffffff80}.me-user-form-summary-block-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.me-user-form-summary-block-kicker{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#0c466bbf}.me-user-form-summary-block-title{color:#10476d;font-weight:800;font-size:16px}.me-user-form-summary-row{border:1px solid rgba(17,90,131,.2);border-radius:10px;background:#ffffff9e;padding:10px 12px}.me-user-form-summary-question{color:#0f4164;font-weight:800;font-size:14px}.me-user-form-summary-answer{margin-top:4px;color:#214e6f;white-space:pre-wrap;word-break:break-word}@media(max-width:900px){.me-user-form-page{width:calc(100vw - 14px);margin:12px auto 18px}.me-user-form-grid{grid-template-columns:1fr;gap:10px}}.me-upload-action-btn:disabled{opacity:.7;cursor:not-allowed}.me-upload-action-pending{background:#ffe8c7f2;color:#8b5100;border-color:#ffc87df2}.me-upload-actions{display:flex;flex-wrap:wrap;gap:8px}.me-upload-invalid-reason{margin-top:6px;font-size:12px;color:#8c1010;background:#ffe2e2bf;border-radius:8px;padding:6px 8px}.me-dossier-validated-screen{min-height:300px;border:1px solid rgba(15,90,128,.18);border-radius:12px;background:#ffffffa6;display:flex;align-items:center;justify-content:center;padding:24px;text-align:center}.me-dossier-validated-screen h2{margin:0;color:#0f3c63;font-size:clamp(24px,2.6vw,34px)}.me-year-closed-warning{font-weight:400;display:grid;gap:4px}.me-year-closed-warning h3{margin:0;font-size:15px;font-weight:800;color:#6f4f00}.me-year-closed-warning p{margin:0;font-size:13px;line-height:1.35;font-weight:500;color:#7b5a10}.me-dossier-groups{display:grid;gap:16px}.me-dossier-intro{border:1px solid rgba(15,90,128,.18);border-radius:14px;background:#ffffffb3;padding:14px 16px;display:grid;gap:10px;color:#0f3c63}.me-dossier-intro h2{margin:0;font-size:16px}.me-dossier-intro p{margin:0;font-size:13px;color:#2b526d}.me-dossier-intro-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.me-dossier-intro-col{background:#e2eef8b3;border-radius:12px;padding:10px 12px}.me-dossier-intro-col h3{margin:0 0 6px;font-size:13px;color:#103d5c}.me-dossier-intro-col ul{margin:0;padding-left:18px;color:#2b526d;font-size:12px}.me-dossier-group{display:grid;gap:10px;padding:12px}.me-dossier-group-header{border:1px solid rgba(15,90,128,.18);border-radius:12px;background:#ffffffb3;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#0f3c63;font-weight:800;cursor:pointer}.me-dossier-group-title{font-size:14px}.me-dossier-group-meta{display:inline-flex;align-items:center;gap:10px;font-size:12px;color:#375d77}.me-dossier-group-count{background:#d2e7f6cc;color:#1d4f75;border-radius:999px;padding:2px 9px;font-weight:800}.me-dossier-group-toggle{text-transform:uppercase;letter-spacing:.05em;font-weight:700}.me-dossier-empty{padding:10px 12px;color:#3f5f77;font-size:13px;font-weight:600}.year-card-todo{background:#d6ebff8c;border-color:#4c83be59}.year-card-invalid{background:#ffe2e299;border-color:#c4585880}.year-card-pending{background:#ffecd08c;border-color:#d08f3b59}.year-card-validated{background:#d6f7e58c;border-color:#529c7659}.me-year-item-unavailable{position:relative;cursor:default;overflow:hidden}.me-year-item-unavailable:hover{background:transparent}.me-year-item-unavailable .year-item-main,.me-year-item-unavailable .year-item-actions{filter:blur(2.5px);opacity:.5;pointer-events:none;-webkit-user-select:none;user-select:none}.me-year-item-unavailable-admin .year-item-main,.me-year-item-unavailable-admin .year-item-actions{filter:blur(1.5px)}.me-year-item-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:14px 18px;pointer-events:none}.me-year-item-overlay-text{max-width:620px;text-align:center;color:#163a52;font-weight:800;font-size:13px;line-height:1.35;background:#f6fcffe6;border:1px solid rgba(22,58,82,.22);border-radius:10px;padding:10px 12px}.me-year-admin-actions{grid-column:1 / -1;margin-top:10px;padding:0 6px 4px;position:relative;z-index:3}.me-admin-attach-panel{border:1px solid rgba(25,65,89,.18);border-radius:10px;background:#fcffffe6;padding:10px;display:grid;gap:8px}.me-admin-attach-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#17384f;font-size:13px}.me-admin-attach-hint{color:#34586e;font-size:12px;line-height:1.35}.me-admin-attach-grid{display:grid;gap:10px}.me-admin-attach-block{display:grid;gap:8px;border:1px solid rgba(25,65,89,.12);border-radius:8px;padding:10px;background:#fffc}.me-admin-attach-block-title{color:#11334a;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.me-admin-attach-input{width:100%;box-sizing:border-box;border:1px solid rgba(16,95,132,.22);border-radius:8px;background:#fffffff2;padding:8px 10px;color:#0c3557;font-size:13px}.me-admin-attach-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.me-admin-attach-dates label{display:grid;gap:4px;color:#244a63;font-size:12px;font-weight:700}.me-admin-attach-inline-msg{color:#35556b;font-size:12px;font-weight:600;line-height:1.35}.me-admin-attach-error{color:#902b2b}.me-admin-attach-success{color:#0b6f56}@media(max-width:900px){.me-admin-attach-dates{grid-template-columns:1fr}.me-admin-attach-panel-head{align-items:flex-start;flex-direction:column}}.me-admin-close-meta{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.me-admin-close-pill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 8px;background:#d94f4ff2;color:#fff;font-size:11px;font-weight:900;letter-spacing:.05em}.me-viewer-backdrop{position:fixed;inset:0;z-index:2000;background:#071f3094;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;padding:14px}.me-viewer-modal{width:min(96vw,1680px);max-height:96vh;display:grid;grid-template-rows:auto 1fr;gap:10px;border-radius:14px;border:1px solid rgba(16,95,132,.24);background:#f8fcfffa;box-shadow:0 20px 55px #07243a57;padding:12px}.me-viewer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.me-viewer-title-wrap{display:grid;gap:2px}.me-viewer-title{margin:0;font-size:18px;color:#153f61}.me-viewer-subtitle{font-size:12px;color:#3a6078;font-weight:600}.me-viewer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.me-viewer-page-indicator{font-size:12px;font-weight:800;color:#204f70}.me-viewer-content{min-height:0;height:100%;border-radius:10px;overflow:hidden;background:#fff;border:1px solid rgba(16,95,132,.16);display:grid;place-items:stretch}.me-viewer-iframe{width:100%;height:100%;min-height:84vh;border:0;background:#fff}.me-viewer-image{width:100%;height:100%;max-height:88vh;object-fit:contain;background:#fff}.me-viewer-fallback{display:grid;place-items:center;gap:10px;padding:30px 20px;text-align:center;color:#2a536e}@media(max-width:700px){.me-viewer-modal{max-height:97vh}.me-viewer-iframe{min-height:74vh}}.me-delete-modal-list{margin:6px 0 14px;padding-left:20px;display:grid;gap:4px}.tour-root{position:fixed;inset:0;z-index:1200;pointer-events:none}.tour-block{position:absolute;background:#0009;pointer-events:auto}.tour-highlight{position:absolute;border:2px solid #42b5ff;border-radius:6px;pointer-events:none}.tour-panel{position:absolute;transform:translateY(calc(100% + 10px));min-width:280px;max-width:420px;background:#101215;border:1px solid #2b2e36;border-radius:8px;padding:12px;color:#e6e8eb;pointer-events:auto}.tour-title{font-weight:600;margin-bottom:4px}.tour-desc{font-size:13px;opacity:.9}.tour-steps{font-size:12px;opacity:.7;margin-top:6px}.tour-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.tour-btn{background:#2b2e36;color:#fff;border:none;padding:6px 10px;border-radius:6px;cursor:pointer}.tour-btn.primary{background:#2563eb}.tour-btn:disabled{opacity:.4;cursor:default}:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.toast-simple{cursor:pointer!important;transition:background-color .2s ease}.toast-simple:hover{background-color:#fffffff2}.toast-with-buttons{width:fit-content!important;min-width:200px!important;max-width:300px!important}.Toastify__progress-bar{background:#e06c75!important}.Toastify__toast-icon{display:inline-block!important}
