*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;line-height:1.6;color:#1a1a1a;background:#fafafa}.layout{max-width:960px;margin:0 auto;padding:1rem}header nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e0e0e0;margin-bottom:2rem}.nav-left,.nav-right{display:flex;gap:1rem;align-items:center}header nav a{color:#1a1a1a;text-decoration:none;font-weight:500}header nav a:hover{text-decoration:underline}.nav-user{color:#666;font-size:.9rem}.page{min-height:60vh}.page h1{margin-bottom:1rem}.btn{display:inline-block;padding:.6rem 1.2rem;background:#1a1a1a;color:#fff;text-decoration:none;border-radius:4px;font-weight:500;border:none;cursor:pointer}.btn:hover{background:#333;text-decoration:none}.card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-bottom:1rem}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem}.status-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;border:1px solid #e0e0e0;background:#fff}.status-indicator{font-weight:700;font-size:.8rem;padding:.3rem .6rem;border-radius:4px}.status-ok .status-indicator{background:#d4edda;color:#155724}.status-error .status-indicator{background:#f8d7da;color:#721c24}.status-details{display:flex;flex-direction:column}.status-details strong{font-size:.95rem}.status-details span{font-size:.85rem;color:#666}.auth-form{max-width:400px;margin-top:1rem}.auth-form p{margin-bottom:1rem}.dev-notice{background:#fff3cd;border:1px solid #ffc107;padding:.75rem;border-radius:4px;font-size:.9rem}.profile-info{display:grid;grid-template-columns:100px 1fr;gap:.5rem}.profile-info dt{font-weight:600;color:#666}.mono{font-family:monospace;font-size:.85rem}.protected-notice{text-align:center;padding:3rem}.protected-notice h2{margin-bottom:.5rem}.protected-notice p{margin-bottom:1rem;color:#666}.error{color:#721c24}.home-links{display:flex;gap:1rem;margin-top:1rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.25rem}.form-group input{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;font-family:inherit}.form-group input:focus{outline:none;border-color:#1a1a1a;box-shadow:0 0 0 2px #1a1a1a1a}.form-error{color:#721c24;font-size:.85rem;margin-top:.25rem}.auth-link{margin-top:1rem;font-size:.9rem;color:#666}.auth-link a{color:#1a1a1a;font-weight:500}.auth-form form .btn{width:100%;margin-top:.5rem}.btn:disabled{opacity:.6;cursor:not-allowed}
