@charset "UTF-8";@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/fonts/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2-variations")}:root{color-scheme:light;--ec-sidebar:#102f46;--ec-sidebar-text:#f5f8fa;--ec-primary:#17577c;--ec-primary-soft:#e4f1f7;--ec-accent:#69d1c5;--ec-canvas:#f5f7f9;--ec-surface:#ffffff;--ec-text:#17222b;--ec-muted:#667681;--ec-border:#dce3e8;--ec-success:#237a57;--ec-success-soft:#e4f4ec;--ec-warning:#d67b25;--ec-neutral-soft:#edf1f3;--ec-shadow:0 8px 28px rgba(25,47,62,.055);font-family:Plus Jakarta Sans Variable,Plus Jakarta Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-optical-sizing:auto;font-synthesis:none;color:var(--ec-text);background:var(--ec-canvas)}*{box-sizing:border-box}html{min-height:100%;margin:0;font-size:17px}body{min-height:100%;margin:0;min-width:320px;font-family:inherit;font-size:16px;line-height:1.55;letter-spacing:-.008em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:630;line-height:1.18}strong,b{font-weight:620}button,input,select,textarea{font:inherit}.p-component{font-family:inherit;letter-spacing:-.008em}.p-button,.p-button:hover,.p-button:focus,.p-button:visited{font-weight:600;letter-spacing:-.012em;text-decoration:none}.p-tag{font-weight:650;letter-spacing:.015em}.p-inputtext,.p-select-label,.p-multiselect-label{font-weight:500}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--ec-accent) 75%,transparent);outline-offset:2px}.semantic-metrics{gap:.68rem!important;overflow:visible!important;border:0!important;background:transparent!important;box-shadow:none!important}.semantic-metrics>article{--metric-bg:#f2f5f7;--metric-border:#dce5e9;--metric-accent:#536b78;--metric-icon-bg:#e5ecef;border:1px solid var(--metric-border)!important;border-radius:.78rem!important;background:var(--metric-bg)!important;box-shadow:0 5px 16px #1f37450b!important}.semantic-metrics>article.tone-neutral{--metric-bg:#f2f5f7;--metric-border:#dce5e9;--metric-accent:#536b78;--metric-icon-bg:#e5ecef}.semantic-metrics>article.tone-info{--metric-bg:#eef5fa;--metric-border:#d3e4ee;--metric-accent:#326b89;--metric-icon-bg:#ddecf4}.semantic-metrics>article.tone-warning{--metric-bg:#fff7e8;--metric-border:#f0dfc0;--metric-accent:#94651d;--metric-icon-bg:#f8ebcf}.semantic-metrics>article.tone-danger{--metric-bg:#fff0ee;--metric-border:#f0d2ce;--metric-accent:#a84a42;--metric-icon-bg:#f6deda}.semantic-metrics>article.tone-success{--metric-bg:#ecf7f1;--metric-border:#cfe8db;--metric-accent:#28765a;--metric-icon-bg:#d8efe3}.semantic-metrics>article strong{color:var(--metric-accent)!important}.semantic-metrics>article small{color:#586d78!important}.semantic-metrics>article em,.semantic-metrics>article div>span{color:#71818a!important}.semantic-metrics>article>span:has(ecodir-icon){background:var(--metric-icon-bg)!important;color:var(--metric-accent)!important}.semantic-metrics>article.tone-danger>span:has(ecodir-icon),.semantic-metrics>article.tone-warning>span:has(ecodir-icon),.semantic-metrics>article.tone-success>span:has(ecodir-icon),.semantic-metrics>article.tone-info>span:has(ecodir-icon){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--metric-accent) 12%,transparent)}.semantic-inline-metrics>span{border:1px solid var(--metric-border, #dce5e9)!important;background:var(--metric-bg, #f2f5f7)!important;color:#657782!important}.semantic-inline-metrics>span strong{color:var(--metric-accent, #536b78)!important}.semantic-inline-metrics>.tone-success{--metric-bg:#ecf7f1;--metric-border:#cfe8db;--metric-accent:#28765a}.semantic-inline-metrics>.tone-warning{--metric-bg:#fff7e8;--metric-border:#f0dfc0;--metric-accent:#94651d}.semantic-inline-metrics>.tone-danger{--metric-bg:#fff0ee;--metric-border:#f0d2ce;--metric-accent:#a84a42}@media(max-width:720px){.semantic-metrics{gap:.55rem!important}}app-codirs-page table.codir-table{min-width:58rem;table-layout:fixed}app-codirs-page .codir-table th:nth-child(1){width:13%}app-codirs-page .codir-table th:nth-child(2){width:23%}app-codirs-page .codir-table th:nth-child(3){width:12%}app-codirs-page .codir-table th:nth-child(4){width:15%}app-codirs-page .codir-table th:nth-child(5){width:19%}app-codirs-page .codir-table th:nth-child(6){width:11%}app-codirs-page .codir-table th:nth-child(7){width:7%}app-codirs-page .codir-title-line{display:flex;align-items:center;justify-content:space-between;gap:.4rem}app-directions-page .overlay{position:fixed;z-index:50;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0a1f2d57;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}app-directions-page .editor{display:flex;flex-direction:column;width:min(34rem,100%);max-height:calc(100vh - 2rem);overflow:hidden;border:1px solid rgba(220,227,232,.9);border-radius:1rem;background:var(--ec-surface);box-shadow:0 24px 70px #0a1f2d38;animation:direction-pop-in .18s ease-out}app-directions-page .editor>header{display:flex;align-items:center;justify-content:space-between;padding:1.15rem 1.3rem;border-bottom:1px solid var(--ec-border)}app-directions-page .editor>header span{color:var(--ec-primary);font-size:.61rem;font-weight:620;letter-spacing:.09em}app-directions-page .editor>header h2{margin:.12rem 0 0;font-size:1.1rem;font-weight:620}app-directions-page .editor>header button{display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:.5rem;background:transparent;color:var(--ec-muted);cursor:pointer}app-directions-page .editor>header button:hover{background:var(--ec-canvas);color:var(--ec-text)}app-directions-page .editor form{display:flex;flex:1;min-height:0;flex-direction:column}app-directions-page .editor-body{display:flex;flex:1;flex-direction:column;overflow-y:auto;padding:1.3rem}app-directions-page .editor-body label{display:grid;gap:.38rem;margin-top:1rem;color:#334a57;font-size:.76rem;font-weight:610}app-directions-page .editor-body label:first-of-type{margin-top:0}app-directions-page .editor-body label>.field-label{display:flex;align-items:center;gap:.25rem;color:#3d4a53}app-directions-page .editor-body .field-label b{color:#b34e45;font-weight:580}app-directions-page .editor-body .field-label em{margin-left:auto;color:var(--ec-muted);font-size:.61rem;font-style:normal;font-weight:450}app-directions-page .editor-body input,app-directions-page .editor-body textarea{width:100%;padding:.62rem .7rem;border:1px solid var(--ec-border);border-radius:.58rem;background:#fff;color:var(--ec-text);font-size:.75rem;outline:0}app-directions-page .editor-body textarea{resize:vertical}app-directions-page .editor-body input:focus,app-directions-page .editor-body textarea:focus{border-color:var(--ec-primary);box-shadow:0 0 0 3px var(--ec-primary-soft)}app-directions-page .editor-body input:disabled,app-directions-page .editor-body textarea:disabled{background:#f5f7f8;color:#687780}app-directions-page .field-hint,app-directions-page .field-error{display:flex;align-items:center;gap:.35rem;margin-top:.3rem;font-size:.62rem}app-directions-page .field-hint{color:var(--ec-muted)}app-directions-page .field-error{color:#a3423a}app-directions-page .character-count{margin-top:.3rem;color:var(--ec-muted);font-size:.6rem;text-align:right}app-directions-page .read-only-note,app-directions-page .form-error,app-directions-page .dependency-note{display:flex;align-items:flex-start;gap:.45rem;padding:.65rem .7rem;border-radius:.6rem;font-size:.68rem}app-directions-page .read-only-note{margin-bottom:.2rem;background:#f1f6f8;color:#456270}app-directions-page .form-error{margin-top:1rem;background:#fff3f2;color:#963e36}app-directions-page .editor dl{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--ec-border)}app-directions-page .editor dl div{display:grid;gap:.1rem}app-directions-page .editor dt{color:var(--ec-muted);font-size:.6rem}app-directions-page .editor dd{margin:0;font-size:.72rem}app-directions-page .editor footer,app-directions-page .confirmation footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.3rem;border-top:1px solid var(--ec-border)}app-directions-page .secondary{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;padding:.48rem .75rem;border:1px solid var(--ec-border);border-radius:.58rem;background:#fff;color:var(--ec-text);font-size:.72rem;cursor:pointer}app-directions-page .confirmation-overlay{align-items:center;justify-content:center;padding:1rem}app-directions-page .confirmation{width:min(27rem,100%);padding:1.35rem;border-radius:.9rem;background:#fff;box-shadow:0 22px 65px #0a1f2d38;animation:direction-pop-in .16s ease-out}app-directions-page .confirmation-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.75rem;background:#fff4ed;color:#a75c2d}app-directions-page .confirmation-icon.activation{background:#edf8f4;color:#237a57}app-directions-page .confirmation h2{margin:.9rem 0 .35rem;font-size:1.05rem;font-weight:620}app-directions-page .confirmation>p{margin:0;color:var(--ec-muted);font-size:.74rem}app-directions-page .confirmation>p strong{color:var(--ec-text)}app-directions-page .dependency-note{margin-top:1rem;background:#fff8eb;color:#81541e}app-directions-page .confirmation footer{margin:1.2rem -1.35rem -1.35rem;padding-bottom:1.1rem}app-directions-page .confirm-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;padding:.48rem .75rem;border:1px solid #ad5b4f;border-radius:.58rem;background:#ad5b4f;color:#fff;font-size:.72rem;cursor:pointer}app-directions-page .confirm-button.activate{border-color:var(--ec-success);background:var(--ec-success)}app-directions-page .toast{position:fixed;z-index:70;right:1.5rem;bottom:1.5rem;display:flex;align-items:center;gap:.5rem;max-width:min(26rem,100vw - 2rem);padding:.78rem .9rem;border:1px solid #ccebdd;border-radius:.65rem;background:#f0f9f5;color:#176447;box-shadow:0 12px 35px #133b2d29;font-size:.7rem}app-directions-page .toast.error{border-color:#f1d0cd;background:#fff3f2;color:#963e36}@keyframes direction-pop-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media(max-width:600px){app-directions-page .overlay{padding:.75rem}app-directions-page .editor{width:100%;max-height:calc(100vh - 1.5rem);border-radius:.85rem}app-directions-page .toast{right:1rem;bottom:1rem;left:1rem}}@media(prefers-reduced-motion:reduce){app-directions-page .editor,app-directions-page .confirmation{animation:none}}.user-dialog .p-dialog-content{padding-top:.4rem}.user-dialog .p-dialog-header{padding-bottom:.9rem}.user-dialog .user-form{display:grid;gap:.9rem}.user-dialog .read-only-note,.user-dialog .form-error{display:flex;align-items:center;gap:.45rem;padding:.65rem .7rem;border-radius:.6rem;background:#f1f6f8;color:#456270;font-size:.68rem}.user-dialog .form-error{background:#fff3f2;color:#963e36}.user-dialog .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.user-dialog .form-grid label{display:grid;gap:.35rem;color:#3d4a53;font-size:.7rem;font-weight:580}.user-dialog .form-grid label.wide{grid-column:1/-1}.user-dialog .form-grid label span b,.user-dialog fieldset legend b{color:#b34e45}.user-dialog .form-grid input,.user-dialog .form-select select{width:100%;padding:.62rem .7rem;border:1px solid var(--ec-border);border-radius:.58rem;background:#fff;color:var(--ec-text);font-size:.74rem;outline:0}.user-dialog .form-grid input:focus,.user-dialog .form-select select:focus{border-color:var(--ec-primary);box-shadow:0 0 0 3px var(--ec-primary-soft)}.user-dialog .form-grid input:disabled,.user-dialog .form-select select:disabled{background:#f5f7f8;color:#687780}.user-dialog .select-wrap{position:relative;display:flex;align-items:center;width:100%}.user-dialog .select-wrap ecodir-icon{position:absolute;right:.55rem;color:var(--ec-muted);pointer-events:none}.user-dialog .form-select select{max-width:none;padding-right:2rem;appearance:none}.user-dialog .field-error{color:#a3423a;font-size:.62rem}.user-dialog fieldset{margin:0;padding:.8rem;border:1px solid var(--ec-border);border-radius:.7rem}.user-dialog fieldset legend{padding:0 .3rem;color:#3d4a53;font-size:.7rem;font-weight:580}.user-dialog fieldset legend em{margin-left:.3rem;padding:.14rem .34rem;border-radius:.35rem;background:#edf5f8;color:#446b7d;font-size:.56rem;font-style:normal;font-weight:570}.user-dialog fieldset>p{margin:0 0 .65rem;color:var(--ec-muted);font-size:.65rem}.user-dialog .role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.user-dialog .role-grid label{cursor:pointer}.user-dialog .role-grid input{position:absolute;opacity:0;pointer-events:none}.user-dialog .role-grid span{display:flex;align-items:center;gap:.4rem;padding:.48rem .55rem;border:1px solid var(--ec-border);border-radius:.5rem;color:var(--ec-muted);font-size:.66rem}.user-dialog .role-grid ecodir-icon{opacity:0}.user-dialog .role-grid label.checked span{border-color:#b8d5e2;background:var(--ec-primary-soft);color:var(--ec-primary)}.user-dialog .role-grid label.checked ecodir-icon{opacity:1}.user-dialog .role-grid label.inactive:not(.checked){cursor:not-allowed;opacity:.58}.user-dialog .account-meta{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:.8rem;padding:.75rem;border-radius:.65rem;background:#f6f8f9}.user-dialog .account-meta div{display:grid}.user-dialog .account-meta span{color:var(--ec-muted);font-size:.59rem}.user-dialog .account-meta strong{font-size:.68rem;font-weight:580}.user-dialog .account-meta button{display:flex;align-items:center;gap:.4rem;padding:.45rem .55rem;border:1px solid var(--ec-border);border-radius:.5rem;background:#fff;color:var(--ec-primary);font-size:.65rem;cursor:pointer}.user-dialog .p-dialog-footer .p-button:not(.p-button-text){border-color:var(--ec-primary);background:var(--ec-primary);color:#fff}.user-dialog .p-dialog-footer .p-button:not(.p-button-text):hover{border-color:#204f69;background:#204f69}.status-dialog .p-dialog-header{display:none}.status-dialog .p-dialog-content{padding-top:1.35rem}.status-dialog .status-confirmation{text-align:center}.status-dialog .confirmation-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;margin:0 auto;border-radius:.75rem;background:#fff4ed;color:#a75c2d}.status-dialog .confirmation-icon.activation{background:#edf8f4;color:#237a57}.status-dialog .status-confirmation h2{margin:.8rem 0 .3rem;font-size:1.05rem}.status-dialog .status-confirmation p{margin:0;color:var(--ec-muted);font-size:.74rem}@media(max-width:700px){.user-dialog .form-grid,.user-dialog .role-grid{grid-template-columns:1fr}.user-dialog .form-grid label.wide{grid-column:auto}.user-dialog .account-meta{grid-template-columns:1fr}}.role-dialog{max-height:92vh}.role-dialog .p-dialog-header{padding-bottom:.85rem}.role-dialog .p-dialog-content{overflow-y:auto;padding-top:.35rem}.role-dialog .role-form{display:grid;gap:1rem}.role-dialog .role-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.9rem;border:1px solid #0f344a;border-radius:.75rem;background:#0f344a;color:#fff}.role-dialog .role-symbol{display:grid;place-items:center;width:2.65rem;height:2.65rem;border-radius:.7rem;background:#ffffff1a;color:#fff;box-shadow:0 4px 14px #0516211f}.role-dialog .role-heading>div>span{color:#b8ced9;font-size:.61rem;font-weight:680;letter-spacing:.1em}.role-dialog .role-heading h2{margin:.12rem 0 0;color:#fff;font-size:1.08rem;font-weight:650}.role-dialog .role-heading dl{display:flex;gap:1.2rem;margin:0}.role-dialog .role-heading dl div{display:grid;justify-items:end}.role-dialog .role-heading dt{color:#b8ced9;font-size:.61rem}.role-dialog .role-heading dd{color:#fff}.role-dialog .role-heading dd{margin:0;color:var(--ec-primary);font-size:.86rem;font-weight:620}.role-dialog .read-only-note,.role-dialog .form-error{display:flex;align-items:center;gap:.45rem;padding:.65rem .7rem;border-radius:.6rem;background:#f1f6f8;color:#456270;font-size:.7rem}.role-dialog .form-error{background:#fff3f2;color:#963e36}.role-dialog .description-field{display:grid;gap:.35rem;color:#3d4a53;font-size:.72rem;font-weight:580}.role-dialog .description-field b{color:#b34e45}.role-dialog .description-field textarea{width:100%;resize:vertical;padding:.62rem .7rem;border:1px solid var(--ec-border);border-radius:.58rem;background:#fff;color:var(--ec-text);font-size:.75rem;line-height:1.5;outline:0}.role-dialog .description-field textarea:focus{border-color:var(--ec-primary);box-shadow:0 0 0 3px var(--ec-primary-soft)}.role-dialog .description-field textarea:disabled{background:#f5f7f8;color:#687780}.role-dialog .field-error{color:#a3423a;font-size:.64rem}.role-dialog .permissions-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:.15rem}.role-dialog .permissions-heading h3{margin:0;font-size:.88rem;font-weight:620}.role-dialog .permissions-heading p{margin:.18rem 0 0;color:var(--ec-muted);font-size:.66rem}.role-dialog .permissions-heading>strong{color:var(--ec-primary);font-size:.68rem;font-weight:620;white-space:nowrap}.role-dialog .permission-groups{display:grid;gap:.55rem}.role-dialog details{overflow:hidden;border:1px solid var(--ec-border);border-radius:.68rem;background:#fff}.role-dialog summary{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.65rem;padding:.7rem .8rem;cursor:pointer;list-style:none}.role-dialog summary::-webkit-details-marker{display:none}.role-dialog summary div{display:grid;gap:.08rem}.role-dialog summary strong{color:var(--ec-text);font-size:.73rem;font-weight:600}.role-dialog summary small{color:var(--ec-muted);font-size:.62rem}.role-dialog summary>span{padding:.2rem .4rem;border-radius:.38rem;background:#f0f4f7;color:#51626f;font-size:.6rem;font-weight:600}.role-dialog summary>ecodir-icon{color:var(--ec-muted);transition:transform .16s ease}.role-dialog details[open] summary{border-bottom:1px solid var(--ec-border);background:#fafcfd}.role-dialog details[open] summary>ecodir-icon{transform:rotate(180deg)}.role-dialog .group-content{padding:.65rem .75rem .75rem}.role-dialog .group-content>button{display:block;margin:0 0 .5rem auto;padding:.25rem .4rem;border:0;background:transparent;color:var(--ec-primary);font-size:.61rem;font-weight:570;cursor:pointer}.role-dialog .permission-list{display:grid;grid-template-columns:1fr 1fr;gap:.42rem}.role-dialog .permission-list label{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.45rem;min-width:0;padding:.5rem .55rem;border:1px solid var(--ec-border);border-radius:.5rem;background:#fff;cursor:pointer}.role-dialog .permission-list label.checked{border-color:#b8d5e2;background:#f2f8fb}.role-dialog .permission-list label.disabled{cursor:not-allowed;opacity:.76}.role-dialog .permission-list input{position:absolute;opacity:0;pointer-events:none}.role-dialog .permission-check{display:grid;place-items:center;width:1.12rem;height:1.12rem;border:1px solid #bdc9d0;border-radius:.28rem;background:#fff;color:#fff}.role-dialog label.checked .permission-check{border-color:var(--ec-primary);background:var(--ec-primary)}.role-dialog .permission-copy{display:grid;min-width:0;gap:.05rem}.role-dialog .permission-copy strong{overflow:hidden;color:#35434c;font-size:.66rem;font-weight:590;text-overflow:ellipsis;white-space:nowrap}.role-dialog .permission-copy small{overflow:hidden;color:var(--ec-muted);font-size:.57rem;text-overflow:ellipsis;white-space:nowrap}.role-dialog .level{padding:.18rem .3rem;border-radius:.32rem;background:#eef3f5;color:#5c6c76;font-size:.51rem;font-weight:620;letter-spacing:.035em}.role-dialog .level[data-level=CONTRIBUTION]{background:#edf5fa;color:#35647c}.role-dialog .level[data-level=GESTION]{background:#fff3e7;color:#8b541e}.role-dialog .sensitive{display:grid;place-items:center;color:#a36132}.role-dialog .p-dialog-footer{display:flex;align-items:center}.role-dialog .role-footer-spacer{flex:1}.role-dialog .p-dialog-footer .p-button:not(.p-button-text){border-color:var(--ec-primary);background:var(--ec-primary);color:#fff}.role-dialog .p-dialog-footer .p-button:not(.p-button-text):hover{border-color:#204f69;background:#204f69}app-roles-page .toast{position:fixed;z-index:120;right:1.5rem;bottom:1.5rem;display:flex;align-items:center;gap:.5rem;max-width:min(28rem,100vw - 2rem);padding:.78rem .9rem;border:1px solid #ccebdd;border-radius:.65rem;background:#f0f9f5;color:#176447;box-shadow:0 12px 35px #133b2d29;font-size:.72rem}app-roles-page .toast.error{border-color:#f1d0cd;background:#fff3f2;color:#963e36}@media(max-width:700px){.role-dialog .role-heading{grid-template-columns:auto 1fr}.role-dialog .role-heading dl{grid-column:1/-1;justify-content:space-between}.role-dialog .permission-list{grid-template-columns:1fr}.role-dialog .permissions-heading{align-items:flex-start;flex-direction:column}.role-dialog .p-dialog-footer{flex-wrap:wrap}.role-dialog .role-footer-spacer{display:none}app-roles-page .toast{right:1rem;bottom:1rem;left:1rem}}table.ecodir-data-table td{font-size:.68rem}table.ecodir-data-table td>strong,table.ecodir-data-table .table-title-ellipsis{font-size:.73rem}table.ecodir-data-table td>small{font-size:.58rem}table.ecodir-data-table{width:100%;min-width:0!important;table-layout:fixed}table.ecodir-data-table th,table.ecodir-data-table td{min-width:0;overflow:hidden;text-overflow:ellipsis}table.ecodir-data-table th{white-space:nowrap}table.ecodir-data-table th:last-child,table.ecodir-data-table td:last-child{width:4.75rem}table.ecodir-data-table td>strong,table.ecodir-data-table td>small{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}table .table-title-ellipsis{display:block;min-width:0;overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}@media(max-width:680px){table.ecodir-data-table{min-width:44rem!important}}app-reference-types-page .feedback-state{display:grid;justify-items:center;gap:.35rem;padding:3.5rem 1rem;text-align:center}app-reference-types-page .feedback-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;margin-bottom:.2rem;border-radius:.75rem;background:var(--ec-primary-soft);color:var(--ec-primary)}app-reference-types-page .feedback-icon.error{background:#fff3f2;color:#963e36}app-reference-types-page .feedback-state strong{font-size:.84rem;font-weight:610}app-reference-types-page .feedback-state p{margin:0;color:var(--ec-muted);font-size:.73rem}app-reference-types-page .feedback-state button{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;padding:.42rem .6rem;border:1px solid var(--ec-border);border-radius:.5rem;background:#fff;color:var(--ec-primary);font-size:.7rem;cursor:pointer}app-reference-types-page .overlay{position:fixed;z-index:50;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0a1f2d57;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}app-reference-types-page .editor{display:flex;flex-direction:column;width:min(40rem,100%);max-height:calc(100vh - 2rem);overflow:hidden;border:1px solid rgba(220,227,232,.9);border-radius:1rem;background:var(--ec-surface);box-shadow:0 24px 70px #0a1f2d38;animation:direction-pop-in .18s ease-out}app-reference-types-page .editor>header{display:flex;align-items:center;justify-content:space-between;padding:1.05rem 1.25rem;border-bottom:1px solid var(--ec-border)}app-reference-types-page .editor>header span{color:var(--ec-primary);font-size:.61rem;font-weight:620;letter-spacing:.09em}app-reference-types-page .editor>header h2{margin:.12rem 0 0;font-size:1.08rem;font-weight:620}app-reference-types-page .editor>header button{display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:.5rem;background:transparent;color:var(--ec-muted);cursor:pointer}app-reference-types-page .editor>header button:hover{background:var(--ec-canvas);color:var(--ec-text)}app-reference-types-page .editor form{display:flex;flex:1;min-height:0;flex-direction:column}app-reference-types-page .editor-body{display:flex;flex:1;flex-direction:column;overflow-y:auto;padding:1.2rem 1.25rem}app-reference-types-page .form-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:.75rem}app-reference-types-page .editor-body label{display:grid;gap:.36rem;margin-top:.9rem;color:#334a57;font-size:.76rem;font-weight:610}app-reference-types-page .form-grid label{margin-top:0}app-reference-types-page .field-label{display:flex;align-items:center;gap:.25rem}app-reference-types-page .field-label b{color:#b34e45}app-reference-types-page .field-label em{margin-left:auto;color:var(--ec-muted);font-size:.64rem;font-style:normal;font-weight:500}app-reference-types-page .editor-body input,app-reference-types-page .editor-body textarea,app-reference-types-page .editor-body select{width:100%;padding:.62rem .7rem;border:1px solid var(--ec-border);border-radius:.58rem;background:#fff;color:var(--ec-text);font-size:.75rem;outline:0}app-reference-types-page .editor-body textarea{resize:vertical}app-reference-types-page .editor-body input:focus,app-reference-types-page .editor-body textarea:focus,app-reference-types-page .editor-body select:focus{border-color:var(--ec-primary);box-shadow:0 0 0 3px var(--ec-primary-soft)}app-reference-types-page .editor-body input:disabled,app-reference-types-page .editor-body textarea:disabled,app-reference-types-page .editor-body select:disabled{background:#f5f7f8;color:#687780}app-reference-types-page .editor-body .select-wrap select{appearance:none;padding-right:2rem}app-reference-types-page .field-hint,app-reference-types-page .field-error{display:flex;align-items:center;gap:.35rem;margin-top:.3rem;font-size:.62rem}app-reference-types-page .field-hint{color:var(--ec-muted)}app-reference-types-page .field-error{color:#a3423a}app-reference-types-page .character-count{margin-top:.25rem;color:var(--ec-muted);font-size:.6rem;text-align:right}app-reference-types-page .configuration-fields{margin-top:1rem;padding:.8rem;border:1px solid #d7e4e9;border-radius:.72rem;background:#f5f8fa}app-reference-types-page .configuration-heading{display:flex;align-items:center;gap:.55rem;margin-bottom:.75rem}app-reference-types-page .configuration-heading>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.52rem;background:#fff;color:var(--ec-primary)}app-reference-types-page .configuration-heading>div{display:grid;gap:.02rem}app-reference-types-page .configuration-heading strong{font-size:.72rem;font-weight:600}app-reference-types-page .configuration-heading small{color:var(--ec-muted);font-size:.61rem}app-reference-types-page .configuration-fields .form-grid{grid-template-columns:1fr 1fr}app-reference-types-page .document-fields label>small{color:var(--ec-muted);font-size:.58rem;font-weight:450}app-reference-types-page .input-suffix{position:relative}app-reference-types-page .input-suffix input{padding-right:4.2rem}app-reference-types-page .input-suffix span{position:absolute;top:50%;right:.7rem;transform:translateY(-50%);color:var(--ec-muted);font-size:.62rem;pointer-events:none}app-reference-types-page .read-only-note,app-reference-types-page .form-error,app-reference-types-page .dependency-note{display:flex;align-items:flex-start;gap:.45rem;padding:.65rem .7rem;border-radius:.6rem;font-size:.68rem}app-reference-types-page .read-only-note{margin-bottom:.8rem;background:#f1f6f8;color:#456270}app-reference-types-page .form-error{margin-top:1rem;background:#fff3f2;color:#963e36}app-reference-types-page .editor dl{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:1rem 0 0;padding-top:.85rem;border-top:1px solid var(--ec-border)}app-reference-types-page .editor dl div{display:grid;gap:.1rem}app-reference-types-page .editor dt{color:var(--ec-muted);font-size:.6rem}app-reference-types-page .editor dd{margin:0;font-size:.72rem}app-reference-types-page .editor footer,app-reference-types-page .confirmation footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.25rem;border-top:1px solid var(--ec-border)}app-reference-types-page .secondary{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;padding:.48rem .75rem;border:1px solid var(--ec-border);border-radius:.58rem;background:#fff;color:var(--ec-text);font-size:.72rem;cursor:pointer}app-reference-types-page .confirmation{width:min(28rem,100%);padding:1.35rem;border-radius:.9rem;background:#fff;box-shadow:0 22px 65px #0a1f2d38;animation:direction-pop-in .16s ease-out}app-reference-types-page .confirmation-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.75rem;background:#fff4ed;color:#a75c2d}app-reference-types-page .confirmation-icon.activation{background:#edf8f4;color:#237a57}app-reference-types-page .confirmation h2{margin:.9rem 0 .35rem;font-size:1.05rem;font-weight:620}app-reference-types-page .confirmation>p{margin:0;color:var(--ec-muted);font-size:.74rem}app-reference-types-page .confirmation>p strong{color:var(--ec-text)}app-reference-types-page .dependency-note{margin-top:1rem;background:#fff8eb;color:#81541e}app-reference-types-page .dependency-note.neutral{background:#eef5f8;color:#456270}app-reference-types-page .confirmation footer{margin:1.2rem -1.35rem -1.35rem;padding-bottom:1.1rem}app-reference-types-page .confirm-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;padding:.48rem .75rem;border:1px solid #ad5b4f;border-radius:.58rem;background:#ad5b4f;color:#fff;font-size:.72rem;cursor:pointer}app-reference-types-page .confirm-button.activate{border-color:var(--ec-success);background:var(--ec-success)}app-reference-types-page .toast{position:fixed;z-index:70;right:1.5rem;bottom:1.5rem;display:flex;align-items:center;gap:.5rem;max-width:min(28rem,100vw - 2rem);padding:.78rem .9rem;border:1px solid #ccebdd;border-radius:.65rem;background:#f0f9f5;color:#176447;box-shadow:0 12px 35px #133b2d29;font-size:.72rem}app-reference-types-page .toast.error{border-color:#f1d0cd;background:#fff3f2;color:#963e36}@media(max-width:620px){app-reference-types-page .form-grid,app-reference-types-page .configuration-fields .form-grid{grid-template-columns:1fr}app-reference-types-page .toast{right:1rem;bottom:1rem;left:1rem}}app-rubrics-page .feedback-state{display:grid;justify-items:center;gap:.35rem;padding:3.5rem 1rem;text-align:center}app-rubrics-page .feedback-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;margin-bottom:.2rem;border-radius:.75rem;background:var(--ec-primary-soft);color:var(--ec-primary)}app-rubrics-page .feedback-icon.error{background:#fff3f2;color:#963e36}app-rubrics-page .feedback-state strong{font-size:.84rem;font-weight:610}app-rubrics-page .feedback-state p{margin:0;color:var(--ec-muted);font-size:.73rem}app-rubrics-page .feedback-state button{display:flex;align-items:center;gap:.4rem;margin-top:.5rem;padding:.42rem .6rem;border:1px solid var(--ec-border);border-radius:.5rem;background:#fff;color:var(--ec-primary);font-size:.7rem;cursor:pointer}app-rubrics-page .overlay{position:fixed;z-index:50;inset:0;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0a1f2d57;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}app-rubrics-page .editor{display:flex;flex-direction:column;width:min(52rem,100%);max-height:calc(100vh - 2rem);overflow:hidden;border:1px solid rgba(220,227,232,.9);border-radius:1rem;background:var(--ec-surface);box-shadow:0 24px 70px #0a1f2d38;animation:direction-pop-in .18s ease-out}app-rubrics-page .editor>header{display:flex;align-items:center;justify-content:space-between;padding:1.05rem 1.25rem;border-bottom:1px solid var(--ec-border)}app-rubrics-page .editor>header span{color:var(--ec-primary);font-size:.61rem;font-weight:620;letter-spacing:.09em}app-rubrics-page .editor>header h2{margin:.12rem 0 0;font-size:1.08rem;font-weight:620}app-rubrics-page .editor>header button{display:grid;place-items:center;width:2rem;height:2rem;border:0;border-radius:.5rem;background:transparent;color:var(--ec-muted);cursor:pointer}app-rubrics-page .editor>header button:hover{background:var(--ec-canvas);color:var(--ec-text)}app-rubrics-page .editor form{display:flex;flex:1;min-height:0;flex-direction:column}app-rubrics-page .editor-body{display:flex;flex:1;flex-direction:column;overflow-y:auto;padding:1.2rem 1.25rem}app-rubrics-page .form-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:.75rem}app-rubrics-page .editor-body label{display:grid;gap:.32rem;margin-top:.9rem;color:#3d4a53;font-size:.7rem;font-weight:580}app-rubrics-page .form-grid label{margin-top:0}app-rubrics-page .field-label{display:flex;align-items:center;gap:.25rem}app-rubrics-page .field-label b{color:#b34e45}app-rubrics-page .field-label em{margin-left:auto;color:var(--ec-muted);font-size:.61rem;font-style:normal;font-weight:450}app-rubrics-page .editor-body input:not([type=checkbox]),app-rubrics-page .editor-body textarea,app-rubrics-page .editor-body select{width:100%;padding:.62rem .7rem;border:1px solid var(--ec-border);border-radius:.58rem;background:#fff;color:var(--ec-text);font-size:.75rem;outline:0}app-rubrics-page .editor-body textarea{resize:vertical}app-rubrics-page .editor-body input:focus,app-rubrics-page .editor-body textarea:focus,app-rubrics-page .editor-body select:focus{border-color:var(--ec-primary);box-shadow:0 0 0 3px var(--ec-primary-soft)}app-rubrics-page .editor-body input:disabled,app-rubrics-page .editor-body textarea:disabled,app-rubrics-page .editor-body select:disabled{background:#f5f7f8;color:#687780}app-rubrics-page .parent-select select{appearance:none;padding-right:2rem}app-rubrics-page .parent-select ecodir-icon{position:absolute;right:.62rem;pointer-events:none}app-rubrics-page .field-hint,app-rubrics-page .field-error{display:flex;align-items:center;gap:.35rem;margin-top:.3rem;font-size:.62rem}app-rubrics-page .field-hint{color:var(--ec-muted)}app-rubrics-page .field-error{color:#a3423a}app-rubrics-page .character-count{margin-top:.25rem;color:var(--ec-muted);font-size:.6rem;text-align:right}app-rubrics-page .assignment-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ec-border)}app-rubrics-page .assignment-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.7rem}app-rubrics-page .assignment-heading h3{margin:0;font-size:.78rem;font-weight:610}app-rubrics-page .assignment-heading p{margin:.12rem 0 0;color:var(--ec-muted);font-size:.62rem}app-rubrics-page .assignment-heading>strong{color:var(--ec-primary);font-size:.63rem;font-weight:600}app-rubrics-page .assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:.42rem}app-rubrics-page .assignment-grid article{display:flex;align-items:center;justify-content:space-between;gap:.45rem;min-width:0;padding:.5rem .55rem;border:1px solid var(--ec-border);border-radius:.52rem;background:#fff}app-rubrics-page .assignment-grid article.assigned{border-color:#b8d5e2;background:#f2f8fb}app-rubrics-page .type-check{display:flex!important;align-items:center;min-width:0;gap:.4rem;margin:0!important;cursor:pointer}app-rubrics-page .type-check input{position:absolute;opacity:0;pointer-events:none}app-rubrics-page .type-check>span{display:grid;place-items:center;width:1.05rem;height:1.05rem;border:1px solid #bdc9d0;border-radius:.28rem;background:#fff;color:transparent}app-rubrics-page article.assigned .type-check>span{border-color:var(--ec-primary);background:var(--ec-primary);color:#fff}app-rubrics-page .type-check strong{overflow:hidden;color:#35434c;font-size:.64rem;font-weight:580;text-overflow:ellipsis;white-space:nowrap}app-rubrics-page .required-check{display:flex!important;align-items:center;gap:.3rem;margin:0!important;color:#516773!important;font-size:.55rem!important;white-space:nowrap;cursor:pointer}app-rubrics-page .required-check input{width:.8rem;height:.8rem;margin:0;accent-color:#17577c}app-rubrics-page .required-check.disabled{cursor:not-allowed;opacity:.45}app-rubrics-page .read-only-note,app-rubrics-page .form-error,app-rubrics-page .dependency-note{display:flex;align-items:flex-start;gap:.45rem;padding:.65rem .7rem;border-radius:.6rem;font-size:.68rem}app-rubrics-page .read-only-note{margin-bottom:.8rem;background:#f1f6f8;color:#456270}app-rubrics-page .form-error{margin-top:1rem;background:#fff3f2;color:#963e36}app-rubrics-page .editor dl{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin:1rem 0 0;padding-top:.85rem;border-top:1px solid var(--ec-border)}app-rubrics-page .editor dl div{display:grid;gap:.1rem}app-rubrics-page .editor dt{color:var(--ec-muted);font-size:.58rem}app-rubrics-page .editor dd{margin:0;font-size:.7rem}app-rubrics-page .assignment-grid article.inactive-type:not(.assigned){opacity:.58}app-rubrics-page .type-check strong small{display:inline;margin-left:.3rem;padding:.1rem .25rem;border-radius:.25rem;background:#eef1f3;color:#737f87;font-size:.48rem;font-weight:560}app-rubrics-page .editor footer,app-rubrics-page .confirmation footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.9rem 1.25rem;border-top:1px solid var(--ec-border)}app-rubrics-page .secondary{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;padding:.48rem .75rem;border:1px solid var(--ec-border);border-radius:.58rem;background:#fff;color:var(--ec-text);font-size:.72rem;cursor:pointer}app-rubrics-page .confirmation{width:min(28rem,100%);padding:1.35rem;border-radius:.9rem;background:#fff;box-shadow:0 22px 65px #0a1f2d38;animation:direction-pop-in .16s ease-out}app-rubrics-page .confirmation-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:.75rem;background:#fff4ed;color:#a75c2d}app-rubrics-page .confirmation-icon.activation{background:#edf8f4;color:#237a57}app-rubrics-page .confirmation h2{margin:.9rem 0 .35rem;font-size:1.05rem;font-weight:620}app-rubrics-page .confirmation>p{margin:0;color:var(--ec-muted);font-size:.74rem}app-rubrics-page .confirmation>p strong{color:var(--ec-text)}app-rubrics-page .dependency-note{margin-top:.7rem;background:#fff8eb;color:#81541e}app-rubrics-page .dependency-note.neutral{background:#eef5f8;color:#456270}app-rubrics-page .confirmation footer{margin:1.2rem -1.35rem -1.35rem;padding-bottom:1.1rem}app-rubrics-page .confirm-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.3rem;padding:.48rem .75rem;border:1px solid #ad5b4f;border-radius:.58rem;background:#ad5b4f;color:#fff;font-size:.72rem;cursor:pointer}app-rubrics-page .confirm-button.activate{border-color:var(--ec-success);background:var(--ec-success)}app-rubrics-page .toast{position:fixed;z-index:70;right:1.5rem;bottom:1.5rem;display:flex;align-items:center;gap:.5rem;max-width:min(30rem,100vw - 2rem);padding:.78rem .9rem;border:1px solid #ccebdd;border-radius:.65rem;background:#f0f9f5;color:#176447;box-shadow:0 12px 35px #133b2d29;font-size:.72rem}app-rubrics-page .toast.error{border-color:#f1d0cd;background:#fff3f2;color:#963e36}@media(max-width:700px){app-rubrics-page .form-grid,app-rubrics-page .assignment-grid{grid-template-columns:1fr}app-rubrics-page .editor dl{grid-template-columns:1fr 1fr}app-rubrics-page .assignment-heading{align-items:flex-start;flex-direction:column}app-rubrics-page .toast{right:1rem;bottom:1rem;left:1rem}}
