.admin-panel{padding:25px;margin-top:25px}.admin-panel h1{margin-top:10px}.admin-panel p{line-height:1.7}.admin-form{display:flex;flex-direction:column;gap:20px;margin:24px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.admin-form label{display:flex;flex-direction:column;gap:8px;font-size:14px}.admin-form input,.admin-form select,.admin-form textarea{border:1px solid #d5dee7;border-radius:5px;padding:12px;color:#344c60;background:#fff;font:inherit;width:100%}.admin-form small{font-size:12px;color:#657684}.admin-form .checkbox-label{flex-direction:row;align-items:center;gap:10px;line-height:1.6}.checkbox-label input[type=checkbox]{width:18px;height:18px;flex-shrink:0}.checkbox-label input[type=hidden]{display:none}.admin-form fieldset{border:1px solid #dce4ed;padding:20px;border-radius:6px}.assignment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.full-width{grid-column:1/-1}.primary-button{background:#006c96;color:#fff;align-self:flex-start}.form-error{padding:14px;background:#fdf0f4;border:1px solid #edcad5;color:#9e4466;border-radius:5px}.form-success{padding:14px;background:#edf5f3;color:#3c7567;border-radius:5px;margin-top:20px}.cell-note{display:block;margin-top:6px;font-size:12px;color:#657684}.row-actions{display:flex;gap:10px;align-items:center}.row-actions form{margin:0}.row-actions .button{font-size:12px;padding:8px 10px}.danger{color:#9e4466}.admin-panel td{max-width:370px;white-space:normal;overflow-wrap:anywhere}.admin-panel pre{max-width:340px;max-height:250px;overflow:auto;font-size:12px;white-space:pre-wrap}.auth-page{display:grid;place-items:center;min-height:100vh}.auth-container{width:min(500px,100%);padding:30px 20px}.auth-logo{width:270px;max-width:100%;display:block;margin:auto auto 30px}.auth-container .admin-panel{margin:0}.auth-container h1{font-size:26px}.auth-container a{color:#006c96}.nav-children .nav-item{padding-left:calc(12px + var(--nav-depth,1)*12px)}body.sidebar-collapsed .nav-children .nav-item{padding-left:0}.top-actions form{margin:0}.admin-panel details summary{cursor:pointer}.admin-panel .search{max-width:340px;gap:12px}.admin-panel .search input{width:100%}button[disabled]{cursor:not-allowed;opacity:.5}@media(max-width:900px){.assignment-grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.form-grid,.assignment-grid{grid-template-columns:1fr}.top-actions{gap:10px}.top-actions .avatar{display:none}.admin-panel{padding:18px}.nav-children .nav-item{padding-left:calc(12px + var(--nav-depth,1)*10px)}}
.auth-notice{margin-top:18px;padding:12px 14px;border:1px solid #d9e4ef;border-left:3px solid #658ebc;border-radius:5px;background:#f2f6fa;color:#355570;font-size:13px;line-height:1.6}.auth-notice>strong{display:block;font-weight:500;font-size:14px}.admin-panel .auth-notice p{margin:4px 0 0;font-size:13px;line-height:1.6}

/* Cuenta accesible también desde móviles. */
.top-actions .avatar.profile-link{display:grid;flex-shrink:0;text-decoration:none}.admin-form input[readonly]{background:#f3f9fc;color:#526475}.checkbox-label input[role="switch"]{appearance:none;width:38px;height:22px;border-radius:12px;padding:2px;position:relative;transition:background .15s}.checkbox-label input[role="switch"]::before{content:"";display:block;width:16px;height:16px;background:#647484;border-radius:50%;transition:transform .15s}.checkbox-label input[role="switch"]:checked{background:var(--brand-action-blue);border-color:var(--brand-action-blue)}.checkbox-label input[role="switch"]:checked::before{transform:translateX(14px);background:#fff}#user-import .row-actions{flex-wrap:wrap}#user-import table{min-width:800px}#user-import td{vertical-align:top}#user-import-message{overflow-wrap:anywhere}
@media(max-width:720px){.topbar .breadcrumb{min-width:0}.topbar #crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .top-actions{flex-shrink:0}}

/* Formularios y carga de archivos contenidos en pantallas estrechas. */
.admin-form fieldset,.admin-form .form-grid>label{min-width:0}.admin-form input,.admin-form select,.admin-form textarea{min-width:0;max-width:100%}.admin-form input[type=file]{overflow:hidden}.admin-form .primary-button{max-width:100%;white-space:normal}#user-import .row-actions>.button{white-space:normal;text-align:center}.auth-container h1,.admin-panel .form-error,.admin-panel .form-success{overflow-wrap:anywhere}

.password-field{display:flex;flex-direction:column;gap:8px;min-width:0}.password-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.password-input-wrap{position:relative;flex:1 1 220px;min-width:0;max-width:100%}.admin-form .password-input-wrap>input{display:block;width:100%;min-height:48px;padding-right:100px}.password-actions{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:flex;gap:0;align-items:center}.password-actions .button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--ink);border-radius:4px;flex-shrink:0}.password-actions .button:hover{background:#edf1f6}.password-actions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.password-actions .password-eye-closed{display:none}.password-actions [aria-pressed="true"] .password-eye-open{display:none}.password-actions [aria-pressed="true"] .password-eye-closed{display:block}.password-actions .button:focus-visible{outline:2px solid var(--brand-action-blue);outline-offset:-3px}@media(max-width:520px){.password-controls{flex-direction:column;align-items:stretch}.password-input-wrap{flex:auto;width:100%}.password-controls>[data-generate-password]{align-self:flex-start}}

/* Acciones internas con nombres en tooltips oscuros. */
.admin-form .password-input-wrap>input{padding-right:144px}.admin-form .password-input-wrap:has(#login-password)>input{padding-right:56px}.password-actions .button::after,.admin-tooltip::after{content:attr(aria-label);position:absolute;right:0;bottom:calc(100% + 6px);width:max-content;max-width:calc(100vw - 24px);padding:7px 10px;border-radius:5px;background:#202124;color:#fff;font-size:12px;font-weight:400;line-height:1.4;white-space:normal;text-align:left;box-shadow:0 2px 6px #0002;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s,visibility .12s;transition-delay:0s;z-index:50}.password-actions .button:hover::after,.password-actions .button:focus-visible::after,.admin-tooltip:hover::after,.admin-tooltip:focus-visible::after,.admin-search:focus-within::after{opacity:1;visibility:visible;transition-delay:.3s}

.admin-heading-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.admin-tooltip{position:relative}.admin-icon-action.button{display:grid;place-items:center;width:44px;height:44px;padding:0;flex-shrink:0}.admin-icon-action svg,.admin-search>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.admin-panel .admin-search{width:100%;box-sizing:border-box}.admin-search>svg{width:18px;height:18px}.admin-panel .admin-search input{min-width:0}.password-actions:has(.button:hover) .button:not(:hover)::after{opacity:0;visibility:hidden}

.button.is-submitting{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:wait;opacity:.8}.submit-spinner{display:inline-block;flex-shrink:0;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:submit-spin .7s linear infinite}@keyframes submit-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.submit-spinner{animation:none}}
