:root{
  --bg:#f5f7f5;
  --paper:#fff;
  --ink:#17211e;
  --muted:#67736e;
  --line:#dfe6e2;
  --green:#176b51;
  --green-soft:#eaf5f0;
  --green-card:#f3fbf7;
  --blue:#2f73ae;
  --blue-soft:#eaf3fb;
  --blue-card:#f4f9ff;
  --shadow:0 8px 24px rgba(23,33,30,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.45
}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}

/* CABECERA COMPACTA */
.hero{
  background:linear-gradient(125deg,#194d3e,#1f765b 68%,#32886b);
  color:#fff;
  padding:20px 24px 32px;
}
.hero-inner{max-width:1180px;margin:auto}
.back-home{
  display:inline-flex;align-items:center;
  padding:7px 11px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.07);
  font-size:13px;font-weight:750;
  margin-bottom:16px
}
.hero-badge{
  font-size:10px;text-transform:uppercase;letter-spacing:.18em;
  font-weight:850;opacity:.78;margin-bottom:6px
}
.hero h1{
  margin:0;
  font-size:clamp(30px,3.6vw,48px);
  line-height:1.02;
  letter-spacing:-.045em;
  max-width:none
}
.hero h1 br{display:none}
.hero-copy{
  margin:10px 0 12px;
  max-width:900px;
  font-size:15px;
  color:rgba(255,255,255,.83)
}
.hero-legend{
  display:flex;gap:18px;flex-wrap:wrap;
  font-size:12px;color:rgba(255,255,255,.78)
}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}
.dot-news{background:#81c7ff}
.dot-link{background:#82dcb5}

/* CONTENIDO */
.content{
  max-width:1180px;margin:0 auto;
  padding:18px 24px 48px
}
.toolbar{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:10px 0 16px;
  border-bottom:1px solid var(--line);
  background:transparent;
  box-shadow:none
}
.tabs{display:flex;gap:5px;flex-wrap:wrap}
.tabs a{
  padding:8px 11px;border-radius:10px;
  font-size:13px;font-weight:750;color:var(--muted)
}
.tabs a.active{background:var(--green-soft);color:var(--green)}
.search{display:flex;gap:7px;width:min(430px,100%)}
.search input{
  width:100%;padding:9px 11px;border:1px solid var(--line);
  border-radius:10px;background:#fff;outline:none
}
.search button,.primary-btn{
  border:0;background:var(--green);color:#fff;
  padding:9px 14px;border-radius:10px;font-weight:800;cursor:pointer
}

/* QUITAR TITULAR GRANDE DE SECCIÓN */
.section-intro{
  margin:18px 0 10px;
  display:flex;align-items:center;justify-content:space-between;gap:20px
}
.eyebrow{
  color:var(--green);font-size:10px;
  text-transform:uppercase;letter-spacing:.18em;font-weight:850
}
.section-intro h2{
  display:none;
}
.section-intro p{
  margin:0;color:var(--muted);font-size:13px
}

/* LISTA COMPACTA + COLOR SUAVE SEGÚN TIPO */
.cards{
  display:flex;
  flex-direction:column;
  gap:9px
}
.card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  grid-template-areas:
    "top actions"
    "title actions"
    "summary actions"
    "meta actions";
  column-gap:22px;
  border:1px solid var(--line);
  border-left:4px solid var(--green);
  border-radius:14px;
  padding:14px 16px;
  min-height:0;
  box-shadow:none;
  transition:.15s ease
}
.card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.card-link{
  background:var(--green-card);
  border-left-color:var(--green);
  border-top:1px solid var(--line)
}
.card-news{
  background:var(--blue-card);
  border-left-color:var(--blue);
  border-top:1px solid var(--line)
}

.card-top{
  grid-area:top;
  display:flex;align-items:center;gap:9px;
  margin:0 0 5px
}
.type-pill{
  display:inline-flex;align-items:center;gap:6px;
  font-size:9px;text-transform:uppercase;letter-spacing:.09em;font-weight:900
}
.type-icon{
  display:inline-grid;place-items:center;
  width:20px;height:20px;border-radius:6px;font-size:10px
}
.card-news .type-icon{background:rgba(47,115,174,.10);color:var(--blue)}
.card-link .type-icon{background:rgba(23,107,81,.10);color:var(--green)}
.featured{
  font-size:9px;font-weight:850;
  color:#8b4c12;background:#fff1df;
  padding:3px 7px;border-radius:999px
}
.card h3{
  grid-area:title;
  margin:0 0 4px;
  font-size:19px;line-height:1.15;letter-spacing:-.025em
}
.summary{
  grid-area:summary;
  margin:0 0 7px;
  color:#58645f;
  font-size:13px;line-height:1.42
}
.meta{
  grid-area:meta;
  display:flex;gap:10px;flex-wrap:wrap;
  margin:0;padding:0;color:#8a948f;font-size:10px
}
.meta span+span:before{content:"·";margin-right:10px}

.card-actions{
  grid-area:actions;
  align-self:center;
  justify-self:stretch;
  display:flex;
  flex-direction:column;
  gap:7px
}
.card-button,
.share-button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0;
  padding:9px 11px;
  border-radius:10px;
  font-size:12px;
  font-weight:850
}
.card-button{
  border:0
}
.share-button{
  cursor:pointer;
  border:1px solid rgba(23,107,81,.18);
  background:rgba(255,255,255,.58);
  color:var(--green);
  transition:background .15s ease,border-color .15s ease,transform .15s ease
}
.share-button:hover{
  background:rgba(255,255,255,.9);
  transform:translateY(-1px)
}
.share-icon{font-size:14px;line-height:1}
.card-link .card-button{
  background:rgba(23,107,81,.10);
  color:var(--green)
}
.card-news .card-button{
  background:rgba(47,115,174,.10);
  color:var(--blue)
}
.card-news .share-button{
  color:var(--blue);
  border-color:rgba(47,115,174,.18)
}
.share-button.share-copied{
  background:#e7f6ee;
  border-color:#aad7c3;
  color:#176b51
}

.notice{
  display:flex;gap:11px;
  margin-top:18px;padding:13px 15px;
  border:1px solid #efdfba;border-radius:12px;
  background:#fff8e9;color:#705a2e
}
.notice-icon{
  width:23px;height:23px;display:grid;place-items:center;
  border-radius:50%;background:#ffe6aa;font-size:12px;font-weight:900;flex:none
}
.notice strong{font-size:12px}
.notice p{margin:2px 0 0;font-size:12px}
.footer{
  max-width:1180px;margin:auto;padding:0 24px 30px;
  display:flex;justify-content:space-between;
  color:#84908b;font-size:11px
}
.empty{
  background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:35px;text-align:center
}

/* ADMIN */
.admin-body{background:#eef3f0}
.admin-shell{max-width:1280px;margin:auto;padding:36px 22px 70px}
.admin-header{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}
.admin-kicker{color:var(--green);font-weight:900;letter-spacing:.12em;font-size:12px}
.admin-header h1{margin:2px 0 0;letter-spacing:-.04em;font-size:36px}
.admin-actions{display:flex;gap:10px}
.admin-actions a,.text-link{font-size:13px;font-weight:800;color:var(--green)}
.admin-grid{display:grid;grid-template-columns:420px 1fr;gap:18px;align-items:start}
.admin-panel,.login-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}
.panel-title{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:18px}
.panel-title span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800}
.panel-title h2{font-size:23px;margin:2px 0 0;line-height:1.15}
.panel-title a{font-size:12px;font-weight:800;color:var(--green)}
.admin-form{display:flex;flex-direction:column;gap:9px}
.admin-form label,.login-card label{font-size:12px;font-weight:850;margin-top:7px}
.admin-form input,.admin-form textarea,.admin-form select,.login-card input{
  width:100%;border:1px solid #d8e1dd;border-radius:11px;background:#fbfcfb;padding:11px 12px;outline:none
}
.admin-form textarea{resize:vertical}
.form-row.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check-row{display:flex;gap:15px;flex-wrap:wrap;margin:6px 0}
.check{display:flex;align-items:center;gap:8px!important;font-size:13px!important;font-weight:700!important}
.check input{width:auto}
.admin-list{display:flex;flex-direction:column;gap:10px}
.admin-item{display:flex;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:16px;padding:15px}
.admin-item h3{font-size:16px;margin:5px 0 4px}
.admin-item p{font-size:13px;color:var(--muted);margin:0}
.mini-meta{display:flex;gap:7px;align-items:center;color:#89938f;font-size:10px;text-transform:uppercase;font-weight:850;letter-spacing:.05em}
.mini-news{color:var(--blue)}.mini-link{color:var(--green)}
.admin-item-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}
.admin-item-actions a,.admin-item-actions button{border:0;background:#eef5f2;color:var(--green);padding:8px 10px;border-radius:9px;font-size:11px;font-weight:850;cursor:pointer}
.admin-item-actions button{background:#fff0ee;color:#b14d43}
.admin-item-actions form{margin:0}
.admin-ok,.admin-error{padding:12px 15px;border-radius:12px;margin-bottom:15px;font-weight:750;font-size:13px}
.admin-ok{background:#e4f5ec;color:#216847}.admin-error{background:#ffebe8;color:#a33b31}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.login-card{width:min(420px,100%);display:flex;flex-direction:column;gap:10px}
.login-card h1{margin:0;font-size:30px;letter-spacing:-.035em}
.login-card p{margin:0 0 8px;color:var(--muted)}
.admin-logo{font-size:12px;letter-spacing:.2em;color:var(--green);font-weight:950}



/* SUBIDA DE FICHEROS EN ADMIN */
.optional-label{
  font-size:10px;
  font-weight:650;
  color:var(--muted)
}
.upload-divider{
  display:flex;
  align-items:center;
  gap:10px;
  margin:5px 0 -1px;
  color:#8a948f;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em
}
.upload-divider:before,
.upload-divider:after{
  content:"";
  height:1px;
  background:var(--line);
  flex:1
}
.upload-box{
  padding:12px 13px;
  border:1px dashed #b9d0c6;
  background:#f4faf7;
  border-radius:12px
}
.upload-box label{
  display:block;
  margin:0 0 7px!important
}
.admin-form .upload-box input[type="file"]{
  padding:8px;
  background:#fff;
  cursor:pointer
}
.upload-help{
  margin:7px 0 0;
  color:var(--muted);
  font-size:11px;
  line-height:1.45
}
.uploaded-current{
  display:inline-block;
  margin-top:8px;
  color:var(--green);
  font-size:12px;
  font-weight:850
}
.uploaded-current:hover{text-decoration:underline}

@media(max-width:800px){
  .toolbar{align-items:stretch;flex-direction:column}
  .search{width:100%}
  .card{
    grid-template-columns:1fr;
    grid-template-areas:"top" "title" "summary" "meta" "actions";
  }
  .card-actions{margin-top:10px}
  .admin-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .hero{padding:16px 14px 24px}
  .back-home{margin-bottom:12px}
  .hero h1{font-size:30px}
  .hero-copy{font-size:13px}
  .content{padding:12px 14px 36px}
  .tabs{display:grid;grid-template-columns:repeat(3,1fr)}
  .tabs a{text-align:center;padding:8px 5px;font-size:11px}
  .search{flex-direction:column}
  .section-intro{margin-top:16px;align-items:flex-start;flex-direction:column;gap:5px}
  .card{padding:12px 13px}
  .card h3{font-size:18px}
  .summary{font-size:12px}
  .footer{padding:0 14px 24px;flex-direction:column;gap:5px}
  .admin-header{align-items:start;flex-direction:column}
  .form-row.two{grid-template-columns:1fr}
  .admin-item{flex-direction:column}
}
