*{box-sizing:border-box;margin:0;padding:0}body{color:#111;-webkit-font-smoothing:antialiased;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-container{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:32px;box-shadow:0 2px 8px #0000001a}.login-card h1{color:#111;margin-bottom:24px}.login-card input{border:1px solid #ddd;border-radius:8px;width:100%;margin-bottom:16px;padding:12px 16px;font-size:16px}.login-card button{color:#fff;cursor:pointer;background:#111;border:none;border-radius:8px;width:100%;padding:12px;font-size:16px}.login-card button:disabled{opacity:.6}.error{color:#dc2626;margin-top:12px}.loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.dashboard{max-width:600px;margin:0 auto;padding:0 16px 80px}.dashboard-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 0;display:flex}.dashboard-header h1{color:#111;font-size:20px}.dashboard-header p{color:#6b7280;font-size:14px}.logout-btn{cursor:pointer;color:#111;background:0 0;border:1px solid #d1d5db;border-radius:8px;padding:8px 16px}.notification-banner{color:#991b1b;background:#fee2e2;border-radius:8px;margin:12px 0;padding:12px;font-size:14px}.tabs{border-bottom:2px solid #e5e7eb;gap:0;margin:16px 0;display:flex}.tab{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:12px;font-size:14px;font-weight:600}.tab.active{color:#111;border-bottom-color:#dc2626}.appointment-card{cursor:pointer;background:#fff;border-radius:10px;margin-bottom:8px;padding:16px;box-shadow:0 1px 3px #00000014}.appointment-card:active{background:#f9fafb}.card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.card-meta{color:#6b7280;justify-content:space-between;font-size:13px;display:flex}.empty-state{text-align:center;color:#9ca3af;padding:40px 20px}.detail{flex-direction:column;max-width:600px;min-height:100vh;margin:0 auto;padding:0 16px 16px;display:flex}.detail-header{justify-content:space-between;align-items:center;padding:16px 0;display:flex}.back-btn{cursor:pointer;color:#111;background:0 0;border:none;font-size:16px;font-weight:600}.detail-card{background:#fff;border-radius:12px;margin-bottom:16px;padding:20px;box-shadow:0 1px 3px #00000014}.detail-card h2{color:#111;margin-bottom:4px}.detail-card p{color:#6b7280}.detail-time{margin-top:4px;font-size:13px}.form-section{flex-direction:column;flex:1;display:flex}.form-section h3{color:#111;margin-bottom:8px;font-size:16px}.form-iframe{border:1px solid #e5e7eb;border-radius:8px;flex:1;width:100%;min-height:500px}.iframe-fallback{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:24px}.open-form-btn{color:#fff;background:#dc2626;border-radius:8px;margin-top:12px;padding:10px 20px;text-decoration:none;display:inline-block}.form-note{color:#9ca3af;margin-top:8px;font-size:12px}.detail-actions{background:#fff;border-top:1px solid #e5e7eb;gap:12px;max-width:600px;margin:0 auto;padding:16px;display:flex;position:fixed;bottom:0;left:0;right:0}.action-btn{cursor:pointer;border:none;border-radius:10px;flex:1;padding:14px;font-size:16px;font-weight:600}.action-btn.complete{color:#fff;background:#dc2626}.action-btn.dismiss{color:#fff;background:#111}.action-btn:disabled{opacity:.6}.overdue-banner{color:#fff;text-align:center;background:#dc2626;border-radius:8px;margin:12px 0;padding:12px;font-size:14px;font-weight:600}.due-badge{color:#92400e;background:#fef3c7;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.due-badge.overdue{color:#dc2626;background:#fee2e2}.appointment-card.overdue{border-left:3px solid #dc2626}.sale-badge{text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:700}.sale-badge.sale{color:#065f46;background:#d1fae5}.sale-badge.no-sale{color:#dc2626;background:#fee2e2}
