@import "https://fonts.googleapis.com/css2?family=Lora:wght@500;600;700&family=Nunito+Sans:wght@400;500;600;700&display=swap";:root{--font-title:"Lora", serif;--font-body:"Nunito Sans", sans-serif;--ink-900:#1f2b34;--ink-700:#304250;--ink-500:#566779;--brand-700:#1f4b57;--brand-600:#285f6e;--brand-500:#3b7988;--accent-500:#bf8a46;--surface-100:#fff;--surface-200:#f7f5f1;--surface-300:#ebe6de;--line-soft:#1f2b3424;--shadow-soft:0 24px 55px #1c2d4024;--radius-xl:24px;--radius-lg:16px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--ink-900);background:radial-gradient(circle at 10% 0,#bf8a4621,#0000 40%),radial-gradient(circle at 90% 10%,#285f6e24,#0000 42%),linear-gradient(#f8f6f2 0%,#f0ece6 100%);margin:0}body:before{content:"";pointer-events:none;background-image:linear-gradient(115deg,#ffffff2e 0%,#fff0 58%);position:fixed;inset:0}.site-footer{border-radius:var(--radius-lg);border:1px solid var(--line-soft);text-align:center;background:#ffffffc7;width:min(1120px,92vw);margin:0 auto 2.2rem;padding:1.1rem 1.25rem;box-shadow:0 12px 28px #1c2d401f}.site-footer p{color:var(--ink-700);margin-bottom:.35rem}.site-footer-links{flex-wrap:wrap;justify-content:center;gap:.2rem;display:flex}.site-footer a{color:var(--brand-700);font-weight:700;text-decoration:none}.site-footer a:hover{text-decoration:underline}.skip-link{background:var(--ink-900);color:#fff;z-index:1000;border-radius:999px;padding:.75rem 1rem;font-weight:700;text-decoration:none;transition:top .2s;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}a{color:inherit}h1,h2,h3{color:var(--ink-900);font-family:var(--font-title);letter-spacing:.01em;margin:0}p{color:var(--ink-700);margin:0}.app-main{width:min(1120px,92vw);margin:1.7rem auto 2.8rem}.page-shell{animation:.55s both fade-up}.card-surface{border:1px solid var(--line-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:linear-gradient(160deg,#fffffff5,#f7f5f1f0)}.section-title{margin-bottom:.42rem;font-size:clamp(1.52rem,1.25rem + .8vw,2rem)}.section-subtitle{max-width:70ch;margin-bottom:1.25rem;line-height:1.5}.hero-card{padding:clamp(1.4rem,1rem + 1.8vw,2.5rem)}.home-page{gap:1rem;display:grid}.home-hero-layout{grid-template-columns:1.15fr .85fr;align-items:center;gap:1rem;display:grid}.home-hero-copy{min-width:0}.home-hero-media{background:#ffffffb3;border:1px solid #1f2b341a;border-radius:18px;min-height:260px;overflow:hidden;box-shadow:0 16px 35px #1c2d401f}.home-hero-media img{object-fit:cover;width:100%;height:100%;display:block}.hero-eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--accent-500);margin-bottom:.55rem;font-size:.78rem;font-weight:700}.hero-card h1{margin-bottom:.8rem;font-size:clamp(1.9rem,1.2rem + 2vw,3rem)}.hero-description{max-width:60ch;font-size:1.03rem;line-height:1.62}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.info-card{align-content:start;gap:.5rem;padding:1rem;display:grid}.info-card-media{background:#ffffffa6;border:1px solid #1f2b341a;border-radius:16px;margin:-.15rem -.15rem .3rem;overflow:hidden}.info-card-media img{object-fit:cover;width:100%;height:220px;display:block}.home-copy{line-height:1.58}.lang-divider{background:linear-gradient(90deg,#1f2b3400,#1f2b3429,#1f2b3400);height:1px;margin:.2rem 0 .15rem}.home-subheading{color:var(--ink-700);font-size:1.05rem}.home-contact-links{flex-wrap:wrap;gap:.6rem;margin-top:.45rem;display:flex}.action-row{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.cta-link,.btn-primary{background:linear-gradient(130deg, var(--brand-700), var(--brand-500));color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:.82rem 1.2rem;font-size:.95rem;font-weight:700;line-height:1;text-decoration:none;transition:transform .16s,box-shadow .22s,filter .22s;display:inline-flex;box-shadow:0 10px 23px #1f4b5742}.cta-link.secondary{color:var(--brand-700);background:#fff;border:1px solid #1f4b574d;box-shadow:0 8px 20px #1f4b571f}.btn-secondary{color:var(--brand-700);cursor:pointer;background:#fff;border:1px solid #1f4b574d;border-radius:999px;padding:.68rem 1rem;font-size:.9rem;font-weight:700;line-height:1}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.cta-link:hover,.btn-primary:hover,.btn-secondary:hover{filter:brightness(1.05);transform:translateY(-2px)}input,select,textarea{width:100%;color:var(--ink-900);background:#ffffffe6;border:1px solid #1f2b3433;border-radius:12px;padding:.75rem .9rem;font-size:.98rem;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:#285f6e8f;outline:none;box-shadow:0 0 0 4px #3b798829}.auth-page{place-items:center;display:grid}.auth-card{width:min(520px,100%);padding:clamp(1.25rem,.95rem + 1.2vw,2rem)}.auth-kicker{color:var(--accent-500);letter-spacing:.09em;text-transform:uppercase;margin-bottom:.44rem;font-size:.76rem;font-weight:700}.auth-help{margin:.62rem 0 1.15rem}.auth-form{gap:.72rem;display:grid}.auth-form label{color:var(--ink-700);font-size:.89rem;font-weight:700}.field-stack{gap:.35rem;min-width:0;display:grid}.field-stack label{color:var(--ink-700);font-size:.82rem;font-weight:700}.field-stack input,.field-stack select,.field-stack textarea{width:100%}.field-hint{color:var(--ink-500);font-size:.8rem;line-height:1.4}.action-field{align-self:end}.feedback-message{color:#7d4f13;background:#fff7e8e0;border:1px solid #bf8a464d;border-radius:12px;margin-top:1rem;padding:.72rem .85rem}.feedback-message[data-tone=error]{color:#7f2331;background:#fff0f1f0;border-color:#8f2e3d47}.feedback-message[data-tone=success]{color:#0e6747;background:#e7f8eff5;border-color:#0e67473d}.feedback-cluster{gap:.75rem;display:grid}.loading-indicator{color:var(--ink-700);background:#ffffffc2;border:1px solid #1f2b341a;border-radius:14px;align-items:center;gap:.7rem;padding:.75rem .95rem;font-weight:700;display:inline-flex}.loading-indicator-compact{background:0 0;border:none;justify-content:center;padding:.4rem .2rem}.loading-spinner{border:2px solid #285f6e2e;border-top-color:var(--brand-600);border-radius:999px;flex:none;width:1rem;height:1rem;animation:.8s linear infinite spin}.recovery-btn{margin-top:1rem}.auth-actions{flex-wrap:wrap;gap:.75rem;margin-top:.85rem;display:flex}.consent-card{width:min(720px,100%)}.consent-summary{background:#ffffffb3;border:1px solid #1f2b341f;border-radius:16px;gap:.85rem;margin:.35rem 0 1rem;padding:.95rem 1rem;display:grid}.consent-form{gap:.95rem}.consent-check{background:#ffffffb8;border:1px solid #1f2b3424;border-radius:16px;grid-template-columns:auto 1fr;align-items:start;gap:.85rem;padding:.95rem 1rem;display:grid}.consent-check input{width:1.15rem;height:1.15rem;margin-top:.15rem}.consent-check span{color:var(--ink-700);line-height:1.55}.consent-optional{gap:.55rem;display:grid}.account-card{width:min(880px,100%)}.account-section{border-top:1px solid #1f2b341f;gap:1rem;margin-top:1.4rem;padding-top:1.2rem;display:grid}.account-section-head{gap:.3rem;display:grid}.account-section-head h3{margin:0}.account-grid,.account-summary-grid{gap:.9rem;display:grid}.account-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.account-summary-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.account-summary-card{background:#ffffffc2;border:1px solid #1f2b341f;border-radius:16px;gap:.28rem;padding:.9rem 1rem;display:grid}.account-summary-card strong{color:var(--ink-700)}.account-preferences-form{gap:.9rem}.account-danger{border-top-color:#8f2e3d2e}.btn-danger{color:#fff8f8;cursor:pointer;background:linear-gradient(135deg,#8c2938,#a63548);border:none;border-radius:999px;padding:.72rem 1.1rem;font-weight:700;transition:transform .16s,filter .2s}.btn-danger:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}.btn-danger:disabled{opacity:.7;cursor:progress}.table-scroll{background:#ffffffb8;border:1px solid #1f2b341f;border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px}table input,table select{padding:.55rem .65rem;font-size:.92rem}tbody tr:hover{background:#285f6e0f}.legal-card{padding:clamp(1.4rem,1.05rem + 1.6vw,2.2rem)}.legal-block{border-top:1px solid #1f2b341f;margin-top:1.1rem;padding-top:1.1rem}.legal-block h3{margin-bottom:.55rem;font-size:1.08rem}.legal-block p{margin-top:.35rem;line-height:1.6}.legal-list{color:var(--ink-700);gap:.55rem;margin:.5rem 0 0;padding-left:1.2rem;display:grid}.legal-list li{line-height:1.6}.legal-block a{color:var(--brand-700);font-weight:700;text-decoration:none}.legal-block a:hover{text-decoration:underline}.retention-note{margin-top:.8rem;font-size:.9rem}.loading-table-cell{text-align:center}th,td{text-align:left;vertical-align:middle;border-bottom:1px solid #1f2b341c;padding:.85rem .92rem}thead th{color:var(--ink-700);text-transform:uppercase;letter-spacing:.06em;background:#285f6e1c;font-size:.83rem;font-weight:800}.status-chip{letter-spacing:.03em;border-radius:999px;justify-content:center;align-items:center;padding:.28rem .68rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-disponible{color:#0e6747;background:#d9f2e5}.status-reservat{color:#194b86;background:#dce9ff}.status-en-manteniment,.status-en-reparacio{color:#7e520d;background:#fbeccf}.status-en-prestec,.status-cedit{color:#6a214f;background:#f7dff0}.status-retornat{color:#7a5600;background:#fff1c9}.status-pendiente{color:#4f5162;background:#eceff3}.status-activa{color:#194b86;background:#dce9ff}.status-retornada{color:#0e6747;background:#d9f2e5}.col-actions{text-align:right;white-space:nowrap}.col-actions .btn-primary,.col-actions .delete-btn{width:auto}.delete-btn{color:#fff;cursor:pointer;background:linear-gradient(130deg,#8f2e3d,#bb4255);border:none;border-radius:999px;padding:.56rem .9rem;font-size:.82rem;font-weight:700}.role-tag{color:var(--brand-700);background:#285f6e1a;border-radius:999px;padding:.2rem .62rem;font-size:.76rem;font-weight:700;display:inline-block}.empty-message{color:var(--ink-500);font-style:italic}.table-helper{color:var(--ink-500);font-size:.86rem}.recaptcha-note{color:var(--ink-500);margin-top:.85rem;font-size:.82rem;line-height:1.45}.recaptcha-note a{color:var(--brand-700);font-weight:700;text-decoration:none}.recaptcha-note a:hover{text-decoration:underline}.loading-screen{place-items:center;min-height:40vh;display:grid}.loading-card{text-align:center;gap:.35rem;width:min(520px,100%);padding:1.4rem;display:grid}.notfound-page{place-items:center;display:grid}.notfound-card{gap:1rem;width:min(680px,100%);padding:2rem;display:grid}.notificaciones-container{padding:1.45rem}.notifications-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.notifications-header h2{margin-bottom:.3rem}.notifications-list{gap:.62rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.notifications-list li{background:#285f6e12;border:1px solid #285f6e29;border-radius:12px;gap:.6rem;padding:.7rem .85rem;display:grid}.notification-message{margin:0;line-height:1.5}.notification-meta{color:var(--ink-500);justify-content:space-between;align-items:center;gap:.85rem;font-size:.85rem;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=840px){.app-main{margin-top:1.2rem}.home-hero-layout,.home-grid{grid-template-columns:1fr}.home-hero-media{min-height:220px}.auth-card,.hero-card,.notfound-card{border-radius:var(--radius-lg)}}@media (width<=640px){.app-main{width:min(1120px,94vw);margin-bottom:1.8rem}.notifications-header,.notification-meta{flex-direction:column;align-items:stretch}.action-row{flex-direction:column}.info-card-media img{height:190px}.cta-link,.btn-primary,.delete-btn{width:100%}table{min-width:520px}}.dashboard-wrap{gap:1rem;display:grid}.dashboard{color:#f9fbfc;background:linear-gradient(140deg,#1f4b57f5,#38717ef0),radial-gradient(circle at 100% 0,#bf8a4647,#0000 30%);border:1px solid #1f2b341f;border-radius:24px;width:min(1120px,92vw);margin:1.2rem auto 0;padding:1rem 1.25rem 1.15rem;animation:.55s both fade-up;box-shadow:0 22px 55px #152b3647}.dashboard-top{align-items:center;gap:.95rem;display:flex}.dashboard-logo{background:#ffffffe6;border:1px solid #ffffff75;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(126px,13vw,170px);height:clamp(56px,6vw,74px);display:flex;overflow:hidden;box-shadow:inset 0 1px #ffffffb3}.logo-dashboard{object-fit:contain;object-position:center;width:100%;height:100%;padding:.38rem .48rem;display:block}.dashboard-kicker{color:#fceccdeb;text-transform:uppercase;letter-spacing:.11em;font-size:.74rem;font-weight:700}.dashboard h1{color:#fff;margin-top:.2rem;font-size:clamp(1.2rem,1rem + 1.2vw,1.85rem)}.dashboard-links{flex-wrap:wrap;gap:.58rem;margin:.95rem 0 0;padding:0;list-style:none;display:flex}.dashboard-links li{min-width:0}.dashboard-links a,.dashboard-links button{color:#f5f8fa;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#fff3;border:1px solid #ffffff40;border-radius:999px;justify-content:center;align-items:center;padding:.58rem .95rem;font-size:.89rem;font-weight:700;text-decoration:none;transition:transform .16s,background .2s;display:inline-flex}.dashboard-links a:hover,.dashboard-links button:hover{background:#ffffff52;transform:translateY(-1px)}.dashboard-links .logout-btn{background:#8c2938eb;border-color:#ffffff52}.dashboard-links .logout-btn:hover{background:#a93548eb}.user-info{color:#ffffffe0;margin-top:.85rem;font-size:.92rem}.user-info strong{color:#fff}.user-materials{width:min(1120px,92vw);margin:0 auto;padding:1.25rem}.user-materials h2{margin-bottom:.9rem;font-size:clamp(1.3rem,1.1rem + .9vw,1.65rem)}.loading-panel-state{margin-top:.85rem}@media (width<=760px){.dashboard{border-radius:18px;width:94vw;margin-top:.7rem;padding:1rem}.dashboard-top{flex-direction:column;align-items:flex-start;gap:.85rem}.dashboard-logo{width:min(180px,58vw);height:auto;min-height:72px}.dashboard h1{line-height:1.18}.dashboard-links{grid-template-columns:1fr;gap:.8rem;width:100%;margin-top:1.1rem;display:grid}.dashboard-links li{width:100%}.dashboard-links a,.dashboard-links button{text-align:center;justify-content:center;width:100%;min-height:48px;padding:.78rem 1rem}.user-info{overflow-wrap:anywhere;margin-top:1rem;line-height:1.5}}@media (width<=420px){.dashboard{width:calc(100vw - 1rem);padding:.92rem}.dashboard-top{gap:.75rem}.dashboard-logo{width:min(170px,62vw)}.dashboard-links{gap:.72rem}}
