body{margin:0}*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a2e;background:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{color:#fff;text-align:center;background:#1a3a6e;padding:2rem}.app-header h1{margin-bottom:.5rem;font-size:2rem;font-weight:700}.subtitle{opacity:.85;font-size:1rem}.app-main{flex:1;width:100%;max-width:800px;margin:2rem auto;padding:0 1rem}.search-form{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #00000014}.search-label{color:#1a3a6e;margin-bottom:.5rem;font-weight:600;display:block}.search-input-row{gap:.75rem;display:flex}.search-input{border:1.5px solid #d0d7e6;border-radius:6px;flex:1;padding:.65rem 1rem;font-size:1rem;transition:border-color .2s}.search-input:focus{border-color:#1a3a6e;outline:none}.search-button{color:#fff;cursor:pointer;white-space:nowrap;background:#1a3a6e;border:none;border-radius:6px;padding:.65rem 1.5rem;font-size:1rem;transition:background .2s}.search-button:hover:not(:disabled){background:#2a5298}.search-button:disabled{opacity:.6;cursor:not-allowed}.validation-error{color:#c0392b;margin-top:.5rem;font-size:.875rem}.error-banner{color:#c0392b;background:#fde8e8;border:1px solid #f5c6c6;border-radius:8px;margin-bottom:1.5rem;padding:1rem 1.25rem}.spinner-container{justify-content:center;padding:2rem 0;display:flex}.spinner{border:4px solid #d0d7e6;border-top-color:#1a3a6e;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.case-card{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #00000014}.case-title{color:#1a3a6e;border-bottom:2px solid #e8edf5;margin-bottom:1rem;padding-bottom:.75rem;font-size:1.25rem;font-weight:700}.case-meta{margin-bottom:1.25rem}.case-meta p{margin-bottom:.4rem;font-size:.95rem}.label{color:#4a5568;font-weight:600}.current-status h3{color:#2d3748;margin-bottom:.5rem;font-size:1rem;font-weight:600}.status-date{color:#718096;margin-bottom:.25rem;font-size:.875rem}.status-text{color:#2d3748;font-size:.95rem}.timeline{background:#fff;border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.timeline h3{color:#1a3a6e;border-bottom:2px solid #e8edf5;margin-bottom:1rem;padding-bottom:.75rem;font-size:1.1rem;font-weight:700}.timeline-list{padding-left:1.5rem;list-style:none;position:relative}.timeline-list:before{content:"";background:#d0d7e6;width:2px;position:absolute;top:0;bottom:0;left:6px}.timeline-item{flex-direction:column;gap:.2rem;margin-bottom:1.25rem;display:flex;position:relative}.timeline-item:before{content:"";background:#1a3a6e;border:2px solid #fff;border-radius:50%;width:10px;height:10px;position:absolute;top:4px;left:-1.5rem;box-shadow:0 0 0 2px #d0d7e6}.timeline-item:last-child{margin-bottom:0}.timeline-date{color:#718096;font-size:.8rem;font-weight:500}.timeline-status{color:#2d3748;font-size:.9rem}.no-history{color:#718096;text-align:center;padding:1rem;font-style:italic}.header-user{opacity:.9;justify-content:center;align-items:center;gap:1rem;margin-top:.75rem;font-size:.9rem;display:flex}.header-user button{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:4px;padding:.3rem .9rem;font-size:.875rem}.header-user button:hover{background:#ffffff26}.login-page{background:#f5f7fa;justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{text-align:center;background:#fff;border-radius:10px;width:100%;max-width:380px;padding:2.5rem 2rem;box-shadow:0 4px 20px #0000001a}.login-card h1{color:#1a3a6e;margin-bottom:.5rem;font-size:1.75rem}.login-card p{color:#4a5568;margin-bottom:1.5rem;font-size:1rem}.error-text{color:#c0392b;margin-top:.75rem;font-size:.875rem}.modal-overlay{z-index:100;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:100%;max-width:440px;padding:2rem;box-shadow:0 8px 32px #0003}.modal--terms{max-width:520px}.modal h2{color:#1a3a6e;margin-bottom:.75rem;font-size:1.25rem}.modal p{color:#2d3748;margin-bottom:1rem;font-size:1rem;line-height:1.6}.modal input[type=text]{border:1.5px solid #d0d7e6;border-radius:6px;width:100%;margin-bottom:.75rem;padding:.65rem 1rem;font-size:1rem}.modal input[type=text]:focus{border-color:#1a3a6e;outline:none}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.modal-actions button{cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.25rem;font-size:.95rem}.modal-actions button[type=button]{color:#2d3748;background:#e2e8f0}.modal-actions button[type=button]:hover:not(:disabled){background:#cbd5e0}.modal-actions button[type=submit]{color:#fff;background:#1a3a6e}.modal-actions button[type=submit]:hover:not(:disabled){background:#2a5298}.modal-actions button:disabled{opacity:.5;cursor:not-allowed}.terms-links{margin-bottom:1.25rem;list-style:none}.terms-links li{margin-bottom:.4rem}.terms-links a{color:#1a3a6e;font-size:1rem;font-weight:500;text-decoration:underline}.terms-checkbox{cursor:pointer;color:#2d3748;align-items:flex-start;gap:.6rem;font-size:.95rem;line-height:1.5;display:flex}.terms-checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;width:16px;height:16px;margin-top:3px}.policy-page{background:#f5f7fa;min-height:100vh;padding:2rem 1rem}.policy-container{background:#fff;border-radius:10px;max-width:760px;margin:0 auto;padding:2.5rem 2rem;box-shadow:0 2px 12px #00000014}.policy-container h1{color:#1a3a6e;margin-bottom:.5rem;font-size:2rem}.policy-meta{color:#718096;margin-bottom:2rem;font-size:.9rem}.policy-container section{margin-bottom:2rem}.policy-container h2{color:#1a3a6e;border-bottom:1px solid #e8edf5;margin-bottom:.75rem;padding-bottom:.4rem;font-size:1.15rem}.policy-container p{color:#2d3748;margin-bottom:.75rem;font-size:1rem;line-height:1.7}.policy-container ul{margin-bottom:.75rem;padding-left:1.5rem}.policy-container li{color:#2d3748;margin-bottom:.35rem;font-size:1rem;line-height:1.7}.policy-container a{color:#1a3a6e;text-decoration:underline}@media (width<=600px){.policy-container{padding:1.5rem 1rem}.policy-container h1{font-size:1.5rem}.modal{padding:1.5rem 1rem}}
