@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Regular.ttf')}@font-face{font-family:Montserrat;src:url('../fonts/Montserrat-Bold.ttf');font-weight:700}@font-face{font-family:Anton;src:url('../fonts/Anton-Regular.ttf')}*{box-sizing:border-box}:root{--magenta:#ff026a;--purple:#a8269c;--blue:#0000ff;--ink:#17171d;--muted:#777789;--line:#dfe0e8;--paper:#f7f7fa;--white:#fff;--success:#007a62;--danger:#b42318;--radius:14px}html{font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;letter-spacing:-.03em;margin-bottom:.5rem}h2{font-size:1.15rem}.skip-link{position:fixed;top:-50px;left:1rem;background:#fff;padding:.8rem;z-index:99}.skip-link:focus{top:1rem}.shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:24px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);padding:4px 6px 25px;border-bottom:1px solid var(--line)}.brand img{width:78px;height:auto}.brand b{display:block;font-family:Anton;font-size:22px;letter-spacing:.05em}.brand small{display:block;font-size:9px;color:var(--muted);max-width:115px}.sidebar nav{padding:18px 0;display:grid;gap:4px}.sidebar nav a{padding:10px 12px;color:var(--ink);border-radius:8px;font-weight:700;font-size:12px}.sidebar nav a span{display:inline-block;width:28px;color:var(--magenta)}.sidebar nav a:hover,.sidebar nav a.active{background:#f7f2fa;color:var(--purple)}.sidebar-cta{margin-top:auto}.main{min-width:0}.topbar{height:68px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:flex-end;padding:0 32px;position:sticky;top:0;z-index:15;backdrop-filter:blur(10px)}.topbar-actions{display:flex;align-items:center;gap:14px}.user-chip{font-size:12px;color:var(--muted)}.menu-toggle{display:none}.content{padding:36px;max-width:1500px;margin:auto}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-heading p:not(.eyebrow){color:var(--muted);margin:0}.eyebrow{font-weight:700;letter-spacing:.13em;color:var(--magenta);font-size:12px;text-transform:uppercase;margin-bottom:.55rem}.button{appearance:none;border:1px solid #cfd1dc;background:#fff;border-radius:9px;padding:10px 16px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.button:hover{border-color:var(--purple)}.button.primary{border-color:var(--magenta);background:var(--magenta);color:#fff}.button.primary:hover{background:#d9005b}.button.compact{padding:7px 11px;font-size:12px}.button.large{padding:14px 22px}.button.danger{border-color:var(--danger);color:var(--danger)}.whatsapp{color:#087d4e}.link-button{border:0;background:none;color:var(--blue);cursor:pointer;padding:4px}.danger-text{color:var(--danger)}.icon-button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:22px}.form-panel{border-left:4px solid var(--magenta)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.span-2{grid-column:span 2}.stack{display:grid;gap:15px}label{display:grid;gap:7px;font-weight:700;font-size:12px}input,select,textarea{width:100%;border:1px solid #cfd1dc;border-radius:8px;background:#fff;padding:10px 11px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px #a8269c18}input[type=checkbox]{width:auto;accent-color:var(--magenta)}.checks{border:1px solid var(--line);border-radius:10px;padding:16px;margin:20px 0;display:flex;flex-wrap:wrap;gap:16px}.checks label{display:flex;align-items:center}.conditional-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:22px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fff;border-radius:var(--radius);margin-bottom:24px}.metrics article{padding:20px;border-right:1px solid var(--line)}.metrics article:last-child{border:0}.metrics span,.detail-strip span{display:block;color:var(--muted);font-size:12px}.metrics b{display:block;font-family:Anton;font-size:34px;font-weight:400}.attention-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.attention-grid article{background:#fff;border:1px solid var(--line);padding:14px;border-radius:10px}.attention-grid b{float:right;font-size:20px}.section-heading{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:730px}th,td{padding:14px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}td small,td b{display:block}.status{display:inline-block;padding:5px 8px;background:#f1eef7;border-radius:20px;font-size:11px;text-transform:capitalize}progress{accent-color:var(--purple);width:110px}.queue-list{display:grid}.queue-item{display:grid;grid-template-columns:54px minmax(180px,1.5fr) repeat(4,minmax(115px,.7fr)) minmax(130px,1fr) auto;gap:12px;align-items:end;padding:16px 0;border-bottom:1px solid var(--line)}.queue-item:last-child{border:0}.queue-number{font-family:Anton;font-size:28px;color:var(--magenta)}.queue-title span{display:block;color:var(--muted);font-size:12px}.detail-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--magenta);background:#fff;margin-bottom:22px}.detail-strip div{padding:18px;border-right:1px solid var(--line)}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.list-item{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.list-item span{color:var(--muted);font-size:12px}.timeline article,.portal-timeline article{display:grid;grid-template-columns:145px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.timeline time,.portal-timeline time{font-size:12px;color:var(--muted)}.timeline p,.portal-timeline p{margin:.35rem 0}.muted{color:var(--muted)}.danger-zone{border:1px solid #f1b6b1;background:#fff8f7;border-radius:12px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:20px}.danger-zone span{display:block;color:var(--muted)}.filter-bar{display:flex;align-items:end;gap:12px;margin-bottom:18px}.alert{padding:14px 16px;border-radius:9px;margin-bottom:20px}.alert.success{background:#e9f8f3;color:#006650}.alert.error{background:#fff0ef;color:var(--danger)}.empty-state{text-align:center;padding:50px 20px}.module-number{font-family:Anton;font-size:58px;color:var(--magenta)}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff 50%,#f3effb)}.login-card{width:min(440px,calc(100% - 32px));background:#fff;border:1px solid var(--line);border-top:4px solid var(--magenta);padding:36px;border-radius:14px}.login-logo{width:220px;max-width:100%;margin-bottom:28px}.login-card h1{font-family:Anton;letter-spacing:.04em}.portal-body{background:#fafafd}.portal-header{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 max(24px,calc((100vw - 1120px)/2))}.portal-header img{width:160px}.portal-header span{border-left:1px solid var(--line);padding-left:20px}.portal-header b,.portal-header small{display:block}.portal-main{max-width:1120px;margin:0 auto;padding:52px 24px}.portal-hero{max-width:760px;margin-bottom:34px}.portal-progress{height:9px;border-radius:20px;background:#e7e3f3;overflow:hidden;margin:22px 0 8px}.portal-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--magenta),var(--purple),var(--blue))}.portal-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#fff}.portal-grid article{padding:28px;min-height:190px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.portal-grid article:nth-child(2n){border-right:0}.portal-grid article>span{font-family:Anton;color:var(--magenta);font-size:28px}.portal-timeline{margin-top:34px}.portal-footer{text-align:center;color:var(--muted);font-size:11px;padding:30px}.pin-form{display:flex;gap:10px;max-width:380px}.token-box{display:flex;gap:10px;align-items:center}.token-box input{flex:1}.story-preview{max-width:360px}.story-preview canvas,.story-preview img{width:100%}.story-preview-shell{display:grid;place-items:center}.story-preview-shell canvas{width:min(420px,100%);background:#111}.lock{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.shell{grid-template-columns:220px minmax(0,1fr)}.queue-item{grid-template-columns:44px 1fr 1fr 1fr}.queue-item .block-reason{grid-column:2/4}.metrics{grid-template-columns:1fr 1fr}.metrics article:nth-child(2){border-right:0}.attention-grid{grid-template-columns:1fr 1fr}.content{padding:28px 22px}}
@media(max-width:760px){.shell{display:block}.sidebar{position:fixed;left:-280px;width:260px;transition:left .2s;box-shadow:8px 0 25px #0002}.sidebar.open{left:0}.menu-toggle{display:block}.topbar{justify-content:space-between;padding:0 16px}.topbar-actions{margin-left:auto}.user-chip{display:none}.content{padding:24px 16px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading .button{width:100%}.metrics,.attention-grid,.two-columns,.portal-grid{grid-template-columns:1fr}.metrics article,.portal-grid article{border-right:0}.form-grid,.conditional-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.queue-item{grid-template-columns:44px 1fr}.queue-item>*:not(.queue-number):not(.queue-title){grid-column:2}.detail-strip{grid-template-columns:1fr 1fr}.filter-bar,.token-box{align-items:stretch;flex-direction:column}.timeline article,.portal-timeline article{grid-template-columns:1fr;gap:4px}.portal-header{padding:0 18px}.portal-header img{width:125px}.portal-header span{font-size:11px}.portal-main{padding:34px 16px}.portal-grid article{min-height:auto}.sidebar-cta{margin-top:16px}.checks{display:grid}.topbar .button.compact{font-size:11px}.danger-zone{align-items:stretch;flex-direction:column}.danger-zone .button{width:100%}}
.phase-card{padding:16px 0;border-bottom:1px solid var(--line)}
.phase-card:last-child{border-bottom:0}
.phase-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}
.phase-title{display:block;font-size:15px}
.service-tag,.task-meta{display:block;margin-top:4px;color:var(--muted);font-size:11px;letter-spacing:.01em}
.phase-meta{white-space:nowrap;color:var(--muted);font-size:12px}
.task-row{margin:8px 0 8px 16px;padding:10px 0 10px 14px;border-left:2px solid #ece9f3}
.task-row b{display:block}
.task-description{margin:4px 0;color:var(--muted);font-size:12px}
.task-row .status{margin-top:7px}
.task-row details,.phase-card>details{margin-top:10px}
.sidebar{overflow-y:auto}.story-preview-shell{display:grid;place-items:center;gap:18px}.story-preview-shell canvas{width:min(420px,100%);height:auto;box-shadow:0 20px 60px #17171d25}@media print{.sidebar,.topbar,.button,.filter-bar{display:none!important}.shell{display:block}.content{padding:0}.panel,.metrics{break-inside:avoid}}
.dependent-fields{margin-top:8px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fcfbfe}
.log-context{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0;color:var(--muted);font-size:12px}
.log-context span{display:grid;gap:2px;padding-right:12px;border-right:1px solid var(--line)}
.log-context span:last-child{border-right:0}
.log-context strong{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.log-delete-form{display:flex;align-items:center;gap:8px;margin-top:12px}
.log-delete-form input{max-width:260px;padding:7px 9px;font-size:12px}
[data-progress-submit]:disabled{opacity:.65;cursor:wait}
.story-generator-form{max-width:980px}
.story-timeline-controls{padding:18px;border:1px solid var(--line);border-radius:10px;background:#fcfbfe}
.story-data-note{align-self:end;min-height:62px;padding:10px 13px;border-left:3px solid var(--magenta);background:#fff7fa;border-radius:7px;display:grid;gap:2px}
.story-data-note strong{font-size:12px}
.story-data-note span{font-size:11px;color:var(--muted)}
.story-generator-actions{display:flex;justify-content:space-between;align-items:center;gap:18px}
.story-generator-actions p{margin:0}
.story-preview-actions{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
@media(max-width:760px){.story-generator-actions{align-items:stretch;flex-direction:column}.story-generator-actions .button{width:100%}.story-preview-actions{width:100%;display:grid}.story-preview-actions .button{width:100%}}
.grant-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grant-actions form{margin:0}.grant-legacy-note{flex-basis:100%;max-width:620px;margin:2px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.grant-link-form{min-width:330px;margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.grant-link-form .button{margin-top:8px}@media(max-width:760px){.grant-actions{align-items:stretch;flex-direction:column}.grant-actions .button,.grant-actions form,.grant-actions form button{width:100%}.grant-link-form{min-width:0}}
.report-print-header,.report-print-title,.report-print-footer{display:none}
.report-section{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px;margin-bottom:22px}
.report-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px}
.report-section-heading h2,.report-section-heading p{margin-bottom:0}
.report-section-heading>span{color:var(--muted);font-size:12px}
.report-project-row{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(220px,.8fr) auto;align-items:center;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}
.report-project-row:first-child{padding-top:2px}.report-project-row:last-child{padding-bottom:2px;border-bottom:0}
.report-project-copy b,.report-project-copy span,.report-project-copy small{display:block}
.report-project-copy span,.report-project-copy small{color:var(--muted);font-size:11px;margin-top:3px}
.report-progress div{display:flex;justify-content:space-between;gap:12px;font-size:11px}.report-progress div span{color:var(--muted)}
.report-progress progress{display:block;width:100%;height:8px;margin-top:7px}
.report-attention-list,.report-cycle-list{display:grid;gap:0}
.report-attention-list article{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px 20px;padding:12px 0;border-bottom:1px solid var(--line)}
.report-attention-list article:last-child,.report-cycle-list article:last-child{border-bottom:0}
.report-attention-list b,.report-attention-list span,.report-cycle-list b,.report-cycle-list span{display:block}
.report-attention-list article>div>span,.report-cycle-list span{color:var(--muted);font-size:11px}
.report-attention-meta{text-align:right}.report-attention-meta small{display:block;color:var(--muted);margin-top:4px}
.report-attention-list p{grid-column:1/-1;margin:0;color:var(--danger);font-size:11px}
.report-cycle-list article{display:grid;grid-template-columns:1fr auto auto;gap:28px;padding:12px 0;border-bottom:1px solid var(--line)}
.report-empty{margin:0;color:var(--muted)}
@media(max-width:760px){.report-project-row{grid-template-columns:1fr;gap:10px}.report-cycle-list article{grid-template-columns:1fr 1fr}.report-cycle-list article>div:first-child{grid-column:1/-1}}
@page{size:A4 portrait;margin:11mm}
@media print{
 html,body{width:100%;min-height:0;background:#fff;color:#17171d;font-size:9pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 .sidebar,.topbar,.button,.filter-bar,.skip-link,.report-screen-heading{display:none!important}
 .shell,.main{display:block;min-height:0}.content{max-width:none;margin:0;padding:0}
 .report-document{display:block;width:100%;background:#fff}
 .report-print-header{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid #0000ff;padding:0 0 5mm;margin-bottom:7mm}
 .report-print-brand strong{display:block;font-family:Anton,Arial,sans-serif;font-size:21pt;line-height:1;letter-spacing:.035em}
 .report-print-brand span,.report-print-company span{display:block;color:#777789;font-size:7.5pt;margin-top:1.5mm}
 .report-print-company{text-align:right}.report-print-company b{font-size:9pt}
 .report-print-title{display:flex;align-items:flex-end;justify-content:space-between;gap:10mm;margin-bottom:5mm}
 .report-print-title h1{font-size:27pt;margin:0}.report-print-title .eyebrow{margin-bottom:1.5mm}
 .report-print-title>p{text-align:right;margin:0}.report-print-title>p span,.report-print-title>p b{display:block}.report-print-title>p span{color:#777789;font-size:7.5pt}.report-print-title>p b{font-size:8.5pt}
 .metrics,.panel,.report-section{break-inside:avoid;page-break-inside:avoid}
 .report-metrics{display:grid;grid-template-columns:repeat(4,1fr);border-radius:0;border:1px solid #dfe0e8;margin:0 0 5mm}
 .report-metrics article{padding:4mm}.report-metrics span{font-size:7.5pt}.report-metrics b{font-size:24pt;line-height:1.15}
 .report-section{border-radius:0;padding:4.5mm 5mm;margin:0 0 4mm}
 .report-section-heading{margin-bottom:3mm}.report-section-heading h2{font-size:12pt}.report-section-heading .eyebrow{font-size:7pt;margin-bottom:.8mm}
 .report-project-row{grid-template-columns:minmax(0,1.35fr) minmax(42mm,.75fr) auto;gap:5mm;padding:3mm 0}
 .report-project-copy b{font-size:10pt}.report-project-copy span,.report-project-copy small{font-size:7.2pt}
 .report-progress div{font-size:7.2pt}.report-progress progress{height:3mm;margin-top:1mm;accent-color:#ff026a}
 .status{font-size:7pt;padding:1.2mm 2mm}.status-active,.status-completed{background:#e9f8f3;color:#006650}.status-blocked{background:#fff0ef;color:#b42318}.status-waiting_client{background:#fff6df;color:#805b00}.status-in_review{background:#f1eef7;color:#6a2372}
 .report-attention-list article{padding:2.4mm 0}.report-attention-list b{font-size:8.5pt}.report-attention-list article>div>span,.report-attention-list p,.report-attention-meta small{font-size:7pt}
 .report-cycle-list article{padding:2.5mm 0;gap:5mm}.report-cycle-list b{font-size:8.5pt}.report-cycle-list span{font-size:7pt}
 .report-guidance{display:none!important}
 .report-print-footer{display:flex;align-items:flex-end;justify-content:space-between;border-top:2px solid #ff026a;margin-top:6mm;padding-top:3mm;break-inside:avoid;page-break-inside:avoid}
 .report-print-footer b,.report-print-footer span{display:block}.report-print-footer>div>span,.report-print-footer>span{color:#777789;font-size:7pt;margin-top:1mm}
}
.portal-completed-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.portal-completed-list li{display:block;line-height:1.5}.portal-completed-list b{margin-right:.35em}.portal-completed-list small{display:inline;color:var(--muted);line-height:1.45}

/* QA 11.1 — tabla Archivos */
.files-table {
  width: 100%;
  table-layout: fixed;
}

.files-table th,
.files-table td {
  vertical-align: middle;
}

.files-table th:first-child,
.files-table td:first-child {
  width: 30%;
}

.files-table th:nth-child(2),
.files-table td:nth-child(2) {
  width: 27%;
}

.files-table .files-type,
.files-table td:nth-child(3) {
  width: 11%;
}

.files-table .files-size,
.files-table td:nth-child(4) {
  width: 8%;
  white-space: nowrap;
}

.files-table .files-visibility,
.files-table td:nth-child(5) {
  width: 10%;
  white-space: nowrap;
}

.files-table .files-actions,
.files-table td:nth-child(6) {
  width: 14%;
}

.files-table td b,
.files-table td small {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.files-table td:last-child {
  white-space: normal;
}

.files-table td:last-child form {
  display: inline-flex !important;
  flex-wrap: wrap;
  gap: .35rem;
  align-items: center;
  margin-top: .35rem !important;
}

.files-table td:last-child input[name="deletion_reason"] {
  width: 8rem;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 900px) {
  .files-table {
    min-width: 0;
    font-size: .88rem;
  }

  .files-table th:first-child,
  .files-table td:first-child {
    width: 27%;
  }

  .files-table th:nth-child(2),
  .files-table td:nth-child(2) {
    width: 24%;
  }

  .files-table .files-actions,
  .files-table td:nth-child(6) {
    width: 18%;
  }
}

@media (max-width: 700px) {
  .files-table {
    table-layout: auto;
  }

  .files-table th,
  .files-table td {
    padding: .65rem .45rem;
  }

  .files-table .files-type,
  .files-table td:nth-child(3) {
    display: none;
  }

  .files-table th:first-child,
  .files-table td:first-child {
    width: 32%;
  }

  .files-table th:nth-child(2),
  .files-table td:nth-child(2) {
    width: 28%;
  }

  .files-table .files-actions,
  .files-table td:nth-child(6) {
    width: 25%;
  }

  .files-table td:last-child a,
  .files-table td:last-child button {
    font-size: .8rem;
  }
}

.cycle-title {
  display: flex;
  align-items: baseline;
  gap: .55rem;
  flex-wrap: wrap;
}

.cycle-title .cycle-dates {
  white-space: nowrap;
}

@media (max-width: 600px) {
  .cycle-title {
    display: block;
  }

  .cycle-title .cycle-dates {
    display: block;
    margin-top: .2rem;
  }
}

.attention-grid article {
  display: flex;
  flex-direction: column;
  gap: .25rem;
}

.attention-grid article span {
  display: block;
  line-height: 1.25;
}

.attention-grid article strong {
  display: block;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
}


.dashboard-queue-title {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.dashboard-queue-title > b,
.dashboard-queue-title > span {
  display: block;
}


.client-meta {
  display: block;
  margin-top: .25rem;
  color: #6f7080;
  font-size: .82rem;
  line-height: 1.3;
  overflow-wrap: anywhere;
}

