:root{--login-wine:#70253a;--login-wine-dark:#4d1727;--login-green:#28644d;--login-cream:#fffaf0;--login-ink:#2d2926;--login-muted:#6d625c}*{box-sizing:border-box}html,body,#app{min-height:100%}body{margin:0}.login-page{min-height:100vh;color:var(--login-ink);background:linear-gradient(#35121de0,#35121df0),url(/munoz-tapas-logo.png) 50%/720px no-repeat;place-items:center;padding:28px 18px;font-family:Segoe UI,Roboto,Arial,sans-serif;display:grid}.login-panel{background:var(--login-cream);border:1px solid #70253a38;border-radius:8px;width:min(100%,520px);overflow:hidden;box-shadow:0 22px 55px #18080d57}.login-header{text-align:center;border-bottom:1px solid #70253a2e;padding:24px 30px 22px}.login-logo{object-fit:contain;width:min(100%,290px);height:auto;margin:0 auto 18px;display:block}.login-heading h1{max-width:430px;color:var(--login-wine-dark);margin:4px auto 10px;font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:700;line-height:1.2}.login-eyebrow{color:var(--login-green);text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800}.login-subtitle{color:var(--login-muted);margin:0;font-size:.95rem;line-height:1.45}.login-form{gap:18px;padding:26px 30px 20px;display:grid}.login-field label{color:var(--login-ink);margin-bottom:7px;font-size:.91rem;font-weight:700;display:block}.login-field input{width:100%;min-height:48px;color:var(--login-ink);font:inherit;background:#fff;border:1px solid #cbbdb5;border-radius:6px;outline:none;padding:11px 13px;transition:border-color .16s,box-shadow .16s}.login-field input:focus{border-color:var(--login-green);box-shadow:0 0 0 3px #28644d24}.login-submit{background:var(--login-wine);color:#fff;cursor:pointer;border:0;border-radius:6px;min-height:48px;font:700 .98rem Segoe UI,Roboto,Arial,sans-serif;transition:background .16s,transform .16s}.login-submit:hover{background:var(--login-wine-dark)}.login-submit:active{transform:translateY(1px)}.login-submit:disabled{cursor:wait;opacity:.72}.login-security{color:var(--login-muted);text-align:center;margin:0;padding:0 30px 24px;font-size:.8rem}@media (width<=560px){.login-page{background-size:520px;place-items:start center;padding:14px 10px}.login-panel{margin-top:0}.login-header{padding:18px 18px 17px}.login-logo{width:min(86%,245px);margin-bottom:14px}.login-heading h1{font-size:1.42rem}.login-form{gap:15px;padding:21px 18px 18px}.login-security{padding:0 18px 20px}}@media (height<=680px) and (width>=561px){.login-page{padding-block:14px}.login-header{padding-block:16px}.login-logo{width:210px;margin-bottom:10px}.login-form{gap:13px;padding-block:18px 14px}}body{background:#f4f4f4;margin:0;font-family:Arial,sans-serif;overflow:hidden}html,body,#app{height:100%}.dashboard-shell{height:100vh;min-height:0;overflow:hidden}.dashboard-table-scroll{min-height:0}.table-container-custom{background:#fff;border:2px solid #0d6efd;border-radius:12px;overflow:hidden}.responsive-table{border-collapse:collapse;table-layout:fixed;background:#f3f0f0;border:2px solid #0d6efd;border-radius:12px;width:100%;overflow:hidden}.responsive-table th,.responsive-table td{border:1px solid #0d6efd}.table-fondo{text-align:center;background:#e9eefc}.responsive-table th{padding:12px;font-weight:700}.responsive-table td{vertical-align:middle;padding:10px}.cell-content{overflow-wrap:break-word;word-break:break-word;white-space:normal;width:100%}.col-cliente,.col-contacto{width:15%}.col-reserva,.col-detalles{width:10%}.col-comentario{width:20%}.col-creada,.col-status,.col-acciones{width:10%}.actions-column{text-align:center;padding:8px!important}.button-grid{flex-direction:column;align-items:center;gap:2px;display:flex}.button-grid button{white-space:nowrap;border-radius:6px;width:100px;min-width:fit-content;padding:4px 10px;font-size:12px}@media (width<=768px){.responsive-table thead{display:none}.table-container-custom{background:0 0;border:none!important}.responsive-table{border-spacing:0;border-collapse:separate!important;border:none!important}.responsive-table tr{background:#fff;border:2px solid #0d6efd;border-radius:12px;margin-bottom:12px;overflow:hidden;box-shadow:0 2px 6px #0000000d}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{width:100%;display:block}.responsive-table td{border:none;border-bottom:1px solid #ddd;flex-direction:column;gap:4px;padding:8px 5px;display:flex}.responsive-table td:last-child{border-bottom:none}.responsive-table td:before{content:attr(data-label);color:#4a4a4a;font-size:13px;font-weight:700}.actions-column .button-grid{max-width:200px;margin:0 auto}.actions-column button{padding:6px;font-size:12px}}.split-cell{flex-direction:column;display:flex}.cell-top{padding-bottom:4px}.cell-divider{opacity:.4;background:#0d6efd;height:1px;margin:2px 0}.cell-bottom{padding-top:2px}@media (width<=768px){.dashboard-row{text-align:center;gap:12px;flex-direction:column!important}.dashboard-row>div{display:flex;justify-content:center!important}#searchInput{max-width:90%!important}.dashboard-footer{flex-direction:column;gap:8px}.dashboard-footer .pagination{flex-wrap:wrap;justify-content:center;gap:4px}}.past-reservation{opacity:.82;transition:background .2s;color:#6c757d!important;background:#e9ecef!important}.past-reservation td{color:inherit!important;background:0 0!important}.past-reservation .badge,.past-reservation .btn{opacity:.88}.actions-column{padding:6px!important}.button-grid{grid-template-columns:repeat(2,34px);justify-content:center;align-items:center;gap:5px;display:grid}.button-grid .icon-action,.actions-heading .icon-action{color:#fff;cursor:pointer;border:0;min-width:0;padding:0;line-height:1}.button-grid .icon-action{border-radius:6px;width:34px;height:34px;font-size:15px}.icon-action:hover,.icon-action:focus-visible{filter:brightness(.92)}.icon-print{background:#28644d}.button-grid .printRowBtn{grid-column:1/-1;justify-self:center}.actions-heading{justify-content:center;align-items:center;gap:7px;display:flex}.actions-heading .icon-action{border-radius:6px;width:30px;height:30px;font-size:14px}.mobile-print-toolbar{display:none}.compact-print-button{color:#fff;background:#28644d;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 12px;font-size:13px;font-weight:700;display:inline-flex}@media (width<=768px){.actions-column .button-grid{grid-template-columns:repeat(5,36px);max-width:none;margin:0 auto}.actions-column .icon-action{width:36px;height:36px}.actions-column button.icon-action{padding:0;font-size:15px}.button-grid .printRowBtn{grid-column:auto}.mobile-print-toolbar{justify-content:flex-end;margin:0 0 8px;display:flex}}
