*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,sans-serif;background:#f0f2f5;color:#1a1a2e}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:600;transition:opacity .15s}button:hover{opacity:.85}button.primary{background:#2563eb;color:#fff}button.danger{background:#dc2626;color:#fff}input,select,textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;outline:none}input:focus,select:focus,textarea:focus{border-color:#2563eb}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:10px 14px;text-align:left;border-bottom:1px solid #e5e7eb}th{background:#f9fafb;font-weight:600;color:#6b7280}tr:hover td{background:#f0f4ff}.app-shell{display:flex;min-height:100vh}.app-sidebar{width:220px;background:#1e3a8a;color:#fff;display:flex;flex-direction:column;flex-shrink:0}.app-brand{padding:24px 20px 16px;font-weight:700;font-size:20px;letter-spacing:1px}.app-nav{flex:1;padding:8px 0}.app-user{padding:16px 20px;border-top:1px solid rgba(255,255,255,.1);font-size:13px}.app-user-name{margin-bottom:8px;color:#93c5fd}.app-logout{background:#ffffff1a;color:#fff;padding:6px 14px;border-radius:6px;font-size:13px}.app-main{flex:1;padding:32px;overflow-y:auto;min-width:0}.page-title{margin-bottom:20px}.filters-row{display:flex;gap:10px;margin-bottom:16px;align-items:center}.table-panel{background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000000f;overflow-x:auto}.mobile-list{display:none}.pagination-row{display:flex;gap:8px;margin-top:16px;align-items:center;font-size:14px}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.ativo{background:#dcfce7;color:#166534}.badge.inativo{background:#fee2e2;color:#991b1b}.badge.status.pendente{background:#fef3c7;color:#92400e}.badge.status.aprovado{background:#dcfce7;color:#166534}.badge.status.recusado,.badge.status.cancelado,.badge.status.faltou{background:#fee2e2;color:#991b1b}.badge.status.reagendado{background:#ede9fe;color:#5b21b6}.badge.status.concluido{background:#dbeafe;color:#1e40af}@media (max-width: 760px){body{background:#f6f7f9}button{min-height:40px;padding:8px 14px}input,select,textarea{min-height:40px;font-size:16px}.app-shell{display:block;min-height:100vh}.app-sidebar{position:sticky;top:0;z-index:10;width:100%;min-height:auto;display:grid;grid-template-columns:1fr auto;background:#1e3a8a;box-shadow:0 4px 16px #0f172a29}.app-brand{padding:14px 14px 8px;font-size:18px}.app-nav{grid-column:1 / -1;display:flex;gap:4px;overflow-x:auto;padding:0 10px 10px;scrollbar-width:none}.app-nav::-webkit-scrollbar{display:none}.app-nav a{flex:0 0 auto;border-left:0!important;border-radius:999px;padding:8px 12px!important;font-size:13px!important;background:#ffffff14}.app-user{grid-column:2;grid-row:1;border-top:0;padding:10px 12px 6px;display:flex;align-items:center;gap:8px}.app-user-name{display:none}.app-logout{min-height:34px;padding:6px 12px}.app-main{padding:18px 12px 28px}.page-title{margin-bottom:14px;font-size:22px}.filters-row{display:grid;grid-template-columns:1fr;gap:8px}.filters-row select{max-width:none!important}.atendimentos-table{display:none}.mobile-list{display:grid;gap:10px}.mobile-empty{color:#9ca3af;padding:24px;text-align:center;background:#fff;border-radius:8px;border:1px solid #e5e7eb}.mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:14px;box-shadow:0 2px 8px #0f172a0d}.mobile-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;color:#111827;font-size:13px}.mobile-card-top span{color:#6b7280;white-space:nowrap}.mobile-card-client{margin:8px 0 10px;color:#2563eb;font-weight:700;font-size:15px}.mobile-card-fields{display:grid;gap:8px}.mobile-card-fields div{display:grid;gap:2px}.mobile-card-fields dt{color:#6b7280;font-size:11px;font-weight:700;text-transform:uppercase}.mobile-card-fields dd{color:#1f2937;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.mobile-status{width:100%;margin-top:12px;border-color:transparent;border-radius:999px;font-size:13px;font-weight:700}.pagination-row{justify-content:space-between;gap:8px}.pagination-row button{flex:1}}
