:root{--natursoft-primary: #11446f;--natursoft-primary-dark: #0d3657;--natursoft-primary-darker: #0a2c49;--natursoft-primary-light: #e6eaee;--natursoft-shadow-soft: 0 2px 6px rgba(17, 68, 111, .25);--natursoft-shadow: 0 4px 12px rgba(17, 68, 111, .35);--natursoft-shadow-hard: 0 6px 18px rgba(17, 68, 111, .45)}.natursoft-login-button{background:linear-gradient(180deg,var(--natursoft-primary),var(--natursoft-primary-dark));color:#fff;font-weight:600;border-radius:10px;padding:.6em 1.4em;box-shadow:var(--natursoft-shadow);transition:all .2s ease}.natursoft-login-button:hover{background:linear-gradient(180deg,var(--natursoft-primary-dark),var(--natursoft-primary-darker));transform:translateY(-1px)}.natursoft-login-button:active{transform:translateY(0)}.top-header{background-color:#fff;border-bottom:1px solid #e5e7eb}.top-link{color:#374151;font-weight:500;text-decoration:none;padding:6px 12px;border-radius:6px;cursor:pointer}.top-link:hover{background-color:#f3f4f6;color:#111827}.top-link[highlight]{background-color:var(--natursoft-primary-light);font-weight:600;color:var(--natursoft-primary)}.top-user{font-size:.9rem;color:#6b7280}.top-logout{background:transparent;color:#ef4444;font-weight:500;border-radius:6px}.top-logout:hover{background-color:#fee2e2}.menu-button{font-size:1.05rem;margin:0}.btn-large{--lumo-button-size: 60px;min-width:320px}.btn-mid{--lumo-button-size: 40px;min-width:220px}.btn-small{--lumo-button-size: 28px;--lumo-font-size-m: 12px;min-width:28px}.pager-button,.btn-natursoft{background:linear-gradient(180deg,var(--natursoft-primary),var(--natursoft-primary-dark));color:#fff;border-radius:6px;box-shadow:var(--natursoft-shadow-soft)}.pager-button:hover,.btn-natursoft:hover{background:linear-gradient(180deg,var(--natursoft-primary-dark),var(--natursoft-primary-darker));box-shadow:var(--natursoft-shadow)}.pager-button[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.pager-label{font-size:14px;font-weight:600;color:#374151;min-width:120px;text-align:center}.topbar-button-ns{color:var(--natursoft-primary);font-weight:600}.topbar-button-ns:hover{background-color:var(--natursoft-primary-light)}vaadin-app-layout::part(content){display:flex;flex-direction:column;min-height:100vh}.app-footer{flex-shrink:0}.notif-grande{font-size:18px}.notif-grande::part(container){padding:20px 28px;min-width:320px}.notif-grande::part(content){font-size:18px;font-weight:600}.notif-error::part(content){background-color:#b91c1c;color:#fff;font-weight:600;font-size:15px;border-radius:6px;padding:12px 20px}.notif-ok::part(content){background-color:#16a34a;color:#fff;font-weight:600;font-size:15px;border-radius:6px;padding:12px 20px}.notif-warning::part(content){background-color:#d97706;color:#fff;font-weight:600;font-size:15px;border-radius:6px;padding:12px 20px}vaadin-grid.grid-tareas::part(body-cell fila-sin-asignar){--vaadin-grid-cell-background: #f1f3f5;border-left:4px solid #adb5bd}vaadin-grid.grid-tareas::part(body-cell fila-pendiente){--vaadin-grid-cell-background: #ffe8cc;border-left:4px solid #f97316}vaadin-grid.grid-tareas::part(body-cell fila-curso){--vaadin-grid-cell-background: #fff3bf;border-left:4px solid #f59f00}vaadin-grid.grid-tareas::part(body-cell fila-finalizada){--vaadin-grid-cell-background: #d3f9d8;border-left:4px solid #2f9e44}vaadin-grid.grid-tareas::part(body-cell fila-vencida){--vaadin-grid-cell-background: #ffe3e3;border-left:4px solid #e03131}
