:root{--sa-blue:#337fca;--sa-blue-dark:#174e7d;--sa-bg:#f3f7fb;--sa-border:#b8d7ee;--sa-text:#17324d;--sa-danger:#a61b1b;--sa-success:#176b3a;--sa-warning:#8a5a00}
*{box-sizing:border-box}
body{margin:0;background:var(--sa-bg);color:var(--sa-text);font-family:Arial,Helvetica,sans-serif}
.sa-top{min-height:68px;padding:14px max(20px,calc((100% - 1180px)/2));background:#fff;border-bottom:1px solid var(--sa-border);display:flex;justify-content:space-between;align-items:center;gap:20px}
.sa-top div{display:flex;align-items:baseline;gap:14px}.sa-top strong{font-size:25px;color:var(--sa-blue-dark)}.sa-top span{font-size:16px}.sa-top a,.sa-back{color:var(--sa-blue-dark);font-weight:bold}
.sa-page,.sa-admin-page{width:min(1180px,calc(100% - 28px));margin:28px auto 60px}
.sa-admin-page{width:min(1500px,calc(100% - 28px))}
.sa-hero{padding:34px;border-radius:12px;background:linear-gradient(135deg,#174e7d,#3b8bd3);color:#fff;margin-bottom:22px;box-shadow:0 9px 25px rgba(23,78,125,.18)}
.sa-hero-compact{padding:24px}.sa-kicker{text-transform:uppercase;font-size:12px;letter-spacing:1.2px;font-weight:bold;opacity:.85}.sa-hero h1{font-size:34px;margin:7px 0}.sa-hero p{margin:0;font-size:17px}
.sa-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.sa-card{background:#fff;border:1px solid var(--sa-border);border-radius:10px;padding:22px;box-shadow:0 3px 12px rgba(30,80,120,.08);margin-bottom:20px}
.sa-card h2{margin-top:0}.sa-card form,.sa-form{display:grid;gap:16px}label{display:grid;gap:6px;font-weight:bold}input,select,textarea{width:100%;border:1px solid #8ebfe2;border-radius:6px;padding:11px 12px;background:#fff;color:#172b3d;font:inherit}textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(51,127,202,.18);border-color:var(--sa-blue)}
.sa-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:6px;padding:11px 18px;text-decoration:none;font-weight:bold;cursor:pointer;font-size:15px}.sa-btn:disabled{opacity:.55;cursor:not-allowed}.sa-btn-primary{background:var(--sa-blue);color:#fff}.sa-btn-secondary{background:var(--sa-blue-dark);color:#fff}.sa-btn-light{background:#e7f1f9;color:var(--sa-blue-dark)}
.sa-actions{display:flex;gap:12px;flex-wrap:wrap}.sa-alert{border-radius:8px;padding:14px 17px;margin:0 0 18px;border:1px solid}.sa-alert-success{background:#e7f6ed;border-color:#8bc5a3;color:var(--sa-success)}.sa-alert-error{background:#fdeaea;border-color:#e3a2a2;color:var(--sa-danger)}.sa-alert-warning{background:#fff5d8;border-color:#dfc371;color:var(--sa-warning)}
.sa-note{margin-top:22px}.sa-note li{margin:8px 0}.sa-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.sa-upload-section{border:1px dashed #78abd0;background:#f6fbff;padding:18px;border-radius:8px}.sa-upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sa-ticket-head,.sa-admin-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.sa-ticket-head h1,.sa-admin-head h1{margin:7px 0}.sa-ticket-head p,.sa-admin-head p{margin:0}
.sa-status{display:inline-block;padding:7px 11px;border-radius:999px;background:#dfeef9;color:#174e7d;font-size:13px;font-weight:bold;white-space:nowrap}.sa-status-cerrada,.sa-status-no_procedente{background:#e8e8e8;color:#555}.sa-status-resuelta{background:#dff4e7;color:#176b3a}.sa-status-pendiente_info{background:#fff1c7;color:#795100}.sa-status-reapertura_solicitada{background:#f3e5ff;color:#68308d}
.sa-ticket-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:22px;align-items:start}.sa-message header{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #dceaf5;padding-bottom:11px;margin-bottom:14px}.sa-message header span{color:#60788d;font-size:13px}.sa-message-admin{border-left:5px solid var(--sa-blue)}.sa-message-user{border-left:5px solid #6aa86e}.sa-message-internal{border-left:5px solid #d29b2e;background:#fff9e9}
.sa-files{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.sa-files a{background:#e9f3fa;border:1px solid #b8d7ee;border-radius:5px;padding:8px 10px;color:#174e7d;text-decoration:none;font-size:13px}
.sa-meta dl{display:grid;grid-template-columns:1fr;gap:4px}.sa-meta dt{font-size:12px;text-transform:uppercase;color:#62798d;margin-top:11px}.sa-meta dd{margin:0;overflow-wrap:anywhere}.sa-muted{color:#62798d;font-size:13px;line-height:1.45}.sa-check{display:flex;grid-template-columns:auto 1fr;align-items:start}.sa-check input{width:auto;margin-top:3px}
.sa-filters{display:grid;grid-template-columns:1fr 1fr 130px 2fr auto;gap:13px;align-items:end}.sa-table-card{padding:0;overflow:hidden}.sa-table-title{padding:17px 20px}.sa-table-title h2{margin:0}.sa-table-wrap{overflow:auto}.sa-table{width:100%;border-collapse:collapse}.sa-table th{background:var(--sa-blue);color:#fff;text-align:left;padding:11px}.sa-table td{padding:11px;border-bottom:1px solid #d7e7f2;vertical-align:top}.sa-table a{font-weight:bold;color:#174e7d}.sa-table small{color:#60788d}.sa-empty{text-align:center;color:#60788d}
.sa-pages{padding:15px;display:flex;gap:6px;flex-wrap:wrap}.sa-pages a{padding:7px 10px;border-radius:4px;background:#e8f2f9;color:#174e7d;text-decoration:none}.sa-pages a.active{background:var(--sa-blue);color:#fff}.sa-history ol{padding-left:20px}.sa-history li{margin-bottom:15px}.sa-history li span{display:block;font-size:12px;color:#60788d}.sa-history li p{margin:3px 0;font-size:13px}
.sa-footer{text-align:center;color:#60788d;padding:24px}
.sa-admin-actions .sa-btn{width:100%}.sa-btn-danger{background:#a61b1b;color:#fff}.sa-btn-danger-outline{background:#fff;color:#8f1717;border:1px solid #b94a48}.sa-btn-success{background:#176b3a;color:#fff}
.sa-admin-actions{border-top:4px solid var(--sa-blue)}.sa-admin-actions textarea{font-size:14px}.sa-alert-compact{padding:10px 12px;margin:0;font-size:13px}
.sa-admin-actions button[name="accion"]{min-height:44px}

@media(max-width:850px){.sa-grid-two,.sa-ticket-layout{grid-template-columns:1fr}.sa-upload-grid{grid-template-columns:1fr}.sa-filters{grid-template-columns:1fr 1fr}.sa-ticket-head{align-items:flex-start;flex-direction:column}.sa-top{align-items:flex-start}.sa-top div{display:grid;gap:2px}}
@media(max-width:520px){.sa-page,.sa-admin-page{width:min(100% - 16px,1180px);margin-top:12px}.sa-hero{padding:22px}.sa-hero h1{font-size:26px}.sa-grid-two,.sa-filters{grid-template-columns:1fr}.sa-card{padding:16px}}
