/* TU MARCA HN · Premium Design System 76–81
   Scope: every public and administrative PHP page. No external JS dependencies. */
:root{color-scheme:light;--tm-ink:#102b4e;--tm-deep:#08264b;--tm-deeper:#061c38;--tm-blue:#0867d7;--tm-bright:#0c88ee;--tm-sky:#eaf4ff;--tm-paper:#fff;--tm-page:#f3f7fc;--tm-line:#dbe5f0;--tm-muted:#64758b;--tm-shadow:0 12px 38px rgba(12,43,81,.09);--tm-r:16px;--tm-font:Inter,"Segoe UI",Arial,sans-serif}
html{scroll-behavior:smooth}*,*::before,*::after{box-sizing:border-box}
body{font-family:var(--tm-font)!important;font-size:15px!important;line-height:1.6!important;background:var(--tm-page)!important;color:var(--tm-ink)!important;margin:0!important;min-width:320px}
body:not(.tm-home) a{color:var(--tm-blue);text-underline-offset:3px}a:hover{text-decoration-color:currentColor}
h1,h2,h3,h4{font-family:var(--tm-font);letter-spacing:-.035em;line-height:1.23;color:var(--tm-ink)}
h1{font-size:clamp(27px,3.5vw,39px);font-weight:800;margin:.2em 0 .65em}
h2{font-size:clamp(20px,2.2vw,26px);font-weight:750}
h3{font-size:18px}p{overflow-wrap:anywhere}small{color:var(--tm-muted)!important}
body>header:not(.site-header){background:linear-gradient(105deg,#061d3b,#0a3769)!important;color:#fff!important;padding:22px max(22px,calc((100vw - 1220px)/2))!important;box-shadow:0 5px 22px #05234a22;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
body>header:not(.site-header) a,body>header:not(.site-header) strong,body>header:not(.site-header) p{color:#fff!important;text-decoration:none;font-weight:600}
body>header:not(.site-header) a:first-child{font-size:16px;font-weight:800}
body>header:not(.site-header) a:hover{color:#c8e4ff!important}
body:not(.tm-home)>main:not(.hero-content){width:min(1180px,calc(100% - 36px))!important;max-width:1180px!important;margin:28px auto 48px!important;padding:clamp(20px,3vw,36px)!important;background:#fff!important;border:1px solid var(--tm-line)!important;border-radius:var(--tm-r)!important;box-shadow:var(--tm-shadow)!important}
body:not(.tm-home)>main>h1:first-child{padding-bottom:14px;border-bottom:1px solid #e7edf5}
body:not(.tm-home)>main>p:first-child:empty{display:none}
body:not(.tm-home)>main>p a{font-weight:650}
form:not(.hero-search){background:linear-gradient(180deg,#fff,#fcfdff)!important;border:1px solid var(--tm-line)!important;border-radius:14px!important;padding:clamp(17px,2.5vw,27px)!important;box-shadow:0 6px 22px #153e6810;margin:18px 0 22px}
form label{font-size:13px;font-weight:700!important;color:#244463;display:block}
form input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]),form select,form textarea{font:inherit!important;color:var(--tm-ink)!important;background:#fff!important;border:1px solid #cfddeb!important;border-radius:9px!important;min-height:45px;padding:11px 13px!important;max-width:100%;outline:0;transition:border-color .16s,box-shadow .16s}
form textarea{min-height:120px;resize:vertical}
form input:focus,form textarea:focus,form select:focus{border-color:var(--tm-blue)!important;box-shadow:0 0 0 3px #0b72dc22!important}
form input::placeholder,form textarea::placeholder{color:#8594a7}
form input[type=checkbox],form input[type=radio]{accent-color:var(--tm-blue);width:17px!important;height:17px;vertical-align:middle;margin-right:6px}
button,input[type=submit],.tm-button{background:linear-gradient(125deg,#0065d7,#0879e8)!important;color:#fff!important;border:1px solid transparent!important;border-radius:9px!important;min-height:43px;padding:11px 19px!important;font:700 14px var(--tm-font)!important;cursor:pointer;box-shadow:0 5px 12px #0067d522;transition:transform .16s,filter .16s,box-shadow .16s}
button:hover,input[type=submit]:hover,.tm-button:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 18px #0067d52c}
button:focus-visible,a:focus-visible{outline:3px solid #3da8ff;outline-offset:3px}
button:disabled{opacity:.55;cursor:not-allowed}
article,.panel,.card,.tm-publish-grid a{border-radius:13px!important}
article:not(.business-card):not(.card){background:#fff;border:1px solid #e2eaf3!important;padding:18px!important;margin:12px 0;box-shadow:0 4px 16px #0c365b0a}
article h2{margin-top:0}article a{font-weight:650}
.panel{border:1px solid var(--tm-line)!important;box-shadow:0 5px 18px #072c5110}
.grid{gap:16px!important}
.card{overflow:hidden!important;border:1px solid var(--tm-line)!important;box-shadow:0 5px 18px #0c365b14;transition:transform .16s,box-shadow .16s}
.card:hover{transform:translateY(-3px);box-shadow:0 15px 30px #0c365b22}
.card img{display:block;max-width:100%;object-fit:cover}
.card .body{padding:18px!important}
.pill{background:#e8f3ff;color:#075cbd!important;border-radius:100px;padding:5px 9px;display:inline-block;font-size:11px;font-weight:750}
.pages{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.pages a{border:1px solid var(--tm-line);padding:9px 15px!important;border-radius:9px!important;text-decoration:none}
details{background:#fff;border:1px solid var(--tm-line);border-radius:11px;padding:12px;margin:10px 0}
details summary{cursor:pointer;font-weight:650;padding:7px}
table{border-collapse:collapse;width:100%;font-size:13px}
th,td{text-align:left;padding:12px;border-bottom:1px solid #e7eef6}
th{background:#edf5ff;color:#164775;font-weight:750}
tr:hover td{background:#f9fcff}
img{max-width:100%;height:auto}
.tm-publish-grid a{background:linear-gradient(145deg,#fff,#f5faff)!important;border:1px solid #d9e6f3!important;box-shadow:0 6px 20px #062e5810;padding:24px!important}
.tm-publish-grid a:hover{border-color:#8bbcf0!important}
.tm-publish-grid a span{color:var(--tm-muted)!important}
.tm-alert{padding:12px 15px;border:1px solid #b7d7f6;border-radius:9px;background:#edf7ff;color:#0d4c8c;margin:16px 0}
.tm-premium-header{background:linear-gradient(115deg,#082648,#0c4d91);color:#fff;border-radius:13px;padding:22px 26px;margin:-4px 0 23px}
.tm-premium-header h1{color:#fff;margin:0 0 6px}.tm-premium-header p{color:#d6e9fc;margin:0}
.tm-results-count{font-weight:750;color:#294d70;background:#f0f6fe;border-radius:8px;padding:10px 14px}
.tm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tm-form-grid>*{min-width:0}
.tm-form-grid .tm-wide{grid-column:1/-1}
.tm-auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tm-auth-layout>section{min-width:0;background:linear-gradient(165deg,#f9fcff,#edf5ff);border:1px solid #e0eaf5;border-radius:14px;padding:20px}
.tm-auth-layout h2{margin-top:0}
.tm-auth-layout form{margin-bottom:0}
.tm-profile-cover{height:220px;background:linear-gradient(110deg,#0b315e,#147ce0);border-radius:14px;overflow:hidden;margin:-4px -4px 20px}
.tm-profile-cover img{width:100%;height:100%;object-fit:cover;border-radius:0!important;max-height:none!important}
.tm-profile-heading{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tm-profile-heading h1{margin:0}
.tm-profile-actions{display:flex;flex-wrap:wrap;gap:10px;padding:12px 0 16px}
.tm-profile-actions a{border:1px solid #cbdff4;border-radius:9px;padding:10px 13px;text-decoration:none;font-weight:750}
.tm-profile-actions a:first-child{background:#086ad8;color:white!important;border-color:#086ad8}
.tm-form-intro{color:var(--tm-muted);font-size:14px;margin-top:-10px}
@media(max-width:800px){body:not(.tm-home)>main:not(.hero-content){margin:14px auto 28px!important}.tm-auth-layout{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:650px){body{font-size:14px!important}body>header:not(.site-header){padding:14px 4%!important;gap:11px;font-size:12px}body>header:not(.site-header) a{white-space:nowrap}body:not(.tm-home)>main:not(.hero-content){width:calc(100% - 20px)!important;margin:10px auto 20px!important;padding:16px!important;border-radius:12px!important}body>main h1{font-size:25px}form:not(.hero-search){padding:14px!important}form:not(.hero-search) input:not([type=checkbox]):not([type=radio]),form select,form textarea{width:100%!important}form:not(.hero-search) button{width:100%}.grid,.tm-form-grid{grid-template-columns:1fr!important}.tm-auth-layout>section{padding:13px}.tm-profile-cover{height:160px}.tm-profile-actions a{flex:1;text-align:center}.pages{justify-content:center}table{display:block;overflow-x:auto;white-space:nowrap}.tm-publish-grid{grid-template-columns:1fr!important}body:not(.tm-home)>main:not(.hero-content){margin-bottom:90px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}

/* Fase 77 · Search and filters */
.tm-directory{max-width:1240px!important}
.tm-directory .tm-directory-filters{display:grid!important;grid-template-columns:minmax(160px,1.5fr) minmax(140px,1fr) minmax(160px,1fr) auto auto;gap:10px;align-items:center}
.tm-directory-filters>input,.tm-directory-filters>select{width:100%;min-width:0}
.tm-directory-filters>label{display:flex;align-items:center;white-space:nowrap;gap:4px;font-size:12px;font-weight:650}
.tm-directory .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.tm-directory .card img{width:100%;height:190px;object-fit:cover}
.tm-directory .card h2{font-size:19px;margin:8px 0}
.tm-directory .card .body a{display:inline-flex;margin-top:8px;background:#e9f4ff;color:#065fbd;padding:8px 12px;border-radius:7px;text-decoration:none;font-weight:750}
.tm-directory .card .body a:hover{background:#d6ebff}
.tm-directory .card .body p{font-size:13px;color:#61758b}
.tm-directory .grid:empty::after{content:"No hay empresas disponibles";display:block;padding:25px}
/* Fase 78 · Business profile */
.tm-business-profile{max-width:1020px!important}
.tm-business-profile .tm-profile-cover{height:270px}
.tm-business-profile .tm-profile-cover:empty{background:linear-gradient(125deg,#0a315d,#147ce1)}
.tm-business-profile>p{color:#4e647b}
.tm-business-profile>section{border-top:1px solid #e4edf6;padding-top:19px;margin-top:26px}
.tm-business-profile section img{max-height:220px;object-fit:cover;border-radius:10px}
.tm-business-profile section a{font-weight:700}
.tm-business-profile .tm-profile-actions a:hover{background:#e8f4ff}
/* Fase 79 · Account forms */
.tm-member-main .tm-auth-layout{margin-top:18px}
.tm-auth-layout form input{width:100%}
.tm-auth-layout form button{width:100%}
.tm-member-main>p:empty{display:none}
.tm-member-main article h2{font-size:18px}
/* Fase 80 · Publishing and member panels */
.tm-member-main .tm-publish-grid{margin-top:22px}
.tm-member-main>form{max-width:100%}
.tm-member-main>form input,.tm-member-main>form select{max-width:100%}
.tm-member-main .tm-publish-grid a{text-decoration:none}
.tm-member-main .tm-publish-grid a:hover{transform:translateY(-2px);transition:transform .15s}
/* Fase 81 · Admin consistency */
body>main .panel h2{margin-top:0}
body>main .panel form{box-shadow:none}
body>main .row form{box-shadow:none}
body>main>p>a{display:inline-block;margin:3px 5px 3px 0}
body>main .panel label{margin-bottom:7px}
body>main .panel .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
body>main .panel .grid label{min-width:0}
@media(max-width:900px){.tm-directory .tm-directory-filters{grid-template-columns:1fr 1fr}.tm-directory .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.tm-directory .tm-directory-filters{grid-template-columns:1fr}.tm-directory .grid{grid-template-columns:1fr}.tm-directory .card{display:grid;grid-template-columns:38% 1fr}.tm-directory .card img{height:100%;min-height:165px}.tm-directory .card .body{padding:12px!important}.tm-directory .card h2{font-size:16px}.tm-directory .card .body p{font-size:11px}.tm-directory .card .body a{font-size:11px}.tm-business-profile .tm-profile-cover{height:170px}.tm-profile-actions{flex-direction:column}.tm-auth-layout{gap:12px}body>main .panel .grid{grid-template-columns:1fr}}

.tm-home .hero h1,.tm-home .hero h2{color:#fff}.tm-home .hero h1 span{color:#19a9ff}.tm-home .hero-search label{color:#264c75}

/* Fases 82–90: paneles operativos */
.tm-metrics,.tm-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:20px 0}
.tm-metric,.tm-plan-card{padding:22px;border:1px solid #dbe6f2;border-radius:15px;background:#fff;box-shadow:0 7px 22px #0c365b10}
.tm-metric strong{font-size:33px;color:#066ad8;display:block;line-height:1.2}
.tm-metric span{font-size:12px;color:#526982}
.tm-plan-card{display:flex;flex-direction:column;gap:12px}
.tm-plan-card h2{margin:0}.tm-plan-card p{flex:1}
.tm-plan-price{font-size:28px;color:#0067d9;font-weight:850}
.tm-plan-price small{font-size:12px}
.tm-plan-card .tm-button{text-decoration:none;text-align:center}
.tm-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.tm-links a,.tm-tab-links a{padding:14px 18px;background:#edf5ff;border:1px solid #d7e7f7;border-radius:9px;text-decoration:none;font-weight:750}
.tm-tab-links{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.tm-check-list{display:grid;gap:10px;margin:18px 0}
.tm-check{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid #dce8f5;border-radius:11px;padding:13px 16px}
.tm-ok{color:#11784a}.tm-fail{color:#b13232}
form.tm-inline-form{display:inline-flex;align-items:center;gap:10px;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.tm-inline-form button{min-width:110px}
button.tm-danger{background:#ae2945!important}
button.tm-success{background:#168050!important}
@media(max-width:650px){.tm-check{flex-direction:column;align-items:stretch}.tm-check .tm-inline-form,.tm-inline-form button{width:100%}.tm-tab-links a{flex:1;text-align:center}.tm-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.tm-metric{padding:14px}.tm-metric strong{font-size:25px}}
