/* Estilos basados en el prototipo de frontend (Diego Arriola), adaptados a Blade */
*{margin:0;padding:0;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}
body{background:#f4f7fa;color:#333}
button{cursor:pointer}
a{color:#009688}

/* Login */
.login-wrap{min-height:100vh;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#e1f5f2,#edf4f8);padding:16px}
.login-card{width:400px;max-width:100%;background:#fff;padding:40px;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.logo-login{text-align:center;margin-bottom:30px}
.logo-icono{width:70px;height:70px;margin:0 auto 15px;border-radius:50%;background:#009688;color:#fff;display:flex;align-items:center;justify-content:center;font-size:45px;font-weight:bold}
.logo-login h1{color:#17324d}
.logo-login p{margin-top:8px;color:#777}
.demo-text{text-align:center;font-size:13px;color:#999;margin-top:20px}

/* Formularios */
.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:7px;font-weight:bold}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:15px}
.form-group input:focus,.form-group select:focus{outline:2px solid #009688;border-color:#009688}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 20px}
.form-grid .full{grid-column:1 / -1}
.btn-login{width:100%;padding:13px;border:none;background:#009688;color:#fff;border-radius:8px;font-size:16px}
.btn-login:hover{background:#00796b}
.btn{display:inline-block;border:none;padding:10px 16px;border-radius:7px;font-size:14px;text-decoration:none}
.btn-primary{background:#009688;color:#fff}
.btn-primary:hover{background:#00796b}
.btn-secondary{background:#17324d;color:#fff}

/* Layout con sidebar */
.sidebar{position:fixed;left:0;top:0;width:240px;height:100vh;background:#17324d;color:#fff;padding:25px 15px;display:flex;flex-direction:column;overflow-y:auto}
.logo-sistema{display:flex;align-items:center;gap:10px;margin-bottom:35px}
.logo-pequeno{width:40px;height:40px;border-radius:50%;background:#009688;display:flex;align-items:center;justify-content:center;font-size:28px}
.logo-sistema h2{font-size:19px}
.sidebar a,.sidebar .menu-off,.sidebar .menu-btn{display:block;width:100%;text-align:left;text-decoration:none;color:#dbe6ed;padding:13px 15px;border-radius:8px;margin-bottom:8px;background:none;border:none;font-size:16px}
.sidebar a:hover,.sidebar .menu-btn:hover{background:#244864}
.sidebar a.active{background:#009688;color:#fff}
.sidebar .menu-off{opacity:.45;cursor:not-allowed}
.sidebar .menu-off small{font-size:11px;display:block}
.sidebar .grow{flex:1}
.contenido{margin-left:240px;padding:30px}
.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;gap:12px;flex-wrap:wrap}
.header h1{color:#17324d}
.header p{color:#777;margin-top:5px}
.usuario{background:#fff;padding:12px 18px;border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.08)}

/* Paneles y tablas */
.panel{background:#fff;border-radius:12px;padding:25px;box-shadow:0 3px 12px rgba(0,0,0,.07);margin-bottom:25px}
.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px;flex-wrap:wrap}
.panel h2{color:#17324d}
table{width:100%;border-collapse:collapse}
th{background:#f3f6f8;text-align:left;padding:12px;color:#555}
td{padding:13px 12px;border-bottom:1px solid #eee}
.estado{display:inline-block;padding:5px 10px;border-radius:15px;font-size:12px}
.estado.programada{background:#e0f2f1;color:#00796b}
.estado.atendida{background:#e3f2fd;color:#1565c0}
.estado.cancelada{background:#fdecea;color:#c62828}

/* Mensajes */
.alert{padding:14px 18px;border-radius:8px;margin-bottom:20px}
.alert-ok{background:#e0f2f1;color:#00695c;border-left:4px solid #009688}
.alert-error{background:#fdecea;color:#b71c1c;border-left:4px solid #d9534f}
.alert p{margin:2px 0}

@media(max-width:800px){
  .sidebar{position:static;width:100%;height:auto}
  .contenido{margin-left:0;padding:16px}
  .form-grid{grid-template-columns:1fr}
}
