:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font-family:inherit;cursor:pointer}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#1a1a2e;color:#eee;min-height:100vh;min-height:100dvh;overflow-x:hidden}.login-container{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.login-card{background:#16213e;border-radius:16px;padding:2rem;width:100%;max-width:400px;box-shadow:0 8px 32px #0006;margin:0 auto}.login-card h1{font-size:1.8rem;margin-bottom:.25rem}.subtitle{color:#888;margin-bottom:1.5rem;font-size:.95rem}.otp-form{display:flex;flex-direction:column;gap:.75rem}.otp-form input{padding:.85rem 1rem;border-radius:10px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:1rem;outline:none;transition:border-color .2s}.otp-form input:focus{border-color:#e94560}.otp-form button[type=submit]{padding:.85rem;border-radius:10px;border:none;background:#e94560;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.otp-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.otp-hint{font-size:.9rem;color:#aaa;text-align:center}.link-btn{background:none;border:none;color:#e94560;font-size:.9rem;cursor:pointer;text-align:center;padding:.25rem}.divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:#555;font-size:.85rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#2a2a5a}.oauth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.85rem;border-radius:10px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;margin-bottom:.75rem;transition:background .2s;width:100%}.oauth-btn:hover{background:#1a4a80}.oauth-btn:disabled{opacity:.5;cursor:not-allowed}.error{color:#e94560;font-size:.875rem;text-align:center;margin-top:.5rem}.dashboard{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:1rem}.dashboard-card{background:#16213e;border-radius:16px;padding:2rem;width:100%;max-width:400px;text-align:center;box-shadow:0 8px 32px #0006;margin:0 auto}.avatar{width:72px;height:72px;border-radius:50%;background:#e94560;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin:0 auto 1rem;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.dashboard-card h2{font-size:1.5rem;margin-bottom:.5rem}.user-email{color:#aaa;font-size:.95rem;margin-bottom:.25rem}.user-name{font-weight:600;margin-bottom:.25rem}.user-id{color:#555;font-size:.75rem;margin-bottom:1.5rem;word-break:break-all}.logout-btn{padding:.75rem 2rem;border-radius:10px;border:1px solid #e94560;background:transparent;color:#e94560;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#e94560;color:#fff}.user-role{display:inline-block;background:#e94560;color:#fff;font-size:.75rem;font-weight:600;padding:.2rem .75rem;border-radius:20px;margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em}.menu-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.menu-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:12px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s;width:100%;text-align:left}.menu-row:hover{background:#1a4a80}.menu-icon{font-size:1.3rem;flex-shrink:0}.menu-label{flex:1}.menu-arrow{font-size:1.2rem;color:#555;line-height:1}.list-page{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 1rem}.list-container{width:100%;max-width:480px}.list-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.list-header h2{flex:1;font-size:1.2rem;margin:0}.new-btn{background:#e94560;color:#fff;border:none;border-radius:8px;padding:.45rem .9rem;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.record-card{background:#16213e;border-radius:12px;padding:1rem;margin-bottom:.65rem;box-shadow:0 2px 8px #0000004d}.card-title{font-weight:600;font-size:1rem;margin-bottom:.2rem}.card-meta{color:#aaa;font-size:.85rem;margin-bottom:.5rem}.card-row{display:flex;justify-content:space-between;align-items:center;margin-top:.4rem}.card-amount{font-size:.9rem;font-weight:600;color:#eee}.card-phone{font-size:.85rem;color:#aaa}.card-dates{font-size:.78rem;color:#666;margin-top:.35rem}.badge{display:inline-block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.15rem .55rem;border-radius:20px}.badge-active,.badge-accepted,.badge-occupied{background:#4caf5026;color:#4caf50}.badge-inactive,.badge-expired,.badge-terminated{background:#e9456026;color:#e94560}.badge-vacant{background:#64b5f626;color:#64b5f6}.badge-maintenance{background:#ff980026;color:#ff9800}.badge-pending{background:#ffeb3b26;color:#ffeb3b}.list-loader{padding:1.5rem 0;text-align:center}.list-status{color:#555;font-size:.85rem}.list-empty{color:#555;font-size:.9rem;text-align:center;padding:2.5rem 0}.form-page{min-height:100vh;min-height:100dvh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem 1rem}.form-card{background:#16213e;border-radius:16px;padding:1.5rem;width:100%;max-width:480px;box-shadow:0 8px 32px #0006;margin:0 auto}.form-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.form-header h2{font-size:1.3rem;margin:0}.back-btn{background:none;border:none;color:#e94560;font-size:.9rem;cursor:pointer;padding:0;white-space:nowrap}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.field label{font-size:.85rem;color:#aaa}.field input,.field select,.field textarea{padding:.75rem 1rem;border-radius:10px;border:1px solid #2a2a5a;background:#0f3460;color:#fff;font-size:.95rem;outline:none;width:100%;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#e94560}.field input[type=file]{padding:.5rem;font-size:.85rem}.field textarea{resize:vertical;font-family:inherit}.field select option{background:#16213e}.submit-btn{width:100%;padding:.9rem;border-radius:10px;border:none;background:#e94560;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem;transition:opacity .2s}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.success{color:#4caf50;font-size:.875rem;text-align:center;margin-top:.5rem}@media (max-width: 400px){.field-row{grid-template-columns:1fr}.menu-grid{grid-template-columns:1fr 1fr}}
