.password-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--color-gray-50) 0%,var(--color-gray-100) 100%)}.password-gate__container{width:100%;max-width:400px;background:var(--color-white);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-lg)}.password-gate__header{text-align:center;margin-bottom:var(--spacing-xl)}.password-gate__title{font-size:2rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--spacing-xs)}.password-gate__subtitle{font-size:1rem;color:var(--color-gray-500)}.password-gate__form{display:flex;flex-direction:column;gap:var(--spacing-md)}.password-gate__field{display:flex;flex-direction:column}.password-gate__input{padding:var(--spacing-md);font-size:1rem;border:2px solid var(--color-gray-200);border-radius:var(--radius-md);transition:border-color .2s,box-shadow .2s}.password-gate__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #d936361a}.password-gate__input:disabled{background-color:var(--color-gray-100);cursor:not-allowed}.password-gate__error{padding:var(--spacing-sm) var(--spacing-md);background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--color-dark-red);font-size:.875rem;text-align:center}.password-gate__button{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:600;color:var(--color-white);background-color:var(--color-primary);border:none;border-radius:var(--radius-md);transition:background-color .2s,transform .1s}.password-gate__button:hover:not(:disabled){background-color:var(--color-dark-red)}.password-gate__button:active:not(:disabled){transform:scale(.98)}.password-gate__button:disabled{opacity:.6;cursor:not-allowed}.person-selector{min-height:100vh;display:flex;flex-direction:column}.person-selector__header{background:var(--color-white);border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:10}.person-selector__header .container{display:flex;justify-content:space-between;align-items:center}.person-selector__title{font-size:1.5rem;font-weight:700;color:var(--color-gray-900)}.person-selector__logout{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;font-weight:500;color:var(--color-gray-600);background:none;border:1px solid var(--color-gray-300);border-radius:var(--radius-md);transition:all .2s}.person-selector__logout:hover{background:var(--color-gray-100);border-color:var(--color-gray-400)}.person-selector__main{flex:1;padding:var(--spacing-2xl) 0}.person-selector__intro{text-align:center;margin-bottom:var(--spacing-2xl)}.person-selector__intro h2{font-size:1.75rem;font-weight:600;color:var(--color-gray-900);margin-bottom:var(--spacing-sm)}.person-selector__intro p{font-size:1rem;color:var(--color-gray-600)}.person-selector__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-lg)}.person-card{background:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;position:relative}.person-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.person-card__photo{aspect-ratio:1;background:var(--color-gray-100);display:flex;align-items:center;justify-content:center;overflow:hidden}.person-card__photo img{width:100%;height:100%;object-fit:cover}.person-card__photo--placeholder{background:linear-gradient(135deg,var(--color-gray-200),var(--color-gray-100))}.person-card__photo--placeholder:after{content:"?";font-size:4rem;font-weight:700;color:var(--color-gray-400)}.person-card__info{padding:var(--spacing-lg);flex:1}.person-card__name{font-size:1.125rem;font-weight:600;color:var(--color-gray-900);margin-bottom:var(--spacing-xs)}.person-card__tagline{font-size:.875rem;color:var(--color-gray-500)}.person-card__accent{height:4px;background-color:var(--accent-color, var(--color-primary))}@media (max-width: 640px){.person-selector__grid{grid-template-columns:1fr}}.dossier{min-height:100vh;display:flex;flex-direction:column}.dossier--not-found{align-items:center;justify-content:center;text-align:center}.dossier__header{background:var(--color-white);border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-md) 0}.dossier__back{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;font-weight:500;color:var(--color-gray-600);transition:color .2s}.dossier__back:hover{color:var(--color-gray-900)}.dossier__main{flex:1;padding:var(--spacing-2xl) 0}.dossier__profile{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-gray-200)}.dossier__photo{width:120px;height:120px;border-radius:var(--radius-full);overflow:hidden;background:var(--color-gray-100);flex-shrink:0;border:4px solid var(--accent-color, var(--color-primary))}.dossier__photo img{width:100%;height:100%;object-fit:cover}.dossier__photo--placeholder{display:flex;align-items:center;justify-content:center}.dossier__photo--placeholder:after{content:"?";font-size:3rem;font-weight:700;color:var(--color-gray-400)}.dossier__name{font-size:2rem;font-weight:700;color:var(--color-gray-900);margin-bottom:var(--spacing-xs)}.dossier__tagline{font-size:1.125rem;color:var(--color-gray-500)}.dossier__section{margin-bottom:var(--spacing-2xl)}.dossier__section-title{font-size:1.25rem;font-weight:600;color:var(--color-gray-900);margin-bottom:var(--spacing-lg)}.dossier__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-lg)}.dossier__item{background:var(--color-white);border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200)}.dossier__item img{width:100%;height:auto;display:block}.dossier__document{padding:var(--spacing-xl);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--color-gray-500);cursor:pointer;transition:color .2s}.dossier__document:hover{color:var(--accent-color, var(--color-primary))}.dossier__item-caption{padding:var(--spacing-sm) var(--spacing-md);font-size:.875rem;color:var(--color-gray-600);background:var(--color-gray-50);border-top:1px solid var(--color-gray-200)}.dossier__empty{background:var(--color-white);border:2px dashed var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-2xl);text-align:center;color:var(--color-gray-600)}.dossier__empty-hint{margin-top:var(--spacing-sm);font-size:.875rem;color:var(--color-gray-400)}.dossier__actions{display:flex;justify-content:center;padding-top:var(--spacing-lg)}.dossier__chat-button{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:1rem;font-weight:600;color:var(--color-white);background-color:var(--accent-color, var(--color-primary));border:none;border-radius:var(--radius-md);transition:transform .1s,filter .2s}.dossier__chat-button:hover{filter:brightness(.9)}.dossier__chat-button:active{transform:scale(.98)}@media (max-width: 640px){.dossier__profile{flex-direction:column;text-align:center}.dossier__photo{width:100px;height:100px}.dossier__name{font-size:1.5rem}}.chat{min-height:100vh;display:flex;flex-direction:column;background:var(--color-gray-50)}.chat--not-found{align-items:center;justify-content:center;text-align:center}.chat__header{background:var(--color-white);border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:10}.chat__header-content{display:flex;align-items:center;gap:var(--spacing-md)}.chat__back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);color:var(--color-gray-600);transition:background-color .2s}.chat__back:hover{background-color:var(--color-gray-100)}.chat__header-info{flex:1}.chat__header-name{font-size:1.125rem;font-weight:600;color:var(--color-gray-900)}.chat__header-status{font-size:.75rem;color:var(--color-gray-500)}.chat__messages{flex:1;overflow-y:auto;padding:var(--spacing-lg) 0}.chat__welcome{text-align:center;padding:var(--spacing-2xl);color:var(--color-gray-500)}.chat__welcome-hint{font-size:.875rem;color:var(--color-gray-400);margin-top:var(--spacing-sm)}.chat__message{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);max-width:85%}.chat__message--user{margin-left:auto;flex-direction:row-reverse}.chat__message--assistant{margin-right:auto}.chat__avatar{width:36px;height:36px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--color-white);flex-shrink:0}.chat__bubble{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat__message--user .chat__bubble{background-color:var(--accent-color, var(--color-primary));color:var(--color-white);border-bottom-right-radius:var(--radius-sm)}.chat__message--assistant .chat__bubble{background-color:var(--color-white);color:var(--color-gray-900);border-bottom-left-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.chat__typing{display:flex;gap:4px;padding:var(--spacing-xs) 0}.chat__typing span{width:8px;height:8px;background-color:var(--color-gray-400);border-radius:var(--radius-full);animation:typing 1.4s infinite ease-in-out both}.chat__typing span:nth-child(1){animation-delay:-.32s}.chat__typing span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.chat__error{text-align:center;padding:var(--spacing-sm) var(--spacing-md);margin:var(--spacing-md) 0;background-color:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);color:var(--color-dark-red);font-size:.875rem}.chat__footer{background:var(--color-white);border-top:1px solid var(--color-gray-200);padding:var(--spacing-md) 0;position:sticky;bottom:0}.chat__form{display:flex;gap:var(--spacing-sm)}.chat__input{flex:1;padding:var(--spacing-md);font-size:1rem;border:2px solid var(--color-gray-200);border-radius:var(--radius-full);transition:border-color .2s}.chat__input:focus{outline:none;border-color:var(--accent-color, var(--color-primary))}.chat__input:disabled{background-color:var(--color-gray-100)}.chat__send{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background-color:var(--accent-color, var(--color-primary));color:var(--color-white);border:none;border-radius:var(--radius-full);transition:filter .2s,transform .1s}.chat__send:hover:not(:disabled){filter:brightness(.9)}.chat__send:active:not(:disabled){transform:scale(.95)}.chat__send:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.chat__message{max-width:90%}}.app{min-height:100vh;display:flex;flex-direction:column}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-50)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--color-red: #D93636;--color-dark-red: #730202;--color-orange: #F2811D;--color-yellow: #F2D22E;--color-pink: #D96C9F;--color-white: #ffffff;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-primary: var(--color-red);--color-primary-dark: var(--color-dark-red);--color-accent: var(--color-orange);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background-color:var(--color-gray-50);color:var(--color-gray-900);line-height:1.5;min-height:100vh}button{font-family:inherit;cursor:pointer}input,textarea{font-family:inherit}a{color:inherit;text-decoration:none}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
