@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap);*,:after,:before{box-sizing:border-box;outline:none;word-wrap:break-word}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}iframe{border:3px solid var(--border-color);height:100%;overflow:auto;width:100%}article,aside,body,figcaption,figure,footer,header,hgroup,iframe,main,nav,section{margin:0;padding:0}body{background-color:var(--color-bg);color:var(--foreground);font-family:Nunito Sans,Helvetica,Arial,sans-serif;font-size:.9rem;text-align:left}[tabindex="-1"]:focus{outline:0!important}hr{border:none;border-bottom:1px solid var(--border-color);box-sizing:border-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{font-family:Montserrat,Arial,Helvetica,sans-serif;font-weight:400;margin-bottom:.6rem}h1,h2,h3,h4,h5,h6,p{display:block;margin-top:0}p{line-height:1.4rem;margin-bottom:.5rem;word-wrap:break-word}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;text-decoration-skip-ink:none;text-decoration-style:dotted}address{font-style:normal;line-height:1.15rem}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{line-height:1.4rem;margin-top:0}ol ol,ol ul,ul ol,ul ul{line-height:1.4rem;margin-bottom:0}dd{line-height:1.4rem;margin-bottom:.5rem;margin-left:0}blockquote{line-height:1.15rem;margin:0 0 1rem}sub,sup{line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{background-color:transparent;color:#007bcc;text-decoration:.05em solid #007bcc}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre{margin-bottom:1rem;margin-top:0;overflow:auto}figure{margin:0 0 1rem}img{border-style:none;max-width:100%}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-color:transparent;border-spacing:1px}caption{caption-side:bottom;padding-bottom:2px;padding-top:2px;text-align:left}th{text-align:inherit}label{display:inline-block}button{border:none;border-radius:0;cursor:pointer}button:focus{outline:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0;outline:none}button,input{overflow:visible}button,select{text-transform:none}select,textarea{word-wrap:break-word}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:inline-block;font-size:1.2rem;line-height:inherit;margin-bottom:.2rem;max-width:100%;padding:0;white-space:normal;width:auto}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}:root{--red:#e74c3c;--blue-bootstrap:var(--color-primary);--blue-bootstrap-d5:#006780;--background-d5:color-mix(in srgb,var(--background),#000 5%);--background-l5:color-mix(in srgb,var(--background),#fff 5%);--foreground-d5:color-mix(in srgb,var(--foreground),#000 5%);--foreground-l5:color-mix(in srgb,var(--foreground),#fff 5%);--border-color-d5:color-mix(in srgb,var(--border-color),#000 5%);--border-color-l5:color-mix(in srgb,var(--border-color),#fff 5%);--primary-d5:color-mix(in srgb,var(--primary),#000 5%);--primary-l5:color-mix(in srgb,var(--primary),#fff 5%);--blue-bootstrap-d10:#005266;--background-d10:color-mix(in srgb,var(--background),#000 10%);--background-l10:color-mix(in srgb,var(--background),#fff 10%);--foreground-d10:color-mix(in srgb,var(--foreground),#000 10%);--foreground-l10:color-mix(in srgb,var(--foreground),#fff 10%);--border-color-d10:color-mix(in srgb,var(--border-color),#000 10%);--border-color-l10:color-mix(in srgb,var(--border-color),#fff 10%);--primary-d10:color-mix(in srgb,var(--primary),#000 10%);--primary-l10:color-mix(in srgb,var(--primary),#fff 10%);--blue-bootstrap-d15:#003e4d;--background-d15:color-mix(in srgb,var(--background),#000 15%);--background-l15:color-mix(in srgb,var(--background),#fff 15%);--foreground-d15:color-mix(in srgb,var(--foreground),#000 15%);--foreground-l15:color-mix(in srgb,var(--foreground),#fff 15%);--border-color-d15:color-mix(in srgb,var(--border-color),#000 15%);--border-color-l15:color-mix(in srgb,var(--border-color),#fff 15%);--primary-d15:color-mix(in srgb,var(--primary),#000 15%);--primary-l15:color-mix(in srgb,var(--primary),#fff 15%);--blue-bootstrap-d20:#002933;--background-d20:color-mix(in srgb,var(--background),#000 20%);--background-l20:color-mix(in srgb,var(--background),#fff 20%);--foreground-d20:color-mix(in srgb,var(--foreground),#000 20%);--foreground-l20:color-mix(in srgb,var(--foreground),#fff 20%);--border-color-d20:color-mix(in srgb,var(--border-color),#000 20%);--border-color-l20:color-mix(in srgb,var(--border-color),#fff 20%);--primary-d20:color-mix(in srgb,var(--primary),#000 20%);--primary-l20:color-mix(in srgb,var(--primary),#fff 20%);--blue-bootstrap-d25:#00151a;--background-d25:color-mix(in srgb,var(--background),#000 25%);--background-l25:color-mix(in srgb,var(--background),#fff 25%);--foreground-d25:color-mix(in srgb,var(--foreground),#000 25%);--foreground-l25:color-mix(in srgb,var(--foreground),#fff 25%);--border-color-d25:color-mix(in srgb,var(--border-color),#000 25%);--border-color-l25:color-mix(in srgb,var(--border-color),#fff 25%);--primary-d25:color-mix(in srgb,var(--primary),#000 25%);--primary-l25:color-mix(in srgb,var(--primary),#fff 25%);--blue-bootstrap-d30:#000;--background-d30:color-mix(in srgb,var(--background),#000 30%);--background-l30:color-mix(in srgb,var(--background),#fff 30%);--foreground-d30:color-mix(in srgb,var(--foreground),#000 30%);--foreground-l30:color-mix(in srgb,var(--foreground),#fff 30%);--border-color-d30:color-mix(in srgb,var(--border-color),#000 30%);--border-color-l30:color-mix(in srgb,var(--border-color),#fff 30%);--primary-d30:color-mix(in srgb,var(--primary),#000 30%);--primary-l30:color-mix(in srgb,var(--primary),#fff 30%);--blue-bootstrap-d35:#000;--background-d35:color-mix(in srgb,var(--background),#000 35%);--background-l35:color-mix(in srgb,var(--background),#fff 35%);--foreground-d35:color-mix(in srgb,var(--foreground),#000 35%);--foreground-l35:color-mix(in srgb,var(--foreground),#fff 35%);--border-color-d35:color-mix(in srgb,var(--border-color),#000 35%);--border-color-l35:color-mix(in srgb,var(--border-color),#fff 35%);--primary-d35:color-mix(in srgb,var(--primary),#000 35%);--primary-l35:color-mix(in srgb,var(--primary),#fff 35%);--blue-bootstrap-d40:#000;--background-d40:color-mix(in srgb,var(--background),#000 40%);--background-l40:color-mix(in srgb,var(--background),#fff 40%);--foreground-d40:color-mix(in srgb,var(--foreground),#000 40%);--foreground-l40:color-mix(in srgb,var(--foreground),#fff 40%);--border-color-d40:color-mix(in srgb,var(--border-color),#000 40%);--border-color-l40:color-mix(in srgb,var(--border-color),#fff 40%);--primary-d40:color-mix(in srgb,var(--primary),#000 40%);--primary-l40:color-mix(in srgb,var(--primary),#fff 40%);--blue-bootstrap-d45:#000;--background-d45:color-mix(in srgb,var(--background),#000 45%);--background-l45:color-mix(in srgb,var(--background),#fff 45%);--foreground-d45:color-mix(in srgb,var(--foreground),#000 45%);--foreground-l45:color-mix(in srgb,var(--foreground),#fff 45%);--border-color-d45:color-mix(in srgb,var(--border-color),#000 45%);--border-color-l45:color-mix(in srgb,var(--border-color),#fff 45%);--primary-d45:color-mix(in srgb,var(--primary),#000 45%);--primary-l45:color-mix(in srgb,var(--primary),#fff 45%);--background:var(--color-bg);--foreground:var(--color-text);--primary:var(--color-primary)}:root,:root.light{--border-color:var(--color-border-light);--foreground-button:var(--color-text);--background-button:var(--border-color-d5);--background-button-hover:var(--border-color-d10);--border-color-table:var(--color-border)}:root.dark{--border-color:var(--color-border);--foreground-button:var(--color-text);--background-button:var(--color-bg-surface);--background-button-hover:var(--border-color);--border-color-table:var(--color-border)}:root{color-scheme:light;--color-bg:#f3f6f9;--color-bg-alt:#fff;--color-bg-surface:#f8fafc;--color-text:#0f1b2a;--color-text-alt:#4b5b6b;--color-text-on-primary:#fff;--color-text-on-secondary:#1a1a1a;--color-border:#dfe5ec;--color-border-alt:#eef2f6;--color-border-light:#e8edf2;--color-border-dark:#9aa8b6;--color-skeleton:rgba(15,27,42,.07);--color-skeleton-highlight:hsla(0,0%,100%,.65);--color-primary:#007b99;--color-primary-hover:#00657e;--color-primary-soft:rgba(0,123,153,.1);--color-accent:#e8c200;--color-focus-ring:rgba(0,123,153,.35);--color-danger:#c43d2f;--color-danger-soft:rgba(196,61,47,.1);--color-success:#3c8c43;--color-success-soft:rgba(60,140,67,.1);--color-warning:#b86e00;--color-warning-soft:rgba(184,110,0,.12);--color-info:#2f6db5;--color-info-soft:rgba(47,109,181,.1);--shadow-xs:0 1px 2px rgba(15,27,42,.05);--shadow-sm:0 1px 3px rgba(15,27,42,.08),0 1px 2px rgba(15,27,42,.05);--shadow-md:0 4px 8px rgba(15,27,42,.08),0 2px 4px rgba(15,27,42,.05);--shadow-lg:0 12px 24px rgba(15,27,42,.08),0 4px 8px rgba(15,27,42,.04);--shadow-xl:0 24px 48px rgba(15,27,42,.12),0 8px 16px rgba(15,27,42,.04);--shadow-primary:0 4px 14px 0 rgba(0,123,153,.35);--shadow-secondary:0 4px 14px 0 rgba(255,215,0,.35);--primary-50:#edfcff;--primary-100:#b8f1ff;--primary-200:#70e3ff;--primary-300:#29d5ff;--primary-400:#00b4e0;--primary-500:#007b99;--primary-600:#006982;--primary-700:#00566b;--primary-800:#004454;--primary-850:#003e4d;--primary-900:#00313d;--primary-950:#001f26;--secondary-50:#fffdf2;--secondary-100:#fff7cc;--secondary-200:#ffef99;--secondary-300:#ffe766;--secondary-400:#ffdf33;--secondary-500:gold;--secondary-600:#d9b700;--secondary-700:#b39700;--secondary-800:#8c7600;--secondary-850:#806c00;--secondary-900:#665600;--secondary-950:#403600;--error-50:#fef6f5;--error-100:#fadbd8;--error-200:#f5b7b1;--error-300:#f1948a;--error-400:#ec7063;--error-500:#e74c3c;--error-600:#dc2d1b;--error-700:#b52516;--error-800:#8f1d12;--error-850:#821b10;--error-900:#68150d;--error-950:#410d08;--success-50:#f6fbf7;--success-100:#dceede;--success-200:#baddbd;--success-300:#97cc9c;--success-400:#75bc7b;--success-500:#53aa5a;--success-600:#47914d;--success-700:#3a773f;--success-800:#2e5e32;--success-850:#2a552d;--success-900:#214424;--success-950:#152b17;--warning-50:#fffaf2;--warning-100:#ffeacc;--warning-200:#ffd599;--warning-300:#ffc166;--warning-400:#ffac33;--warning-500:#ff9700;--warning-600:#d98000;--warning-700:#b36a00;--warning-800:#8c5300;--warning-850:#804c00;--warning-900:#663c00;--warning-950:#402600;--gray-50:#f5f6f7;--gray-100:#d9dcdf;--gray-200:#b3b9bf;--gray-300:#8d969f;--gray-400:#69737d;--gray-500:#495057;--gray-600:#3a4046;--gray-700:#2c3034;--gray-750:#25282c;--gray-800:#1d2023;--gray-850:#16181a;--gray-900:#0f1011;--gray-950:#070809;--chart-series-1:#ddbf13;--chart-series-2:#007b99;--chart-series-3:#5a9a1a;--chart-series-4:#05b0a0;--chart-series-5:#aa3045;--chart-series-6:#6c5ce7;--chart-series-7:#e67e22;--chart-series-8:#7f8c8d}:root.dark{color-scheme:dark;--color-bg:#0b1117;--color-bg-alt:#111922;--color-bg-surface:#17212c;--color-text:#e3e9ef;--color-text-alt:#95a3b2;--color-text-on-primary:#04161d;--color-text-on-secondary:#1a1a1a;--color-border:#233140;--color-border-alt:#1a2531;--color-border-light:#2b3a4b;--color-border-dark:#4b5d70;--color-skeleton:hsla(0,0%,100%,.07);--color-skeleton-highlight:hsla(0,0%,100%,.07);--color-primary:#3bb4d3;--color-primary-hover:#63c6df;--color-primary-soft:rgba(59,180,211,.16);--color-accent:gold;--color-focus-ring:rgba(59,180,211,.45);--color-danger:#f0705f;--color-danger-soft:rgba(240,112,95,.16);--color-success:#6cc173;--color-success-soft:rgba(108,193,115,.16);--color-warning:#ffad3d;--color-warning-soft:rgba(255,173,61,.16);--color-info:#7eb2ee;--color-info-soft:rgba(126,178,238,.16);--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 3px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.25);--shadow-md:0 4px 8px rgba(0,0,0,.35),0 2px 4px rgba(0,0,0,.25);--shadow-lg:0 12px 24px rgba(0,0,0,.4),0 4px 8px rgba(0,0,0,.3);--shadow-xl:0 24px 48px rgba(0,0,0,.5),0 8px 16px rgba(0,0,0,.35);--shadow-primary:0 4px 14px 0 rgba(59,180,211,.25);--shadow-secondary:0 4px 14px 0 rgba(255,215,0,.25)}:root{--padding-input:10px;--border-radius-input:5px;--border-width-input:2px}.form-group{margin-bottom:16px;width:100%}.form-group .text-label,.form-group>label{display:block;font-weight:700;overflow:hidden;padding-bottom:4px;width:100%}table{background:var(--color-bg);border:none;border-collapse:collapse;color:var(--color-text);margin:0;text-align:left;width:100%}table td,table th{border:1px solid var(--color-border);padding:8px;vertical-align:top}table thead th{border-bottom:2px solid var(--border-color-table);font-size:1.1em;padding:12px;vertical-align:top}table tbody,table tfoot,table thead{width:100%}table tbody+tbody{border-top:2px solid var(--border-color-table)}table tfoot td,table tfoot th{border-top:var(--border-width-x2) solid var(--border-color-table)}ol.default-list,ul.default-list{list-style-type:none;padding:0}ol.default-list li,ul.default-list li{margin:0;padding:5px 0}.text-normal{font-style:normal;font-weight:400}.text-black{color:#000!important}.text-red{color:#e74c3c!important}.text-blue{color:#007b99}.text-green{color:#53aa5a}.text-center{text-align:center!important}.text-primary{color:#007b99}.text-xs{font-size:.8em}.line-through{text-decoration:line-through}.text-underline{text-decoration:underline}.text-left{text-align:left}.text-right{text-align:right}.text-italic{font-style:italic}.badge,.text-bold{font-weight:700}.badge{background-color:#007b99;border-radius:20px;box-shadow:0 2px 5px rgba(0,0,0,.1);color:#fff;display:inline-block;font-size:12px;margin:0 5px 5px 0;padding:5px 10px;text-align:center;text-transform:capitalize;transition:background-color .3s ease,transform .2s ease}.badge:hover{background-color:#00a4cc;transform:scale(1.05)}.badge-success{background-color:#d4edda;color:#155724}.badge-warning{background-color:#fff3cd;color:#856404}.badge-error{background-color:#fff;color:#e74c3c}:root{--padding-button:0.8rem 1.5rem;--border-radius-button:6px}.btn,button{align-items:center;background:var(--background-button);border:2px solid transparent;border-radius:8px;box-shadow:0 0 5px rgba(0,0,0,.1);color:var(--foreground-button);display:inline-block;font-size:14px;font-weight:700;justify-content:center;padding:12px 16px;text-align:center;text-decoration:none;transition:background-color .2s linear;-moz-transition:background-color .2s linear;-webkit-transition:background-color .2s linear;-o-transition:background-color .2s linear}.btn:disabled,button:disabled{cursor:wait;opacity:.6}.btn:hover,button:hover{background:var(--background-button-hover)}.btn:focus-visible,button:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.toast-container{display:flex;flex-direction:column;gap:12px;max-width:400px;position:fixed;right:16px;top:60px;width:100%;z-index:1080}@media(max-width:768px){.toast-container{left:16px;max-width:none;right:16px;top:16px}}.toast{align-items:flex-start;animation:toastSlideIn .3s ease-out;background:var(--color-bg-surface);border-left:4px solid transparent;border-radius:12px;box-shadow:var(--shadow-lg);display:flex;overflow:hidden;padding:16px;position:relative}.toast:before{animation:toastProgress linear;background:currentColor;bottom:0;content:"";height:3px;left:0;opacity:.3;position:absolute;width:100%}@keyframes toastSlideIn{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toastProgress{0%{width:100%}to{width:0}}.toast--success{border-left-color:#53aa5a;color:#53aa5a}.toast--success .toast__icon{background:rgba(83,170,90,.1)}.toast--error{border-left-color:#e74c3c;color:#e74c3c}.toast--error .toast__icon{background:rgba(231,76,60,.1)}.toast--warning{border-left-color:#ff9700;color:#ff9700}.toast--warning .toast__icon{background:rgba(255,151,0,.1)}.toast--info{border-left-color:#007b99;color:#007b99}.toast--info .toast__icon{background:rgba(0,123,153,.1)}.toast__icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:24px;justify-content:center;margin-right:12px;width:24px}.toast__content{flex:1;min-width:0}.toast__title{color:var(--color-text);font-weight:600;margin:0 0 8px}.toast__message,.toast__title{font-size:.875rem;line-height:1.4}.toast__message{color:var(--color-text-alt);margin:0;word-wrap:break-word}.toast__close{align-items:center;background:none;border:none;border-radius:5px;color:var(--color-text-alt);cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:20px;justify-content:center;margin-left:12px;padding:0;transition:all .15s cubic-bezier(.4,0,.2,1);width:20px}.toast__close:hover{background:var(--color-border);color:var(--color-text)}.toast__close:focus{outline:2px solid #007b99;outline-offset:1px}@media(max-width:768px){.toast{padding:12px}.toast__icon{height:20px;width:20px}.toast__icon,.toast__message,.toast__title{font-size:.75rem}.toast__close{font-size:1rem;height:18px;width:18px}}.toast-exit{animation:toastSlideOut .3s ease-in forwards}@keyframes toastSlideOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.skeleton{animation:skeleton-shimmer 1.6s ease-in-out infinite;background-color:var(--color-skeleton);background-image:linear-gradient(100deg,transparent 30%,var(--color-skeleton-highlight) 50%,transparent 70%);background-repeat:no-repeat;background-size:200% 100%;border-radius:5px;display:block;flex-shrink:0;height:var(--skeleton-height,.875rem);max-width:100%;width:var(--skeleton-width,100%)}.skeleton--rect{border-radius:8px;height:var(--skeleton-height,2.5rem)}.skeleton--circle{aspect-ratio:1;border-radius:50%;height:var(--skeleton-height,var(--skeleton-width,2.5rem));width:var(--skeleton-width,2.5rem)}.skeleton--pill{border-radius:999px;height:var(--skeleton-height,1.375rem);width:var(--skeleton-width,4.5rem)}@keyframes skeleton-shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none;background-image:none}}.skeleton-region__label{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.text-skeleton{display:flex;flex-direction:column;gap:8px}.header-skeleton{align-items:flex-start;display:flex;gap:16px}@media only screen and (max-width:768px){.header-skeleton{flex-wrap:wrap}}.header-skeleton__heading{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}.header-skeleton__title{align-items:center;display:flex;gap:12px}.header-skeleton__actions{display:flex;flex-shrink:0;gap:8px}.screen-panel-skeleton{min-width:0}.screen-panel-skeleton--padded{padding:16px 24px 24px}@media only screen and (max-width:992px){.screen-panel-skeleton--padded{padding:16px}}.screen-panel-skeleton__card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;min-width:0}.screen-panel-skeleton__header{border-bottom:1px solid var(--color-border);padding:12px 16px}.screen-panel-skeleton__body{display:flex;flex-direction:column;gap:16px;padding:16px}.screen-heading-skeleton{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.screen-heading-skeleton__text{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;min-width:0}.key-figures-skeleton{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.key-figures-skeleton__item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-border-dark);border-radius:8px;display:flex;flex-direction:column;gap:4px;min-height:3.75rem;padding:8px 12px}.table-skeleton{display:flex;flex-direction:column;min-width:0}.table-skeleton--framed{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs);overflow:hidden}.table-skeleton__toolbar{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}.table-skeleton__heading{flex:1 1 12rem}.table-skeleton__grid{display:grid;grid-template-columns:var(--table-skeleton-template)}@media only screen and (max-width:768px){.table-skeleton__grid{grid-template-columns:var(--table-skeleton-mobile-template)}}.table-skeleton__cell,.table-skeleton__header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;padding:8px 12px}.table-skeleton__header{background:var(--color-bg-alt);min-height:2rem}.table-skeleton__cell{min-height:2.5rem}@media only screen and (max-width:768px){.table-skeleton__cell--secondary{display:none}}.table-skeleton__footer{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:12px 16px}.table-skeleton__pages{display:flex;gap:4px}.list-skeleton{display:flex;flex-direction:column}.list-skeleton--framed{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.list-skeleton__row{align-items:center;border-bottom:1px solid var(--color-border-alt);display:flex;gap:12px;min-height:3.25rem;padding:8px 16px}.list-skeleton__row:last-child{border-bottom:none}.list-skeleton__text{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.card-skeleton{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.card-skeleton__header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:4px}.card-skeleton__footer{border-top:1px solid var(--color-border-alt);display:flex;justify-content:flex-end;padding-top:8px}.card-skeleton-grid__items{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--card-skeleton-min-width)),1fr))}.chart-skeleton{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.chart-skeleton__ring{--skeleton-width:min(100%,220px);mask:radial-gradient(circle,transparent 54%,#000 55%)}.chart-skeleton__legend{display:flex;flex:1;flex-direction:column;gap:12px;min-width:12rem}.chart-skeleton__legend-item{align-items:center;display:flex;gap:8px}.chart-skeleton--bar{align-items:stretch;flex-direction:column;gap:12px}.chart-skeleton__bar-row{align-items:center;display:grid;gap:12px;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr) 3rem}.field-skeleton{display:flex;flex-direction:column;gap:8px;min-width:0}.field-skeleton__control{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;padding:0 12px}.field-skeleton__control--sm{border-radius:5px;height:32px}.field-skeleton__control--md{height:38px}.field-skeleton__control--lg{height:44px}.field-skeleton__control--multiline{align-items:flex-start;height:76px;padding-top:12px}.form-skeleton{display:flex;flex-direction:column;gap:24px}.form-skeleton--framed{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;padding:24px}@media only screen and (max-width:768px){.form-skeleton--framed{padding:16px}}.form-skeleton__section{display:flex;flex-direction:column;gap:16px}.form-skeleton__fields{display:grid;gap:16px;grid-template-columns:repeat(var(--form-skeleton-columns),minmax(0,1fr))}@media only screen and (max-width:768px){.form-skeleton__fields{grid-template-columns:minmax(0,1fr)}}.form-skeleton__actions{display:flex;gap:8px;justify-content:flex-end}.tabs-skeleton{display:flex;flex-direction:column;gap:16px}.tabs-skeleton__list{border-bottom:1px solid var(--color-border);display:flex;gap:8px;overflow:hidden}.tabs-skeleton__tab{align-items:center;border-bottom:2px solid transparent;display:flex;min-height:2.5rem;padding:8px 12px}.tabs-skeleton__tab--active{border-bottom-color:var(--color-border-dark)}.description-list-skeleton{display:flex;flex-direction:column}.description-list-skeleton__row{align-items:center;border-bottom:1px solid var(--color-border-alt);display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);min-height:2.25rem}.description-list-skeleton__row:last-child{border-bottom:none}.timetable-skeleton{display:flex;flex-direction:column;gap:24px}.timetable-skeleton__header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.timetable-skeleton__navigation{display:flex;gap:8px}.timetable-skeleton__section{display:flex;flex-direction:column;gap:12px}.menu-skeleton{display:flex;flex-direction:column;gap:2px}.menu-skeleton__item{align-items:center;display:flex;gap:12px;min-height:2rem;padding:4px 8px}.progress-indicator{display:flex;flex-direction:column;gap:4px;width:100%}.progress-indicator__track{background:var(--color-primary-soft);border-radius:2px;display:block;height:3px;overflow:hidden;position:relative}.progress-indicator__bar{animation:progress-indicator-slide 1.4s ease-in-out infinite;background:var(--color-primary);border-radius:2px;inset:0 auto 0 0;position:absolute;width:35%}.progress-indicator__label{color:var(--color-text-alt);font-size:.875rem}@keyframes progress-indicator-slide{0%{transform:translateX(-100%)}to{transform:translateX(300%)}}@media(prefers-reduced-motion:reduce){.progress-indicator__bar{animation:none;opacity:.6;width:100%}}.dashboard-skeleton{display:flex;flex-direction:column;gap:16px}.dashboard-skeleton--padded{padding:16px 24px 24px}@media only screen and (max-width:992px){.dashboard-skeleton--padded{padding:16px}}.dashboard-skeleton__section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.table-page-skeleton{display:flex;flex-direction:column;gap:16px}.table-page-skeleton--padded{padding:16px 24px 24px}@media only screen and (max-width:992px){.table-page-skeleton--padded{padding:16px}}.record-skeleton{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}.record-skeleton--padded{padding:16px 24px 24px}@media only screen and (max-width:992px){.record-skeleton--padded{padding:16px}}.record-skeleton--with-aside{grid-template-columns:minmax(0,1fr) 20rem}@media only screen and (max-width:1200px){.record-skeleton--with-aside{grid-template-columns:minmax(0,1fr)}}.record-skeleton__main{display:flex;flex-direction:column;gap:16px;min-width:0}.record-skeleton__aside{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}@media only screen and (max-width:1200px){.record-skeleton__aside{display:none}}.form-page-skeleton{display:flex;flex-direction:column;gap:16px}.form-page-skeleton--padded{padding:16px 24px 24px}@media only screen and (max-width:992px){.form-page-skeleton--padded{padding:16px}}.form-page-skeleton--auth,.form-page-skeleton--standalone{align-items:center;justify-content:center;min-height:100vh;padding:24px 16px}.form-page-skeleton__card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:24px;max-width:26rem;padding:32px 24px;width:100%}.form-page-skeleton--standalone .form-page-skeleton__card{max-width:56rem}.form-page-skeleton__brand{align-items:center;display:flex;flex-direction:column;gap:8px}.app-shell-skeleton{background:var(--color-bg);inset:0;position:fixed}.app-shell-skeleton__header{align-items:center;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);display:flex;gap:12px;height:48px;left:0;padding:0 16px;position:absolute;right:0;top:0}.app-shell-skeleton__header>:last-child{margin-left:auto}@media screen and (min-width:1200px){.app-shell-skeleton__header{display:none}}.app-shell-skeleton__sidebar{background:var(--color-bg-alt);border-right:1px solid var(--color-border);bottom:0;display:none;flex-direction:column;gap:12px;left:0;padding:12px 16px;position:absolute;top:0;width:340px}@media screen and (min-width:1200px){.app-shell-skeleton__sidebar{display:flex}}.app-shell-skeleton__zone{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:8px}.app-shell-skeleton__account{align-items:center;display:flex;gap:12px;padding:4px}.app-shell-skeleton__account-text{display:flex;flex:1;flex-direction:column;gap:4px}.app-shell-skeleton__main{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:56px}@media screen and (min-width:1200px){.app-shell-skeleton__main{left:340px;top:0}}.alert{--alert-color:var(--color-info);--alert-background:var(--color-info-soft);background:var(--alert-background);border:1px solid color-mix(in srgb,var(--alert-color) 30%,transparent);border-left:4px solid var(--alert-color);border-radius:8px;color:var(--color-text);display:flex;flex-direction:column;font-size:.875rem;gap:4px;padding:12px 16px}.alert--error{--alert-color:var(--color-danger);--alert-background:var(--color-danger-soft)}.alert--warning{--alert-color:var(--color-warning);--alert-background:var(--color-warning-soft)}.alert--success{--alert-color:var(--color-success);--alert-background:var(--color-success-soft)}.alert__title{color:var(--alert-color);font-weight:600}.alert__icon{vertical-align:-.125em}.alert ol,.alert p,.alert ul{margin:0}.alert ol,.alert ul{padding-left:24px}.picture{border-radius:8px;display:inline-block;flex:none;height:var(--picture-size);object-fit:cover;overflow:hidden;width:var(--picture-size)}.picture--circle{border-radius:50%}.rich-text{color:var(--color-text);line-height:1.6;overflow-wrap:anywhere}.rich-text h2,.rich-text h3{font-weight:600;line-height:1.3;margin:16px 0 8px}.rich-text h2{font-size:1.25rem}.rich-text h3{font-size:1rem}.rich-text ol,.rich-text p,.rich-text ul{margin:0 0 12px}.rich-text ol,.rich-text ul{padding-left:24px}.rich-text li+li{margin-top:4px}.rich-text mark{background:var(--color-focus-ring);border-radius:5px;color:var(--color-primary);font-weight:600;padding:0 2px}.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}@keyframes button-spin{to{transform:rotate(1turn)}}.button{--button-color:var(--color-primary);--button-hover:color-mix(in srgb,var(--button-color) 85%,var(--color-text));--button-soft:var(--color-primary-soft);--button-text:var(--color-text-on-primary);--button-border:var(--button-color);--button-background:var(--button-color);--button-background-hover:var(--button-hover);--button-height:38px;--button-padding:16px;--button-font-size:0.875rem;--button-icon-size:1.25rem;--button-radius:8px;align-items:center;border:1px solid var(--button-border);border-radius:var(--button-radius);box-shadow:var(--shadow-xs);cursor:pointer;display:inline-flex;font:inherit;font-size:var(--button-font-size);font-weight:600;justify-content:center;line-height:1.2;margin:0;max-width:100%;min-height:var(--button-height);padding:0 var(--button-padding);position:relative;text-align:center;text-decoration:none;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);user-select:none;vertical-align:middle;white-space:nowrap}.button,.button:hover{background:var(--button-background);color:var(--button-text)}.button:hover:not(:disabled,.button--disabled){--button-background:var(--button-background-hover)}.button:active:not(:disabled,.button--disabled){transform:translateY(1px)}.button:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.button--disabled,.button:disabled{box-shadow:none;cursor:not-allowed;opacity:.55}.button__content{align-items:center;display:inline-flex;gap:8px;justify-content:center;min-width:0;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.button__icon{display:inline-flex;flex-shrink:0;font-size:var(--button-icon-size)}.button__text{overflow:hidden;text-overflow:ellipsis}.button__spinner{animation:button-spin .7s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid transparent;height:calc(var(--button-icon-size)*.9);inset:0;margin:auto;position:absolute;width:calc(var(--button-icon-size)*.9)}.button--primary{--button-color:var(--color-primary);--button-soft:var(--color-primary-soft);--button-hover:var(--color-primary-hover)}.button--success{--button-color:var(--color-success);--button-soft:var(--color-success-soft)}.button--info{--button-color:var(--color-info);--button-soft:var(--color-info-soft)}.button--warning{--button-color:var(--color-warning);--button-soft:var(--color-warning-soft)}.button--danger{--button-color:var(--color-danger);--button-soft:var(--color-danger-soft)}.button--secondary{--button-color:var(--color-text);--button-soft:var(--color-bg-alt);--button-text:var(--color-text);--button-border:var(--color-border);--button-background:var(--color-bg-surface);--button-background-hover:var(--color-bg-alt)}.button--ghost{--button-color:var(--color-text);--button-soft:var(--color-bg-alt);--button-text:var(--color-text);--button-border:transparent;--button-background:transparent;--button-background-hover:var(--color-bg-alt);box-shadow:none}.button--outlined{--button-text:var(--button-color);--button-background:transparent;--button-background-hover:var(--button-soft);box-shadow:none}.button--ghost.button--outlined{--button-border:var(--color-border)}.button--sm{--button-height:32px;--button-padding:12px;--button-font-size:0.8125rem;--button-icon-size:1.125rem;--button-radius:5px}.button--md{--button-height:38px;--button-padding:16px;--button-font-size:0.875rem;--button-icon-size:1.25rem;--button-radius:8px}.button--lg{--button-height:44px;--button-padding:20px;--button-font-size:1rem;--button-icon-size:1.375rem;--button-radius:8px}.button--xl{--button-height:52px;--button-padding:24px;--button-font-size:1.125rem;--button-icon-size:1.625rem;--button-radius:12px}.button--icon-only{border-radius:50%;padding:0;width:var(--button-height)}.button--block{display:flex;width:100%}.button--loading{cursor:progress}.button--loading.button--disabled,.button--loading:disabled{cursor:progress;opacity:.85}.button--loading .button__content{opacity:0}@media screen and (max-width:576px){.button--lg{--button-height:38px;--button-padding:16px;--button-font-size:0.875rem;--button-icon-size:1.25rem;--button-radius:8px}.button--xl{--button-height:44px;--button-padding:20px;--button-font-size:1rem;--button-icon-size:1.375rem;--button-radius:8px}}@media(pointer:coarse){.button--sm{--button-height:40px}}@media(prefers-reduced-motion:reduce){.button{transition:none}.button__spinner{animation-duration:1.6s}}.button-group{display:inline-flex;max-width:100%}.button-group>.button{border-radius:0;box-shadow:none}.button-group>.button:not(:first-child){margin-left:-1px}.button-group>.button:first-child{border-bottom-left-radius:var(--button-radius);border-top-left-radius:var(--button-radius)}.button-group>.button:last-child{border-bottom-right-radius:var(--button-radius);border-top-right-radius:var(--button-radius)}.button-group>.button:focus-visible{position:relative;z-index:1}.button-group--block{display:flex;width:100%}.button-group--block>.button{flex:1 1 0}.field{--field-border:var(--color-border-dark);--field-border-hover:var(--color-text-alt);--field-border-focus:var(--color-primary);--field-ring:var(--color-focus-ring);--field-icon-color:var(--color-text-alt);--field-height:38px;--field-padding:12px;--field-font-size:0.875rem;--field-icon-size:1.25rem;--field-radius:8px;display:flex;flex-direction:column;gap:4px;min-width:0}.field__label{color:var(--color-text);display:inline-flex;font-size:var(--field-font-size);font-weight:600;gap:2px;line-height:1.3}.field__required{color:var(--color-danger)}.field__control{align-items:center;background:var(--color-bg-surface);border:1px solid var(--field-border);border-radius:var(--field-radius);color:var(--color-text);display:flex;gap:8px;min-height:var(--field-height);padding:0 var(--field-padding);position:relative;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1)}.field__control:hover{border-color:var(--field-border-hover)}.field__control:focus-within{border-color:var(--field-border-focus);box-shadow:0 0 0 3px var(--field-ring)}.field__control:focus-within .field__icon{color:var(--field-border-focus)}.field__icon{color:var(--field-icon-color);display:inline-flex;flex-shrink:0;font-size:var(--field-icon-size);transition:color .15s cubic-bezier(.4,0,.2,1)}.field__input{appearance:none;background:transparent;border:none;border-radius:0;box-shadow:none;color:inherit;flex:1;font:inherit;font-size:var(--field-font-size);font-weight:400;height:calc(var(--field-height) - 2px);margin:0;min-width:0;outline:none;padding:0;width:100%}.field__input::placeholder{color:var(--color-text-alt);opacity:.8}.field__input:disabled{cursor:not-allowed}.field__input--multiline{height:auto;line-height:1.45;min-height:calc(var(--field-height)*2);padding:calc(var(--field-padding)*.66) 0;resize:vertical}.field__input--fixed{resize:none}.field__action{align-items:center;background:transparent;border:none;border-radius:var(--field-radius);box-shadow:none;color:var(--field-icon-color);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--field-icon-size);height:calc(var(--field-height) - 10px);justify-content:center;margin:0 calc(var(--field-padding)*-.5) 0 0;padding:0;width:calc(var(--field-height) - 10px)}.field__action:hover{background:var(--color-primary-soft);color:var(--color-primary)}.field__action:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.field__action:disabled{cursor:not-allowed;opacity:.5}.field__message{color:var(--color-text-alt);font-size:.75rem;line-height:1.4;margin:0}.field__message--error{color:var(--color-danger);font-weight:600}.field--sm{--field-height:32px;--field-padding:8px;--field-font-size:0.8125rem;--field-icon-size:1.125rem;--field-radius:5px}.field--md{--field-height:38px;--field-padding:12px;--field-font-size:0.875rem;--field-icon-size:1.25rem;--field-radius:8px}.field--lg{--field-height:44px;--field-padding:16px;--field-font-size:1rem;--field-icon-size:1.375rem;--field-radius:8px}.field--labeled{margin-bottom:16px}.field--multiline .field__control{align-items:flex-start}.field--multiline .field__icon{padding-top:calc(var(--field-padding)*.66)}.field--error{--field-border:var(--color-danger);--field-border-hover:var(--color-danger);--field-border-focus:var(--color-danger);--field-ring:var(--color-danger-soft);--field-icon-color:var(--color-danger)}.field--valid{--field-border:var(--color-success);--field-border-hover:var(--color-success);--field-border-focus:var(--color-success);--field-ring:var(--color-success-soft)}.field--disabled .field__control{background:var(--color-bg);border-color:var(--color-border);color:var(--color-text-alt);cursor:not-allowed;opacity:.7}@media(pointer:coarse){.field--sm{--field-height:40px}}.select{cursor:pointer}.select__trigger{align-items:center;border:none;border-radius:0;box-shadow:none;color:inherit;cursor:inherit;display:flex;flex:1;font:inherit;font-size:var(--field-font-size);font-weight:400;justify-content:flex-start;margin:0;min-height:calc(var(--field-height) - 2px);min-width:0;outline:none;padding:0;text-align:left}.select__trigger,.select__trigger:hover{background:transparent}.select__trigger:focus-visible{box-shadow:none}.select__trigger:disabled{cursor:not-allowed;opacity:1}.select__placeholder,.select__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select__placeholder{color:var(--color-text-alt);opacity:.8}.select__chips{display:flex;flex-wrap:wrap;gap:4px;min-width:0;padding:3px 0}.select__chip{background:var(--color-primary-soft);border-radius:5px;color:var(--color-primary);font-size:.85em;font-weight:600;line-height:1.5;max-width:100%;overflow:hidden;padding:1px 8px;text-overflow:ellipsis;white-space:nowrap}.select__chip--more{background:var(--color-bg-alt);color:var(--color-text-alt)}.select__chevron{cursor:pointer;transition:transform .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.select--open .select__chevron{transform:rotate(180deg)}.select__native{border:0;bottom:0;height:1px;left:50%;opacity:0;padding:0;pointer-events:none;position:absolute;width:1px}.select__popup{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-lg);color:var(--color-text);display:flex;flex-direction:column;font-size:.875rem;overflow:hidden;position:fixed;z-index:1060}.select__popup--sm{font-size:.8125rem}.select__popup--lg{font-size:1rem}.select__search{align-items:center;border-bottom:1px solid var(--color-border);color:var(--color-text-alt);display:flex;flex-shrink:0;font-size:1.15em;gap:8px;padding:8px 12px}.select__search-input{appearance:none;background:transparent;border:none;color:var(--color-text);flex:1;font:inherit;font-size:.87em;min-width:0;outline:none;padding:4px 0}.select__listbox{flex:1;list-style:none;margin:0;overflow-y:auto;overscroll-behavior:contain;padding:4px}.select__group{list-style:none;margin:0;padding:0}.select__group-label{color:var(--color-text-alt);font-size:.8em;font-weight:600;letter-spacing:.02em;padding:8px 12px 4px;text-transform:uppercase}.select__option{align-items:center;border-radius:5px;cursor:pointer;display:flex;gap:8px;padding:8px 12px;user-select:none}.select__option--active{background:var(--color-bg-alt)}.select__option--selected{color:var(--color-primary);font-weight:600}.select__option--selected.select__option--active{background:var(--color-primary-soft)}.select__option--disabled{cursor:not-allowed;opacity:.5}.select__option-text{display:flex;flex:1;flex-direction:column;min-width:0}.select__option-description{color:var(--color-text-alt);font-size:.85em;font-weight:400}.select__check{flex-shrink:0;font-size:1.15em}.select__empty{color:var(--color-text-alt);padding:12px;text-align:center}.switch{display:flex;flex-direction:column;gap:4px}.switch__label{color:var(--color-text);font-weight:500}.switch__label--hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.switch__control{align-items:center;display:flex;gap:12px}.switch__track{background:var(--color-bg-alt);border:1px solid var(--color-border-dark);border-radius:12px;cursor:pointer;flex:none;height:24px;margin:0;padding:0;position:relative;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);width:44px}.switch__track:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.switch__track:disabled{cursor:not-allowed;opacity:.6}.switch__track:hover{background:var(--color-bg-alt)}.switch__track--on,.switch__track--on:hover{background:var(--color-primary);border-color:var(--color-primary)}.switch__track--busy{cursor:progress;opacity:.6}.switch__thumb{background:var(--color-border-dark);border-radius:50%;box-shadow:var(--shadow-xs);height:18px;left:2px;position:absolute;top:2px;transition:transform .15s cubic-bezier(.4,0,.2,1);width:18px}.switch__track--on .switch__thumb{background:var(--color-text-on-primary);transform:translateX(20px)}.switch__state{color:var(--color-text-alt);font-size:.875rem}.switch__error{color:var(--color-danger);font-size:.875rem;margin:0}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-group--inline{flex-direction:row;flex-wrap:wrap}.radio-group--inline .radio-group__option{flex:1 1 8rem}.radio-group__option{align-items:flex-start;background:var(--color-bg-surface);border:1px solid var(--color-border-dark);border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;gap:8px;min-height:44px;padding:8px 12px;position:relative;transition:border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1)}.radio-group__option:hover{border-color:var(--color-text-alt)}.radio-group__option:has(.radio-group__input:focus-visible){border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.radio-group__option--checked,.radio-group__option--checked:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.radio-group__option--disabled{cursor:not-allowed;opacity:.6}.radio-group__input{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.radio-group__mark{background:var(--color-bg-surface);border:2px solid var(--color-border-dark);border-radius:50%;flex:none;height:18px;margin-top:2px;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);width:18px}.radio-group__option--checked .radio-group__mark{border-color:var(--color-primary);box-shadow:inset 0 0 0 4px var(--color-primary)}.radio-group__text{display:flex;flex-direction:column;gap:2px;min-width:0}.radio-group__label{font-size:.875rem;font-weight:500;line-height:1.3}.radio-group__description{color:var(--color-text-alt);font-size:.75rem}.radio-group--error .radio-group__option{border-color:var(--color-danger)}.checkbox{align-items:flex-start;color:var(--color-text);cursor:pointer;display:inline-flex;gap:8px}.checkbox--disabled{cursor:not-allowed;opacity:.6}.checkbox__input{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.checkbox__mark{background:var(--color-bg-surface);border:2px solid var(--color-border-dark);border-radius:5px;flex:none;height:18px;margin-top:1px;position:relative;transition:border-color .15s cubic-bezier(.4,0,.2,1),background-color .15s cubic-bezier(.4,0,.2,1);width:18px}.checkbox__mark:after{content:"";opacity:0;position:absolute}.checkbox:hover .checkbox__mark{border-color:var(--color-text-alt)}.checkbox__input:focus-visible+.checkbox__mark{box-shadow:0 0 0 3px var(--color-focus-ring)}.checkbox__input:checked+.checkbox__mark,.checkbox__input:indeterminate+.checkbox__mark{background:var(--color-primary);border-color:var(--color-primary)}.checkbox__input:checked+.checkbox__mark:after{border:solid var(--color-bg-surface);border-width:0 2px 2px 0;height:9px;left:4px;opacity:1;top:1px;transform:rotate(45deg);width:5px}.checkbox__input:indeterminate+.checkbox__mark:after{border-top:2px solid var(--color-bg-surface);left:2px;opacity:1;top:6px;transform:none;width:10px}.checkbox__text{display:flex;flex-direction:column;gap:2px;min-width:0}.checkbox__text--hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.checkbox__label{font-size:.875rem;line-height:1.4}.checkbox__description{color:var(--color-text-alt);font-size:.75rem}.checkbox-group{display:flex;flex-direction:column;gap:12px}.checkbox-group__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.checkbox-group__search{flex:1 1 14rem;min-width:0}.checkbox-group__count{color:var(--color-text-alt);font-size:.875rem;font-variant-numeric:tabular-nums}.checkbox-group__group{display:flex;flex-direction:column;gap:8px}.checkbox-group__group+.checkbox-group__group{border-top:1px solid var(--color-border);padding-top:12px}.checkbox-group__group-title{font-weight:600}.checkbox-group__items{display:grid;gap:8px 16px;list-style:none;margin:0;padding:0}.checkbox-group__items--columns{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--checkbox-group-column)),1fr))}.checkbox-group__item{min-width:0}.checkbox-group__empty{color:var(--color-text-alt);font-size:.875rem;margin:0}.checkbox-group--error .checkbox-group__items{border-left:2px solid var(--color-danger);padding-left:8px}.toggle-group{display:flex;flex-wrap:wrap;gap:4px}.form-section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:16px;margin:0;min-width:0;padding:16px}.form-section--plain{background:none;border:0;padding:0}.form-section__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}@media only screen and (max-width:768px){.form-section__header{flex-direction:column}}.form-section__heading{min-width:0}.form-section__title{color:var(--color-text);font-size:1rem;font-weight:600;margin:0}.form-section__description{color:var(--color-text-alt);font-size:.875rem;margin:4px 0 0}.form-section__actions{display:flex;flex-wrap:wrap;gap:8px}.form-section__body{display:flex;flex-direction:column;gap:16px;min-width:0}.field-grid{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(var(--field-grid-columns,2),minmax(0,1fr))}.field-grid--2{--field-grid-columns:2}.field-grid--3{--field-grid-columns:3}.field-grid--4{--field-grid-columns:4}@media only screen and (max-width:992px){.field-grid--3,.field-grid--4{--field-grid-columns:2}}@media only screen and (max-width:768px){.field-grid,.field-grid--3,.field-grid--4{--field-grid-columns:1}}.form-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}@media only screen and (max-width:768px){.form-actions{align-items:stretch;flex-direction:column-reverse}}.image-cropper{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;width:100%}.image-cropper__header{align-items:center;display:flex;gap:8px;padding:8px}.image-cropper__file{display:none}.image-cropper__area{background:var(--color-bg-alt);height:350px;overflow:hidden;position:relative;width:100%}.image-cropper__controls{border-top:1px solid var(--color-border-alt);display:flex;flex-direction:column}.image-cropper__control{align-items:center;display:flex;gap:16px;padding:8px 16px}.image-cropper__control+.image-cropper__control{border-top:1px solid var(--color-border-alt)}.image-cropper__label{color:var(--color-text-alt);flex:0 0 5rem;font-size:.875rem}.image-cropper__range{accent-color:var(--color-primary);flex:1;min-width:0}.rich-text-editor__control{align-items:stretch;flex-direction:column;gap:0;padding:0}.rich-text-editor__toolbar{align-self:stretch;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);border-radius:var(--field-radius) var(--field-radius) 0 0;display:flex;flex-wrap:wrap;gap:8px;padding:4px 8px}.rich-text-editor__group{display:flex;gap:2px}.rich-text-editor__group+.rich-text-editor__group{border-left:1px solid var(--color-border);padding-left:8px}.rich-text-editor__button--active{background:var(--color-focus-ring);color:var(--color-primary)}.rich-text-editor__content{align-self:stretch;cursor:text;font-size:var(--field-font-size);max-height:60vh;min-height:12rem;outline:none;overflow-y:auto;padding:12px var(--field-padding)}.rich-text-editor__content:empty:before{color:var(--color-text-alt);content:attr(data-placeholder);pointer-events:none}.rich-text-editor__mentions{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-md,var(--shadow-sm));left:min(var(--mention-left,0px),100% - 18rem);list-style:none;margin:0;max-height:16rem;overflow-y:auto;padding:4px;position:absolute;top:var(--mention-top,100%);width:18rem;z-index:20}.rich-text-editor__mention{border-radius:5px;cursor:pointer;display:flex;flex-direction:column;padding:8px 12px}.rich-text-editor__mention--active{background:var(--color-focus-ring)}.rich-text-editor__mention-label{color:var(--color-text);font-size:.875rem}.rich-text-editor__mention-description{color:var(--color-text-alt);font-size:.75rem}@keyframes dialog-overlay-in{0%{opacity:0}}@keyframes dialog-panel-in{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes dialog-panel-slide-in{0%{transform:translateX(100%)}}@keyframes dialog-progress{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}.dialog{align-items:center;animation:dialog-overlay-in .15s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(2px);background:hsla(0,0%,7%,.6);display:flex;inset:0;justify-content:center;padding:32px;position:fixed;z-index:1050}.dialog__panel{--dialog-accent:var(--color-primary);--dialog-accent-soft:var(--color-primary-soft);animation:dialog-panel-in .3s cubic-bezier(.4,0,.2,1);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xl);color:var(--color-text);display:flex;flex-direction:column;max-height:calc(100dvh - 64px);max-width:560px;overflow:hidden;position:relative;width:100%}.dialog__panel:focus{outline:none}.dialog__panel--sm{max-width:420px}.dialog__panel--md{max-width:560px}.dialog__panel--lg{max-width:800px}.dialog__panel--xl{max-width:1120px}.dialog__panel--fullscreen{height:100%;max-width:none}.dialog__panel--info{--dialog-accent:var(--color-info);--dialog-accent-soft:var(--color-info-soft)}.dialog__panel--success{--dialog-accent:var(--color-success);--dialog-accent-soft:var(--color-success-soft)}.dialog__panel--warning{--dialog-accent:var(--color-warning);--dialog-accent-soft:var(--color-warning-soft)}.dialog__panel--danger{--dialog-accent:var(--color-danger);--dialog-accent-soft:var(--color-danger-soft)}.dialog__progress{animation:dialog-progress 1.1s ease-in-out infinite;background:var(--dialog-accent);height:3px;left:0;position:absolute;top:0;width:40%}.dialog__header{align-items:flex-start;display:flex;flex-shrink:0;gap:12px;padding:16px 16px 12px 24px}.dialog__icon{align-items:center;background:var(--dialog-accent-soft);border-radius:50%;color:var(--dialog-accent);display:inline-flex;flex-shrink:0;font-size:1.375rem;height:40px;justify-content:center;width:40px}.dialog__heading{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;padding-top:4px}.dialog__title{font-size:1.25rem;font-weight:600;line-height:1.3;margin:0;overflow-wrap:anywhere}.dialog__description{color:var(--color-text-alt);font-size:.875rem;line-height:1.5}.dialog__description p{margin:0 0 8px}.dialog__description p:last-child{margin-bottom:0}.dialog__close{flex-shrink:0;margin:-4px -4px 0 0}.dialog__form{display:flex;flex:1;flex-direction:column;min-height:0}.dialog__body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 24px 16px}.dialog__body:empty{display:none}.dialog__actions{background:var(--color-bg-alt);border-top:1px solid var(--color-border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:12px 24px}.dialog__body:empty+.dialog__actions{margin-top:8px}.dialog--end{align-items:stretch;justify-content:flex-end;padding:0}.dialog--end .dialog__panel{animation:dialog-panel-slide-in .3s cubic-bezier(.4,0,.2,1);border-radius:0;border-width:0 0 0 1px;max-height:none}@media screen and (max-width:576px){.dialog{align-items:flex-end;padding:12px}.dialog__panel{max-height:calc(100dvh - 24px);max-width:none}.dialog__header{padding:16px 12px 8px 16px}.dialog__body{padding:8px 16px 16px}.dialog__actions{flex-direction:column-reverse;padding:12px 16px}.dialog__actions>.button{width:100%}.dialog--end{align-items:stretch;padding:0}}@media(prefers-reduced-motion:reduce){.dialog,.dialog__panel{animation:none}.dialog__progress{animation-duration:3s}}.action-menu{display:inline-flex}.action-menu__trigger--open{background:var(--color-bg-alt);color:var(--color-text)}.action-menu__popup{animation:action-menu-in .15s cubic-bezier(.4,0,.2,1);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;max-width:min(320px,100vw - 16px);min-width:220px;overflow-y:auto;padding:4px;position:fixed;z-index:1060}.action-menu__separator{background:var(--color-border);flex-shrink:0;height:1px;margin:4px 0}.action-menu__item{align-items:flex-start;background:transparent;border:none;border-radius:8px;box-shadow:none;color:var(--color-text);cursor:pointer;display:flex;flex-shrink:0;font:inherit;font-size:.875rem;font-weight:500;gap:12px;justify-content:flex-start;margin:0;min-height:36px;padding:8px 12px;text-align:left;text-decoration:none;width:100%}.action-menu__item:focus-visible,.action-menu__item:hover{background:var(--color-bg-alt);color:var(--color-text);outline:none}.action-menu__item--danger,.action-menu__item--danger:focus-visible,.action-menu__item--danger:hover{color:var(--color-danger)}.action-menu__item--danger:focus-visible,.action-menu__item--danger:hover{background:var(--color-danger-soft)}.action-menu__item--disabled,.action-menu__item--disabled:hover{background:transparent;color:var(--color-text-alt);cursor:not-allowed}.action-menu__item-icon{flex-shrink:0;font-size:1.125rem;margin-top:1px;opacity:.85}.action-menu__item-text{display:flex;flex-direction:column;min-width:0}.action-menu__item-description{color:var(--color-text-alt);font-size:.75rem;font-weight:400}@keyframes action-menu-in{0%{opacity:0;transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.action-menu__popup{animation:none}}.search-bar{align-items:flex-start;display:flex;gap:8px;margin-bottom:16px}.search-bar__field{flex:1}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between;padding:12px 0;width:100%}.pagination__summary{color:var(--color-text-alt);font-size:.875rem;font-variant-numeric:tabular-nums;margin:0}.pagination__summary strong{color:var(--color-text);font-weight:600}.pagination__controls{align-items:center;display:flex;gap:4px}.pagination__pages{align-items:center;display:flex;gap:2px;list-style:none;margin:0;padding:0}.pagination__page{align-items:center;background:transparent;border:1px solid transparent;border-radius:5px;box-shadow:none;color:var(--color-text);cursor:pointer;display:inline-flex;font:inherit;font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:500;height:32px;justify-content:center;margin:0;min-width:32px;padding:0 8px;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.pagination__page:hover{background:var(--color-bg-alt);color:var(--color-text)}.pagination__page:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.pagination__page--current,.pagination__page--current:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.pagination__page:disabled{cursor:not-allowed;opacity:.5}.pagination__ellipsis{align-items:flex-end;color:var(--color-text-alt);display:inline-flex;height:32px;justify-content:center;min-width:24px;padding-bottom:6px;user-select:none}.pagination__compact{color:var(--color-text-alt);display:none;font-size:.875rem;font-variant-numeric:tabular-nums;padding:0 8px;white-space:nowrap}.pagination__size{align-items:center;display:flex;gap:8px}.pagination__size-label{color:var(--color-text-alt);font-size:.875rem;white-space:nowrap}.pagination__size-select{width:5.25rem}.pagination--loading .pagination__controls{opacity:.6}@media screen and (max-width:992px){.pagination,.pagination__controls{justify-content:center}.pagination__controls{order:-1;width:100%}}@media screen and (max-width:576px){.pagination__pages{display:none}.pagination__compact{display:inline}}.nav-list{display:flex;flex-direction:column;max-height:100%;min-height:0}.nav-list__search{border-bottom:1px solid var(--color-border);padding:12px}.nav-list__state{padding:24px 12px}.nav-list__items{flex:1 1 auto;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:4px}.nav-list__items::-webkit-scrollbar{height:8px;width:8px}.nav-list__items::-webkit-scrollbar-track{background:transparent}.nav-list__items::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.nav-list__items::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.nav-list__link{align-items:center;border-left:3px solid transparent;border-radius:5px;color:var(--color-text);display:flex;gap:8px;padding:8px 12px;text-decoration:none}.nav-list__link:focus-visible,.nav-list__link:hover{background:var(--color-bg-alt);color:var(--color-text)}.nav-list__link--active{background:var(--color-bg-alt);border-left-color:#007b99;font-weight:600}.nav-list__text{display:flex;flex:1 1 auto;flex-direction:column;min-width:0}.nav-list__description,.nav-list__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-list__description{color:var(--color-text-alt);font-size:.875rem}.nav-list__end{flex:0 0 auto}.data-table{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;min-width:0}.data-table__toolbar{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.data-table__toolbar>:last-child:not(:first-child){margin-left:auto}.data-table__scroller{overflow-x:auto}.data-table__table{background:transparent;border:none;border-collapse:separate;border-spacing:0;color:var(--color-text);font-size:.875rem;font-variant-numeric:tabular-nums;margin:0;width:100%}.data-table__header{background:var(--color-bg-alt);color:var(--color-text-alt);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.data-table__cell,.data-table__header{border:none;border-bottom:1px solid var(--color-border);padding:8px 12px;text-align:left}.data-table__cell{background:transparent;font-weight:400;vertical-align:middle}.data-table__cell:first-child,.data-table__header:first-child{padding-left:16px}.data-table__cell:last-child,.data-table__header:last-child{padding-right:16px}.data-table__cell--center,.data-table__header--center{text-align:center}.data-table__cell--end,.data-table__header--end{text-align:right}.data-table__cell--shrink,.data-table__header--shrink{white-space:nowrap;width:1%}.data-table__row{transition:background-color .15s cubic-bezier(.4,0,.2,1)}.data-table__row:last-child>.data-table__cell{border-bottom:none}.data-table__row:hover{background:var(--color-bg-alt)}.data-table__row--skeleton:hover{background:transparent}.data-table__state{padding:32px 16px}.data-table__footer{border-top:1px solid var(--color-border);padding:0 16px}.data-table__visually-hidden{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(max-width:1200px){.data-table__cell--hide-below-lg,.data-table__header--hide-below-lg{display:none}}@media(max-width:992px){.data-table__cell--hide-below-md,.data-table__header--hide-below-md{display:none}}@media(max-width:768px){.data-table__cell--hide-below-sm,.data-table__header--hide-below-sm{display:none}.data-table__toolbar{padding:12px}.data-table__cell:first-child,.data-table__header:first-child{padding-left:12px}.data-table__cell:last-child,.data-table__header:last-child{padding-right:12px}.data-table__footer{padding:0 12px}}.list-state{align-items:center;display:flex;flex-direction:column;gap:8px;margin:0 auto;max-width:420px;text-align:center}.list-state__icon{align-items:center;background:var(--color-bg-alt);border-radius:50%;color:var(--color-text-alt);display:inline-flex;font-size:1.5rem;height:48px;justify-content:center;margin-bottom:8px;width:48px}.list-state__title{color:var(--color-text);font-size:1rem;font-weight:600;margin:0}.list-state__description{color:var(--color-text-alt);font-size:.875rem;margin:0}.list-state__action{margin-top:12px}.list-state--error .list-state__icon{background:var(--color-danger-soft);color:var(--color-danger)}.accordion{display:flex;flex-direction:column;gap:16px}.accordion__item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.accordion__header{align-items:center;background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:1rem;font-weight:600;gap:12px;justify-content:space-between;margin:0;padding:16px;text-align:left;transition:background-color .15s cubic-bezier(.4,0,.2,1);width:100%}.accordion__header:hover{background:var(--color-bg-alt)}.accordion__header:focus-visible{box-shadow:inset 0 0 0 3px var(--color-focus-ring);outline:none}.accordion__title{flex:1;min-width:0}.accordion__icon{color:var(--color-text-alt);flex-shrink:0}.accordion__body{border-top:1px solid var(--color-border-alt);overflow:hidden;padding:16px}.accordion .accordion__body>*{border-radius:0;box-shadow:none}.highlighted-text__match{color:#e74c3c;font-weight:700}.tabs{display:flex;flex-wrap:wrap;gap:8px}.tabs__tab{background:var(--color-bg);border:none;border-bottom:2px solid transparent;border-radius:5px 5px 0 0;box-shadow:none;color:var(--color-text);cursor:pointer;font-weight:700;padding:8px 12px}.tabs__tab:focus-visible,.tabs__tab:hover{background:var(--color-bg);color:#007b99}.tabs__tab--current{border-bottom-color:#007b99;color:#007b99}.steps-bar{display:flex;list-style:none;margin:12px 0 0;padding:0}.steps-bar__step{align-items:center;display:flex;flex:1;flex-direction:column;gap:4px;min-width:0;position:relative;text-align:center}.steps-bar__step+.steps-bar__step:before{background:var(--color-border);border-radius:1px;content:"";height:2px;left:calc(-50% + 18px);position:absolute;right:calc(50% + 18px);top:15px}.steps-bar__step--done+.steps-bar__step--done:before,.steps-bar__step--done+.steps-bar__step:before{background:var(--color-primary)}.steps-bar__marker{align-items:center;background:var(--color-bg-surface);border:2px solid var(--color-border-dark);border-radius:50%;color:var(--color-text-alt);display:inline-flex;font-size:.875rem;font-weight:600;height:32px;justify-content:center;width:32px}.steps-bar__step--current .steps-bar__marker{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);color:var(--color-primary)}.steps-bar__step--done .steps-bar__marker{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-bg-surface)}.steps-bar__label{color:var(--color-text-alt);font-size:.75rem;overflow:hidden;text-overflow:ellipsis}.steps-bar__step--current .steps-bar__label{color:var(--color-text);font-weight:600}@media only screen and (max-width:768px){.steps-bar__label{display:none}.steps-bar__step--current .steps-bar__label{display:block}}.week-picker{display:flex;flex-direction:column;font-size:.875rem;gap:4px}.week-picker__bar{align-items:center;display:flex;gap:4px;margin-bottom:4px}.week-picker__month{flex:1;margin-bottom:0}.week-picker__year{margin-bottom:0;width:4.75rem}.week-picker__days,.week-picker__week{align-items:center;display:grid;grid-template-columns:repeat(8,1fr);text-align:center}.week-picker__days{color:var(--color-text-alt);font-size:.75rem;font-weight:700}.week-picker__week{background:transparent;border:1px solid transparent;border-radius:5px;box-shadow:none;color:inherit;cursor:pointer;font:inherit;padding:4px 0;width:100%}.week-picker__week:focus-visible,.week-picker__week:hover{background:rgba(0,123,153,.08);border-color:#007b99}.week-picker__week:focus-visible{outline:2px solid #007b99;outline-offset:1px}.week-picker__week--selected{background:#007b99;border-color:#007b99;color:#fff}.week-picker__week--selected:focus-visible,.week-picker__week--selected:hover{background:#002933;color:#fff}.week-picker__rank{font-weight:700}.week-picker__day--outside{opacity:.45}.week-navigator{align-items:center;display:flex;gap:8px}.week-navigator__period{color:var(--color-text-alt);display:flex;flex-direction:column;font-size:.875rem;margin:0 8px;white-space:nowrap}.week-navigator__rank{color:var(--color-primary)}.side-layout{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}.side-layout--with-aside{grid-template-columns:minmax(0,1fr) 20rem}.side-layout__main{display:flex;flex-direction:column;gap:16px;min-width:0}.side-layout__toggle{display:none}.side-layout__aside{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;max-height:calc(100dvh - 48px);overflow:hidden;position:sticky;top:0}.side-layout__dialog{display:flex;flex-direction:column;max-height:70dvh}@media only screen and (max-width:992px){.side-layout--with-aside{grid-template-columns:minmax(0,1fr)}.side-layout__toggle{display:flex;justify-content:flex-end}.side-layout__aside{display:none}}.page-layout{max-height:100%;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.page-layout::-webkit-scrollbar{height:8px;width:8px}.page-layout::-webkit-scrollbar-track{background:transparent}.page-layout::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.page-layout::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.page-layout__content{padding:16px 24px 24px}@media only screen and (max-width:992px){.page-layout__content{padding:16px}}.screen-heading{align-items:center;display:flex;flex:1 1 auto;gap:12px;min-width:0}.screen-heading__media{align-items:center;background:var(--color-bg-alt);border-radius:50%;color:var(--color-primary);display:flex;flex:none;height:2.75rem;justify-content:center;overflow:hidden;width:2.75rem}.screen-heading__media img{display:block;height:100%;object-fit:cover;width:100%}.screen-heading__text{min-width:0}.screen-heading__title{color:var(--color-text);font-size:1.25rem;font-weight:700;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-heading--secondary .screen-heading__title{font-size:1rem}.screen-heading__subtitle{color:var(--color-text-alt);font-size:.875rem;font-weight:600;margin:0}@media(max-width:768px){.screen-heading{flex-basis:100%}.screen-heading__title{white-space:normal}}.screen-panel{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;min-width:0}.screen-panel__header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.screen-panel__tools{align-items:center;display:flex;flex:0 1 auto;flex-wrap:wrap;gap:12px;min-width:0}.screen-panel__actions{align-items:center;display:flex;flex:none;flex-wrap:wrap;gap:8px;margin-left:auto}.screen-panel__body{display:flex;flex-direction:column;gap:16px;min-width:0;padding:16px}.screen-panel__body .form-section{background:none;border:0;border-radius:0;padding:0}.screen-panel__body .form-section+.form-section{border-top:1px solid var(--color-border);padding-top:16px}.screen-panel__footer{border-top:1px solid var(--color-border);padding:0 16px}@media(max-width:768px){.screen-panel__body,.screen-panel__header{padding:12px}}.status-badge{align-items:center;border:1px solid transparent;border-radius:5px;display:inline-flex;font-size:.75rem;font-weight:500;gap:4px;line-height:1.5;max-width:100%;padding:2px 8px;white-space:nowrap}.status-badge__icon{flex-shrink:0;font-size:1em}.status-badge--neutral{background:var(--color-bg-alt);color:var(--color-text-alt)}.status-badge--info{background:var(--color-info-soft);color:var(--color-info)}.status-badge--success{background:var(--color-success-soft);color:var(--color-success)}.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}.status-badge--outlined{background:transparent;border-color:currentColor}.key-figures{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));line-height:1.3;margin:0}.key-figures__item{background:var(--color-bg-surface);border:1px solid var(--color-border);border-left-width:3px;border-radius:8px;display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 12px}.key-figures__item--neutral{border-left-color:var(--color-primary)}.key-figures__item--success{border-left-color:var(--color-success)}.key-figures__item--warning{border-left-color:var(--color-warning)}.key-figures__item--danger{border-left-color:var(--color-danger)}.key-figures__label{align-items:center;color:var(--color-text-alt);display:flex;font-size:.875rem;gap:4px}.key-figures__icon{font-size:1.1em}.key-figures__value{color:var(--color-text);font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2;margin:0;overflow-wrap:anywhere}.key-figures__hint{color:var(--color-text-alt);font-size:.75rem;line-height:1.35;margin:0}@media(max-width:768px){.key-figures{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.key-figures__item{padding:4px 8px}.key-figures__value{font-size:1rem}}.donut-chart{aspect-ratio:1;margin:0 auto;max-width:260px;position:relative;width:100%}.donut-chart__svg{display:block;height:100%;transform:rotate(0deg);width:100%}.donut-chart__track{stroke:var(--color-border-alt)}.donut-chart__segment{transition:stroke-dasharray .45s cubic-bezier(.4,0,.2,1),opacity .15s cubic-bezier(.4,0,.2,1)}.donut-chart__segment--selectable{cursor:pointer}.donut-chart__segment--dimmed{opacity:.35}.donut-chart__center{align-items:center;display:flex;flex-direction:column;gap:2px;inset:0;justify-content:center;padding:26%;pointer-events:none;position:absolute;text-align:center}.donut-chart__total{color:var(--color-text);font-size:1.5rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.donut-chart__unit{color:var(--color-text-alt);font-size:.75rem;letter-spacing:.04em;text-transform:uppercase}@media(prefers-reduced-motion:reduce){.donut-chart__segment{transition:none}}.chart-legend{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.chart-legend__item{border-radius:8px;font-size:.875rem}.chart-legend__button,.chart-legend__row{align-items:center;background:none;border:0;border-radius:inherit;color:inherit;display:grid;font:inherit;gap:12px;grid-template-columns:auto minmax(0,1fr) auto auto;padding:8px 12px;text-align:left;width:100%}.chart-legend__button{cursor:pointer;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.chart-legend__button:hover{background:var(--color-bg-alt)}.chart-legend__button:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.chart-legend__item--selected .chart-legend__button{background:var(--color-primary-soft)}.chart-legend__swatch{background:var(--chart-legend-color);border-radius:3px;height:10px;width:10px}.chart-legend__label{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend__percent{color:var(--color-text-alt);font-variant-numeric:tabular-nums}.chart-legend__value{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600;min-width:3ch;text-align:right}.chart-legend__unit{color:var(--color-text-alt);font-weight:400}.bar-chart{gap:12px}.bar-chart,.bar-chart__items{display:flex;flex-direction:column}.bar-chart__items{gap:4px;list-style:none;margin:0;padding:0}.bar-chart__item{border-radius:8px;font-size:.875rem;transition:opacity .15s cubic-bezier(.4,0,.2,1)}.bar-chart__item--dimmed{opacity:.55}.bar-chart__row{align-items:center;background:none;border:0;border-radius:inherit;color:inherit;display:grid;font:inherit;gap:12px;grid-template-columns:minmax(8rem,14rem) minmax(0,1fr) minmax(4rem,auto);padding:8px 12px;text-align:left;width:100%}@media only screen and (max-width:768px){.bar-chart__row{grid-template-columns:minmax(0,1fr) auto}.bar-chart__row .bar-chart__track{grid-column:1/-1;grid-row:2}}.bar-chart__row--button{cursor:pointer;transition:background-color .15s cubic-bezier(.4,0,.2,1)}.bar-chart__row--button:hover{background:var(--color-bg-alt)}.bar-chart__row--button:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.bar-chart__item--selected .bar-chart__row{background:var(--color-primary-soft)}.bar-chart__label{display:flex;flex-direction:column;min-width:0}.bar-chart__name{color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-chart__hint{color:var(--color-text-alt);font-size:.75rem}.bar-chart__track{background:var(--color-border-alt);border-radius:5px;height:.75rem;position:relative}.bar-chart__bar{background:var(--bar-chart-color);border-radius:inherit;display:block;height:100%;transition:width .45s cubic-bezier(.4,0,.2,1);width:var(--bar-chart-size)}.bar-chart__reference{border-left:2px dashed var(--color-text-alt);bottom:-.25rem;left:var(--bar-chart-reference);position:absolute;top:-.25rem}.bar-chart__value{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:600;text-align:right;white-space:nowrap}.bar-chart__legend{align-items:center;color:var(--color-text-alt);display:flex;font-size:.75rem;gap:8px;margin:0}.bar-chart__legend-mark{border-top:2px dashed var(--color-text-alt);width:1rem}@media(prefers-reduced-motion:reduce){.bar-chart__bar{transition:none}}.dashboard-section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.dashboard-section__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}@media only screen and (max-width:768px){.dashboard-section__header{flex-direction:column}}.dashboard-section__heading{min-width:0}.dashboard-section__title{color:var(--color-text);font-size:1rem;font-weight:600;margin:0}.dashboard-section__lead{color:var(--color-text-alt);font-size:.875rem;margin:4px 0 0}.dashboard-section__actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.dashboard-chart{container-type:inline-size}.dashboard-chart__layout{align-items:center;display:grid;gap:24px;grid-template-columns:minmax(160px,240px) minmax(0,1fr)}@container (max-width: 34rem){.dashboard-chart__layout{gap:16px;grid-template-columns:minmax(0,1fr)}.dashboard-chart__donut{max-width:200px}}.dashboard-accordion-title{align-items:center;display:inline-flex;gap:8px}.option-dashboard__tabs{margin-bottom:12px}.anonymous-rib-sheet-list__cell{display:flex;flex-direction:column;gap:2px}.anonymous-rib-sheet-list__footer{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.promotion-dashboard__detail{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:12px;padding-top:16px}.promotion-dashboard__detail-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.promotion-dashboard__subtitle{color:var(--color-text);font-size:1rem;font-weight:600;margin:0}.promotion-dashboard__hint{color:var(--color-text-alt);font-size:.875rem;margin:0}.promotion-dashboard__accordion-content{display:flex;flex-direction:column;gap:12px}@keyframes auth-layout-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.auth-layout{background:var(--color-bg);color:var(--color-text);min-height:100vh;min-height:100dvh;position:relative}.auth-layout__theme{position:absolute;right:16px;top:16px;z-index:1}.auth-layout__header{margin-bottom:24px}.auth-layout__title{color:var(--color-text);font-family:inherit;font-size:1.5rem;font-weight:700;line-height:1.25;margin:0 0 4px}.auth-layout__description{color:var(--color-text-alt);font-size:.9375rem;line-height:1.5;margin:0}.auth-layout__footer{border-top:1px solid var(--color-border-alt);display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:24px}.auth-layout__action{align-items:center;border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);display:flex;font-weight:600;gap:8px;justify-content:center;min-height:44px;padding:12px 16px;text-decoration:none;transition:all .15s cubic-bezier(.4,0,.2,1);width:100%}.auth-layout__action:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.auth-layout__action:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.auth-layout__link{align-items:center;align-self:center;border-radius:5px;color:var(--color-primary);display:inline-flex;font-size:.875rem;font-weight:600;gap:4px;justify-content:center;padding:4px;text-decoration:none}.auth-layout__link:hover{text-decoration:underline}.auth-layout__link:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.auth-layout__signature{color:var(--color-text-alt);font-size:.8125rem;margin:0;text-align:center}.auth-layout__form{display:flex;flex-direction:column;gap:20px}.auth-layout__form .alert{border-radius:8px;margin:0}.auth-layout__submit{margin-top:4px}.auth-layout__status{align-items:center;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-bottom:24px;padding:24px;text-align:center}.auth-layout__status--success{background:var(--color-success-soft);color:var(--color-success)}.auth-layout__status--error{background:var(--color-danger-soft);color:var(--color-danger)}.auth-layout__status-text{color:var(--color-text);font-size:.9375rem;line-height:1.5;margin:0}.auth-layout--legacy{align-items:center;background:radial-gradient(ellipse 80% 50% at 50% 0,var(--color-primary-soft),transparent 70%),var(--color-bg);display:flex;flex-direction:column;gap:24px;justify-content:center;padding:48px 16px}.auth-layout__card{animation:auth-layout-enter .4s cubic-bezier(.4,0,.2,1) both;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-xl);max-width:420px;overflow:hidden;padding:32px;position:relative;width:100%}.auth-layout__card:before{background:linear-gradient(90deg,var(--color-primary),var(--color-accent));content:"";height:4px;inset:0 0 auto;position:absolute}.auth-layout__university{align-items:center;border-bottom:1px solid var(--color-border-alt);display:flex;gap:16px;margin-bottom:24px;padding-bottom:24px}.auth-layout__university-logo{background:var(--color-bg-surface);border:1px solid var(--color-border-alt);border-radius:12px;flex-shrink:0;height:60px;object-fit:contain;padding:6px;width:60px}.auth-layout__university-text{align-items:flex-start;display:flex;flex-direction:column;gap:6px;min-width:0}.auth-layout__university-name{color:var(--color-text);font-size:.9375rem;font-weight:700;line-height:1.3;margin:0}.auth-layout__university-code{background:var(--color-primary-soft);border-radius:999px;color:var(--color-primary);font-size:.75rem;font-weight:700;letter-spacing:.06em;padding:2px 10px;text-transform:uppercase}.auth-layout--compact{background:var(--color-bg-alt);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr)}.auth-layout__brand{background:radial-gradient(circle at 90% 8%,rgba(255,215,0,.28),transparent 38%),radial-gradient(circle at 0 100%,hsla(0,0%,100%,.08),transparent 45%),linear-gradient(155deg,#007b99,#005b72 55%,#003a48);color:#fff;display:flex;flex-direction:column;gap:32px;justify-content:space-between;overflow:hidden;padding:48px;position:relative}.auth-layout__brand-logo{align-self:flex-start;background:#fff;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.18);display:inline-flex;padding:12px 16px}.auth-layout__brand-logo img{display:block;height:44px;width:auto}.auth-layout__brand-text{display:flex;flex-direction:column;gap:12px;max-width:30rem}.auth-layout__brand-title{font-size:clamp(1.5rem,2.4vw,2.25rem);font-weight:700;line-height:1.2;margin:0}.auth-layout__brand-tagline{color:hsla(0,0%,100%,.82);font-size:1rem;line-height:1.5;margin:0}.auth-layout__brand-code{border-left:3px solid gold;color:hsla(0,0%,100%,.9);font-size:.875rem;font-weight:700;letter-spacing:.08em;margin:0;padding-left:12px;text-transform:uppercase}.auth-layout__panel{display:flex;flex-direction:column;padding:32px 24px;position:relative}.auth-layout__content{animation:auth-layout-enter .4s cubic-bezier(.4,0,.2,1) both;margin:auto;max-width:400px;padding:32px 0;width:100%}@media screen and (max-width:992px){.auth-layout--compact{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.auth-layout__brand{align-items:center;flex-direction:row;gap:16px;justify-content:flex-start;padding:16px 88px 16px 24px}.auth-layout__brand-logo{align-self:center;padding:6px 10px}.auth-layout__brand-logo img{height:28px}.auth-layout__brand-title{font-size:1rem}.auth-layout__brand-code,.auth-layout__brand-tagline{display:none}.auth-layout__panel{position:static}.auth-layout__content{margin:0 auto}}@media screen and (max-width:576px){.auth-layout--legacy{background:var(--color-bg-alt);justify-content:flex-start;padding:72px 0 24px}.auth-layout__card{border:none;border-radius:0;box-shadow:none;max-width:none;padding:24px 16px}.auth-layout__panel{padding:16px}}@media(prefers-reduced-motion:reduce){.auth-layout__card,.auth-layout__content{animation:none}}.form-login{display:flex;flex-direction:column;gap:20px}.form-login__options{align-items:center;display:flex;flex-wrap:wrap;font-size:.875rem;gap:12px;justify-content:space-between}.form-login__link{border-radius:5px;color:var(--color-primary);font-weight:600;padding:2px;text-decoration:none}.form-login__link:hover{text-decoration:underline}.form-login__link:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.form-login__error .alert{border-radius:8px;margin:0}.form-login__submit{margin-top:4px}.app-container{bottom:0;left:0;padding:0;position:fixed;right:0;top:48px}@media screen and (min-width:1200px){.app-container{left:340px;top:0}}.app-context-outlet{padding:48px 16px}.app-header{align-items:center;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--color-bg-surface) 88%,transparent);border-bottom:1px solid var(--color-border);color:var(--color-text);display:flex;gap:8px;height:48px;left:0;padding:0 12px 0 8px;position:fixed;right:0;top:0;z-index:1030}@media screen and (min-width:1200px){.app-header{display:none}}.app-header__toggle{flex-shrink:0}.app-header__title{align-items:baseline;display:flex;flex:1;gap:8px;line-height:1.2;margin:0;min-width:0}.app-header__app,.app-header__university{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header__university{flex-shrink:1;font-size:.875rem;font-weight:700}.app-header__app{color:var(--color-text-alt);flex-shrink:2;font-size:.75rem;font-weight:500}.app-header__app:before{content:"·";margin-right:8px}@media screen and (max-width:576px){.app-header__app{display:none}}.app-header__account{flex-shrink:0;position:relative}.app-header__account-trigger{align-items:center;background:transparent;border:1px solid transparent;border-radius:50%;box-shadow:none;cursor:pointer;display:inline-flex;height:36px;justify-content:center;margin:0;padding:0;width:36px}.app-header__account-trigger:hover,.app-header__account-trigger[aria-expanded=true]{background:transparent;border-color:var(--color-border-dark)}.app-header__account-trigger:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.sidebar-overlayer{bottom:0;left:0;position:fixed;top:0;width:340px;z-index:1040}@media screen and (max-width:1200px){.sidebar-overlayer{backdrop-filter:blur(2px);background:hsla(0,0%,7%,.45);opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1),visibility .3s;visibility:hidden;width:100%}.sidebar-overlayer--visible{opacity:1;visibility:visible}}.sidebar{background:var(--color-bg-alt);border-right:1px solid var(--color-border);bottom:0;color:var(--color-text);display:flex;flex-direction:column;left:0;position:absolute;top:0;width:340px}@media screen and (max-width:1200px){.sidebar{border-radius:0;box-shadow:var(--shadow-xl);transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:min(340px,86vw)}}.sidebar__header{display:flex;flex-direction:column;flex-shrink:0;gap:8px;padding:12px 16px}.sidebar__identity{display:flex;flex-direction:column;gap:1px;min-width:0;padding:0 2px}.sidebar__app,.sidebar__university{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__university{color:var(--color-text);font-size:.8125rem;font-weight:700;letter-spacing:.01em;line-height:1.3}.sidebar__app{color:var(--color-text-alt);font-size:.6875rem;font-weight:500;line-height:1.3}.sidebar__body{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);flex:1;margin:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px}.sidebar__body::-webkit-scrollbar{height:6px;width:6px}.sidebar__body::-webkit-scrollbar-track{background:transparent}.sidebar__body::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.sidebar__body::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.sidebar__footer{flex-shrink:0;padding:12px}.sidebar__closer{left:calc(min(340px,86vw) + 12px);position:absolute;top:16px}@media screen and (max-width:1200px){.sidebar-overlayer--visible .sidebar{transform:translateX(0)}}@media(prefers-reduced-motion:reduce){.sidebar,.sidebar-overlayer{transition:none}}.sidebar-group{padding:8px 0}.sidebar-group+.sidebar-group{border-top:1px solid var(--color-border-alt);margin-top:4px}.sidebar-group__caption{color:var(--color-text-alt);font-size:.6875rem;font-weight:600;letter-spacing:.06em;margin:0;padding:12px 12px 4px;text-transform:uppercase}.sidebar-group__list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.sidebar-zone{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;padding:8px}.sidebar-zone+.sidebar-zone{margin-top:12px}.sidebar-zone__header{border-bottom:1px solid var(--color-border-alt);padding:4px 4px 8px}.sidebar-zone__label{color:var(--color-text-alt);font-size:.6875rem;font-weight:600;letter-spacing:.06em;margin:0;padding:12px 12px 0;text-transform:uppercase}.sidebar-item{list-style:none}.sidebar-item__control{align-items:center;background:transparent;border:none;border-radius:8px;box-shadow:none;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:.875rem;font-weight:500;gap:8px;justify-content:flex-start;line-height:1.3;margin:0;min-height:36px;padding:4px 8px 4px calc(8px + var(--menu-level, 0)*14px);position:relative;text-align:left;text-decoration:none;transition:background-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);width:100%}.sidebar-item__control:hover{background:var(--color-bg-alt);color:var(--color-text)}.sidebar-item__control:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.sidebar-item__control--current,.sidebar-item__control--current:hover{background:var(--color-primary-soft);color:var(--color-primary);font-weight:600}.sidebar-item__control--current:before{background:var(--color-primary);border-radius:0 3px 3px 0;bottom:6px;content:"";left:0;position:absolute;top:6px;width:3px}.sidebar-item__control--trail{color:var(--color-primary);font-weight:600}.sidebar-item__control--disabled,.sidebar-item__control--disabled:hover,.sidebar-item__control:disabled{background:transparent;color:var(--color-text-alt);cursor:not-allowed;opacity:.55}.sidebar-item__icon{color:var(--color-text-alt);display:inline-flex;flex-shrink:0;font-size:1.25rem}.sidebar-item__control--current .sidebar-item__icon,.sidebar-item__control--trail .sidebar-item__icon{color:var(--color-primary)}.sidebar-item__text{display:flex;flex:1;flex-direction:column;min-width:0}.sidebar-item__label,.sidebar-item__legend{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item__legend{color:var(--color-text-alt);font-size:.75rem;font-weight:400}.sidebar-item__attention{background:var(--color-danger);border-radius:50%;box-shadow:0 0 0 3px var(--color-danger-soft);flex-shrink:0;height:8px;width:8px}.sidebar-item__attention-label{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.sidebar-item__loader{animation:sidebar-item-spin .8s linear infinite;border:2px solid var(--color-border-dark);border-radius:50%;border-right:2px solid transparent;flex-shrink:0;height:14px;width:14px}.sidebar-item__chevron{color:var(--color-text-alt);display:inline-flex;flex-shrink:0;font-size:1.125rem;transition:transform .15s cubic-bezier(.4,0,.2,1)}.sidebar-item__chevron--expanded{transform:rotate(180deg)}.sidebar-item__children{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1)}.sidebar-item__children--open{grid-template-rows:1fr}.sidebar-item__list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;min-height:0;overflow:hidden;padding:2px 0 0;position:relative}.sidebar-item__list:before{background:var(--color-border-dark);bottom:4px;content:"";left:calc(17px + var(--menu-level, 0)*14px);opacity:.45;position:absolute;top:4px;width:1px}@keyframes sidebar-item-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.sidebar-item__chevron,.sidebar-item__children{transition:none}}.menu-badge{--menu-badge-color:var(--color-text-alt);--menu-badge-background:var(--color-bg-alt);align-items:center;background:var(--menu-badge-background);border:1px solid var(--color-border);border-radius:10px;color:var(--menu-badge-color);display:inline-flex;flex-shrink:0;font-size:.6875rem;font-weight:600;height:20px;justify-content:center;line-height:1;min-width:20px;padding:0 6px;white-space:nowrap}.menu-badge--count{font-variant-numeric:tabular-nums}.menu-badge--status{border-radius:5px}.menu-badge--primary{--menu-badge-color:var(--color-primary);--menu-badge-background:var(--color-primary-soft);border-color:transparent}.menu-badge--success{--menu-badge-color:var(--color-success);--menu-badge-background:var(--color-success-soft);border-color:transparent}.menu-badge--warning{--menu-badge-color:var(--color-warning);--menu-badge-background:var(--color-warning-soft);border-color:transparent}.menu-badge--danger{--menu-badge-color:var(--color-text-on-primary);--menu-badge-background:var(--color-danger);border-color:transparent}.menu-badge__label{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.user-avatar{align-items:center;background:var(--color-primary);border-radius:50%;color:var(--color-text-on-primary);display:inline-flex;flex-shrink:0;font-size:.8125rem;font-weight:600;height:36px;justify-content:center;letter-spacing:.02em;width:36px}.user-avatar--sm{font-size:.6875rem;height:28px;width:28px}.user-avatar--lg{font-size:1rem;height:44px;width:44px}.account-menu{position:relative}.account-menu__trigger{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:none;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-weight:400;gap:12px;justify-content:flex-start;margin:0;padding:8px;text-align:left;transition:background-color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);width:100%}.account-menu__trigger--open,.account-menu__trigger:hover{background:var(--color-bg-surface);border-color:var(--color-border-dark)}.account-menu__trigger:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.account-menu__header-identity,.account-menu__identity{display:flex;flex:1;flex-direction:column;min-width:0}.account-menu__header-name,.account-menu__name{font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__header-email,.account-menu__role{color:var(--color-text-alt);font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__chevron{color:var(--color-text-alt);display:inline-flex;flex-shrink:0;font-size:1.125rem}.account-menu__popup{animation:account-menu-in .15s cubic-bezier(.4,0,.2,1);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;bottom:calc(100% + 8px);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;left:0;padding:4px;position:absolute;right:0;z-index:1000}.account-menu__popup--bottom-end{bottom:auto;left:auto;right:0;top:calc(100% + 8px);width:min(280px,100vw - 24px)}.account-menu__header{align-items:center;display:flex;gap:12px;padding:12px}.account-menu__separator{background:var(--color-border);height:1px;margin:4px 0}.account-menu__item{align-items:center;background:transparent;border:none;border-radius:8px;box-shadow:none;color:var(--color-text);cursor:pointer;display:flex;font:inherit;font-size:.875rem;font-weight:500;gap:12px;justify-content:flex-start;margin:0;padding:8px 12px;text-align:left;text-decoration:none;width:100%}.account-menu__item:focus-visible,.account-menu__item:hover{background:var(--color-bg-alt);color:var(--color-text);outline:none}.account-menu__item--danger,.account-menu__item--danger:focus-visible,.account-menu__item--danger:hover{color:var(--color-danger)}.account-menu__item--danger:focus-visible,.account-menu__item--danger:hover{background:var(--color-danger-soft)}.account-menu__item-icon{flex-shrink:0;font-size:1.25rem;opacity:.85}@keyframes account-menu-in{0%{opacity:0;transform:translateY(4px)}}@media(prefers-reduced-motion:reduce){.account-menu__popup{animation:none}}.valves-container{background:var(--color-bg);color:var(--color-text);min-height:100vh}.valves-container__header{align-items:center;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-xs);display:flex;gap:16px;justify-content:space-between;padding:8px 16px;position:sticky;top:0;z-index:1020}.valves-container__brand{align-items:center;color:inherit;display:flex;gap:12px;min-width:0;text-decoration:none}.valves-container__logo{flex-shrink:0;height:35px;object-fit:contain;width:35px}.valves-container__caption{display:flex;flex-direction:column;min-width:0}.valves-container__university{color:#007b99;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.valves-container__app{color:var(--color-text-alt);font-size:.75rem}.valves-container__login{flex-shrink:0}.valves-container__main{margin:0 auto;max-width:1800px;padding:16px}.accounts-list__search{flex:0 1 320px;min-width:0}@media(max-width:768px){.accounts-list__search{flex:1 1 auto}}.accounts-list__limit{color:var(--color-text-alt);font-size:.875rem;margin:0}.account-authorizations__meta{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.account-authorizations__status{border-radius:5px;font-size:.75rem;font-weight:600;line-height:1.8;padding:0 8px}.account-authorizations__status--enabled{background:var(--color-success-soft);color:var(--color-success)}.account-authorizations__status--disabled{background:var(--color-danger-soft);color:var(--color-danger)}.account-authorizations__hint{color:var(--color-text-alt);font-size:.875rem;margin:0}.account-authorizations__panel{min-width:0}@media(max-width:992px){.account-authorizations{padding:16px}}.account-authorizations-table__count{color:var(--color-text-alt);flex:1 1 auto;font-size:.875rem;font-weight:600;margin:0;white-space:nowrap}.account-authorizations-table__search{flex:0 1 280px;min-width:0}.account-authorizations-table__filter{flex:0 0 190px}.account-authorizations-table__authorization{display:flex;flex-direction:column;min-width:12rem}.account-authorizations-table__label{color:var(--color-text);font-weight:600}.account-authorizations-table__group{color:var(--color-text-alt);font-size:.75rem}.account-authorizations-table__switch{align-items:center}@media(max-width:768px){.account-authorizations-table__count{flex-basis:100%}.account-authorizations-table__filter,.account-authorizations-table__search{flex:1 1 100%}}.account-authorization-scopes{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}.account-authorization-scopes__item{border:1px solid var(--color-border);border-radius:5px;color:var(--color-text);font-size:.75rem;line-height:1.8;padding:0 8px}.account-authorization-scopes__item--global{background:var(--color-primary-soft);border-color:transparent;color:var(--color-primary);font-weight:600}.account-authorization-history__count,.account-authorization-scopes__none{color:var(--color-text-alt);font-size:.875rem}.account-authorization-history__count{font-weight:600;margin:0}.account-authorization-history__authorization,.account-authorization-history__event{align-items:flex-start;display:flex;flex-direction:column}.account-authorization-history__label{color:var(--color-text);font-weight:600}.account-authorization-history__detail{color:var(--color-text-alt);font-size:.75rem}.account-authorization-history__status{border-radius:5px;font-size:.75rem;font-weight:600;line-height:1.8;padding:0 8px;white-space:nowrap}.account-authorization-history__status--active{background:var(--color-success-soft);color:var(--color-success)}.account-authorization-history__status--revoked{background:var(--color-bg-alt);color:var(--color-text-alt)}.connected-user-profile__identity{align-items:flex-start;display:flex;gap:24px}@media only screen and (max-width:768px){.connected-user-profile__identity{align-items:center;flex-direction:column}}.connected-user-profile__picture{align-items:center;display:flex;flex-direction:column;flex-shrink:0;gap:12px}.connected-user-profile__summary{display:flex;flex:1;flex-direction:column;gap:8px;min-width:0}.connected-user-profile__names{color:var(--color-text);font-size:1.25rem;font-weight:700;line-height:1.3;margin:0}.connected-user-profile__username{color:var(--color-text-alt);font-size:.875rem;margin:0}.connected-user-profile__roles{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0 0 8px;padding:0}.profile-contact-form{display:grid;gap:12px 16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media only screen and (max-width:768px){.profile-contact-form{grid-template-columns:minmax(0,1fr)}}.profile-contact-form>:nth-last-child(-n+2){grid-column:1/-1}.profile-contact-form__actions{display:flex;justify-content:flex-end}.profile-picture-dialog{display:flex;justify-content:center;min-height:200px}.profile-authorizations__group{align-items:center;display:inline-flex;gap:8px}.profile-authorizations__count{background:var(--color-bg-alt);border-radius:5px;color:var(--color-text-alt);font-size:.75rem;font-weight:600;line-height:1.8;padding:0 8px}.profile-authorizations__items{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.profile-authorizations__item{display:flex;flex-direction:column;gap:4px}.profile-authorizations__label{color:var(--color-text);font-size:.875rem;font-weight:600}.academic-structure__panel{min-width:0}.parameters-manager__tabs{overflow-x:auto}.parameters-manager__panel{display:flex;flex-direction:column;gap:16px}.parameters-manager__panel-header{display:flex;flex-direction:column;gap:8px}.parameters-manager__description{color:var(--color-text-alt);margin:0}.parameters-manager__read-only{align-items:center;background:var(--color-info-soft);border-radius:8px;color:var(--color-text);display:inline-flex;font-size:.875rem;gap:8px;margin:0;padding:8px 12px}.parameters-manager__fields{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px}.evaluation-questions-manager{display:flex;flex-direction:column;gap:16px}.evaluation-questions-manager__position{color:var(--color-text-alt);font-variant-numeric:tabular-nums}.evaluation-questions-manager__caption{color:var(--color-text);font-weight:500}.env-parameter-field{display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(0,3fr);padding:16px}.env-parameter-field+.env-parameter-field{border-top:1px solid var(--color-border)}@media only screen and (max-width:992px){.env-parameter-field{gap:12px;grid-template-columns:minmax(0,1fr)}}.env-parameter-field__text{display:flex;flex-direction:column;gap:4px}.env-parameter-field__label{color:var(--color-text);font-weight:600}.env-parameter-field__description{color:var(--color-text-alt);font-size:.875rem;margin:0}.env-parameter-field__default{color:var(--color-info);font-size:.75rem;margin:0}.env-parameter-field__control{min-width:0}.env-parameter-field__read-only{align-items:center;color:var(--color-text);display:flex;gap:8px;margin:0;overflow-wrap:anywhere}.env-parameter-editors{display:flex;flex-direction:column;gap:12px}.env-parameter-editors__actions{display:flex;flex-wrap:wrap;gap:8px}.env-parameter-editors__duration{display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.env-parameter-editors__hidden-label{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.env-parameter-image-field{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.env-parameter-image-field__preview{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;max-height:120px;max-width:120px;object-fit:contain;padding:8px}.env-parameter-image-field__empty{color:var(--color-text-alt);margin:0}.options-manager__tree{list-style:none;margin:0;padding:0}.options-manager__children{border-left:1px solid var(--color-border);list-style:none;margin:0;padding:0 0 0 32px}.options-manager__node+.options-manager__node{border-top:1px solid var(--color-border)}.options-manager__row{align-items:center;border-left:1px solid var(--color-border);display:flex;padding:12px 0}.options-manager__toggler{align-items:center;display:flex;flex-shrink:0;justify-content:center;width:50px}.options-manager__toggle{align-items:center;background-color:var(--color-bg);border-radius:50%;color:var(--color-text);display:inline-flex;height:30px;justify-content:center;padding:4px;width:30px}.options-manager__toggle:hover{background-color:#007b99}.options-manager__leaf{color:var(--color-text-alt)}.options-manager__description{text-align:left;width:100%}.options-manager__controls{flex-shrink:0;width:80px}.promotion-picker{display:flex;flex-direction:column;gap:12px}.promotion-picker__filters{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(200px,1fr) minmax(0,2fr)}@media only screen and (max-width:768px){.promotion-picker__filters{grid-template-columns:minmax(0,1fr)}}.promotion-picker__summary{color:var(--color-text-alt);font-size:.875rem;margin:0}.finance-section-preview__operations{margin:8px 0 0;padding-left:24px;text-align:left}.finance-overview__title{color:var(--color-text);font-size:1rem;font-weight:600;margin:0 0 12px}.finance-overview__cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));list-style:none;margin:0;padding:0}.finance-overview__card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;color:var(--color-text);display:flex;flex-direction:column;gap:4px;height:100%;padding:16px;text-decoration:none;transition:border-color .15s cubic-bezier(.4,0,.2,1)}.finance-overview__card:hover{border-color:var(--color-primary)}.finance-overview__card:focus-visible{box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}.finance-overview__card-icon{color:var(--color-primary)}.finance-overview__card-label{font-weight:600}.finance-overview__card-description{color:var(--color-text-alt);font-size:.875rem}.money-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.money-amount--strong{color:var(--color-text);font-weight:600}.promotion-threshold-configuration-manager__form{display:flex;flex-direction:column;gap:16px}.promotion-threshold-configuration-manager__group{color:var(--color-text)}.promotion-threshold-configuration-manager__actions{display:flex;justify-content:flex-end}.fee-type-dialog{display:flex;flex-direction:column;gap:16px}.fee-settings__steps{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 0 16px;padding:0}@media only screen and (max-width:768px){.fee-settings__steps{grid-template-columns:minmax(0,1fr)}}.fee-settings__step{align-items:flex-start;background:var(--color-bg-alt);border-radius:8px;color:var(--color-text-alt);display:flex;font-size:.875rem;gap:8px;padding:8px 12px}.fee-settings__rank{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;flex:none;font-weight:600;height:22px;justify-content:center;width:22px}.fee-settings__panel{padding-top:16px}.fee-type-navigator{display:flex;flex-direction:column;gap:8px;max-height:100%;min-height:0}.fee-type-navigator__head{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:12px 12px 0}.fee-type-navigator__title{align-items:center;display:flex;font-weight:700;gap:8px;margin:0}.fee-type-navigator__count{background:var(--color-bg-alt);border-radius:5px;color:var(--color-text-alt);font-size:.875rem;padding:0 8px}.fee-type-navigator__archived{padding:0 12px}.fee-type-promotions{display:flex;flex-direction:column;gap:12px}.fee-type-promotions__head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}@media only screen and (max-width:768px){.fee-type-promotions__head{flex-direction:column}}.fee-type-promotions__summary{color:var(--color-text-alt);margin:0}.fee-type-promotions__tools{align-items:center;display:flex;flex-wrap:wrap;gap:12px}@media only screen and (max-width:768px){.fee-type-promotions__tools{align-items:stretch;flex-direction:column}}.fee-type-promotions__search{flex:1 1 260px;min-width:0}@media only screen and (max-width:768px){.fee-type-promotions__search{flex:none}}.fee-type-promotions__search .search-bar{margin-bottom:0}.fee-type-promotions__amount,.fee-type-promotions__promotion{display:flex;flex-direction:column}.fee-type-promotions__name{font-weight:600}.fee-type-promotions__muted{color:var(--color-text-alt);font-size:.875rem}.fee-amounts-dialog{display:flex;flex-direction:column;gap:16px}.fee-amounts-dialog__common{max-width:280px}@media only screen and (max-width:768px){.fee-amounts-dialog__common{max-width:none}}.fee-amounts-dialog__list{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));list-style:none;margin:0;padding:0}.fee-amounts-dialog__empty{color:var(--color-text-alt);margin:0}.installment-plan-editor,.installment-plan-editor__rows{display:flex;flex-direction:column;gap:12px}.installment-plan-editor__rows{list-style:none;margin:0;padding:0}.installment-plan-editor__row{align-items:flex-start;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;gap:12px;padding:12px}.installment-plan-editor__rank{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;flex:none;font-weight:600;height:28px;justify-content:center;margin-top:24px;width:28px}.installment-plan-editor__fields{display:grid;flex:1;gap:12px;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));min-width:0}.installment-plan-editor__footer{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.installment-plan-editor__summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.installment-plan-editor__empty,.installment-plan-editor__muted{color:var(--color-text-alt);margin:0}.installment-plan-dialog{display:flex;flex-direction:column;gap:16px}.installment-plan-dialog__preview{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.installment-plan-dialog__promotion{align-items:baseline;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}.installment-plan-dialog__name{font-weight:600}.installment-plan-dialog__muted{color:var(--color-text-alt);font-size:.875rem}.installment-plan-dialog__amounts{font-variant-numeric:tabular-nums;margin-left:auto}.promotion-fee-view__navigator{display:flex;flex-direction:column;gap:8px;max-height:100%;min-height:0}.promotion-fee-view__title{align-items:center;display:flex;font-weight:700;gap:8px;justify-content:space-between;margin:0;padding:12px 12px 0}.promotion-fee-view__count{background:var(--color-bg-alt);border-radius:5px;color:var(--color-text-alt);font-size:.875rem;padding:0 8px}.promotion-fee-view__notice{background:var(--color-warning-soft);border-radius:5px;font-size:.875rem;margin:0 12px;padding:4px 8px}.promotion-fee-view__total{color:var(--color-text-alt);font-size:.875rem;white-space:nowrap}.promotion-fee-sheet{display:flex;flex-direction:column;gap:24px}.promotion-fee-items{display:flex;flex-direction:column;gap:12px}.promotion-fee-items__head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}@media only screen and (max-width:768px){.promotion-fee-items__head{flex-direction:column}}.promotion-fee-items__actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.promotion-fee-items__title{font-size:1rem;margin:0}.promotion-fee-items__editor,.promotion-fee-items__footer{display:flex;flex-direction:column;gap:12px}.promotion-fee-items__editor{background:var(--color-bg-alt);border-radius:8px;padding:12px}.promotion-fee-items__add{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto}@media only screen and (max-width:768px){.promotion-fee-items__add{grid-template-columns:minmax(0,1fr)}}.promotion-fee-items__name{display:flex;flex-direction:column}.promotion-fee-items__label{font-weight:600}.promotion-fee-items__label--removed{color:var(--color-text-alt);text-decoration:line-through}.promotion-fee-items__muted{color:var(--color-text-alt);font-size:.875rem}.promotion-fee-items__total{margin:0;text-align:right}.promotion-installment-plan__date{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.promotion-installment-plan__cumulative{align-items:flex-end;display:inline-flex;flex-direction:column}.promotion-installment-plan__muted{color:var(--color-text-alt);font-size:.875rem}.student-fee-sheet{display:flex;flex-direction:column;gap:24px}.student-fee-sheet__toolbar{align-items:flex-start;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:16px}.student-fee-sheet__title{font-size:1.25rem;margin:0}.student-fee-sheet__hint{color:var(--color-text-alt);margin:4px 0 0}.student-fee-sheet__actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.student-fee-sheet__sections{display:flex;flex-direction:column;gap:16px}.student-fee-sheet__tabs{border-bottom:1px solid var(--color-border);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.student-fee-sheet__tab{align-items:center;display:inline-flex;gap:8px;white-space:nowrap}.student-fee-sheet__count{background:var(--color-bg-alt);border-radius:5px;color:var(--color-text-alt);font-size:.75rem;min-width:1.5rem;padding:0 4px;text-align:center}.student-fee-sheet__panel{display:flex;flex-direction:column;gap:12px;min-width:0}.student-fee-sheet__table-toolbar{align-items:center;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:12px 16px}.student-fee-sheet__table-title{flex:1 1 auto;font-size:1rem;margin:0}.student-fee-sheet__table-hint{color:var(--color-text-alt);flex:1 1 auto;margin:0}.fee-sheet-summary{display:flex;flex-direction:column;gap:12px}.fee-sheet-summary__heading{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.fee-sheet-summary__title{font-size:1rem;margin:0}.fee-sheet-summary__badges{display:flex;flex-wrap:wrap;gap:8px}.fee-sheet-summary__empty,.fee-sheet-summary__threshold{color:var(--color-text-alt);margin:0}.fee-operations-journal{display:flex;flex-direction:column;gap:16px}.fee-operations-journal__tools{align-items:center;display:flex;flex-wrap:wrap;gap:12px;width:100%}.fee-operations-journal__search{flex:1 1 16rem;min-width:0}.fee-operations-journal__chips{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0;width:100%}.fee-operations-journal__operation{display:flex;flex-direction:column}.fee-operations-journal__details{color:var(--color-text-alt);font-size:.75rem}.fee-operation-totals{display:flex;flex-direction:column;gap:8px;width:100%}.fee-operation-totals__caption{color:var(--color-text-alt);font-size:.875rem;line-height:1.4;margin:0}.fee-operation-totals__period{color:var(--color-text);font-weight:600}.fee-operation-totals__amounts{display:flex;flex-direction:column}.fee-operation-totals__empty{color:var(--color-text-alt);font-size:.875rem;margin:0}.fee-operation-filters{display:grid;gap:16px}.fee-collection-dashboard__body{display:flex;flex-direction:column;gap:16px}.fee-collection-dashboard__sections{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr))}.fee-collection-dashboard__chips{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}.fee-collection-dashboard__chips>li{max-width:22rem;min-width:0}.fee-collection-dashboard__chip{max-width:100%}.fee-collection-filters{display:grid;gap:16px}.fee-collection-breakdown__charts{align-items:start;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr));margin:16px 0}.fee-collection-breakdown__chart{min-width:0}.fee-collection-breakdown__chart-title{color:var(--color-text-alt);font-size:.875rem;font-weight:600;margin:0 0 12px}.fee-collection-breakdown__rate{color:var(--fee-collection-rate-color,var(--color-text));font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.fee-sheet-lines{display:flex;flex-direction:column;gap:16px}.fee-sheet-lines__title{font-size:1rem;margin:0}.fee-sheet-lines__fee-type{display:flex;flex-direction:column}.fee-sheet-lines__beneficiary,.fee-sheet-lines__empty{color:var(--color-text-alt);font-size:.875rem}.fee-sheet-operations__operation{display:flex;flex-direction:column}.fee-sheet-operations__label{font-weight:600}.fee-sheet-operations__details{color:var(--color-text-alt);font-size:.875rem}.fee-sheet-operations__amounts{align-items:flex-end;display:inline-flex;flex-direction:column}.fee-sheet-charges__label{display:flex;flex-direction:column;font-weight:600}.fee-sheet-charges__details{color:var(--color-text-alt);font-size:.875rem;font-weight:400}.fee-sheet-other-years{background:var(--color-bg-surface);border:1px solid var(--color-border);border-left:4px solid #ff9700;border-radius:8px;padding:12px 16px}.fee-sheet-other-years__title{font-size:1rem;margin:0 0 8px}.fee-sheet-other-years__items{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.fee-sheet-other-years__item{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.fee-sheet-other-years__amounts{display:inline-flex;gap:12px}.fee-adjustment-dialog,.fee-payment-dialog,.fee-refund-dialog,.student-charge-dialog{display:flex;flex-direction:column;gap:16px}.fee-payment-dialog__remaining{background:var(--color-bg-alt);border-radius:8px;margin:0;padding:8px 12px}.fee-payment-dialog__grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.fee-payment-dialog__line{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;width:100%}.fee-payment-dialog__error{color:#e74c3c;margin:0}.fee-payment-dialog__hint{color:var(--color-text-alt);font-size:.875rem;margin:0}.student-charge-dialog__amount{display:grid;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.student-charge-dialog__hint{color:var(--color-text-alt);font-size:.875rem;margin:0}.fee-payment-detail{display:flex;flex-direction:column;gap:16px}.fee-payment-detail__fields{display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin:0}.fee-payment-detail__fields dt{color:var(--color-text-alt);font-size:.875rem}.fee-payment-detail__fields dd{font-weight:600;margin:0}.fee-payment-detail__field--wide{grid-column:1/-1}.fee-payment-detail__title{font-size:1rem;margin:0}.fee-payment-detail__empty{color:var(--color-text-alt);margin:0}.fee-payment-detail__allocations{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.fee-payment-detail__allocation{border-bottom:1px solid var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:8px 0}.treasury-accounts-manager{display:flex;flex-direction:column;gap:16px}.treasury-accounts-manager__filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px}@media only screen and (max-width:768px){.treasury-accounts-manager__filters{align-items:stretch;flex-direction:column}}.treasury-accounts-manager__account{display:flex;flex-direction:column}.treasury-accounts-manager__label{color:var(--color-text);font-weight:600;text-decoration:none}.treasury-accounts-manager__label:focus-visible,.treasury-accounts-manager__label:hover{color:var(--color-primary);text-decoration:underline}.treasury-accounts-manager__code,.treasury-accounts-manager__muted{color:var(--color-text-alt);font-size:.875rem}.treasury-accounts-manager__currency,.treasury-accounts-manager__kind,.treasury-accounts-manager__rule,.treasury-accounts-manager__status{border-radius:5px;display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px;white-space:nowrap}.treasury-accounts-manager__kind{background:var(--color-info-soft);color:var(--color-info)}.treasury-accounts-manager__kind--cash{background:var(--color-success-soft);color:var(--color-success)}.treasury-accounts-manager__kind--mobile-money{background:var(--color-warning-soft);color:var(--color-warning)}.treasury-accounts-manager__currencies,.treasury-accounts-manager__rules{display:flex;flex-wrap:wrap;gap:4px}.treasury-accounts-manager__currency,.treasury-accounts-manager__rule{border:1px solid var(--color-border);color:var(--color-text)}.treasury-accounts-manager__currency--default{border-color:var(--color-primary);color:var(--color-primary)}.treasury-accounts-manager__status{background:var(--color-success-soft);color:var(--color-success)}.treasury-accounts-manager__status--archived{background:var(--color-bg-alt);color:var(--color-text-alt)}.treasury-account-fields{display:flex;flex-direction:column;gap:24px}.treasury-account-fields__grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media only screen and (max-width:768px){.treasury-account-fields__grid{grid-template-columns:minmax(0,1fr)}}.treasury-account-fields__facts{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0}.treasury-account-fields__fact-label{color:var(--color-text-alt);font-size:.75rem}.treasury-account-fields__fact-value{color:var(--color-text);font-weight:500;margin:0}.treasury-account-fields__error{color:var(--color-danger);font-size:.875rem;grid-column:1/-1;margin:0}.treasury-account-settings{align-items:flex-start;display:flex;flex-direction:column;gap:16px}.treasury-account-settings__card{align-self:stretch}.treasury-account-settings__meta{display:inline-flex;flex-wrap:wrap;gap:12px}.treasury-account-settings__code{font-weight:600}.treasury-account-settings__archived{background:var(--color-bg-alt);border-radius:5px;padding:0 8px}.treasury-account-general{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:24px;padding:16px}.treasury-account-general__actions{border-top:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding-top:16px}.treasury-account-access{display:flex;flex-direction:column;gap:16px}.treasury-account-access__intro{color:var(--color-text-alt);font-size:.875rem;margin:0}.treasury-account-access__toolbar{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;width:100%}@media only screen and (max-width:768px){.treasury-account-access__toolbar{align-items:stretch;flex-direction:column}}.treasury-account-access__user{font-weight:500}.treasury-account-access__role{border:1px solid var(--color-primary);border-radius:5px;color:var(--color-primary);display:inline-block;font-size:.75rem;font-weight:500;padding:2px 8px}.treasury-account-access__muted{color:var(--color-text-alt);font-size:.875rem}.treasury-account-access__status{color:var(--color-success);font-size:.875rem;white-space:nowrap}.treasury-account-access__status--revoked{color:var(--color-text-alt)}.teachers-list,.treasury-account-access__dialog{display:flex;flex-direction:column;gap:16px}.teachers-list__search{flex:0 1 320px;min-width:0}@media(max-width:768px){.teachers-list__search{flex:1 1 auto}}.teachers-list__identity{display:flex;flex-direction:column;min-width:12rem}.teachers-list__names{color:var(--color-text);font-weight:600;text-decoration:none}.teachers-list__names:hover{color:var(--color-primary);text-decoration:underline}.teachers-list__qualification{color:var(--color-text-alt);font-weight:400;margin-right:4px}.teachers-list__registration{color:var(--color-text-alt);font-size:.75rem}.teachers-list__kind{text-decoration:none}.teachers-list__contacts{display:flex;flex-direction:column;font-size:.875rem;gap:2px}.teachers-list__contacts a{color:var(--color-text);overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.teachers-list__contacts a:hover{color:var(--color-primary);text-decoration:underline}.teachers-list__empty{color:var(--color-text-alt)}.teacher-import-form__form{display:flex;flex-direction:column;gap:16px;margin-top:16px}.team-member-role-chooser{display:flex;flex-direction:column;gap:12px}.team-member-role-chooser__role{color:var(--color-text);font-weight:600}.team-member-role-chooser__fields{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media only screen and (max-width:768px){.team-member-role-chooser__fields{grid-template-columns:minmax(0,1fr)}}.promotion-inscriptions-manager__search{flex:0 1 320px;min-width:0}.promotion-inscriptions-manager__rank{color:var(--color-text-alt);font-size:.75rem}.promotion-inscriptions-manager__student{display:flex;flex-direction:column;min-width:12rem}.promotion-inscriptions-manager__names{color:var(--color-text);font-weight:600;text-decoration:none}.promotion-inscriptions-manager__names--link:hover{color:var(--color-primary);text-decoration:underline}.promotion-inscriptions-manager__registration{color:var(--color-text-alt);font-size:.75rem;letter-spacing:.02em}.promotion-inscriptions-manager__kind{color:var(--color-text-alt);cursor:help;font-weight:600;text-decoration:none}.promotion-inscriptions-manager__contacts{display:flex;flex-direction:column;font-size:.75rem}.promotion-inscriptions-manager__contacts a{color:var(--color-text);text-decoration:none}.promotion-inscriptions-manager__contacts a:hover{color:var(--color-primary);text-decoration:underline}.promotion-inscriptions-manager__amount{font-weight:600;white-space:nowrap}.promotion-inscriptions-manager__empty{color:var(--color-text-alt)}@media(max-width:768px){.promotion-inscriptions-manager__search{flex:1 1 auto}}.deliberation-jury-card{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:16px}.deliberation-jury-card__header{display:flex;flex-direction:column;gap:4px}.deliberation-jury-card__title{font-size:1.25rem;margin:0}.deliberation-jury-card__option{color:var(--color-text-alt);font-weight:600;margin:0}.deliberation-jury-card__comment{font-style:italic;margin:0}.deliberation-jury-card__no-account{color:var(--color-text-alt);font-style:italic}.deliberation-jury-promotions{align-items:flex-start;display:flex;flex-direction:column;gap:12px}.deliberation-jury-promotions__title{font-size:1rem;margin:0}.deliberation-jury-promotions__empty{color:var(--color-text-alt);margin:0}.deliberation-jury-promotions__items{list-style:none;margin:0;padding:0;width:100%}.deliberation-jury-promotions__item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:4px 0}.deliberation-jury-promotions__item:last-child{border-bottom:none}.deliberation-jury-promotions__name{font-weight:600}.deliberation-jury-promotions__form{width:100%}.deliberation-jury-promotions__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:12px}.deliberation-jury-creation-form__form{display:flex;flex-direction:column;gap:24px;max-width:1200px}.deliberation-jury-creation-form__officers{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media only screen and (max-width:768px){.deliberation-jury-creation-form__officers{grid-template-columns:minmax(0,1fr)}}.deliberation-jury-creation-form__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.deliberation-grid-creation-form__form{max-width:1200px}.deliberation-grid-creation-form__fields{border:none;display:flex;flex-direction:column;gap:24px;margin:0;min-width:0;padding:0}.deliberation-grid-creation-form__row{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media screen and (max-width:992px){.deliberation-grid-creation-form__row{grid-template-columns:minmax(0,1fr)}}.deliberation-grid-creation-form__footer{display:flex;flex-direction:column;gap:12px}.deliberation-grid-creation-form__issues{margin:0;padding-left:24px}.deliberation-grid-creation-form__submit{align-self:flex-end}.deliberation-grid-creation-jury__notice{color:var(--color-text-alt);margin:0}.deliberation-grid-creation-jury__choices{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.deliberation-grid-creation-jury__choice{align-items:flex-start;border:2px solid var(--color-border);border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px}.deliberation-grid-creation-jury__choice:hover{border-color:#00b9e6}.deliberation-grid-creation-jury__choice:focus-within{outline:2px solid #007b99;outline-offset:2px}.deliberation-grid-creation-jury__choice--checked{border-color:#007b99}.deliberation-grid-creation-jury__description{display:flex;flex-direction:column;gap:4px}.deliberation-grid-creation-jury__officers{color:var(--color-text-alt);display:flex;flex-wrap:wrap;gap:4px 16px}.deliberation-grid-creation-elements{display:flex;flex-direction:column;gap:16px;padding:16px}.deliberation-grid-creation-elements__caption{color:var(--color-text);font-weight:600}.deliberation-grid-creation-elements__retained{align-items:center;display:inline-flex;gap:8px}.deliberation-grid-creation-elements__icon{color:#53aa5a}.deliberation-grid-creation-students{display:flex;flex-direction:column;gap:12px;padding:16px}.deliberation-grid-creation-students__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.deliberation-grid-creation-students__count{color:var(--color-text-alt);margin:0}.deliberation-grid-creation-students__items{display:grid;gap:8px 16px;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));list-style:none;margin:0;padding:0}.deliberation-grid-creation-members{display:flex;flex-direction:column;gap:12px;padding:16px}.deliberation-grid-creation-members__empty,.deliberation-grid-creation-members__notice{color:var(--color-text-alt);margin:0}.deliberation-grid-creation-members__items{list-style:none;margin:0;padding:0}.deliberation-grid-creation-members__item{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:12px;justify-content:space-between;padding:4px 0}.deliberation-grid-creation-members__item:last-child{border-bottom:none}.deliberation-grid-workspace{display:flex;flex-direction:column;inset:12px;min-height:0;position:absolute;z-index:2}.deliberation-grid-workspace--fullscreen{background:var(--color-bg);inset:0;padding:8px;position:fixed;z-index:1090}.deliberation-grid-workspace--fullscreen~.dialog{z-index:1091}.deliberation-grid-workspace__panel{flex:1;min-height:0;overflow:hidden}.deliberation-grid-workspace__panel>.screen-panel__body{flex:1;gap:0;min-height:0;padding:0}.deliberation-grid-workspace__panel>.screen-panel__footer:empty{display:none}.deliberation-grid-workspace--closed .deliberation-grid-workspace__panel{border-color:var(--color-danger)}.deliberation-grid-promotion-tabs{border-bottom:1px solid var(--color-border);padding:8px 16px 0}.deliberation-grid-toolbar{align-items:center;border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 16px}.deliberation-grid-toolbar__search{flex:0 1 16rem;min-width:11rem}.deliberation-grid-toolbar__chips{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:4px;list-style:none;margin:0;min-width:0;padding:0}.deliberation-grid-toolbar__chips>li{max-width:22rem;min-width:0}.deliberation-grid-toolbar__chip{max-width:100%}.deliberation-grid-toolbar__summary{align-items:center;display:flex;gap:12px;margin-left:auto}.deliberation-grid-toolbar__decisions{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0}.deliberation-grid-toolbar__count{color:var(--color-text-alt);font-size:.875rem;margin:0;white-space:nowrap}.deliberation-grid-filters{display:flex;flex-direction:column;gap:16px}.deliberation-grid-filters__range{align-items:center;display:flex;gap:8px}.deliberation-grid-filters__bound{flex:0 1 6rem;min-width:0}.deliberation-grid-filters__separator{color:var(--color-text-alt);font-size:.875rem;white-space:nowrap}.deliberation-grid-statistics{display:flex;flex:1;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:16px}.deliberation-grid-statistics::-webkit-scrollbar{height:8px;width:8px}.deliberation-grid-statistics::-webkit-scrollbar-track{background:transparent}.deliberation-grid-statistics::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.deliberation-grid-statistics::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.deliberation-grid-statistics--empty{align-items:center;justify-content:center}.deliberation-grid-statistics__sections{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr))}.deliberation-grid-statistics__wide{grid-column:1/-1}.deliberation-grid-table{container:deliberation-grid/inline-size;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.deliberation-grid-table::-webkit-scrollbar{height:8px;width:8px}.deliberation-grid-table::-webkit-scrollbar-track{background:transparent}.deliberation-grid-table::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.deliberation-grid-table::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.deliberation-grid-table--empty{align-items:center;display:flex;justify-content:center;padding:24px}.deliberation-grid-table__grid{color:var(--color-text);font-size:.875rem;font-variant-numeric:tabular-nums;width:max-content}@container deliberation-grid (max-width: 40rem){.deliberation-grid-table__grid{--deliberation-grid-student-width:8.5rem}}@container deliberation-grid (max-width: 48rem){.deliberation-grid-table__grid{--deliberation-grid-pinned:0rem}}.deliberation-grid-table-head{background:var(--color-bg-alt);box-shadow:0 1px 0 var(--color-border-dark);display:grid;grid-template-columns:var(--deliberation-grid-columns);position:sticky;top:0;z-index:3}.deliberation-grid-table-head__row{display:contents}.deliberation-grid-table-head__vertical{max-height:8.5rem;overflow:hidden;text-overflow:ellipsis;transform:rotate(180deg);white-space:nowrap;writing-mode:vertical-rl}.deliberation-grid-table-head__legend{display:flex;flex-direction:column;font-weight:400;gap:4px}.deliberation-grid-table-head__legend-item{align-items:center;display:inline-flex;gap:8px}.deliberation-grid-table-head__legend-item:before{border:1px solid var(--color-border-dark);border-radius:2px;content:"";height:.75rem;width:.75rem}.deliberation-grid-table-head__legend-item--failed:before{background:var(--color-danger-soft);border-color:var(--color-danger)}.deliberation-grid-table-head__legend-item--compensated:before{background:var(--color-success-soft);border-color:var(--color-success)}.deliberation-grid-table-head__legend-item--reported:before{background:repeating-linear-gradient(45deg,var(--color-border-dark) 0 1px,transparent 1px 4px)}.deliberation-grid-table-head__students{color:var(--color-text);font-size:.875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.deliberation-grid-head-cell{align-items:center;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);color:var(--color-text-alt);display:flex;font-size:.75rem;font-weight:600;grid-column:var(--deliberation-grid-head-cell-column);grid-row:var(--deliberation-grid-head-cell-row);justify-content:center;line-height:1.2;min-width:0;overflow:hidden;padding:2px 4px;text-align:center}.deliberation-grid-head-cell--semester-start{box-shadow:inset 2px 0 0 var(--color-border-dark)}.deliberation-grid-head-cell--unit-start{box-shadow:inset 1px 0 0 var(--color-border-dark)}.deliberation-grid-head-cell--corner{align-items:flex-start;flex-direction:column;justify-content:space-between;left:0;padding:8px;position:sticky;text-align:left;z-index:2}.deliberation-grid-head-cell--label{box-shadow:inset -2px 0 0 var(--color-border-dark);justify-content:flex-end;left:var(--deliberation-grid-identity);letter-spacing:.04em;padding-right:8px;position:sticky;z-index:2}.deliberation-grid-head-cell--pinned{position:sticky;right:var(--deliberation-grid-head-cell-offset);z-index:1}.deliberation-grid-head-cell--band{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-bg-alt));color:var(--color-text);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.deliberation-grid-head-cell--unit{background:color-mix(in srgb,var(--color-text) 4%,var(--color-bg-alt));color:var(--color-text);justify-content:flex-start;padding:4px 8px;text-align:left}.deliberation-grid-head-cell--element,.deliberation-grid-head-cell--synthesis{align-items:flex-end;padding:4px 0}.deliberation-grid-head-cell--average{background:color-mix(in srgb,var(--color-text) 7%,var(--color-bg-alt));color:var(--color-text)}.deliberation-grid-head-cell--meta{color:var(--color-text);font-weight:400;min-height:1.5rem}.deliberation-grid-head-cell--reported{background-image:repeating-linear-gradient(45deg,var(--color-border) 0 1px,transparent 1px 6px)}.deliberation-grid-head-cell--hovered{background-color:color-mix(in srgb,var(--color-primary) 16%,var(--color-bg-alt));color:var(--color-primary)}@container deliberation-grid (max-width: 48rem){.deliberation-grid-head-cell--pinned{position:static}}.deliberation-grid-unit-head-cells__unit{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.deliberation-grid-unit-head-cells__button{background:transparent;border:none;border-radius:0;box-shadow:none;color:var(--color-text);cursor:pointer;display:block;font:inherit;line-height:1.15;max-height:8.5rem;overflow:hidden;padding:0;scroll-margin:0 var(--deliberation-grid-pinned,0) 0 var(--deliberation-grid-leading,0);text-align:left;transform:rotate(180deg);writing-mode:vertical-rl}.deliberation-grid-unit-head-cells__button:focus-visible,.deliberation-grid-unit-head-cells__button:hover{background:transparent;color:var(--color-primary)}.deliberation-grid-unit-head-cells__button:focus-visible{outline:2px solid var(--color-focus-ring)}.deliberation-grid-unit-head-cells__code{display:block;font-weight:700;white-space:nowrap}.deliberation-grid-unit-head-cells__title{display:block;font-weight:400}.deliberation-grid-unit-head-cells__vertical{transform:rotate(180deg);white-space:nowrap;writing-mode:vertical-rl}.deliberation-grid-row{background:var(--color-bg-surface);display:grid;grid-template-columns:var(--deliberation-grid-columns)}.deliberation-grid-row:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-bg-surface))}.deliberation-grid-row__identity,.deliberation-grid-row__kind{align-items:center;background:inherit;border-bottom:1px solid var(--color-border);display:flex;min-width:0;position:sticky;z-index:1}.deliberation-grid-row__identity{grid-column:span 2;left:0}.deliberation-grid-row__kind{box-shadow:inset -2px 0 0 var(--color-border-dark);color:var(--color-text-alt);font-size:.75rem;justify-content:center;left:var(--deliberation-grid-identity)}.deliberation-grid-row__index{color:var(--color-text-alt);flex:none;font-size:.75rem;text-align:center;width:2.25rem}.deliberation-grid-row__button{align-items:flex-start;background:transparent;border:none;border-radius:0;box-shadow:none;color:inherit;cursor:pointer;display:flex;flex:1;flex-direction:column;font:inherit;justify-content:center;line-height:1.2;min-height:2.25rem;min-width:0;padding:2px 8px 2px 0;scroll-margin-top:var(--deliberation-grid-head-height,0);text-align:left}.deliberation-grid-row__button:focus-visible,.deliberation-grid-row__button:hover{background:transparent;color:var(--color-primary)}.deliberation-grid-row__button--anonymous{padding-left:12px}.deliberation-grid-row__names{font-weight:600}.deliberation-grid-row__names,.deliberation-grid-row__registration{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deliberation-grid-row__registration{color:var(--color-text-alt);font-size:.75rem}.deliberation-grid-cell{align-items:stretch;border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);display:flex;min-width:0;position:relative}.deliberation-grid-cell--semester-start{box-shadow:inset 2px 0 0 var(--color-border-dark)}.deliberation-grid-cell--unit-start{box-shadow:inset 1px 0 0 var(--color-border-dark)}.deliberation-grid-cell--empty,.deliberation-grid-cell--reported{background-image:repeating-linear-gradient(45deg,var(--color-border) 0 1px,transparent 1px 6px)}.deliberation-grid-cell--average,.deliberation-grid-cell--unit{background-color:color-mix(in srgb,var(--color-text) 5%,transparent);font-weight:600}.deliberation-grid-cell--average{align-items:center;justify-content:center}.deliberation-grid-cell--compensated{background-color:var(--color-success-soft)}.deliberation-grid-cell--failed{color:var(--color-danger);font-weight:600}.deliberation-grid-cell--hovered{background-color:var(--color-primary-soft)}.deliberation-grid-cell--selected{font-weight:700;outline:2px solid var(--color-primary);outline-offset:-2px}.deliberation-grid-cell__button{align-items:center;background:transparent;border:none;border-radius:0;box-shadow:none;color:inherit;cursor:pointer;display:flex;flex:1;font:inherit;justify-content:center;min-height:2.25rem;min-width:0;padding:0 2px;scroll-margin:var(--deliberation-grid-head-height,0) var(--deliberation-grid-pinned,0) 0 var(--deliberation-grid-leading,0)}.deliberation-grid-cell__button:focus-visible,.deliberation-grid-cell__button:hover{background:transparent;outline:2px solid var(--color-primary);outline-offset:-2px}.deliberation-grid-cell__marks{display:inline-flex;font-size:.65em;gap:1px;position:absolute;right:2px;top:2px}.deliberation-grid-cell__mark{border-radius:2px}.deliberation-grid-cell__mark--source{background:var(--color-danger-soft);color:var(--color-danger)}.deliberation-grid-cell__mark--destination{background:var(--color-primary-soft);color:var(--color-primary)}.deliberation-grid-row-result__cell{align-items:center;background-color:color-mix(in srgb,var(--color-text) 3%,transparent);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);color:var(--color-text-alt);display:flex;font-weight:600;justify-content:center;min-width:0;padding:0 4px}.deliberation-grid-row-result__cell--boundary{box-shadow:inset 2px 0 0 var(--color-border-dark)}.deliberation-grid-row-result__cell--pinned{background:inherit;background-image:linear-gradient(color-mix(in srgb,var(--color-text) 4%,transparent),color-mix(in srgb,var(--color-text) 4%,transparent));position:sticky;right:var(--deliberation-grid-row-result-offset);z-index:1}.deliberation-grid-row-result__cell--average{color:var(--color-text);font-weight:700}.deliberation-grid-row-result__cell--appreciation{color:var(--color-text)}.deliberation-grid-row-result__cell--failed{color:var(--color-danger)}.deliberation-grid-row-result__cell--decision .status-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis}@container deliberation-grid (max-width: 48rem){.deliberation-grid-row-result__cell--pinned{position:static}}.deliberation-grid-footer{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.deliberation-grid-footer__notice{align-items:center;color:var(--color-primary);display:inline-flex;font-size:.875rem;font-weight:600;gap:4px;margin:8px 0}.deliberation-grid-sidebar__content{display:flex;flex-direction:column;gap:24px}.deliberation-grid-sidebar__content>.form-section+.form-section{border-radius:0;border-top:1px solid var(--color-border);padding-top:24px}.deliberation-grid-sidebar__setting{display:flex;flex-direction:column;gap:4px}.deliberation-grid-sidebar__hint{color:var(--color-text-alt);font-size:.875rem;line-height:1.45;margin:0}.deliberation-grid-sidebar__buttons{display:flex;flex-direction:column;gap:8px}.deliberation-grid-members__officers{display:grid;font-size:.875rem;gap:8px 12px;grid-template-columns:max-content 1fr;margin:0}.deliberation-grid-members__function{color:var(--color-text-alt)}.deliberation-grid-members__name{font-weight:600;margin:0}.deliberation-grid-members__empty{color:var(--color-text-alt);font-size:.875rem;margin:0}.deliberation-grid-members__items{border:1px solid var(--color-border);border-radius:8px;list-style:none;margin:0;padding:0}.deliberation-grid-members__item{align-items:center;display:flex;font-size:.875rem;gap:12px;justify-content:space-between;padding:4px 4px 4px 12px}.deliberation-grid-members__item+.deliberation-grid-members__item{border-top:1px solid var(--color-border)}.deliberation-grid-cell-editor__tabs{border-bottom:1px solid var(--color-border)}.deliberation-grid-cell-editor__body{display:flex;flex-direction:column;gap:16px;padding-top:16px}.deliberation-grid-note-form{display:flex;flex-direction:column;gap:12px}.deliberation-grid-note-form__fields{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.deliberation-grid-note-form__average{align-items:center;display:flex;flex-direction:column;gap:4px;padding-bottom:8px}.deliberation-grid-note-form__caption{color:var(--color-text-alt);font-size:.875rem}.deliberation-grid-note-form__value{font-size:1.25rem}.deliberation-grid-note-form__value--failed{color:#e74c3c}.deliberation-grid-note-form__error{color:#e74c3c;font-size:.875rem;margin:0}.deliberation-grid-note-form__notice{color:var(--color-text-alt);font-size:.875rem;margin:0}.deliberation-grid-note-form__actions{display:flex;flex-wrap:wrap;gap:12px}.deliberation-grid-cell-history{border-collapse:collapse;width:100%}.deliberation-grid-cell-history__caption{color:var(--color-text-alt);font-size:.875rem;padding-bottom:8px;text-align:left}.deliberation-grid-cell-history td,.deliberation-grid-cell-history th{border-bottom:1px solid var(--color-border);padding:8px;text-align:center}.deliberation-grid-cell-history td:first-child,.deliberation-grid-cell-history th:first-child{text-align:left}.deliberation-grid-cell-history__line--current{font-weight:700}.deliberation-grid-cell-history__tag{background:var(--color-bg);border-radius:5px;color:var(--color-text-alt);font-size:.75rem;font-weight:400;margin-left:8px;padding:0 4px}.deliberation-grid-cell-history__note--failed{color:#e74c3c}.deliberation-grid-compensation-form{display:flex;flex-direction:column;gap:16px}.deliberation-grid-compensation-form__empty{color:var(--color-text-alt);margin:0}.deliberation-grid-compensation-form__preview{border-collapse:collapse;table-layout:fixed;width:100%}.deliberation-grid-compensation-form__preview td,.deliberation-grid-compensation-form__preview th{border-bottom:1px solid var(--color-border);padding:8px;text-align:center}.deliberation-grid-compensation-form__preview tbody th{text-align:left}.deliberation-grid-compensation-form__lesson{color:var(--color-text-alt);display:block;font-size:.75rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deliberation-grid-compensation-form__value--failed{color:#e74c3c}.deliberation-grid-column-sheet__content{display:flex;flex-direction:column;gap:12px}.deliberation-grid-column-sheet__toolbar{display:flex;flex-wrap:wrap;gap:12px}.deliberation-grid-column-sheet__empty,.deliberation-grid-column-sheet__notice{color:var(--color-text-alt);font-size:.875rem;margin:0}.deliberation-grid-column-sheet__table{border-collapse:collapse;width:100%}.deliberation-grid-column-sheet__table>thead>tr>th{background:var(--color-bg-surface);border-bottom:2px solid var(--color-border);padding:8px;position:sticky;text-align:left;top:0;z-index:1}.deliberation-grid-column-sheet__summary{align-self:center;font-size:.875rem;margin:0 auto 0 0}.deliberation-grid-column-sheet-row>td,.deliberation-grid-column-sheet-row>th{border-bottom:1px solid var(--color-border);font-weight:400;padding:4px 8px;text-align:left;vertical-align:middle}.deliberation-grid-column-sheet-row--changed{background:rgba(0,123,153,.08)}.deliberation-grid-column-sheet-row--invalid{background:rgba(231,76,60,.08)}.deliberation-grid-column-sheet-row__index{color:var(--color-text-alt)}.deliberation-grid-column-sheet-row__registration{white-space:nowrap}.deliberation-grid-column-sheet-row__tag{color:var(--color-text-alt);font-size:.75rem;margin-left:8px}.deliberation-grid-column-sheet-row__input{width:5rem}.deliberation-grid-column-sheet-row__average{font-weight:700}.deliberation-grid-column-sheet-row__average--failed{color:#e74c3c}.deliberation-grid-row-sheet__content{display:flex;flex-direction:column;gap:16px}.deliberation-grid-row-sheet__table{border-collapse:collapse;width:100%}.deliberation-grid-row-sheet__table>thead>tr>th{border-bottom:2px solid var(--color-border);padding:8px;text-align:center}.deliberation-grid-row-sheet__table>thead>tr>th:first-child{text-align:left}.deliberation-grid-row-sheet__result{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0}.deliberation-grid-row-sheet__result dt{color:var(--color-text-alt);font-size:.875rem}.deliberation-grid-row-sheet__result dd{font-weight:700;margin:0}.deliberation-grid-row-sheet-unit td,.deliberation-grid-row-sheet-unit th{border-bottom:1px solid var(--color-border);padding:4px 8px;text-align:center;vertical-align:middle}.deliberation-grid-row-sheet-unit th{text-align:left}.deliberation-grid-row-sheet-unit__unit{background:var(--color-bg);font-weight:700}.deliberation-grid-row-sheet-unit__lesson>th{font-weight:400;padding-left:16px}.deliberation-grid-row-sheet-unit__lesson--reported{color:var(--color-text-alt)}.deliberation-grid-row-sheet-unit__tag{color:var(--color-text-alt);font-size:.75rem;margin-left:8px}.deliberation-grid-row-sheet-unit__note--failed{color:#e74c3c}.deliberation-grid-row-sheet-unit__average{align-items:center;display:inline-flex;gap:8px}.deliberation-grid-unvalidated-element-form{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px}.deliberation-grid-unvalidated-element-form__title{font-size:1rem;margin:0}.deliberation-grid-unvalidated-element-form__empty{color:var(--color-text-alt);margin:0}.deliberation-grid-unvalidated-element-form__notes{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.deliberation-grid-unvalidated-element-form__error{color:#e74c3c;font-size:.875rem;margin:0}.deliberation-grid-unvalidated-element-form__actions{display:flex;flex-wrap:wrap;gap:12px}.yearly-ranking-manager{display:flex;flex-direction:column;gap:16px}.yearly-ranking-manager__notice{background:var(--color-warning-soft);border-left:3px solid var(--color-warning);border-radius:5px;color:var(--color-text);margin:0;padding:12px 16px}.yearly-ranking-navigator{display:flex;flex-direction:column;max-height:100%;min-height:0}.yearly-ranking-navigator__title{align-items:center;display:flex;font-weight:700;gap:8px;justify-content:space-between;margin:0;padding:12px 12px 0}.yearly-ranking-navigator__count{background:var(--color-bg-alt);border-radius:5px;color:var(--color-text-alt);font-size:.875rem;padding:0 8px}.yearly-ranking-promotion{display:flex;flex-direction:column;gap:16px;min-width:0}.yearly-ranking-promotion__header{border-bottom:2px solid var(--color-primary);padding-bottom:8px}.yearly-ranking-promotion__title{font-size:1.25rem;font-weight:700;margin:0}.yearly-ranking-promotion__level{color:var(--color-text-alt);font-weight:600}.yearly-ranking-promotion__option{color:var(--color-text-alt);font-size:.875rem;margin:0}.yearly-ranking-promotion__panel{display:flex;flex-direction:column;gap:24px}.yearly-ranking-promotion__group{display:flex;flex-direction:column;gap:8px}.yearly-ranking-promotion__group-title{align-items:center;display:flex;font-size:1rem;gap:12px;margin:0}.yearly-ranking-promotion__group-count{color:var(--color-text-alt);font-size:.875rem;font-weight:600}.yearly-ranking-promotion__group-empty{color:var(--color-text-alt);font-size:.875rem;font-style:italic;margin:0}.yearly-ranking-promotion__percent{font-variant-numeric:tabular-nums;font-weight:600}.yearly-ranking-promotion__percent--failed{color:var(--color-danger)}.student-record{display:flex;flex-direction:column;gap:16px;min-width:0}.student-record__tabs{border-bottom:1px solid var(--color-border);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.student-record__tab{align-items:center;display:inline-flex;gap:8px;white-space:nowrap}.student-record__panel{min-width:0}.student-record-header{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);display:grid;gap:16px;grid-template-columns:auto minmax(0,1fr) auto;padding:16px}@media only screen and (max-width:768px){.student-record-header{grid-template-columns:auto minmax(0,1fr)}}.student-record-header__picture{align-items:center;background:var(--color-bg-alt);border-radius:50%;display:flex;height:88px;justify-content:center;overflow:hidden;width:88px}@media only screen and (max-width:768px){.student-record-header__picture{height:64px;width:64px}}.student-record-header__image{height:100%;object-fit:cover;width:100%}.student-record-header__placeholder{color:var(--color-text-alt);font-size:3rem}.student-record-header__identity{display:flex;flex-direction:column;gap:4px;min-width:0}.student-record-header__back{align-items:center;color:var(--color-text-alt);display:inline-flex;font-size:.875rem;gap:4px;text-decoration:none;width:fit-content}.student-record-header__back:focus-visible,.student-record-header__back:hover{color:#007b99}.student-record-header__names{font-size:1.5rem;margin:0;overflow-wrap:anywhere}.student-record-header__details{color:var(--color-text-alt);display:flex;flex-wrap:wrap;gap:4px 16px;margin:0}.student-record-header__navigation{align-items:center;display:flex;gap:8px}@media only screen and (max-width:768px){.student-record-header__navigation{grid-column:1/-1;justify-content:flex-end}}.student-record-header__position{color:var(--color-text-alt);font-variant-numeric:tabular-nums;min-width:4rem;text-align:center}.student-record-navigator{display:flex;flex-direction:column;max-height:100%;min-height:0}.student-record-navigator__title{align-items:center;display:flex;font-weight:700;gap:8px;justify-content:space-between;margin:0;padding:12px 12px 0}.student-record-navigator__count{background:var(--color-bg-alt);border-radius:5px;color:var(--color-text-alt);font-size:.875rem;padding:0 8px}.student-record-transcript{display:flex;flex-direction:column;gap:16px}.student-record-transcript__toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.student-record-transcript__title{font-size:1.25rem;margin:0}.student-record-transcript__hint{color:var(--color-text-alt);margin:4px 0 0}.student-record-profile{display:flex;flex-direction:column;gap:24px}.student-record-profile__section{display:flex;flex-direction:column;gap:12px}.student-record-profile__heading{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.student-record-profile__title{font-size:1.25rem;margin:0}.student-record-profile__actions{display:flex;flex-wrap:wrap;gap:8px}.student-record-profile__hint{color:var(--color-text-alt);margin:0}.student-record-profile__fields{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;display:grid;gap:12px 24px;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));margin:0;padding:16px}.student-record-profile__label{color:var(--color-text-alt);font-size:.875rem}.student-record-profile__value{font-weight:600;margin:0;overflow-wrap:anywhere}.student-record-profile__empty{color:var(--color-text-alt);font-style:italic;font-weight:400}.student-record-profile__promotion{align-items:center;display:inline-flex;gap:8px}.grade-book{gap:24px;min-width:0}.grade-book,.grade-book-summary{display:flex;flex-direction:column}.grade-book-summary{gap:12px}.grade-book-summary__categories{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));list-style:none;margin:0;padding:0}.grade-book-summary__category{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;column-gap:12px;display:grid;grid-template-areas:"code name average" "code credits average";grid-template-columns:auto minmax(0,1fr) auto;padding:8px 12px}.grade-book-summary__category-code{align-items:center;background:color-mix(in srgb,var(--color-text) 8%,transparent);border-radius:5px;display:inline-flex;font-weight:700;grid-area:code;height:2rem;justify-content:center;text-decoration:none;width:2rem}.grade-book-summary__category-name{font-weight:600;grid-area:name;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-book-summary__category-credits{color:var(--color-text-alt);font-size:.875rem;grid-area:credits}.grade-book-summary .grade-value{grid-area:average}.grade-book-semester{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);container-type:inline-size;overflow:hidden}.grade-book-semester__header{align-items:center;border-bottom:1px solid var(--color-border);border-left:4px solid var(--color-primary);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}.grade-book-semester__title{align-items:center;display:inline-flex;font-size:1rem;gap:8px;margin:0}.grade-book-semester__short{background:var(--color-primary-soft);border-radius:5px;color:var(--color-primary);font-size:.875rem;padding:0 8px}.grade-book-semester__overview{align-items:center;color:var(--color-text-alt);display:inline-flex;flex-wrap:wrap;gap:8px 16px;margin:0}.grade-book-semester__average{align-items:center;display:inline-flex;gap:4px}.grade-book-semester__scroll{overflow-x:auto}.grade-book-semester__scroll::-webkit-scrollbar{height:8px;width:8px}.grade-book-semester__scroll::-webkit-scrollbar-track{background:transparent}.grade-book-semester__scroll::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.grade-book-semester__scroll::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.grade-book-semester__table{border-collapse:collapse;font-size:.875rem;width:100%}.grade-book-semester__caption{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.grade-book-semester__cell{border-bottom:1px solid var(--color-border);padding:8px 12px;text-align:left;vertical-align:middle}.grade-book-semester__cell abbr{cursor:help;text-decoration:none}thead .grade-book-semester__cell{font-weight:600;text-transform:uppercase}.grade-book-semester__code,thead .grade-book-semester__cell{color:var(--color-text-alt);font-size:.75rem;white-space:nowrap}.grade-book-semester__code{background:color-mix(in srgb,var(--color-text) 8%,transparent);border-radius:5px;display:inline-block;font-variant-numeric:tabular-nums;font-weight:600;margin-right:8px;padding:0 4px}.grade-book-semester__cell--number{text-align:right;white-space:nowrap;width:1%}.grade-book-semester__cell--center{text-align:center;width:1%}@container (max-width: 760px){.grade-book-semester__cell--detail{display:none}}.grade-book-semester__label{font-weight:400}.grade-book-semester__row--unit{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.grade-book-semester__row--unit .grade-book-semester__label{font-weight:600}.grade-book-semester__label--element{padding-left:24px;position:relative}.grade-book-semester__label--element:before{border-left:2px solid var(--color-border);bottom:0;content:"";left:12px;position:absolute;top:0}.grade-book-semester__maintained{background:var(--color-info);border-radius:50%;display:inline-block;height:.5rem;margin-left:8px;vertical-align:middle;width:.5rem}.grade-book-semester__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.grade-book-semester__row--total{background:var(--color-primary-soft);font-weight:700}.grade-book-semester__row--total .grade-book-semester__cell{border-bottom:none;border-top:2px solid var(--color-border-dark)}.grade-book-semester__row--total .grade-book-semester__label{font-weight:700}.grade-book-elements{display:flex;flex-direction:column;gap:12px}.grade-book-elements__title{font-size:1rem;margin:0}.grade-book-elements__description{color:var(--color-text-alt);margin:4px 0 0}.grade-book-elements__group{color:var(--color-text-alt);display:flex;flex:1 1 auto;gap:12px;justify-content:space-between;margin:0}.grade-book-elements__group strong{color:var(--color-text)}.grade-book-legend{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px}.grade-book-legend__summary{align-items:center;color:var(--color-primary);cursor:pointer;display:flex;font-weight:600;gap:8px;padding:12px 16px}.grade-book-legend__summary:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:-2px}.grade-book-legend__content{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));padding:0 16px 16px}.grade-book-legend__title{color:var(--color-text-alt);font-size:.875rem;margin:0 0 8px;text-transform:uppercase}.grade-book-legend__text{line-height:1.6;margin:0}.grade-book-legend__list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.grade-book-legend__range{color:var(--color-text-alt)}.grade-book-legend__maintained{background:var(--color-info);border-radius:50%;display:inline-block;height:.5rem;vertical-align:middle;width:.5rem}.grade-value{border-radius:5px;display:inline-block;font-variant-numeric:tabular-nums;min-width:2.75rem;padding:1px 4px;text-align:right;white-space:nowrap}.grade-value--passed{color:var(--color-text)}.grade-value--failed{background:var(--color-danger-soft);color:var(--color-danger);font-weight:600}.grade-value--empty{color:var(--color-text-alt)}.grade-value--strong{font-weight:700}.grade-appreciation{align-items:center;background:var(--color-primary-soft);border:1px solid var(--color-primary);border-radius:50%;color:var(--color-primary);cursor:help;display:inline-flex;font-size:.875rem;font-weight:700;height:1.75rem;justify-content:center;text-decoration:none;width:1.75rem}.student-program{display:flex;flex-direction:column;gap:16px}.student-program__toolbar{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.student-program__search{flex:0 1 320px;min-width:0}@media(max-width:768px){.student-program__search{flex:1 1 auto}}.student-program__semesters,.teacher-workload{display:flex;flex-direction:column;gap:16px}.teacher-workload__count{color:var(--color-text-alt);flex:1 1 auto;font-size:.875rem;font-weight:600;margin:0}.teacher-workload__lesson{display:flex;flex-direction:column;min-width:14rem}.teacher-workload__title{color:var(--color-text);font-weight:600}.teacher-workload__meta{color:var(--color-text-alt);display:flex;flex-wrap:wrap;font-size:.75rem;gap:8px}.teacher-workload__code{font-weight:600;letter-spacing:.02em}.teacher-workload__total{color:var(--color-text);font-variant-numeric:tabular-nums}.teacher-workload__promotions{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.teacher-workload__promotion{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.teacher-workload__promotion-link{color:var(--color-primary);font-weight:600;text-decoration:none}.teacher-workload__promotion-link:hover{text-decoration:underline}.teacher-workload__promotion-name{color:var(--color-text);font-weight:600}.evaluation-result-detail{display:flex;flex-direction:column;gap:16px}.evaluation-result-detail__identity{display:flex;flex-direction:column;gap:4px}.evaluation-result-detail__identity p{margin:0}.evaluation-result-detail__teacher{color:var(--color-text);font-size:1.25rem;font-weight:600}.evaluation-result-detail__lesson{color:var(--color-text-alt);display:flex;flex-wrap:wrap;font-size:.875rem;gap:8px 12px}.evaluation-result-detail__title{color:var(--color-text);font-weight:600}.evaluation-result-detail__code{font-weight:600;letter-spacing:.02em}.evaluation-result-detail__period{color:var(--color-text-alt);font-size:.75rem}.evaluation-result-detail__section{display:flex;flex-direction:column;gap:12px}.evaluation-result-detail__heading{color:var(--color-text);font-size:1rem;font-weight:600;margin:0}.evaluation-result-detail__questions{counter-reset:question;display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.evaluation-result-detail__question{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;counter-increment:question;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(8rem,2fr) auto;padding:8px 12px}@media(max-width:768px){.evaluation-result-detail__question{grid-template-columns:minmax(0,1fr) auto}.evaluation-result-detail__question .evaluation-result-detail__bar{grid-column:1/-1}}.evaluation-result-detail__caption{color:var(--color-text);font-size:.875rem}.evaluation-result-detail__caption:before{color:var(--color-text-alt);content:counter(question) ". ";font-weight:600}.evaluation-result-detail__deprecated{color:var(--color-text-alt);font-size:.75rem;font-style:italic}.evaluation-result-detail__bar{background:var(--color-bg-alt);border-radius:5px;display:block;height:10px;overflow:hidden;position:relative}.evaluation-result-detail__bar:after{background:var(--color-text-alt);border-radius:inherit;content:"";inset:0 auto 0 0;position:absolute;transition:width .3s cubic-bezier(.4,0,.2,1);width:var(--evaluation-bar,0)}.evaluation-result-detail__bar--success:after{background:var(--color-success)}.evaluation-result-detail__bar--warning:after{background:var(--color-warning)}.evaluation-result-detail__bar--danger:after{background:var(--color-danger)}.evaluation-result-detail__value{color:var(--color-text);font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.evaluation-result-detail__answers{color:var(--color-text-alt);font-weight:400}.evaluation-result-detail__comments{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.evaluation-result-detail__comment{background:var(--color-bg-alt);border-left:3px solid var(--color-border-dark);border-radius:0 5px 5px 0;display:flex;flex-direction:column;gap:2px;padding:8px 12px}.evaluation-result-detail__comment-question{color:var(--color-text-alt);font-size:.75rem;font-weight:600}.evaluation-result-detail__comment-text{color:var(--color-text);font-size:.875rem;font-style:italic;overflow-wrap:anywhere}.evaluation-results-table__lesson,.evaluation-results-table__teacher{display:flex;flex-direction:column;min-width:12rem}.evaluation-results-table__names,.evaluation-results-table__title{color:var(--color-text);font-weight:600;text-decoration:none}.evaluation-results-table a.evaluation-results-table__title:hover{color:var(--color-primary);text-decoration:underline}.evaluation-results-table__dates,.evaluation-results-table__meta,.evaluation-results-table__rate,.evaluation-results-table__role{color:var(--color-text-alt);font-size:.75rem}.evaluation-results-table__meta{display:flex;flex-wrap:wrap;gap:8px}.evaluation-results-table__code{font-weight:600;letter-spacing:.02em}.evaluation-results-table__participation{align-items:flex-end;display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.evaluation-results-table__dates{display:flex;flex-direction:column;gap:2px}.lesson-evaluation{display:flex;flex-direction:column;gap:16px}.lesson-evaluation__header{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between;padding:16px}.lesson-evaluation__state{display:flex;flex-direction:column;gap:8px;min-width:0}.lesson-evaluation__period{color:var(--color-text-alt);font-size:.875rem;margin:0}.lesson-evaluation__actions{display:flex;flex-wrap:wrap;gap:8px}@media only screen and (max-width:768px){.lesson-evaluation__actions{width:100%}.lesson-evaluation__actions>*{flex:1 1 auto}}.lesson-evaluation__teacher{display:flex;flex-direction:column;min-width:12rem}.lesson-evaluation__names{color:var(--color-text);font-weight:600}.lesson-evaluation__rate,.lesson-evaluation__role{color:var(--color-text-alt);font-size:.75rem}.lesson-evaluation__participation{align-items:flex-end;display:flex;flex-direction:column;font-variant-numeric:tabular-nums}.year-evaluations__filter{min-width:16rem}.year-evaluations__tabs{margin-bottom:12px}.year-evaluations__count{font-weight:600}.teacher-evaluations__hint,.year-evaluations__count{color:var(--color-text-alt);flex:1 1 auto;font-size:.875rem;margin:0}.student-evaluations{display:flex;flex-direction:column;gap:16px}.student-evaluations__lesson,.student-evaluations__teacher{display:flex;flex-direction:column;min-width:12rem}.student-evaluations__names,.student-evaluations__title{color:var(--color-text);font-weight:600}.student-evaluations__code,.student-evaluations__role{color:var(--color-text-alt);font-size:.75rem}.student-evaluations__code{font-weight:600;letter-spacing:.02em}.student-evaluation-form{display:flex;flex-direction:column;gap:16px}.student-evaluation-form__lesson{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px 12px}.student-evaluation-form__code{font-weight:600;letter-spacing:.02em}.student-evaluation-form__intro{color:var(--color-text-alt);font-size:.875rem;margin:0}.student-evaluation-form__questions{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.student-evaluation-form__question{align-items:flex-start;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px}.student-evaluation-form__question>.field{width:100%}.student-evaluation-form__number{align-items:center;background:var(--color-primary-soft);border-radius:50%;color:var(--color-primary);display:inline-flex;font-size:.75rem;height:1.6em;justify-content:center;margin-right:8px;min-width:1.6em}.student-evaluation-form__comment{width:100%}.student-evaluation-form__footer{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;bottom:0;box-shadow:var(--shadow-md);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px;position:sticky}.student-evaluation-form__progress{align-items:center;color:var(--color-text-alt);font-size:.875rem;font-weight:600;margin:0}.student-evaluation-form__actions,.student-evaluation-form__progress{display:flex;flex-wrap:wrap;gap:8px}@media only screen and (max-width:768px){.student-evaluation-form__actions{width:100%}.student-evaluation-form__actions>*{flex:1 1 auto}}.announcements-manager{display:flex;flex-direction:column;gap:16px}.announcements-manager__filters{align-items:center;display:flex;flex:0 1 30rem;flex-wrap:wrap;gap:12px;min-width:0}.announcements-manager__search{flex:1 1 14rem;min-width:0}.announcements-manager__subject{display:flex;flex-direction:column;min-width:0}.announcements-manager__details{color:var(--color-text-alt);font-size:.75rem}.announcement-record{display:flex;flex-direction:column;gap:24px}.announcement-record__back{align-items:center;align-self:flex-start;color:var(--color-text-alt);display:inline-flex;font-size:.875rem;gap:4px;text-decoration:none}.announcement-record__back:hover{color:var(--color-primary)}.announcement-record__legend{align-items:center;display:inline-flex;flex-wrap:wrap;gap:12px}.announcement-record__facts{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));margin:0}.announcement-record__fact{display:flex;flex-direction:column;gap:4px;min-width:0}.announcement-record__fact dt{color:var(--color-text-alt);font-size:.75rem;font-weight:600;text-transform:uppercase}.announcement-record__fact dd{color:var(--color-text);margin:0}.announcement-record__section{display:flex;flex-direction:column;gap:12px}.announcement-record__section-title{color:var(--color-text);font-size:1.25rem;margin:0}.announcement-record__content{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:24px}.announcement-record__replies{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.announcement-record__reply{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.announcement-record__reply-meta{color:var(--color-text-alt);font-size:.75rem}.announcement-audience-overview{display:flex;flex-direction:column;gap:12px}.announcement-audience-overview__heading{color:var(--color-text);font-size:1.25rem;margin:0}.announcement-audience-overview__note{color:var(--color-text-alt);font-size:.875rem;margin:0}.announcement-audience-overview__lines{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.announcement-audience-overview__line{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:8px;padding:16px}.announcement-audience-overview__title{color:var(--color-text);font-size:.875rem;font-weight:600;margin:0}.announcement-audience-overview__empty{color:var(--color-text-alt);font-size:.875rem;margin:0}.announcement-audience-overview__promotions{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.announcement-audience-overview__excluded{color:var(--color-text-alt);font-size:.875rem}.announcement-audience-overview__excluded summary{cursor:pointer}.announcement-audience-overview__excluded ul{margin:8px 0 0;padding-left:24px}.announcement-recipients{display:flex;flex-direction:column;gap:12px}.announcement-recipients__title{color:var(--color-text);font-size:1.25rem;margin:0}.announcement-recipients__filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;width:100%}.announcement-recipients__search{flex:1 1 16rem;min-width:0}.announcement-composer{display:flex;flex-direction:column;gap:16px}.announcement-composer__back{align-items:center;align-self:flex-start;color:var(--color-text-alt);display:inline-flex;font-size:.875rem;gap:4px;text-decoration:none}.announcement-composer__back:hover{color:var(--color-primary)}.announcement-composer__layout{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1fr)}@media(min-width:1100px){.announcement-composer__layout{grid-template-columns:minmax(0,1fr) 20rem}}.announcement-composer__main{display:flex;flex-direction:column;gap:24px;min-width:0}.announcement-composer__audience{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,24rem),1fr))}@media(min-width:1100px){.announcement-composer__aside{position:sticky;top:16px}}.announcement-composer__panel{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:16px;padding:16px}.announcement-composer__panel-title{color:var(--color-text);font-size:1rem;margin:0}.announcement-composer__actions{display:flex;flex-direction:column;gap:8px}.announcement-composer__hint,.announcement-composer__locked{color:var(--color-text-alt);font-size:.875rem;margin:0}.announcement-composer__error{color:var(--color-danger);font-size:.875rem;margin:0}.announcement-composer__summary{margin:0}.announcement-audience-picker{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:12px;min-width:0;padding:16px}.announcement-audience-picker__header{align-items:flex-start;display:flex;gap:12px}.announcement-audience-picker__icon{color:var(--color-primary)}.announcement-audience-picker__title{color:var(--color-text);font-size:1rem;margin:0}.announcement-audience-picker__description{color:var(--color-text-alt);font-size:.875rem;margin:0}.announcement-audience-picker__selector{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.announcement-audience-picker__promotions{display:flex;flex-direction:column;gap:8px}.announcement-audience-picker__promotion{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:5px}.announcement-audience-picker__summary{align-items:center;cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 12px;padding:4px 8px 4px 12px}.announcement-audience-picker__promotion-name{color:var(--color-text);flex:1 1 auto;font-weight:600;min-width:0}.announcement-audience-picker__counts{color:var(--color-text-alt);font-size:.875rem}.announcement-audience-picker__people{border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px;padding:8px 12px 12px}.announcement-audience-picker__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.announcement-audience-picker__toolbar>:first-child{flex:1 1 12rem}.announcement-audience-picker__list{display:grid;gap:4px 16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));list-style:none;margin:0;max-height:22rem;overflow-y:auto;padding:0}.announcement-audience-picker__empty{color:var(--color-text-alt);font-size:.875rem;margin:0}.announcement-audience-summary{display:flex;flex-direction:column;gap:12px}.announcement-audience-summary__total{align-items:baseline;color:var(--color-text-alt);display:flex;font-size:.875rem;gap:8px;margin:0}.announcement-audience-summary__total-value{color:var(--color-text);font-size:2rem;font-weight:700;line-height:1}.announcement-audience-summary__lines{border-top:1px solid var(--color-border);display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.announcement-audience-summary__line{border-bottom:1px solid var(--color-border)}.announcement-audience-summary__row{color:var(--color-text);display:flex;font-size:.875rem;gap:12px;justify-content:space-between;padding:8px 0}.announcement-audience-summary__details>summary{cursor:pointer}.announcement-audience-summary__value{font-weight:600}.announcement-audience-summary__value--success{color:var(--color-success)}.announcement-audience-summary__value--warning{color:var(--color-warning)}.announcement-audience-summary__hint{color:var(--color-text-alt);font-size:.75rem;margin:0 0 8px}.announcement-audience-summary__people{color:var(--color-text-alt);font-size:.875rem;margin:0 0 8px;max-height:12rem;overflow-y:auto;padding-left:24px}.announcement-action-dialog__subject{color:var(--color-text);margin:0 0 12px}.promotion-program-manager{display:flex;flex-direction:column;gap:16px;min-width:0}.promotion-program-manager__toolbar{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.promotion-program-manager__search{flex:0 1 320px;min-width:0}.promotion-program-manager__semesters{display:flex;flex-direction:column;gap:16px;min-width:0}@media(max-width:768px){.promotion-program-manager__search{flex:1 1 auto}}.promotion-program-semester{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);container-type:inline-size;overflow:hidden}.promotion-program-semester__header{align-items:center;border-bottom:1px solid var(--color-border);border-left:4px solid var(--color-primary);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 16px}.promotion-program-semester__title{align-items:center;display:inline-flex;font-size:1rem;gap:8px;margin:0}.promotion-program-semester__short{background:var(--color-primary-soft);border-radius:5px;color:var(--color-primary);font-size:.875rem;padding:0 8px}.promotion-program-semester__overview{color:var(--color-text-alt);display:inline-flex;flex-wrap:wrap;font-size:.875rem;gap:8px 16px;margin:0}.promotion-program-semester__scroll{overflow-x:auto}.promotion-program-semester__scroll::-webkit-scrollbar{height:8px;width:8px}.promotion-program-semester__scroll::-webkit-scrollbar-track{background:transparent}.promotion-program-semester__scroll::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.promotion-program-semester__scroll::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.promotion-program-semester__table{border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums;width:100%}.promotion-program-semester__caption,.promotion-program-semester__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.promotion-program-semester__cell{border-bottom:1px solid var(--color-border);padding:8px 12px;text-align:left;vertical-align:middle}.promotion-program-semester__cell abbr{cursor:help;text-decoration:none}thead .promotion-program-semester__cell{color:var(--color-text-alt);font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.promotion-program-semester__cell--number{text-align:right;white-space:nowrap;width:1%}.promotion-program-semester__cell--center{text-align:center;width:1%}.promotion-program-semester__cell--actions{text-align:right;width:1%}@container (max-width: 760px){.promotion-program-semester__cell--detail{display:none}}.promotion-program-semester__cell--secondary{min-width:11rem}@container (max-width: 560px){.promotion-program-semester__cell--secondary{display:none}}.promotion-program-semester__label{font-weight:400}.promotion-program-semester__code{background:color-mix(in srgb,var(--color-text) 8%,transparent);border-radius:5px;color:var(--color-text-alt);display:inline-block;font-size:.75rem;font-weight:600;margin-right:8px;padding:0 4px;white-space:nowrap}.promotion-program-semester__code--element{background:transparent;border:1px solid var(--color-border);margin-right:0}.promotion-program-semester__row--unit{background:color-mix(in srgb,var(--color-text) 6%,transparent)}.promotion-program-semester__row--unit .promotion-program-semester__label{font-weight:600}.promotion-program-semester__label--element{padding-left:24px;position:relative}.promotion-program-semester__label--element:before{border-left:2px solid var(--color-border);bottom:0;content:"";left:12px;position:absolute;top:0}.promotion-program-semester__row--element:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.promotion-program-semester__lesson{align-items:center;display:inline-flex;flex-wrap:wrap;gap:4px 8px}.promotion-program-semester__link{color:var(--color-text);text-decoration:none}.promotion-program-semester__link:focus-visible,.promotion-program-semester__link:hover{color:var(--color-primary);text-decoration:underline}.promotion-program-semester__sheet{display:inline-flex;text-decoration:none}.promotion-program-semester__assigned,.promotion-program-semester__empty{color:var(--color-text-alt);font-size:.75rem;font-weight:400}.promotion-program-semester__row--total{background:var(--color-primary-soft);font-weight:700}.promotion-program-semester__row--total .promotion-program-semester__cell{border-bottom:none;border-top:2px solid var(--color-border-dark)}.promotion-program-semester__row--total .promotion-program-semester__label{font-weight:700}.program-lesson-teachers{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.program-lesson-teachers__item{align-items:baseline;display:flex;flex-wrap:wrap;gap:0 8px}.program-lesson-teachers__name{color:var(--color-text)}.program-lesson-teachers__role{color:var(--color-text-alt);font-size:.75rem}.program-lesson-teachers__none{color:var(--color-warning);font-size:.75rem;font-weight:600}.program-lesson-teachers__evaluate{color:var(--color-primary);font-size:.75rem;font-weight:600;text-decoration:none}.program-lesson-teachers__evaluate:hover{text-decoration:underline}.program-dialogs__form{display:flex;flex-direction:column;gap:12px}.program-dialogs__unit{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.program-dialogs__note{align-self:center;color:var(--color-text-alt);font-size:.875rem;margin:0}@media(max-width:576px){.program-dialogs__unit{grid-template-columns:minmax(0,1fr)}}.constitutive-element-fields,.program-element-form-dialog{display:flex;flex-direction:column;gap:12px}.constitutive-element-fields__identity{display:grid;gap:12px;grid-template-columns:minmax(0,3fr) minmax(0,1fr)}.constitutive-element-fields__hours{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}@media(max-width:576px){.constitutive-element-fields__identity{grid-template-columns:minmax(0,1fr)}}.form-build-ue__form{display:flex;flex-direction:column;gap:24px;max-width:1200px}.form-build-ue__identity{display:grid;gap:16px;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}@media only screen and (max-width:768px){.form-build-ue__identity{grid-template-columns:minmax(0,1fr)}}.form-build-ue__classification{align-items:start;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media only screen and (max-width:768px){.form-build-ue__classification{grid-template-columns:minmax(0,1fr)}}.form-build-ue__category{display:flex;flex-direction:column;gap:8px}.form-build-ue__element{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:16px}.form-build-ue__element-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.form-build-ue__subtitle{color:var(--color-text);font-size:.875rem;font-weight:600}.form-build-ue__chooser{display:flex;flex-direction:column;gap:16px}.form-build-ue__owner-promotions{display:flex;flex-direction:column;gap:8px}.form-build-ue__owner-list{display:flex;flex-wrap:wrap;font-size:.875rem;gap:8px 16px;list-style:none;margin:0;padding:0}.form-build-ue__muted,.form-build-ue__totals{color:var(--color-text-alt)}.form-build-ue__totals{font-size:.875rem;margin:0}.form-build-ue__actions{display:flex;gap:12px;justify-content:flex-end}.program-unit-options-dialog{display:flex;flex-direction:column;gap:16px}.program-unit-options-dialog__details{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.program-unit-options-dialog__description{color:var(--color-text-alt);flex-basis:100%}.program-unit-options-dialog__tab{align-items:center;display:inline-flex;gap:8px}.program-unit-options-dialog__panel{min-height:16rem;min-width:0}.program-unit-elements{display:flex;flex-direction:column;gap:12px}.program-unit-elements__empty,.program-unit-elements__hint{color:var(--color-text-alt);font-size:.875rem;margin:0}.program-unit-elements__scroll{border:1px solid var(--color-border);border-radius:8px;overflow-x:auto}.program-unit-elements__scroll::-webkit-scrollbar{height:8px;width:8px}.program-unit-elements__scroll::-webkit-scrollbar-track{background:transparent}.program-unit-elements__scroll::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.program-unit-elements__scroll::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.program-unit-elements__table{border-collapse:collapse;font-size:.875rem;font-variant-numeric:tabular-nums;width:100%}.program-unit-elements__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.program-unit-elements__cell{border-bottom:1px solid var(--color-border);padding:8px 12px;text-align:left;vertical-align:middle}.program-unit-elements__cell abbr{cursor:help;text-decoration:none}thead .program-unit-elements__cell{background:var(--color-bg-alt);color:var(--color-text-alt);font-size:.75rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.program-unit-elements__cell--switch{white-space:nowrap;width:1%}.program-unit-elements__cell--number{text-align:right;white-space:nowrap;width:1%}.program-unit-elements__label{font-weight:400}.program-unit-elements__code{border:1px solid var(--color-border);border-radius:5px;color:var(--color-text-alt);display:inline-block;font-size:.75rem;font-weight:600;margin-right:8px;padding:0 4px;white-space:nowrap}.program-unit-elements__row--off .program-unit-elements__cell--number,.program-unit-elements__row--off .program-unit-elements__label{color:var(--color-text-alt)}.program-unit-elements__override{align-items:baseline;display:inline-flex;flex-wrap:wrap;gap:0 4px}.program-unit-elements__program{font-weight:600;text-decoration:none}.program-unit-elements__catalog{color:var(--color-text-alt);font-size:.75rem}.program-unit-elements__row--total{background:var(--color-primary-soft);font-weight:600}.program-unit-elements__row--total .program-unit-elements__cell{border-bottom:none}.program-unit-elements__row--total .program-unit-elements__label{font-weight:600}.program-unit-promotions{display:flex;flex-direction:column;gap:12px}.program-unit-promotions__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.program-unit-promotions__hint{color:var(--color-text-alt);flex:1 1 18rem;font-size:.875rem;margin:0}.program-unit-promotions__form{border:1px dashed var(--color-border-dark);border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:12px}.program-unit-promotions__actions{display:flex;gap:8px;grid-column:1/-1;justify-content:flex-end}.program-unit-promotions__list{border:1px solid var(--color-border);border-radius:8px;list-style:none;margin:0;padding:0}.program-unit-promotions__item{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 12px}.program-unit-promotions__item+.program-unit-promotions__item{border-top:1px solid var(--color-border)}.program-unit-promotions__item--current{background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.program-unit-promotions__identity{display:flex;flex:1 1 14rem;flex-direction:column;min-width:0}.program-unit-promotions__name{color:var(--color-text);font-weight:600}.program-unit-promotions__year{color:var(--color-text-alt);font-size:.75rem}.program-unit-promotions__badges{display:inline-flex;flex-wrap:wrap;gap:4px}@media(max-width:576px){.program-unit-promotions__form{grid-template-columns:minmax(0,1fr)}}.program-unit-promotions__category-form{align-items:flex-end;display:flex;flex-wrap:wrap;gap:8px}.lesson-assignment-dialog{display:flex;flex-direction:column;gap:16px}.lesson-assignment-dialog__group{display:flex;flex-direction:column;gap:8px}.lesson-assignment-dialog__promotion{align-items:center;display:flex;flex-wrap:wrap;font-size:1rem;gap:8px;margin:0}.lesson-assignment-dialog__others{border-top:1px solid var(--color-border);color:var(--color-text-alt);font-size:.875rem;font-weight:600;margin:8px 0 0;padding-top:12px;text-transform:uppercase}.lesson-assignment-dialog__list{border:1px solid var(--color-border);border-radius:8px;list-style:none;margin:0;padding:0}.lesson-assignment-dialog__item{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;padding:8px 12px}.lesson-assignment-dialog__item+.lesson-assignment-dialog__item{border-top:1px solid var(--color-border)}.lesson-assignment-dialog__item--editing{display:block}.lesson-assignment-dialog__teacher{color:var(--color-text);flex:1 1 12rem;font-weight:600;min-width:0}.lesson-assignment-dialog__empty,.lesson-assignment-dialog__note{color:var(--color-text-alt);font-size:.875rem;margin:0}.lesson-assignment-form{border:1px dashed var(--color-border-dark);border-radius:8px;display:flex;flex-direction:column;gap:12px;padding:12px}.lesson-assignment-form__title{font-weight:600;margin:0}.lesson-assignment-form__fields{display:grid;gap:12px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.lesson-assignment-form__actions{display:flex;gap:8px;justify-content:flex-end}@media(max-width:576px){.lesson-assignment-form__fields{grid-template-columns:minmax(0,1fr)}}.lesson-record{display:flex;flex-direction:column;gap:16px;min-width:0}.lesson-record__tabs{border-bottom:1px solid var(--color-border);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.lesson-record__tab{align-items:center;display:inline-flex;gap:8px;white-space:nowrap}.lesson-record__panel{min-width:0}.lesson-record-header{align-items:start;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);display:grid;gap:16px;grid-template-columns:minmax(0,1fr) auto;padding:16px}@media only screen and (max-width:768px){.lesson-record-header{grid-template-columns:minmax(0,1fr)}}.lesson-record-header__identity{display:flex;flex-direction:column;gap:4px;min-width:0}.lesson-record-header__back{align-items:center;color:var(--color-text-alt);display:inline-flex;font-size:.875rem;gap:4px;text-decoration:none;width:fit-content}.lesson-record-header__back:focus-visible,.lesson-record-header__back:hover{color:#007b99}.lesson-record-header__title{align-items:center;display:flex;flex-wrap:wrap;font-size:1.5rem;gap:8px;margin:0;overflow-wrap:anywhere}.lesson-record-header__code{background:var(--color-primary-soft);border-radius:5px;color:var(--color-primary);font-size:.875rem;font-weight:600;padding:0 8px}.lesson-record-header__details{color:var(--color-text-alt);display:flex;flex-wrap:wrap;gap:4px 16px;margin:0}.lesson-record-header__teachers{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px}.lesson-record-header__label{color:var(--color-text-alt);font-size:.75rem;font-weight:600;text-transform:uppercase}.lesson-record-header__navigation{align-items:center;display:flex;gap:8px}@media only screen and (max-width:768px){.lesson-record-header__navigation{justify-content:flex-end}}.lesson-record-header__position{color:var(--color-text-alt);font-variant-numeric:tabular-nums;min-width:4rem;text-align:center}.lesson-record-navigator{display:flex;flex-direction:column;max-height:100%;min-height:0}.lesson-record-navigator__title{align-items:center;display:flex;font-weight:700;gap:8px;justify-content:space-between;margin:0;padding:12px 12px 0}.lesson-record-navigator__count{background:var(--color-bg-alt);border-radius:5px;color:var(--color-text-alt);font-size:.875rem;padding:0 8px}.grade-save-bar{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-primary);border-radius:12px;bottom:12px;box-shadow:var(--shadow-md);display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;padding:12px 16px;position:sticky;z-index:5}.grade-save-bar__status{align-items:center;display:inline-flex;font-size:.875rem;gap:8px;margin:0}.grade-save-bar__icon{color:var(--color-primary)}.grade-save-bar__invalid{color:var(--color-danger);font-weight:600}.grade-save-bar__actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}@media(max-width:768px){.grade-save-bar{border-radius:8px 8px 0 0;bottom:0}.grade-save-bar__actions{flex:1 1 100%;flex-direction:column-reverse}}.grade-filters{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:768px){.grade-filters{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}}.rib-sheet{display:flex;flex-direction:column;gap:16px;min-width:0}.rib-sheet__comparison{align-items:center;background:var(--color-info-soft);border:1px solid var(--color-info);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 16px}.rib-sheet__comparison-icon{color:var(--color-info)}.rib-sheet__comparison-text{flex:1 1 16rem;font-size:.875rem;min-width:0}.rib-sheet-toolbar{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs);display:grid;gap:12px 16px;grid-template-columns:minmax(0,1fr) auto;padding:12px 16px}.rib-sheet-toolbar__heading{min-width:0}.rib-sheet-toolbar__title{font-size:1.25rem;margin:0}.rib-sheet-toolbar__hint{color:var(--color-text-alt);font-size:.875rem;margin:0}.rib-sheet-toolbar__actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.rib-sheet-toolbar__search{width:min(20rem,100%)}.rib-sheet-toolbar__filters{grid-column:1/-1;min-width:0}@media(max-width:768px){.rib-sheet-toolbar{grid-template-columns:minmax(0,1fr)}.rib-sheet-toolbar__actions{justify-content:stretch}.rib-sheet-toolbar__search{flex:1 1 100%;width:100%}}.rib-sheet-grid{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);container-type:inline-size;overflow:hidden}.rib-sheet-grid__header{align-items:baseline;border-bottom:1px solid var(--color-border);border-left:4px solid var(--color-primary);display:flex;flex-wrap:wrap;gap:4px 12px;padding:12px 16px}.rib-sheet-grid__title{align-items:center;display:inline-flex;font-size:1rem;gap:8px;margin:0}.rib-sheet-grid__count{background:var(--color-bg-alt);border-radius:5px;color:var(--color-text-alt);font-size:.875rem;padding:0 8px}.rib-sheet-grid__description{color:var(--color-text-alt);font-size:.875rem;margin:0}.rib-sheet-grid__scroll{overflow-x:auto}.rib-sheet-grid__scroll::-webkit-scrollbar{height:8px;width:8px}.rib-sheet-grid__scroll::-webkit-scrollbar-track{background:transparent}.rib-sheet-grid__scroll::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.rib-sheet-grid__scroll::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.rib-sheet-grid__table{font-size:.875rem;font-variant-numeric:tabular-nums;min-width:fit-content}.rib-sheet-grid__columns{align-items:end;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);column-gap:12px;display:grid;grid-template-columns:var(--rib-sheet-grid-columns);padding:8px 16px}.rib-sheet-grid__column{color:var(--color-text-alt);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.rib-sheet-grid__column abbr{cursor:help;text-decoration:none}.rib-sheet-grid__column--end{text-align:right}.rib-sheet-grid__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@container (max-width: 640px){.rib-sheet-grid__head{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}}.rib-sheet-row{align-items:center;border-bottom:1px solid var(--color-border);column-gap:12px;display:grid;grid-template-columns:var(--rib-sheet-grid-columns);padding:8px 16px}.rib-sheet-row:last-child{border-bottom:none}.rib-sheet-row:focus-within,.rib-sheet-row:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.rib-sheet-row--changed{box-shadow:inset 3px 0 0 var(--color-primary)}.rib-sheet-row--invalid{box-shadow:inset 3px 0 0 var(--color-danger)}.rib-sheet-row__rank{color:var(--color-text-alt);font-size:.75rem;text-align:right}.rib-sheet-row__student{display:flex;flex-direction:column;min-width:0}.rib-sheet-row__names{color:var(--color-text);font-weight:600;overflow-wrap:anywhere}.rib-sheet-row__details{align-items:center;display:flex;flex-wrap:wrap;gap:4px 8px}.rib-sheet-row__registration{color:var(--color-text-alt);font-size:.75rem;letter-spacing:.02em}.rib-sheet-row__changed{color:var(--color-primary);font-size:.75rem;font-weight:600}.rib-sheet-row__error{color:var(--color-danger);font-size:.75rem}.rib-sheet-row__grade{min-width:0}.rib-sheet-row__label{color:var(--color-text-alt);display:none;font-size:.75rem;font-weight:600;margin-bottom:2px;text-transform:uppercase}.rib-sheet-row__sheet,.rib-sheet-row__total{text-align:right}.rib-sheet-row__sheet--differs{border-radius:5px;outline:2px dashed var(--color-warning);outline-offset:-2px}.rib-sheet-row__absent{color:var(--color-text-alt);font-size:.75rem}.rib-sheet-row__history{display:flex;justify-content:center}@container (max-width: 640px){.rib-sheet-row{gap:8px 12px;grid-template-areas:"student student total" "cc exam history";grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;padding:12px 16px}.rib-sheet-row--cc-only{grid-template-areas:"student student history" "cc cc cc"}.rib-sheet-row__rank{display:none}.rib-sheet-row__student{grid-area:student}.rib-sheet-row__names{font-size:1rem}.rib-sheet-row__grade--cc{grid-area:cc}.rib-sheet-row__grade--exam{grid-area:exam}.rib-sheet-row__total{align-self:start;grid-area:total}.rib-sheet-row__history{align-self:end;grid-area:history}.rib-sheet-row__label{display:block}.rib-sheet-row__sheet{text-align:left}}.rib-sheet-dialogs__form{display:flex;flex-direction:column;gap:12px}.rib-sheet-dialogs__fields{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.rib-sheet-dialogs__empty{color:var(--color-text-alt);margin:0}.rib-sheet-dialogs__history{border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.rib-sheet-dialogs__entry{display:grid;gap:2px 16px;grid-template-columns:minmax(10rem,auto) minmax(0,1fr);padding:8px 12px}.rib-sheet-dialogs__entry+.rib-sheet-dialogs__entry{border-top:1px solid var(--color-border)}.rib-sheet-dialogs__entry--current{background:var(--color-primary-soft)}.rib-sheet-dialogs__when{align-items:center;color:var(--color-text-alt);display:inline-flex;flex-wrap:wrap;font-size:.875rem;gap:8px}.rib-sheet-dialogs__tag{color:var(--color-primary);font-size:.75rem;font-weight:600}.rib-sheet-dialogs__grades{font-size:.875rem}.rib-sheet-dialogs__who{color:var(--color-text-alt);font-size:.75rem;grid-column:2}@media(max-width:576px){.rib-sheet-dialogs__entry{grid-template-columns:minmax(0,1fr)}.rib-sheet-dialogs__who{grid-column:1}}.exam-sheets{display:flex;flex-direction:column;gap:16px;min-width:0}.exam-sheets__toolbar{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;box-shadow:var(--shadow-xs);display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between;padding:12px 16px}.exam-sheets__heading{flex:1 1 20rem;min-width:0}.exam-sheets__title{font-size:1.25rem;margin:0}.exam-sheets__hint{color:var(--color-text-alt);font-size:.875rem;margin:0}.exam-sheet-picker{min-width:0}.exam-sheet-picker__list{display:flex;gap:12px;list-style:none;margin:0;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.exam-sheet-picker__list::-webkit-scrollbar{height:8px;width:8px}.exam-sheet-picker__list::-webkit-scrollbar-track{background:transparent}.exam-sheet-picker__list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.exam-sheet-picker__list::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.exam-sheet-picker__item{flex:0 0 auto;scroll-snap-align:start}.exam-sheet-picker__link{align-items:flex-start;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);display:flex;flex-direction:column;gap:4px;height:100%;padding:12px 16px;text-decoration:none;width:15rem}.exam-sheet-picker__link:focus-visible,.exam-sheet-picker__link:hover{border-color:var(--color-primary)}.exam-sheet-picker__link--active{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:inset 0 -3px 0 var(--color-primary)}.exam-sheet-picker__title{font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-sheet-picker__meta{color:var(--color-text-alt);font-size:.75rem}.exam-sheet{display:flex;flex-direction:column;gap:16px;min-width:0}.exam-sheet__integration{align-items:center;background:var(--color-info-soft);border:1px solid var(--color-info);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between;padding:12px 16px}.exam-sheet__integration-text{flex:1 1 18rem;font-size:.875rem;margin:0}.exam-sheet__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.exam-sheet__search{flex:1 1 18rem;max-width:24rem;min-width:0}.exam-sheet__comment{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;padding:12px 16px}.exam-sheet__comment-title{color:var(--color-text-alt);font-size:.75rem;font-weight:600;margin:0 0 4px;text-transform:uppercase}.exam-sheet__comment-text{margin:0;white-space:pre-line}@media(max-width:768px){.exam-sheet__search{flex-basis:100%;max-width:none}}.exam-sheet-header{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);display:grid;gap:12px 16px;grid-template-columns:minmax(0,1fr) auto;padding:16px}@media only screen and (max-width:768px){.exam-sheet-header{grid-template-columns:minmax(0,1fr)}}.exam-sheet-header__identity{display:flex;flex-direction:column;gap:4px;min-width:0}.exam-sheet-header__title{align-items:center;display:flex;flex-wrap:wrap;font-size:1.25rem;gap:8px;margin:0;overflow-wrap:anywhere}.exam-sheet-header__description{color:var(--color-text-alt);font-size:.875rem;margin:0}.exam-sheet-header__details{display:flex;flex-wrap:wrap;font-size:.875rem;gap:4px 24px;margin:8px 0 0}.exam-sheet-header__details dt{color:var(--color-text-alt);font-size:.75rem;font-weight:600;text-transform:uppercase}.exam-sheet-header__details dd{margin:0}.exam-sheet-header__actions{align-items:flex-start;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media only screen and (max-width:768px){.exam-sheet-header__actions{justify-content:stretch}.exam-sheet-header__actions>*{flex:1 1 auto}}.exam-sheet-header__steps{border-top:1px solid var(--color-border);display:flex;gap:8px;grid-column:1/-1;list-style:none;margin:0;padding:12px 0 0}.exam-sheet-header__step{align-items:center;color:var(--color-text-alt);display:flex;flex:1 1 0;font-size:.875rem;gap:8px;min-width:0}.exam-sheet-header__step:not(:last-child):after{background:var(--color-border);content:"";flex:1 1 auto;height:2px;min-width:12px}.exam-sheet-header__step-number{align-items:center;border:2px solid var(--color-border);border-radius:50%;display:inline-flex;flex:0 0 auto;font-size:.75rem;font-weight:700;height:1.5rem;justify-content:center;width:1.5rem}.exam-sheet-header__step--done{color:var(--color-success)}.exam-sheet-header__step--done:not(:last-child):after{background:var(--color-success)}.exam-sheet-header__step--done .exam-sheet-header__step-number{background:var(--color-success);border-color:var(--color-success);color:var(--color-bg-surface)}.exam-sheet-header__step--current{color:var(--color-primary);font-weight:600}.exam-sheet-header__step--current .exam-sheet-header__step-number{border-color:var(--color-primary);color:var(--color-primary)}@media(max-width:576px){.exam-sheet-header__step{align-items:flex-start;flex-direction:column;font-size:.75rem}.exam-sheet-header__step:not(:last-child):after{display:none}}.exam-sheet-grid{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-xs);container-type:inline-size;overflow:hidden}.exam-sheet-grid__table{font-size:.875rem;font-variant-numeric:tabular-nums}.exam-sheet-grid__columns{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);column-gap:12px;display:grid;grid-template-columns:var(--exam-sheet-grid-columns);padding:8px 16px}.exam-sheet-grid__column{color:var(--color-text-alt);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.exam-sheet-grid__column abbr{cursor:help;text-decoration:none}.exam-sheet-grid__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@container (max-width: 560px){.exam-sheet-grid__head{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}}.exam-sheet-row{align-items:center;border-bottom:1px solid var(--color-border);column-gap:12px;display:grid;grid-template-columns:var(--exam-sheet-grid-columns);padding:8px 16px}.exam-sheet-row:last-child{border-bottom:none}.exam-sheet-row:focus-within,.exam-sheet-row:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.exam-sheet-row--changed{box-shadow:inset 3px 0 0 var(--color-primary)}.exam-sheet-row--invalid{box-shadow:inset 3px 0 0 var(--color-danger)}.exam-sheet-row__code{border:1px solid var(--color-border);border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:600;justify-self:start;letter-spacing:.06em;padding:1px 8px}.exam-sheet-row__student{display:flex;flex-direction:column;min-width:0}.exam-sheet-row__names{font-weight:600;overflow-wrap:anywhere}.exam-sheet-row__details{align-items:center;display:flex;flex-wrap:wrap;gap:4px 8px}.exam-sheet-row__anonymous,.exam-sheet-row__registration{color:var(--color-text-alt);font-size:.75rem}.exam-sheet-row__grade{min-width:0}.exam-sheet-row__label{color:var(--color-text-alt);display:none;font-size:.75rem;font-weight:600;margin-bottom:2px;text-transform:uppercase}.exam-sheet-row__actions{display:flex;justify-content:center}@container (max-width: 560px){.exam-sheet-row{gap:8px 12px;grid-template-areas:"code actions" "grade grade";grid-template-columns:minmax(0,1fr) auto;padding:12px 16px}.exam-sheet-row--with-students{grid-template-areas:"code actions" "student student" "grade grade"}.exam-sheet-row__code{grid-area:code}.exam-sheet-row__student{grid-area:student}.exam-sheet-row__names{font-size:1rem}.exam-sheet-row__grade{grid-area:grade}.exam-sheet-row__actions{grid-area:actions}.exam-sheet-row__label{display:block}}.exam-sheet-dialogs__form{display:flex;flex-direction:column;gap:12px}.exam-sheet-dialogs__text{margin:0}.exam-sheet-dialogs__recap{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;gap:4px;margin:0;padding:12px}.exam-sheet-dialogs__recap-item{display:flex;flex-wrap:wrap;gap:0 12px}.exam-sheet-dialogs__recap-item dt{color:var(--color-text-alt);font-size:.875rem;min-width:9rem}.exam-sheet-dialogs__recap-item dd{font-weight:600;margin:0}.exam-sheet-dialogs__recap-item--changed dd{color:var(--color-primary)}.exam-sheet-creation-dialog{display:flex;flex-direction:column;gap:16px}.exam-sheet-creation-dialog__fields{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.exam-sheet-creation-dialog__students{display:flex;flex-direction:column;gap:12px}.exam-sheet-creation-dialog__students-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between}.exam-sheet-creation-dialog__count{font-size:.875rem;margin:0}.exam-sheet-creation-dialog__group{border:1px solid var(--color-border);border-radius:8px}.exam-sheet-creation-dialog__group-header{align-items:center;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:8px 12px}.exam-sheet-creation-dialog__group-title{align-items:center;display:inline-flex;font-weight:600;gap:8px}.exam-sheet-creation-dialog__group-count{color:var(--color-text-alt);font-size:.75rem;font-weight:400}.exam-sheet-creation-dialog__group-description{color:var(--color-text-alt);font-size:.875rem;margin:0;padding:8px 12px 0}.exam-sheet-creation-dialog__list{list-style:none;margin:0;padding:0}.exam-sheet-creation-dialog__student{align-items:center;display:flex;gap:12px;justify-content:space-between;padding:8px 12px}.exam-sheet-creation-dialog__student+.exam-sheet-creation-dialog__student{border-top:1px solid var(--color-border)}.exam-sheet-creation-dialog__identity{display:flex;flex-direction:column;min-width:0}.exam-sheet-creation-dialog__registration{color:var(--color-text-alt);font-size:.75rem}.exam-sheet-creation-dialog__error{color:var(--color-danger);font-size:.875rem;margin:0}.import-from-promotion__steps{margin:8px 0;padding-left:24px}.import-from-promotion__steps>li+li{margin-top:8px}.import-from-promotion__choices{align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}@media screen and (max-width:992px){.import-from-promotion__choices{grid-template-columns:minmax(0,1fr)}}.import-from-promotion__section{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;margin:0;min-width:0;padding:16px}.import-from-promotion__footer{display:flex;justify-content:flex-end}.import-from-promotion-source__fields{display:grid;gap:0 16px;grid-template-columns:repeat(2,minmax(0,1fr))}@media screen and (max-width:992px){.import-from-promotion-source__fields{grid-template-columns:minmax(0,1fr)}}.import-from-promotion-destination__empty,.import-from-promotion-source__empty{color:var(--color-text-alt);margin:0}.import-from-promotion-students__title{font-size:1rem;margin:0 0 12px}.import-from-promotion-students__empty{color:var(--color-text-alt);margin:0}.import-from-promotion-students__table{border-collapse:collapse;width:100%}.import-from-promotion-students__table>tbody>tr>td,.import-from-promotion-students__table>tbody>tr>th,.import-from-promotion-students__table>thead>tr>th{border-bottom:1px solid var(--color-border);font-weight:400;padding:8px;text-align:left;vertical-align:top}.import-from-promotion-students__table>thead>tr>th{font-weight:700}.import-from-promotion-students__table>tbody>tr:nth-child(2n){background:var(--color-bg)}.import-from-promotion-students__email{color:var(--color-text-alt);display:block;font-size:.875rem;font-style:italic}.student-identity-form{text-align:left}.subscribe-student__form{max-width:1200px}.re-subscribe-student,.re-subscribe-student__form,.subscribe-student__form{display:flex;flex-direction:column;gap:16px}.re-subscribe-student__subtitle{color:var(--color-text)}.re-subscribe-student__profile{align-items:start;display:grid;gap:24px;grid-template-columns:150px minmax(0,1fr)}@media only screen and (max-width:768px){.re-subscribe-student__profile{grid-template-columns:minmax(0,1fr);justify-items:center}}.re-subscribe-student__facts{display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));margin:0;width:100%}.re-subscribe-student__fact dt{color:var(--color-text-alt);font-size:.75rem}.re-subscribe-student__fact dd{color:var(--color-text);font-weight:600;margin:0}.public-form__results{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-direction:column;list-style:none;margin:0;overflow:hidden;padding:0}.public-form__results li+li{border-top:1px solid var(--color-border-alt)}.public-form__result{background:transparent;border:none;color:var(--color-text);cursor:pointer;display:block;font:inherit;padding:12px 16px;text-align:left;width:100%}.public-form__result:hover{background:var(--color-bg-alt)}.public-form__result:focus-visible{box-shadow:inset 0 0 0 3px var(--color-focus-ring);outline:none}.public-form__profile{display:grid;gap:12px 16px;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));margin:0;width:100%}.public-form__fact dt{color:var(--color-text-alt);font-size:.75rem}.public-form__fact dd{color:var(--color-text);font-weight:600;margin:0}.export-students,.import-students,.import-students__form{display:flex;flex-direction:column;gap:16px}.course-schedule-valves-view{display:flex;flex-direction:column;gap:24px}.course-schedule-week-state{align-items:center;border:1px dashed var(--color-border);border-radius:8px;color:var(--color-text-alt);display:flex;flex-direction:column;gap:12px;padding:32px 16px;text-align:center}.course-schedule-week-state__icon{font-size:2rem}.course-schedule-week-state__message{margin:0}.course-schedule-sections{display:flex;flex-direction:column;gap:32px}.course-schedule-sections__group{display:flex;flex-direction:column;gap:24px}.course-schedule-sections__group+.course-schedule-sections__group{border-top:3px solid var(--color-border);padding-top:24px}.course-schedule-sections__heading{font-size:1.25rem;margin:0;text-align:center;text-transform:uppercase}.course-schedule-option-section{display:flex;flex-direction:column;gap:8px}.course-schedule-option-section__title{font-size:1rem;margin:0;text-transform:uppercase}.course-schedule-table{border:1px solid var(--color-border);border-radius:5px;overflow-x:auto}.course-schedule-table::-webkit-scrollbar{height:8px;width:8px}.course-schedule-table::-webkit-scrollbar-track{background:transparent}.course-schedule-table::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.course-schedule-table::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.course-schedule-table__table{background:var(--color-bg-alt);border-collapse:collapse;min-width:76rem;table-layout:fixed}.course-schedule-table__column--promotion{width:6rem}.course-schedule-table__column--teachers{width:12rem}.course-schedule-table__column--time{width:7rem}.course-schedule-table__column--room{width:5.5rem}.course-schedule-table__table--managed{min-width:86rem}.course-schedule-table__column--actions,.course-schedule-table__column--status{width:5.5rem}.course-schedule-table-head__cell{background:var(--color-bg-surface);border:1px solid var(--color-border);font-size:.875rem;padding:8px;text-align:center;vertical-align:bottom}.course-schedule-table-head__cell--teachers{text-align:left}.course-schedule-table-head__day-name{display:block}.course-schedule-table-head__day-date{color:var(--color-text-alt);display:block;font-weight:400}.course-schedule-promotion-rows{border-top:2px solid var(--color-border-dark)}.course-schedule-row>td,.course-schedule-row>th{border:1px solid var(--color-border);font-size:.875rem;vertical-align:middle}.course-schedule-row__promotion,.course-schedule-row__room,.course-schedule-row__teachers,.course-schedule-row__time{padding:8px}.course-schedule-row__promotion{font-weight:700;text-align:center}.course-schedule-row__year{color:var(--color-text-alt);display:block;font-size:.75rem}.course-schedule-row__teacher{display:block}.course-schedule-row__room,.course-schedule-row__time{text-align:center}.course-schedule-row__day{font-weight:600;hyphens:auto;overflow-wrap:break-word;padding:8px 4px;text-align:center}.course-schedule-row__day--free{background-image:repeating-linear-gradient(45deg,var(--color-border) 0,var(--color-border) 1px,transparent 0,transparent 50%);background-size:10px 10px}.course-schedule-creation__domain{max-width:28rem;min-width:16rem}.course-schedule-edit-panel{width:min(64rem,90vw)}.course-schedule-editor-form__fields{border:none;display:flex;flex-direction:column;gap:16px;margin:0;padding:0}.course-schedule-editor-form__week{align-items:start;display:grid;gap:24px;grid-template-columns:20rem minmax(0,1fr)}@media only screen and (max-width:992px){.course-schedule-editor-form__week{grid-template-columns:minmax(0,1fr)}}.course-schedule-editor-form__actions{display:flex;flex-wrap:wrap;gap:12px}.course-schedule-editor-form__failure{align-items:flex-start;color:var(--color-text-alt);display:flex;flex-direction:column;gap:12px}.course-schedule-editor-days{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}.course-schedule-editor-days__day{border:1px solid var(--color-border);border-radius:5px;display:flex;flex-direction:column;gap:4px;padding:8px}.course-schedule-editor-days__date{color:var(--color-text-alt);font-size:.875rem}.course-schedule-editor-days__hint{color:#e74c3c;grid-column:1/-1;margin:0}.course-schedule-editor-slots{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.course-schedule-editor-slots__slot{display:flex;flex-direction:column;gap:8px}.course-schedule-editor-slots__times{align-items:center;display:flex;gap:8px}.course-schedule-editor-slots__separator{color:var(--color-text-alt)}.course-schedule-editor-slots__hint{color:#e74c3c;grid-column:1/-1;margin:0}.course-schedule-lesson-picker__results{border:1px solid var(--color-border);border-radius:5px;list-style:none;margin:0;max-height:18rem;overflow-y:auto;padding:0}.course-schedule-lesson-picker__results::-webkit-scrollbar{height:8px;width:8px}.course-schedule-lesson-picker__results::-webkit-scrollbar-track{background:transparent}.course-schedule-lesson-picker__results::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.course-schedule-lesson-picker__results::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.course-schedule-lesson-picker__results>li+li{border-top:1px solid var(--color-border)}.course-schedule-lesson-picker__result{align-items:flex-start;background:transparent;border:none;border-radius:0;box-shadow:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:4px;padding:8px 12px;text-align:left;width:100%}.course-schedule-lesson-picker__result:focus-visible,.course-schedule-lesson-picker__result:hover{background:rgba(0,123,153,.08)}.course-schedule-lesson-picker__code{color:var(--color-text-alt);font-size:.875rem}.course-schedule-lesson-picker__title{font-weight:700;text-transform:uppercase}.course-schedule-lesson-picker__promotions{color:var(--color-text-alt);font-size:.75rem}.course-schedule-lesson-picker__empty{color:var(--color-text-alt);margin:0}.course-schedule-selected-element{border:1px solid #007b99;border-radius:5px;display:flex;flex-direction:column;gap:12px;margin-top:12px;padding:12px}.course-schedule-selected-element__header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.course-schedule-selected-element__title{display:flex;flex-direction:column;margin:0;text-transform:uppercase}.course-schedule-selected-element__code{color:var(--color-text-alt);font-size:.875rem}.course-schedule-selected-element__row{display:grid;gap:12px;grid-template-columns:9rem minmax(0,1fr)}.course-schedule-selected-element__label{color:var(--color-text-alt);font-weight:600}.course-schedule-selected-element__teachers{margin:0;padding-left:16px}.course-schedule-selected-element__empty,.course-schedule-selected-element__roles{color:var(--color-text-alt)}.course-schedule-selected-element__promotions{display:flex;flex-wrap:wrap;gap:12px 16px}.course-schedule-room-picker{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.course-schedule-room-picker__empty{color:var(--color-text-alt);margin:0}.course-schedule-domain-workspace{display:flex;flex-direction:column;gap:24px}.course-schedule-domain-toolbar{align-items:center;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;display:flex;flex-wrap:wrap;gap:12px 16px;justify-content:space-between;padding:12px 16px}.course-schedule-domain-toolbar__summary{color:var(--color-text-alt);margin:0}.course-schedule-domain-toolbar__actions{display:flex;flex-wrap:wrap;gap:12px}.course-schedule-management-cells{border:1px solid var(--color-border);padding:8px;text-align:center;vertical-align:middle}.course-schedule-management-cells--actions{white-space:nowrap}.course-schedule-status-badge{border:1px solid;border-radius:5px;display:inline-block;font-size:.75rem;font-weight:600;padding:4px 8px;white-space:nowrap}.course-schedule-status-badge--published{background:rgba(83,170,90,.1);color:#53aa5a}.course-schedule-status-badge--draft{background:rgba(255,151,0,.1);color:#ff9700}.course-schedule-publication-list{border:1px solid var(--color-border);border-radius:5px;margin:16px 0;max-height:50vh;overflow:auto}.course-schedule-publication-list::-webkit-scrollbar{height:8px;width:8px}.course-schedule-publication-list::-webkit-scrollbar-track{background:transparent}.course-schedule-publication-list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:12px}.course-schedule-publication-list::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-dark)}.course-schedule-publication-list__table{border-collapse:collapse;font-size:.875rem;width:100%}.course-schedule-publication-list__head{background:var(--color-bg-surface);padding:8px;position:sticky;text-align:left;top:0}.course-schedule-publication-list__cell,.course-schedule-publication-list__title{border-top:1px solid var(--color-border);padding:8px;text-align:left;vertical-align:top}.course-schedule-publication-list__title{font-weight:600}.course-schedule-publication-list__cell--missing{color:#ff9700;font-style:italic}.course-schedule-publication-list__teacher,.course-schedule-publication-list__time{display:block}.course-schedule-publication-list__time{color:var(--color-text-alt)}.course-schedule-removal-dialog{display:grid;gap:4px 16px;grid-template-columns:max-content 1fr;margin:0 0 16px}.course-schedule-removal-dialog__term{color:var(--color-text-alt)}.course-schedule-removal-dialog__value{font-weight:600;margin:0}.GBUy7e6HjZUUgBBuKnbR{align-items:center;background:linear-gradient(135deg,var(--background-l15) 0,var(--background-d15) 100%);color:var(--foreground);display:flex;justify-content:center;min-height:100vh;padding:2rem}.dZYgGiKGUXg70ZqmZl3r{animation:Oq04sB095kQmdLTR5YiE .5s ease-out;background:var(--background);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.2);max-width:600px;padding:3rem;text-align:center;width:100%}.dZYgGiKGUXg70ZqmZl3r h1{color:#e74c3c;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem}.dZYgGiKGUXg70ZqmZl3r p{color:var(--foreground);font-size:1.1rem;line-height:1.6;margin-bottom:2rem}.AWyir2YG5kkaEoyyqxfB{margin-top:2rem}.AWyir2YG5kkaEoyyqxfB .vY5ah3KX7z4DhQqRTAvi{align-items:center;background-color:#3498db;border-radius:6px;box-shadow:0 2px 5px rgba(0,0,0,.1);color:#fff;display:inline-flex;font-weight:500;justify-content:center;padding:.8rem 1.5rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.AWyir2YG5kkaEoyyqxfB .vY5ah3KX7z4DhQqRTAvi:hover{background-color:#2980b9;box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.AWyir2YG5kkaEoyyqxfB .vY5ah3KX7z4DhQqRTAvi .sbpNnXUPgQd6XZ2cmOG4{margin-right:.5rem!important}@keyframes Oq04sB095kQmdLTR5YiE{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.GBUy7e6HjZUUgBBuKnbR{padding:1rem}.dZYgGiKGUXg70ZqmZl3r{padding:2rem 1.5rem}.dZYgGiKGUXg70ZqmZl3r h1{font-size:2rem}.dZYgGiKGUXg70ZqmZl3r p{font-size:1rem}}