:root {
    --ink: #193330;
    --muted: #667774;
    --canvas: #f4f6f3;
    --paper: #ffffff;
    --line: #e2e8e4;
    --green-950: #102f2c;
    --green-900: #153e3b;
    --green-800: #1d514d;
    --green-100: #dcebe6;
    --gold: #bf8f3b;
    --gold-soft: #f6ecd8;
    --blue-soft: #e1ecf4;
    --coral-soft: #f6e4df;
    --shadow: 0 16px 48px rgba(20, 55, 51, .08);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    color: var(--ink);
    background: var(--canvas);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }

.app-shell { min-height: 100vh; }

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 10;
    width: 248px;
    display: flex;
    flex-direction: column;
    padding: 28px 20px 22px;
    color: #fff;
    background:
        radial-gradient(circle at 10% 100%, rgba(191, 143, 59, .14), transparent 34%),
        linear-gradient(180deg, var(--green-950), var(--green-900));
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 10px 32px;
}

.brand-mark {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 13px;
    color: #f5d99c;
    font-family: Georgia, serif;
    font-size: 25px;
    font-weight: 700;
    background: rgba(255,255,255,.07);
}

.brand strong { display: block; font-family: Georgia, serif; font-size: 22px; letter-spacing: .03em; }
.brand small { display: block; margin-top: 2px; color: rgba(255,255,255,.62); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }

.nav-list { display: grid; gap: 7px; }

.nav-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 13px;
    border-radius: 11px;
    color: rgba(255,255,255,.68);
    font-size: 14px;
    font-weight: 600;
    transition: .2s ease;
}

.nav-item:hover, .nav-item.current { color: #fff; background: rgba(255,255,255,.1); }
.nav-item.current { box-shadow: inset 3px 0 #d4ad64; }
.nav-icon { width: 20px; color: #e1c077; font-size: 18px; text-align: center; }

.sidebar-note {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: auto;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    background: rgba(255,255,255,.05);
}

.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #77d2a8; box-shadow: 0 0 0 5px rgba(119,210,168,.1); }
.sidebar-note strong, .sidebar-note small { display: block; }
.sidebar-note strong { font-size: 12px; }
.sidebar-note small { margin-top: 2px; color: rgba(255,255,255,.5); font-size: 11px; }

.main-content { margin-left: 248px; padding: 34px 42px 24px; }

.topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.topbar-actions { display:flex; align-items:center; gap:10px; }
.eyebrow { margin: 0 0 6px; color: #8a9895; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.topbar h1, .panel h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 600; }
.topbar h1 { font-size: clamp(26px, 3vw, 38px); }

.cycle-badge { min-width: 128px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); box-shadow: 0 8px 24px rgba(20,55,51,.05); }
.cycle-badge span, .cycle-badge strong { display: block; }
.cycle-badge span { color: var(--muted); font-size: 10px; text-transform: uppercase; }
.cycle-badge strong { margin-top: 2px; color: var(--green-800); font-size: 14px; }
.user-chip { display:flex; align-items:center; gap:10px; padding:8px 10px; border:1px solid var(--line); border-radius:12px; background:var(--paper); box-shadow:0 8px 24px rgba(20,55,51,.05); }
.user-avatar { width:34px; height:34px; display:grid; place-items:center; border-radius:10px; color:#fff; background:var(--green-800); font:600 16px Georgia,serif; }
.user-chip div strong,.user-chip div small { display:block; max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-chip div strong { font-size:11px; }
.user-chip div small { margin-top:2px; color:var(--muted); font-size:9px; }
.user-chip form { margin:0 0 0 4px; }
.user-chip button { padding:5px 7px; border:0; border-radius:7px; color:#6d7d79; cursor:pointer; background:#f0f3f1; font:700 9px inherit; }

.hero-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 215px;
    gap: 45px;
    align-items: center;
    min-height: 300px;
    padding: 42px 48px;
    border-radius: 22px;
    color: #fff;
    background:
        radial-gradient(circle at 0 100%, rgba(207,169,94,.19), transparent 42%),
        linear-gradient(120deg, #123936 0%, #1c514c 68%, #2a625d 100%);
    box-shadow: var(--shadow);
}

.hero-card::after { content: ""; position: absolute; right: -60px; top: -110px; width: 330px; height: 330px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.hero-copy { position: relative; z-index: 1; max-width: 720px; }
.pill { display: inline-block; margin-bottom: 18px; padding: 7px 11px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; color: #f1d697; background: rgba(255,255,255,.07); font-size: 11px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.hero-copy h2 { max-width: 680px; margin: 0; font-family: Georgia, serif; font-size: clamp(29px, 4vw, 45px); font-weight: 500; line-height: 1.08; }
.hero-copy p { max-width: 710px; margin: 18px 0 26px; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.7; }
.primary-button { display: inline-flex; align-items: center; gap: 12px; padding: 12px 17px; border-radius: 10px; color: var(--green-950); background: #f0d390; font-size: 13px; font-weight: 800; }
.primary-button span { font-size: 18px; }

.deadline-card { position: relative; z-index: 1; padding: 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; text-align: center; background: rgba(9,38,35,.28); backdrop-filter: blur(8px); }
.deadline-card span { display: block; }
.deadline-label { color: rgba(255,255,255,.62); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.deadline-card > strong { display: block; margin: 5px 0 -4px; font-family: Georgia, serif; font-size: 66px; font-weight: 500; line-height: 1; }
.deadline-month { color: #f0d390; font-size: 13px; font-weight: 700; }
.deadline-separator { height: 1px; margin: 18px 0 15px; background: rgba(255,255,255,.14); }
.deadline-card b { color: rgba(255,255,255,.78); font-size: 12px; }

.metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 20px 0; }
.metric-card { display: flex; align-items: center; gap: 15px; min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 15px; background: var(--paper); }
.metric-icon { flex: 0 0 42px; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; font-size: 20px; }
.metric-icon.green { color: var(--green-800); background: var(--green-100); }
.metric-icon.gold { color: #9b6f21; background: var(--gold-soft); }
.metric-icon.blue { color: #356684; background: var(--blue-soft); }
.metric-icon.coral { color: #9f5847; background: var(--coral-soft); }
.metric-card strong, .metric-card span { display: block; }
.metric-card strong { font-family: Georgia, serif; font-size: 25px; font-weight: 600; }
.metric-card div span { overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr); gap: 20px; }
.side-column { display: grid; align-content: start; gap: 20px; }
.panel { padding: 27px; border: 1px solid var(--line); border-radius: 17px; background: var(--paper); box-shadow: 0 9px 32px rgba(20,55,51,.035); }
.panel.compact { padding: 23px; }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.panel h2 { font-size: 24px; }
.progress-label, .file-count { padding: 6px 9px; border-radius: 999px; color: var(--green-800); background: var(--green-100); font-size: 10px; font-weight: 800; }
.progress-track { height: 5px; margin: 22px 0 8px; overflow: hidden; border-radius: 99px; background: #e9eeeb; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: var(--gold); }
.stage-list { margin-top: 14px; }
.stage-row { display: grid; grid-template-columns: 36px 1fr auto; gap: 13px; align-items: center; padding: 14px 3px; border-bottom: 1px solid #edf0ee; }
.stage-row:last-child { border-bottom: 0; }
.stage-number { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #8a9895; background: #edf1ef; font-size: 12px; font-weight: 800; }
.stage-number.active { color: #fff; background: var(--green-800); box-shadow: 0 0 0 5px var(--green-100); }
.stage-name strong, .stage-name small { display: block; }
.stage-name strong { font-size: 13px; }
.stage-name small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.stage-state { padding: 5px 8px; border-radius: 7px; color: #8c9896; background: #f1f4f2; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.stage-state.active { color: #236052; background: #dcefe7; }

.document-row { display: grid; grid-template-columns: 40px 1fr 12px; gap: 12px; align-items: center; margin-top: 14px; padding: 12px; border: 1px solid #ebefec; border-radius: 12px; transition: .2s ease; }
.document-row:hover { border-color: #c9dbd4; transform: translateY(-1px); box-shadow: 0 8px 20px rgba(20,55,51,.06); }
.document-row strong, .document-row small { display: block; }
.document-row strong { font-size: 12px; }
.document-row small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.document-row > span:last-child { color: #90a09c; font-size: 20px; }
.doc-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 9px; font-size: 9px; font-weight: 900; }
.doc-icon.pdf { color: #a14d3e; background: var(--coral-soft); }
.doc-icon.xls { color: #286c58; background: var(--green-100); }
.doc-icon.ppt { color: #8e6929; background: var(--gold-soft); }

.deliverable-list { display: grid; gap: 12px; margin: 18px 0 0; padding: 0; list-style: none; }
.deliverable-list li { display: flex; align-items: center; gap: 10px; color: #4f625e; font-size: 11px; }
.deliverable-list li span { width: 16px; height: 16px; border: 1px solid #cbd6d2; border-radius: 5px; background: #f8faf9; }

footer { display: flex; justify-content: space-between; gap: 20px; padding: 26px 3px 0; color: #8b9996; font-size: 10px; }

.library-hero { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:32px 36px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#153e3b,#28645e); box-shadow:var(--shadow); }
.library-hero h2 { max-width:700px; margin:0; font:500 clamp(27px,3vw,39px)/1.12 Georgia,serif; }
.library-hero p { margin:12px 0 0; color:rgba(255,255,255,.68); font-size:12px; }
.library-total { flex:0 0 120px; text-align:center; }
.library-total strong,.library-total span { display:block; }
.library-total strong { font:500 54px/1 Georgia,serif; }
.library-total span { margin-top:4px; color:#efd18f; font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.category-tabs { display:flex; gap:8px; margin:20px 0; overflow-x:auto; }
.category-tabs a { flex:0 0 auto; padding:9px 12px; border:1px solid var(--line); border-radius:9px; color:#647572; background:#fff; font-size:10px; font-weight:750; }
.category-tabs a.active { color:#fff; border-color:var(--green-800); background:var(--green-800); }
.category-tabs span { display:inline-grid; min-width:19px; height:19px; margin-left:5px; place-items:center; border-radius:6px; background:rgba(100,117,114,.1); font-size:9px; }
.category-tabs a.active span { background:rgba(255,255,255,.14); }
.document-library { display:grid; gap:11px; }
.file-card { display:grid; grid-template-columns:52px minmax(0,1fr) auto; gap:16px; align-items:center; padding:17px 19px; border:1px solid var(--line); border-radius:14px; background:#fff; transition:.2s ease; }
.file-card:hover { border-color:#c8d8d3; box-shadow:0 10px 25px rgba(20,55,51,.055); transform:translateY(-1px); }
.file-type { width:48px; height:48px; display:grid; place-items:center; border-radius:12px; font-size:9px; font-weight:900; }
.file-type.pdf { color:#9e4f40; background:var(--coral-soft); }
.file-type.xlsx { color:#286c58; background:var(--green-100); }
.file-information { min-width:0; }
.file-category { color:#9a6d22; font-size:8px; font-weight:850; letter-spacing:.11em; text-transform:uppercase; }
.file-information h2 { overflow:hidden; margin:4px 0; color:#213d39; font:600 14px/1.35 Georgia,serif; text-overflow:ellipsis; white-space:nowrap; }
.file-size { color:#8b9895; font-size:9px; }
.file-action { display:inline-flex; align-items:center; gap:8px; padding:8px 10px; border-radius:8px; color:#245c54; background:#e5f0ec; font-size:9px; font-weight:850; }
.file-action span { font-size:14px; }

.settings-form { display:grid; gap:18px; }
.settings-section { padding:28px; }
.settings-tag,.official-date { padding:6px 9px; border-radius:999px; color:#245b53; background:#e1eee9; font-size:9px; font-weight:850; }
.settings-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 17px; margin-top:24px; }
.settings-fields .wide { grid-column:1 / -1; }
.settings-choices { margin-top:22px; }
.section-note { margin:12px 0 20px; color:#74837f; font-size:10px; line-height:1.6; }
.deliverable-settings { display:grid; gap:9px; }
.deliverable-setting { display:grid; grid-template-columns:32px minmax(0,1fr) 205px; gap:13px; align-items:center; padding:13px 14px; border:1px solid #e5ebe8; border-radius:11px; background:#fbfcfb; }
.deliverable-order { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:#275b53; background:#dfebe7; font-size:10px; font-weight:850; }
.deliverable-copy strong,.deliverable-copy small { display:block; }
.deliverable-copy strong { color:#2b4743; font-size:11px; }
.deliverable-copy small { margin-top:3px; color:#8a9693; font-size:9px; }
.deliverable-setting input { width:100%; min-height:38px; padding:7px 9px; border:1px solid #d8e1dd; border-radius:8px; color:#284742; background:#fff; font:inherit; font-size:10px; }
.settings-actions { display:flex; align-items:center; justify-content:flex-end; gap:15px; padding:3px 0 20px; }
.settings-actions > a { color:#71807d; font-size:10px; font-weight:750; }
.alert.success { color:#245d4e; border:1px solid #c8e4d8; background:#e8f5ef; }

.users-layout { display:grid; grid-template-columns:minmax(360px,.85fr) minmax(480px,1.15fr); gap:18px; align-items:start; }
.user-list-panel,.user-form-panel { padding:25px; }
.user-list { display:grid; gap:8px; margin-top:20px; }
.user-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:11px; align-items:center; padding:11px; border:1px solid #e5ebe8; border-radius:11px; background:#fbfcfb; }
.user-row:hover,.user-row.selected { border-color:#bdd2ca; background:#f1f7f4; }
.list-avatar { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#fff; background:#427169; font:600 16px Georgia,serif; }
.user-row-copy { min-width:0; }
.user-row-copy strong,.user-row-copy small,.user-row-copy em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.user-row-copy strong { color:#294641; font-size:11px; }
.user-row-copy small { margin-top:2px; color:#7c8986; font-size:9px; }
.user-row-copy em { margin-top:4px; color:#9b7028; font-size:8px; font-style:normal; font-weight:750; }
.account-status { padding:5px 7px; border-radius:7px; font-size:8px; font-weight:850; text-transform:uppercase; }
.account-status.active { color:#24604f; background:#dff0e8; }
.account-status.inactive { color:#875348; background:#f4e4df; }
.user-form { margin-top:21px; }
.role-fieldset { padding-bottom:18px; }
.role-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; max-height:330px; overflow:auto; padding:2px; }
.role-option { position:relative; }
.role-option input { position:absolute; opacity:0; }
.role-option span { display:block; min-height:70px; padding:11px; border:1px solid #e2e8e5; border-radius:9px; cursor:pointer; background:#fbfcfb; }
.role-option input:checked + span { border-color:#4f7b73; box-shadow:0 0 0 2px rgba(79,123,115,.09); background:#edf5f2; }
.role-option strong,.role-option small { display:block; }
.role-option strong { color:#36534f; font-size:10px; }
.role-option small { margin-top:4px; color:#7e8c89; font-size:8px; line-height:1.45; }
.password-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.active-toggle { display:flex; align-items:center; gap:8px; margin:4px 0 18px; color:#52645f; font-size:10px; font-weight:750; }
.active-toggle input { width:16px; height:16px; accent-color:#1d514d; }

.assignment-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:20px; padding:28px 32px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#163f3b,#2d6961); box-shadow:var(--shadow); }
.assignment-hero h2 { max-width:750px; margin:4px 0 8px; font:500 clamp(25px,3vw,37px)/1.15 Georgia,serif; }
.assignment-hero p { margin:0; color:rgba(255,255,255,.7); font-size:10px; }
.coverage-ring { flex:0 0 120px; display:grid; width:120px; height:120px; place-content:center; border:8px solid rgba(255,255,255,.15); border-top-color:#e6c575; border-radius:50%; text-align:center; }
.coverage-ring strong,.coverage-ring span { display:block; }
.coverage-ring strong { font:600 25px Georgia,serif; }
.coverage-ring span { margin-top:3px; color:rgba(255,255,255,.66); font-size:8px; text-transform:uppercase; }
.assignment-form { display:grid; gap:18px; }
.assignment-section { padding:27px; }
.assignment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.assignment-card { padding:18px; border:1px solid #e1e9e5; border-radius:13px; background:#fbfcfb; }
.assignment-title { display:grid; grid-template-columns:36px minmax(0,1fr); gap:11px; align-items:start; min-height:66px; }
.assignment-title > span { width:34px; height:34px; display:grid; place-items:center; border-radius:9px; color:#275e55; background:#dfece7; font-size:10px; font-weight:850; }
.assignment-title small,.assignment-title h3,.assignment-title em { display:block; }
.assignment-title small { color:#a2762b; font-size:8px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.assignment-title h3 { margin:3px 0 0; color:#294640; font:600 13px/1.3 Georgia,serif; }
.assignment-title em { margin-top:5px; color:#84928f; font-size:8px; font-style:normal; }
.field select { width:100%; min-height:40px; padding:9px 10px; border:1px solid #d8e1dd; border-radius:8px; color:#284742; background:#fff; font:inherit; font-size:10px; }
.collaborator-field { margin-top:3px; }
.collaborator-field legend { margin-bottom:7px; color:#62736f; font-size:9px; font-weight:800; }
.people-options { display:grid; gap:6px; max-height:150px; overflow:auto; }
.people-options label { position:relative; }
.people-options input { position:absolute; opacity:0; }
.people-options span { position:relative; display:block; padding:8px 9px 8px 30px; border:1px solid #e3e9e6; border-radius:8px; cursor:pointer; background:#fff; }
.people-options span::before { content:''; position:absolute; top:50%; left:10px; width:12px; height:12px; border:1px solid #bfcac6; border-radius:4px; transform:translateY(-50%); }
.people-options input:checked + span { border-color:#6d938b; background:#edf5f2; }
.people-options input:checked + span::before { border-color:#296157; background:#296157; box-shadow:inset 0 0 0 3px #edf5f2; }
.people-options strong,.people-options small { display:block; }
.people-options strong { color:#3d5752; font-size:9px; }
.people-options small { margin-top:2px; color:#87938f; font-size:7px; }
.assignment-warning { margin:0; color:#8a6b31; font-size:9px; text-align:right; }

.platform-hero { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:20px; padding:28px 32px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#153e3b,#315f59); box-shadow:var(--shadow); }
.platform-hero h2 { max-width:680px; margin:4px 0 0; font:500 clamp(25px,3vw,38px)/1.14 Georgia,serif; }
.platform-metrics { display:flex; gap:9px; }
.platform-metrics span { min-width:86px; padding:13px 11px; border:1px solid rgba(255,255,255,.13); border-radius:11px; color:rgba(255,255,255,.67); background:rgba(255,255,255,.06); font-size:8px; text-align:center; text-transform:uppercase; }
.platform-metrics strong { display:block; margin-bottom:3px; color:#fff; font:600 23px Georgia,serif; }
.platform-forms { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; align-items:start; }
.platform-form { padding:23px; }
.platform-form form { margin-top:18px; }
.platform-form h3 { margin:18px 0 3px; color:#9b712c; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.form-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.form-help { margin:-5px 0 14px; color:#84908d; font-size:8px; line-height:1.5; }
.platform-form .submit-button { width:100%; justify-content:center; }
.platform-list { margin-top:18px; padding:25px; }
.institution-table { display:grid; gap:8px; margin-top:18px; }
.institution-table article { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px; border:1px solid #e3e9e6; border-radius:11px; background:#fbfcfb; }
.institution-mark { width:40px; height:40px; display:grid; place-items:center; border-radius:10px; color:#fff; background:#386c64; font:600 13px Georgia,serif; text-transform:uppercase; }
.institution-table strong,.institution-table small,.institution-table em { display:block; }
.institution-table strong { color:#2d4944; font-size:11px; }
.institution-table small { margin-top:2px; color:#7d8b87; font-size:8px; }
.institution-table em { margin-top:4px; color:#9a702a; font-size:8px; font-style:normal; }
.institution-table b { padding:6px 8px; border-radius:8px; color:#286153; background:#e3f0ea; font-size:8px; }
.context-switcher { display:flex; align-items:center; gap:7px; }
.context-switcher select { max-width:245px; min-height:36px; padding:7px 9px; border:1px solid #dce4e1; border-radius:9px; color:#35534e; background:#fff; font-size:9px; }
.context-switcher button { min-height:36px; padding:7px 9px; border:0; border-radius:9px; color:#fff; background:#34685f; font-size:9px; font-weight:800; cursor:pointer; }

.report-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:20px; padding:30px 34px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#173f3b,#2c675f); box-shadow:var(--shadow); }
.report-hero h2 { margin:11px 0 7px; font:500 clamp(27px,3vw,40px)/1.12 Georgia,serif; }
.report-hero p { max-width:740px; margin:0; color:rgba(255,255,255,.68); font-size:10px; }
.report-progress { flex:0 0 125px; text-align:center; }
.report-progress strong,.report-progress span { display:block; }
.report-progress strong { font:600 45px Georgia,serif; }
.report-progress span { color:#e5c77d; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.report-layout { display:grid; grid-template-columns:270px minmax(0,1fr); gap:16px; align-items:start; }
.final-export-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:center;margin:0 0 20px;padding:24px 28px;border-color:#c9dbd5;background:linear-gradient(135deg,#fff,#f3f8f6)}.final-export-panel h2{margin:3px 0 7px;color:#173f3b;font:600 24px Georgia,serif}.final-export-copy>p:last-of-type{max-width:760px;margin:0;color:#60726d;font-size:10px;line-height:1.6}.final-export-counts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.final-export-counts span{display:inline-flex;align-items:baseline;gap:4px;border:1px solid #d6e4df;border-radius:999px;padding:6px 9px;background:#fff;color:#6b7c77;font-size:8px}.final-export-counts strong{color:#245d55;font-size:11px}.final-export-status{display:flex;align-items:stretch;gap:10px}.export-score{display:grid;align-content:center;min-width:120px;border:1px solid #dcc99d;border-radius:12px;padding:11px 13px;background:#fffaf0;text-align:center}.export-score.ready{border-color:#a9ccc2;background:#edf7f3}.export-score strong,.export-score span{display:block}.export-score strong{color:#9b7428;font:600 23px Georgia,serif}.export-score.ready strong{color:#246458}.export-score span{margin-top:3px;color:#766742;font-size:7px}.word-export-button{display:grid;grid-template-columns:30px auto;grid-template-rows:auto auto;column-gap:9px;align-content:center;min-width:160px;border-radius:12px;padding:11px 14px;background:#245f57;color:#fff;text-decoration:none;box-shadow:0 7px 17px rgba(24,75,68,.16)}.word-export-button>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:7px;background:#fff;color:#245f57;font-weight:900}.word-export-button strong,.word-export-button small{display:block}.word-export-button strong{font-size:10px}.word-export-button small{color:#cfe0dc;font-size:7px}.word-export-button:hover{background:#173f3b}.word-export-button.loading{pointer-events:none;opacity:.75}.export-observations{grid-column:1/-1;border-top:1px solid #dae6e2;padding-top:12px}.export-observations summary{cursor:pointer;color:#765d29;font-size:9px;font-weight:800}.export-observations ul{margin:9px 0 0;padding-left:18px;color:#6b6f67;font-size:9px;line-height:1.6}@media(max-width:900px){.final-export-panel{grid-template-columns:1fr}.final-export-status{justify-content:flex-start}}@media(max-width:560px){.final-export-status{flex-direction:column}.word-export-button{min-height:56px}}
.report-outline { position:sticky; top:20px; padding:21px; }
.report-outline nav { display:grid; gap:7px; margin-top:17px; }
.report-outline nav a { display:grid; grid-template-columns:30px minmax(0,1fr); gap:9px; align-items:center; padding:9px; border:1px solid transparent; border-radius:9px; color:#596b67; }
.report-outline nav a:hover,.report-outline nav a.selected { border-color:#ccddd7; background:#edf5f2; }
.report-outline nav a > span { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:#37685f; background:#e0ece8; font-size:8px; font-weight:850; }
.report-outline nav strong,.report-outline nav small { display:block; }
.report-outline nav strong { font-size:9px; line-height:1.3; }
.report-outline nav small { margin-top:3px; color:#8b9895; font-size:7px; }
.report-workspace { display:grid; gap:15px; }
.section-editor,.activities-panel,.version-panel { padding:25px; }
.section-objective { margin:12px 0 19px; padding:11px 13px; border-left:3px solid #d4b469; color:#6e7c79; background:#faf8f1; font-size:9px; line-height:1.6; }
.field textarea { width:100%; padding:10px 11px; resize:vertical; border:1px solid #d8e1dd; border-radius:8px; color:#294842; background:#fff; font:10px/1.6 inherit; }
.section-controls { display:grid; grid-template-columns:180px 120px minmax(160px,1fr); gap:11px; align-items:end; }
.section-controls .submit-button { justify-self:end; }
.report-content-readonly { min-height:180px; color:#415b56; font-size:11px; line-height:1.8; }
.empty-state { margin:18px 0; padding:16px; border:1px dashed #d8e1dd; border-radius:10px; color:#87938f; background:#fafcfb; font-size:9px; text-align:center; }
.activity-list { display:grid; gap:10px; margin-top:18px; }
.activity-card { padding:15px; border:1px solid #e1e8e5; border-radius:12px; background:#fbfcfb; }
.activity-card form { margin:0; }
.activity-head { display:flex; align-items:center; gap:10px; }
.activity-head input { flex:1; border:0; color:#294741; background:transparent; font:600 12px Georgia,serif; }
.activity-head span { padding:5px 7px; border-radius:7px; color:#2c6559; background:#e1efe9; font-size:8px; font-weight:850; }
.activity-card textarea { width:100%; margin:6px 0; padding:8px; resize:vertical; border:1px solid #e2e8e5; border-radius:8px; color:#65736f; background:#fff; font:9px/1.5 inherit; }
.activity-fields { display:grid; grid-template-columns:1.1fr 1fr .8fr 80px auto; gap:7px; align-items:end; }
.activity-fields label span { display:block; margin-bottom:4px; color:#7c8986; font-size:7px; font-weight:750; }
.activity-fields input,.activity-fields select { width:100%; min-height:32px; padding:6px; border:1px solid #dce4e1; border-radius:7px; color:#405b56; background:#fff; font-size:8px; }
.activity-fields button,.evidence-upload button { min-height:32px; padding:6px 9px; border:0; border-radius:7px; color:#fff; background:#356a61; font-size:8px; font-weight:800; cursor:pointer; }
.evidence-list { display:grid; gap:6px; margin-top:10px; padding-top:10px; border-top:1px solid #e7ecea; }
.evidence-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:center; padding:7px; border:1px solid #e2ebe7; border-radius:9px; background:#f0f6f3; }
.evidence-item > a { display:grid; grid-template-columns:25px minmax(0,1fr); gap:7px; align-items:center; min-width:0; color:#42625c; }
.evidence-item > a > span { font-size:14px; text-align:center; }
.evidence-list strong,.evidence-list small { display:block; }
.evidence-list strong { font-size:8px; }
.evidence-list small { margin-top:2px; color:#84918e; font-size:7px; }
.evidence-delete-form button { display:flex; align-items:center; gap:5px; min-height:30px; padding:5px 8px; border:1px solid #e2b9b2; border-radius:7px; color:#98493e; background:#fffafa; font:inherit; cursor:pointer; }
.evidence-delete-form button:hover,.evidence-delete-form button:focus-visible { color:#fff; background:#a84f43; outline:none; }
.evidence-delete-form button span { font-size:15px; line-height:1; }
.evidence-delete-form button small { margin:0; color:inherit; font-size:7px; font-weight:850; }
.evidence-upload { display:grid; grid-template-columns:1fr 1.2fr auto; gap:6px; }
.evidence-upload input { min-width:0; padding:6px; border:1px solid #dce4e1; border-radius:7px; background:#fff; font-size:8px; }
.new-activity { margin-top:13px; border:1px solid #dbe5e1; border-radius:10px; background:#f8fbf9; }
.new-activity summary { padding:11px 13px; color:#35665e; cursor:pointer; font-size:9px; font-weight:850; }
.new-activity form { padding:0 13px 14px; }
.version-layout { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:18px; margin-top:17px; }
.version-list { display:grid; gap:7px; }
.version-list article { padding:10px; border:1px solid #e3e9e6; border-radius:9px; background:#fbfcfb; }
.version-list strong,.version-list span,.version-list small { display:block; }
.version-list strong { color:#35635b; font-size:9px; }
.version-list span { margin-top:3px; color:#566a65; font-size:8px; }
.version-list small { margin-top:4px; color:#8a9693; font-size:7px; }

.section-assist-actions { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr); gap:9px; margin:0 0 18px; }
.guided-entry { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:11px; align-items:center; padding:12px; border:1px solid #c9ddd6; border-radius:11px; color:#345e57; background:#edf6f2; }
.guided-entry > span { width:38px; height:38px; display:grid; place-items:center; border-radius:10px; color:#fff; background:#346a61; font:600 17px Georgia,serif; }
.guided-entry strong,.guided-entry small { display:block; }
.guided-entry strong { font-size:10px; }
.guided-entry small { margin-top:3px; color:#748680; font-size:8px; }
.guided-entry b { font-size:9px; }
.section-assist-actions form { margin:0; }
.suggest-text-button { width:100%; height:100%; display:grid; grid-template-columns:32px minmax(0,1fr); gap:2px 8px; align-content:center; padding:10px; border:1px solid #e2d1a8; border-radius:11px; color:#725923; background:#fbf6e9; cursor:pointer; text-align:left; }
.suggest-text-button > span { grid-row:1/3; font-size:20px; text-align:center; }
.suggest-text-button strong,.suggest-text-button small { display:block; }
.suggest-text-button strong { font-size:9px; }
.suggest-text-button small { color:#927b4b; font-size:7px; }
.suggestion-notice { margin:-8px 0 14px; padding:10px 12px; border:1px solid #eadcb8; border-radius:9px; color:#765f31; background:#fcf8ed; font-size:8px; line-height:1.55; }
.ai-prompt-assistant { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:-8px 0 18px; padding:12px 14px; border:1px solid #d8d4e9; border-radius:11px; background:linear-gradient(135deg,#f6f4fb,#fbfbfd); }
.ai-prompt-assistant > div { display:flex; align-items:center; gap:10px; min-width:0; }
.ai-prompt-assistant > div > span { flex:0 0 36px; height:36px; display:grid; place-items:center; border-radius:10px; color:#fff; background:linear-gradient(135deg,#4d536f,#777397); font-size:10px; font-weight:900; letter-spacing:.04em; box-shadow:0 6px 13px rgba(67,68,98,.18); }
.ai-prompt-assistant strong,.ai-prompt-assistant small { display:block; }
.ai-prompt-assistant strong { color:#3f435d; font-size:10px; }
.ai-prompt-assistant small { margin-top:3px; color:#7c7d8d; font-size:8px; }
.ai-prompt-assistant > button { flex:0 0 auto; padding:9px 12px; border:1px solid #777397; border-radius:8px; color:#4d536f; background:#fff; font-size:8px; font-weight:850; cursor:pointer; white-space:nowrap; transition:.18s ease; }
.ai-prompt-assistant > button:hover { color:#fff; background:#565b79; box-shadow:0 7px 16px rgba(67,68,98,.17); transform:translateY(-1px); }
.ai-prompt-dialog { width:min(790px,calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:0; border:0; border-radius:18px; color:#29413d; background:#fff; box-shadow:0 28px 90px rgba(19,43,40,.3); }
.ai-prompt-dialog::backdrop { background:rgba(12,35,32,.62); backdrop-filter:blur(2px); }
.ai-prompt-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:22px 25px 17px; border-bottom:1px solid #e2e7e5; background:linear-gradient(135deg,#f4f3fa,#fafbfa); }
.ai-prompt-head h2 { margin:3px 0 0; color:#30364f; font:600 25px Georgia,serif; }
.ai-prompt-head form { margin:0; }
.ai-prompt-head button { width:34px; height:34px; border:0; border-radius:50%; color:#707587; background:#fff; font-size:24px; cursor:pointer; }
.ai-prompt-head button:hover { color:#fff; background:#565b79; }
.ai-prompt-body { display:grid; gap:14px; padding:20px 25px 24px; }
.ai-prompt-body > p { margin:0; padding:10px 12px; border-left:3px solid #8a85aa; color:#666b78; background:#f7f6fb; font-size:9px; line-height:1.55; }
.ai-prompt-body label { display:grid; gap:6px; color:#4e5664; font-size:9px; font-weight:800; }
.ai-prompt-body select,.ai-prompt-body textarea { width:100%; border:1px solid #d8ddda; border-radius:9px; outline:0; color:#263f3b; background:#fff; font-family:inherit; font-size:10px; line-height:1.6; }
.ai-prompt-body select { min-height:40px; padding:8px 10px; }
.ai-prompt-body textarea { min-height:310px; padding:12px; resize:vertical; }
.ai-prompt-body select:focus,.ai-prompt-body textarea:focus { border-color:#767394; box-shadow:0 0 0 3px rgba(86,91,121,.1); }
.ai-prompt-actions { display:flex; justify-content:flex-end; gap:9px; }
.ai-prompt-actions button { min-height:40px; }
.ai-prompt-status { color:#707c78; font-size:8px; text-align:right; }
@media(max-width:680px){.ai-prompt-assistant{align-items:stretch;flex-direction:column}.ai-prompt-assistant>button{width:100%}.ai-prompt-actions{flex-direction:column}.ai-prompt-actions button{width:100%}.ai-prompt-head,.ai-prompt-body{padding-left:17px;padding-right:17px}}
.guided-hero { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:18px; padding:29px 33px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#173f3b,#346b62); box-shadow:var(--shadow); }
.guided-hero h2 { margin:10px 0 7px; font:500 clamp(27px,3vw,40px)/1.12 Georgia,serif; }
.guided-hero p { max-width:730px; margin:0; color:rgba(255,255,255,.68); font-size:10px; line-height:1.55; }
.sufficiency-score { flex:0 0 145px; padding:18px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.06); text-align:center; }
.sufficiency-score strong,.sufficiency-score span { display:block; }
.sufficiency-score strong { font:600 42px Georgia,serif; }
.sufficiency-score span { margin-top:3px; color:#e6c878; font-size:8px; text-transform:uppercase; }
.guided-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:12px; }
.guided-metrics article { padding:14px 16px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.guided-metrics strong,.guided-metrics span { display:block; }
.guided-metrics strong { color:#2b5f56; font:600 22px Georgia,serif; }
.guided-metrics span { margin-top:2px; color:#7e8d89; font-size:8px; }
.method-alerts { margin-bottom:14px; padding:12px 15px; border:1px solid #eadbb7; border-radius:10px; color:#765f35; background:#fcf8ed; font-size:9px; }
.method-alerts strong { display:block; margin-bottom:5px; }
.method-alerts ul { margin:0; padding-left:17px; line-height:1.6; }
.guided-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(340px,.7fr); gap:15px; align-items:start; }
.interview-panel,.draft-panel,.draft-history { padding:24px; }
.questionnaire { margin-top:18px; }
.question-block { margin:22px 0 8px; color:#9c7128; font-size:9px; letter-spacing:.09em; text-transform:uppercase; }
.question-card { display:grid; grid-template-columns:34px minmax(0,1fr); gap:11px; margin-bottom:9px; padding:14px; border:1px solid #e2e9e6; border-radius:12px; background:#fbfcfb; }
.question-card.answered { border-color:#cadcd5; background:#f5faf8; }
.question-number { width:32px; height:32px; display:grid; place-items:center; border-radius:8px; color:#32645b; background:#dfede8; font-size:9px; font-weight:850; }
.question-content > label > strong,.question-content > label > small { display:block; }
.question-content > label > strong { color:#2d4a45; font:600 12px/1.4 Georgia,serif; }
.question-content > label > small { margin:4px 0 9px; color:#7b8986; font-size:8px; line-height:1.5; }
.question-content textarea { width:100%; padding:10px; resize:vertical; border:1px solid #dce4e1; border-radius:8px; color:#3c5752; background:#fff; font:9px/1.6 inherit; }
.question-suggest-button { margin-top:7px; padding:7px 9px; border:1px solid #e1d1aa; border-radius:7px; color:#765c25; background:#fbf6e9; font-size:8px; font-weight:800; cursor:pointer; }
.question-suggest-button span { color:#a37c2f; font-size:11px; }
.question-meta { display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:7px; color:#8a9693; font-size:7px; }
.question-meta > span { padding:4px 6px; border-radius:6px; background:#f0f3f2; }
.question-meta .contribution-type { color:#346359; background:#e3f0eb; font-weight:800; }
.question-meta .evidence-required { color:#8d682a; background:#f6ecd5; font-weight:800; }
.answer-evidence { margin-top:8px; border:1px solid #e1e8e5; border-radius:8px; background:#fff; }
.answer-evidence summary { padding:8px; color:#536e68; cursor:pointer; font-size:8px; font-weight:800; }
.answer-evidence > div { display:grid; gap:5px; max-height:170px; overflow:auto; padding:0 8px 8px; }
.answer-evidence label { position:relative; }
.answer-evidence input { position:absolute; opacity:0; }
.answer-evidence label > span { display:block; padding:7px 8px; border:1px solid #e6ebe9; border-radius:7px; cursor:pointer; }
.answer-evidence input:checked + span { border-color:#6c928a; background:#edf5f2; }
.answer-evidence strong,.answer-evidence small { display:block; }
.answer-evidence strong { color:#425e58; font-size:8px; }
.answer-evidence small { margin-top:2px; color:#87938f; font-size:7px; }
.evidence-hint { display:block; margin-top:8px; color:#8d682a; font-size:8px; font-weight:750; }
.validation-check { display:flex; align-items:center; gap:7px; margin-top:9px; color:#526c66; font-size:8px; font-weight:750; }
.validation-check input { width:15px; height:15px; accent-color:#30665d; }
.validated-label { display:inline-block; margin-top:8px; padding:5px 7px; border-radius:6px; color:#276052; background:#e1f0e9; font-size:8px; font-weight:800; }
.questionnaire-actions { position:sticky; bottom:10px; display:flex; justify-content:flex-end; padding:12px; border:1px solid #dbe5e1; border-radius:11px; background:rgba(250,252,251,.94); backdrop-filter:blur(7px); }
.draft-column { position:sticky; top:18px; display:grid; gap:13px; }
.generate-button { width:100%; padding:11px; border:1px solid #bcd3cb; border-radius:9px; color:#285f55; background:#e7f2ee; font-size:9px; font-weight:850; cursor:pointer; }
.draft-editor { margin-top:13px; }
.draft-heading { display:flex; justify-content:space-between; gap:10px; margin-bottom:7px; color:#6d7d79; font-size:8px; }
.draft-heading strong { color:#35655c; }
.draft-editor textarea { width:100%; padding:11px; resize:vertical; border:1px solid #d9e2de; border-radius:9px; color:#3c5752; background:#fff; font:9px/1.75 inherit; }
.draft-editor > p { margin:6px 0 11px; color:#8b9693; font-size:7px; }
.draft-editor .submit-button { width:100%; justify-content:center; }
.empty-draft { margin-top:13px; padding:30px 15px; border:1px dashed #d8e1dd; border-radius:10px; color:#83918d; text-align:center; }
.empty-draft span { display:block; color:#b3914e; font-size:25px; }
.empty-draft p { margin:8px 0 0; font-size:8px; line-height:1.5; }
.draft-history article { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px; align-items:center; padding:8px 0; border-bottom:1px solid #e7ece9; }
.draft-history article strong { color:#3b5b55; font-size:8px; }
.draft-history article small { grid-column:1/-1; color:#87938f; font-size:7px; }

/* Process mapping and workshop analysis */
.process-hero { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-bottom:16px; padding:29px 33px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#173f3b,#346b62); box-shadow:var(--shadow); }
.process-hero h2 { max-width:720px; margin:10px 0 7px; font:500 clamp(25px,3vw,38px)/1.13 Georgia,serif; }
.process-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.7); font-size:10px; line-height:1.6; }
.process-hero-metrics { flex:0 0 auto; display:grid; grid-template-columns:repeat(3,88px); gap:8px; }
.process-hero-metrics span { padding:13px 8px; border:1px solid rgba(255,255,255,.14); border-radius:12px; color:rgba(255,255,255,.68); background:rgba(255,255,255,.06); font-size:7px; text-align:center; text-transform:uppercase; }
.process-hero-metrics strong { display:block; margin-bottom:3px; color:#fff; font:600 27px Georgia,serif; }
.process-catalog,.custom-process { margin-bottom:13px; padding:0; overflow:hidden; }
.process-catalog > summary,.custom-process > summary { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:19px 22px; color:#345e57; cursor:pointer; list-style:none; }
.process-catalog > summary::-webkit-details-marker,.custom-process > summary::-webkit-details-marker { display:none; }
.process-catalog > summary h2 { margin:2px 0; font:600 18px Georgia,serif; }
.process-catalog > summary span { color:#84918d; font-size:8px; }
.process-catalog > summary b { font-size:8px; }
.process-catalog > .section-note { margin:0 22px 14px; }
.catalog-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0 22px 22px; }
.catalog-group { padding:14px; border:1px solid #e0e8e5; border-radius:12px; background:#fafcfb; }
.catalog-group h3 { margin:0 0 9px; color:#315f57; font:600 12px Georgia,serif; }
.catalog-group > div { display:grid; gap:6px; }
.catalog-process { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px; border:1px solid #e6ece9; border-radius:8px; background:#fff; }
.catalog-process.adopted { background:#eef6f2; }
.catalog-process strong,.catalog-process small { display:block; }
.catalog-process strong { color:#3d5752; font-size:8px; line-height:1.35; }
.catalog-process small { margin-top:3px; color:#899592; font-size:7px; }
.catalog-process form { flex:0 0 auto; margin:0; }
.catalog-process button,.catalog-process > a { display:inline-block; padding:6px 8px; border:0; border-radius:7px; color:#fff; background:#356a61; font-size:7px; font-weight:850; cursor:pointer; white-space:nowrap; }
.catalog-process.adopted > a { color:#2e675b; background:#dcece6; }
.custom-process > summary { font-size:9px; font-weight:850; }
.custom-process > form { display:grid; gap:13px; padding:0 22px 22px; }
.process-ambitos { display:flex; flex-wrap:wrap; gap:7px; margin:13px 0; padding:0; border:0; }
.process-ambitos legend { width:100%; margin-bottom:5px; color:#6f807c; font-size:8px; font-weight:800; }
.process-ambitos label { position:relative; }
.process-ambitos input { position:absolute; opacity:0; }
.process-ambitos span { display:block; padding:7px 9px; border:1px solid #dce5e1; border-radius:8px; color:#60746f; background:#fff; cursor:pointer; font-size:7px; font-weight:750; }
.process-ambitos input:checked + span { border-color:#669187; color:#2f6258; background:#e7f2ee; }
.process-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:14px; align-items:start; }
.process-list { position:sticky; top:18px; padding:18px; }
.process-list nav { display:grid; gap:7px; margin-top:14px; }
.process-list nav a { display:grid; grid-template-columns:26px minmax(0,1fr); gap:8px; padding:10px; border:1px solid #e2e9e6; border-radius:9px; color:#546b66; background:#fff; }
.process-list nav a:hover,.process-list nav a.selected { border-color:#9bbab2; background:#edf5f2; }
.process-priority { color:#b38b3d; font-size:14px; text-align:center; }
.process-list strong,.process-list small,.process-list em { display:block; }
.process-list strong { color:#365951; font-size:8px; line-height:1.35; }
.process-list small { margin-top:3px; color:#71837f; font-size:7px; }
.process-list em { margin-top:4px; color:#929d9a; font-size:7px; font-style:normal; }
.process-workspace,.process-form { display:grid; gap:14px; }
.process-section { padding:23px; }
.priority-toggle { position:relative; }
.priority-toggle input { position:absolute; opacity:0; }
.priority-toggle span { display:block; padding:7px 9px; border:1px solid #e4d7b7; border-radius:8px; color:#84692f; background:#fbf7ed; cursor:pointer; font-size:8px; font-weight:800; }
.priority-toggle input:checked + span { color:#fff; background:#a98237; }
.classification-grid,.reflection-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; margin-top:12px; }
.reflection-grid .wide-reflection { grid-column:1/-1; }
.dimension-list { display:grid; gap:10px; margin-top:15px; }
.dimension-card { position:relative; padding:15px; border:1px solid #dfe7e4; border-radius:11px; background:#fafcfb; }
.dimension-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:10px; }
.dimension-heading strong,.dimension-heading small { display:block; }
.dimension-heading strong { color:#315e56; font:600 13px Georgia,serif; }
.dimension-heading small { max-width:650px; margin-top:4px; color:#7c8a87; font-size:8px; line-height:1.5; }
.dimension-heading select { flex:0 0 135px; padding:7px; border:1px solid #d7e1dd; border-radius:8px; color:#42625c; background:#fff; font-size:8px; }
.dimension-card textarea { width:100%; padding:10px; resize:vertical; border:1px solid #dbe4e0; border-radius:8px; color:#3f5a55; background:#fff; font:9px/1.65 inherit; }
.dimension-suggest { margin-top:7px; padding:7px 9px; border:1px solid #e1d1aa; border-radius:7px; color:#765c25; background:#fbf6e9; font-size:8px; font-weight:800; cursor:pointer; }
.process-empty { min-height:320px; display:grid; place-items:center; align-content:center; padding:40px; color:#7f8e8a; text-align:center; }
.process-empty > span { color:#b69148; font-size:34px; }
.process-empty h2 { margin:10px 0 4px; color:#365e57; font:600 22px Georgia,serif; }
.process-empty p { max-width:430px; font-size:9px; line-height:1.6; }
.process-heading-actions { display:flex; flex-wrap:wrap; gap:7px; align-items:center; justify-content:flex-end; }
.process-heading-actions > a { padding:8px 10px; border-radius:8px; color:#fff; background:#356a61; font-size:8px; font-weight:850; }
.guided-back { display:inline-block; margin-bottom:6px; color:#e7cb7e; font-size:8px; font-weight:800; }
.process-evidence-panel { margin-bottom:14px; padding:22px; }
.process-evidence-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr); gap:18px; margin-top:12px; }
.process-evidence-files { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:10px; }
.process-evidence-files a { display:grid; grid-template-columns:28px minmax(0,1fr); gap:8px; align-items:center; padding:9px; border:1px solid #e0e8e5; border-radius:8px; color:#45625c; background:#fafcfb; }
.process-evidence-files a > span { color:#a47e36; font-size:16px; text-align:center; }
.process-evidence-files strong,.process-evidence-files small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.process-evidence-files strong { font-size:8px; }
.process-evidence-files small { margin-top:3px; color:#899592; font-size:7px; }
.process-evidence-upload { display:grid; gap:8px; padding:13px; border:1px solid #dce6e2; border-radius:11px; background:#f5faf8; }
.process-evidence-upload input { width:100%; min-height:34px; padding:7px; border:1px solid #d6e1dd; border-radius:7px; color:#415c57; background:#fff; font-size:8px; }
.process-evidence-upload .submit-button { justify-content:center; }
.process-evidence-upload > small { color:#8a9693; font-size:7px; text-align:center; }
.report-result-link { display:block; padding:9px; border-radius:8px; color:#286154; background:#e4f1eb; font-size:8px; font-weight:850; text-align:center; }
.process-next-step { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 14px; border:1px solid #dfd2ad; border-radius:10px; color:#765d2a; background:#fbf7ec; font-size:8px; font-weight:800; }
.process-next-step a { padding:7px 9px; border-radius:7px; color:#fff; background:#9b7936; }
.improvement-hero { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:14px; padding:28px 32px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#3d3b28,#8a6f35); box-shadow:var(--shadow); }
.improvement-hero > div > a { color:#f0d992; font-size:8px; font-weight:800; }
.improvement-hero h2 { margin:9px 0 6px; font:500 clamp(25px,3vw,38px)/1.15 Georgia,serif; }
.improvement-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.72); font-size:10px; line-height:1.6; }
.improvement-score { flex:0 0 135px; padding:16px; border:1px solid rgba(255,255,255,.16); border-radius:13px; background:rgba(255,255,255,.07); text-align:center; }
.improvement-score strong,.improvement-score span { display:block; }
.improvement-score strong { font:600 37px Georgia,serif; }
.improvement-score span { margin-top:3px; color:#f3dda0; font-size:7px; text-transform:uppercase; }
.improvement-new { margin-bottom:14px; padding:0; overflow:hidden; }
.improvement-new > summary,.new-indicator > summary,.new-followup > summary { padding:13px 16px; color:#765d2a; background:#fbf8ef; cursor:pointer; font-size:9px; font-weight:850; }
.improvement-form,.indicator-form { display:grid; gap:11px; padding:17px; }
.improvement-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:14px; align-items:start; }
.improvement-list { position:sticky; top:18px; padding:18px; }
.improvement-list nav { display:grid; gap:7px; margin-top:14px; }
.improvement-list nav a { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; padding:10px; border:1px solid #e2e8e5; border-radius:9px; color:#536a65; }
.improvement-list nav a:hover,.improvement-list nav a.selected { border-color:#b8a46f; background:#faf7ee; }
.improvement-list nav a > span { width:26px; height:26px; display:grid; place-items:center; border-radius:8px; color:#fff; font-size:8px; font-weight:900; }
.priority-alta { background:#a8594d; }.priority-media { background:#aa843e; }.priority-baja { background:#598276; }
.improvement-list strong,.improvement-list small,.improvement-list em { display:block; }
.improvement-list strong { color:#3d5751; font-size:8px; line-height:1.35; }
.improvement-list small { margin-top:3px; color:#778783; font-size:7px; }
.improvement-list em { margin-top:4px; color:#939d9a; font-size:7px; font-style:normal; }
.improvement-workspace { display:grid; gap:14px; }
.improvement-section { padding:22px; }
.progress-pill { padding:7px 9px; border-radius:8px; color:#fff; background:#8d7137; font-size:9px; font-weight:900; }
.indicator-list { display:grid; gap:8px; margin-top:14px; }
.indicator-card,.new-indicator,.new-followup { border:1px solid #e0e6e3; border-radius:10px; overflow:hidden; }
.indicator-card > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; cursor:pointer; }
.indicator-card strong,.indicator-card small { display:block; }
.indicator-card strong { color:#355d55; font-size:9px; }
.indicator-card small { margin-top:3px; color:#82908c; font-size:7px; }
.indicator-card summary b { padding:5px 7px; border-radius:6px; color:#725a28; background:#f5edd8; font-size:7px; }
.new-indicator,.new-followup { margin-top:12px; }
.followup-timeline { display:grid; gap:9px; margin-top:14px; }
.followup-timeline article { display:grid; grid-template-columns:45px minmax(0,1fr); gap:11px; padding:12px; border-left:3px solid #a98a48; border-radius:0 9px 9px 0; background:#fafbf9; }
.followup-timeline article > span { color:#876a31; font:600 16px Georgia,serif; }
.followup-timeline strong { color:#405b55; font-size:8px; }
.followup-timeline p { margin:5px 0; color:#657772; font-size:8px; line-height:1.55; }
.followup-timeline a { color:#35675e; font-size:7px; font-weight:800; }
.plan-dashboard-shortcut { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:13px; padding:10px 13px; border:1px solid #cadbd5; border-radius:9px; color:#657974; background:#f2f7f5; font-size:8px; }
.plan-dashboard-shortcut a { padding:7px 9px; border-radius:7px; color:#fff; background:#376b61; font-weight:850; }
.criteria-hero { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:14px; padding:29px 33px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#263d39,#4e746c); box-shadow:var(--shadow); }
.criteria-hero h2 { margin:10px 0 6px; font:500 clamp(26px,3vw,39px)/1.12 Georgia,serif; }.criteria-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.72); font-size:10px; }
.criteria-hero > div:last-child { flex:0 0 145px; padding:17px; border:1px solid rgba(255,255,255,.16); border-radius:13px; text-align:center; }.criteria-hero > div:last-child strong,.criteria-hero > div:last-child span { display:block; }.criteria-hero > div:last-child strong { font:600 38px Georgia,serif; }.criteria-hero > div:last-child span { color:#ecd081; font-size:7px; text-transform:uppercase; }
.criteria-matrix-panel { margin-bottom:14px; padding:21px; }.criteria-table-wrap { margin-top:14px; overflow:auto; }.criteria-table { width:100%; min-width:950px; border-collapse:separate; border-spacing:5px; }.criteria-table th { color:#61736e; font-size:7px; font-weight:800; line-height:1.25; }.criteria-table thead th { max-width:100px; padding:7px; background:#edf3f1; }.criteria-table tbody th { width:220px; text-align:left; }.criteria-table tbody th a { color:#365e56; font-size:8px; }
.criterion-cell { min-width:75px; display:grid; place-items:center; gap:3px; padding:7px; border:1px solid #dce5e1; border-radius:8px; color:#5c706b; background:#fafcfb; }.criterion-cell span { width:23px; height:23px; display:grid; place-items:center; border-radius:7px; color:#fff; background:#9aa9a5; font-size:8px; font-weight:900; }.criterion-cell small { font-size:6px; }.criterion-cell.empty span { color:#648078; background:#edf3f1; }.criterion-cell.degree-moderada span { background:#b08a3e; }.criterion-cell.degree-amplia span { background:#4f8176; }.criterion-cell.degree-transformadora span { background:#265e52; }
.criteria-layout { display:grid; grid-template-columns:minmax(0,1.35fr) 330px; gap:14px; align-items:start; }.criteria-editor,.criteria-side .panel { padding:22px; }.criteria-form { display:grid; gap:11px; margin-top:14px; }.criteria-side { display:grid; gap:13px; position:sticky; top:18px; }.institutional-criteria-list { display:grid; gap:7px; margin-top:13px; }.institutional-criteria-list a { padding:9px; border:1px solid #e1e8e5; border-radius:8px; color:#4e6761; }.institutional-criteria-list a.selected { border-color:#79a097; background:#edf5f2; }.institutional-criteria-list strong,.institutional-criteria-list small { display:block; }.institutional-criteria-list strong { font-size:8px; }.institutional-criteria-list small { margin-top:3px; color:#899592; font-size:7px; }
.new-institutional-criterion { margin-top:12px; border:1px solid #e2e7e5; border-radius:9px; overflow:hidden; }.new-institutional-criterion summary { padding:10px; color:#37675e; background:#f4f8f6; cursor:pointer; font-size:8px; font-weight:850; }.new-institutional-criterion form { display:grid; gap:9px; padding:12px; }.criteria-note { color:#6f7f7b; font-size:8px; line-height:1.6; }.criteria-note strong { color:#416159; }.criteria-note p { margin:6px 0 0; }
.horizon-hero { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:14px; padding:29px 33px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#3d3b28,#80672f); box-shadow:var(--shadow); }.horizon-hero h2 { margin:10px 0 6px; font:500 clamp(26px,3vw,39px)/1.12 Georgia,serif; }.horizon-hero p { margin:0; color:rgba(255,255,255,.72); font-size:10px; }.horizon-hero > div:last-child { flex:0 0 145px; padding:17px; border:1px solid rgba(255,255,255,.16); border-radius:13px; text-align:center; }.horizon-hero > div:last-child strong,.horizon-hero > div:last-child span { display:block; }.horizon-hero > div:last-child strong { font:600 38px Georgia,serif; }.horizon-hero > div:last-child span { color:#f0d895; font-size:7px; text-transform:uppercase; }
.horizon-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(390px,.8fr); gap:14px; align-items:start; }.horizon-source,.horizon-draft { padding:22px; }.horizon-draft { position:sticky; top:18px; }.xlsx-export { padding:8px 10px; border-radius:8px; color:#fff; background:#397066; font-size:8px; font-weight:850; }.horizon-actions { display:grid; gap:8px; margin-top:14px; }.horizon-actions article { display:grid; grid-template-columns:28px minmax(0,1fr); gap:9px; padding:10px; border:1px solid #e1e8e5; border-radius:9px; }.horizon-actions article > span { width:26px; height:26px; display:grid; place-items:center; border-radius:7px; color:#fff; font-size:8px; font-weight:900; }.horizon-actions strong,.horizon-actions small { display:block; }.horizon-actions strong { color:#3e5c56; font-size:8px; }.horizon-actions small { margin-top:3px; color:#899592; font-size:7px; }
.measurement-box { margin-top:8px; padding:13px; border:1px solid #dbe5e1; border-radius:10px; background:#f7faf8; }
.measurement-box > div:first-child { display:flex; justify-content:space-between; gap:10px; color:#3f615a; font-size:8px; }
.measurement-box > div:first-child small { color:#899592; }
.measurement-history { display:grid; gap:6px; margin:10px 0; }
.measurement-history article { display:grid; grid-template-columns:70px 70px minmax(0,1fr); gap:8px; align-items:center; padding:7px; border-radius:7px; background:#fff; }
.measurement-history b { color:#8b6d32; font-size:9px; }.measurement-history span,.measurement-history p { margin:0; color:#74847f; font-size:7px; }
.measurement-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:10px; padding-top:10px; border-top:1px solid #dce5e1; }
.measurement-form .full,.measurement-button { grid-column:1/-1; }
.measurement-button { padding:8px; border:1px solid #bea45f; border-radius:7px; color:#765d27; background:#fbf5e6; font-size:8px; font-weight:850; cursor:pointer; }
.dashboard-hero { display:flex; align-items:center; justify-content:space-between; gap:25px; margin-bottom:14px; padding:29px 33px; border-radius:18px; color:#fff; background:linear-gradient(120deg,#183e3a,#315f57); box-shadow:var(--shadow); }
.dashboard-hero h2 { margin:10px 0 6px; font:500 clamp(26px,3vw,39px)/1.12 Georgia,serif; }.dashboard-hero p { max-width:760px; margin:0; color:rgba(255,255,255,.7); font-size:10px; }
.dashboard-progress { flex:0 0 145px; padding:17px; border:1px solid rgba(255,255,255,.15); border-radius:13px; background:rgba(255,255,255,.06); text-align:center; }.dashboard-progress strong,.dashboard-progress span { display:block; }.dashboard-progress strong { font:600 40px Georgia,serif; }.dashboard-progress span { color:#e8cb7b; font-size:7px; text-transform:uppercase; }
.dashboard-metric-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:9px; margin-bottom:13px; }.dashboard-metric { padding:13px; border:1px solid #dfe7e4; border-radius:11px; color:#61736e; background:#fff; }.dashboard-metric span,.dashboard-metric strong,.dashboard-metric small { display:block; }.dashboard-metric span { font-size:7px; text-transform:uppercase; }.dashboard-metric strong { margin:3px 0; color:#326258; font:600 25px Georgia,serif; }.dashboard-metric small { color:#929d99; font-size:7px; }.dashboard-metric.danger strong { color:#a34f43; }.dashboard-metric.warning strong { color:#a57a2e; }
.dashboard-filters { margin-bottom:13px; padding:14px; }.dashboard-filters form { display:grid; grid-template-columns:1.2fr repeat(4,1fr) auto auto; gap:7px; align-items:end; }.dashboard-filters label span { display:block; margin-bottom:4px; color:#798984; font-size:7px; font-weight:800; }.dashboard-filters input,.dashboard-filters select { width:100%; min-height:34px; padding:7px; border:1px solid #dce4e1; border-radius:7px; color:#405d57; background:#fff; font-size:8px; }.dashboard-filters button,.dashboard-filters a { min-height:34px; display:grid; place-items:center; padding:7px 10px; border:0; border-radius:7px; color:#fff; background:#356a61; font-size:8px; font-weight:800; }.dashboard-filters a { color:#5d716c; background:#edf2f0; }
.dashboard-layout { display:grid; grid-template-columns:minmax(0,1.5fr) 330px; gap:14px; align-items:start; }.dashboard-actions,.dashboard-summary .panel { padding:21px; }.dashboard-action-list { display:grid; gap:9px; margin-top:15px; }.dashboard-action-card { display:grid; grid-template-columns:30px minmax(0,1fr) auto; gap:11px; align-items:start; padding:13px; border:1px solid #dfe7e4; border-radius:11px; background:#fbfcfb; }.dashboard-action-card.overdue { border-color:#e4bbb5; background:#fdf8f7; }.action-priority { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; color:#fff; font-size:8px; font-weight:900; }.action-title { display:flex; justify-content:space-between; gap:12px; }.action-title small { color:#8b9894; font-size:7px; }.action-title h3 { margin:3px 0 0; color:#345b54; font:600 12px Georgia,serif; }.action-title > strong { color:#876a31; font:600 17px Georgia,serif; }.mini-progress { height:4px; margin:8px 0; overflow:hidden; border-radius:4px; background:#e6ece9; }.mini-progress span { display:block; height:100%; border-radius:4px; background:#5c897f; }.action-meta { display:flex; flex-wrap:wrap; gap:5px 11px; color:#7f8e89; font-size:7px; }.action-alerts { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }.action-alerts span { padding:4px 6px; border-radius:6px; color:#914b41; background:#f5dfdc; font-size:7px; font-weight:800; }.action-open { align-self:center; padding:7px 8px; border-radius:7px; color:#35665d; background:#e7f1ed; font-size:8px; font-weight:850; }
.dashboard-summary { display:grid; gap:13px; position:sticky; top:18px; }.summary-bars { display:grid; gap:11px; margin-top:14px; }.summary-bars article > div:first-child { display:flex; justify-content:space-between; gap:10px; margin-bottom:5px; }.summary-bars strong { color:#405c56; font-size:8px; max-width:190px; }.summary-bars span { color:#8a9793; font-size:7px; }.summary-bars article > div:last-child { height:5px; overflow:hidden; border-radius:5px; background:#e8eeeb; }.summary-bars article > div:last-child span { display:block; height:100%; background:#6d9189; }.dashboard-empty { padding:50px 20px; text-align:center; }.dashboard-empty > span { color:#ac8a45; font-size:35px; }.dashboard-empty h3 { margin:8px 0 4px; color:#41615b; font:600 18px Georgia,serif; }.dashboard-empty p { color:#84918d; font-size:8px; }.dashboard-empty a { color:#32655b; font-size:8px; font-weight:850; }

@media (max-width: 1100px) {
    .metrics { grid-template-columns: repeat(2, 1fr); }
    .content-grid { grid-template-columns: 1fr; }
    .side-column { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .users-layout { grid-template-columns:1fr; }
    .assignment-grid { grid-template-columns:1fr; }
    .platform-forms { grid-template-columns:1fr; }
    .report-layout { grid-template-columns:1fr; }
    .guided-layout { grid-template-columns:1fr; }
    .process-layout { grid-template-columns:1fr; }
    .process-list { position:static; }
    .catalog-groups { grid-template-columns:1fr; }
    .process-evidence-layout { grid-template-columns:1fr; }
    .improvement-layout { grid-template-columns:1fr; }
    .improvement-list { position:static; }
    .dashboard-metric-grid { grid-template-columns:repeat(3,1fr); }
    .dashboard-layout { grid-template-columns:1fr; }.dashboard-summary { position:static; grid-template-columns:repeat(2,1fr); }
    .dashboard-filters form { grid-template-columns:repeat(3,1fr); }
    .horizon-layout { grid-template-columns:1fr; }.horizon-draft { position:static; }
    .criteria-layout { grid-template-columns:1fr; }.criteria-side { position:static; grid-template-columns:repeat(2,1fr); }
    .draft-column { position:static; }
    .report-outline { position:static; }
    .report-outline nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .activity-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 780px) {
    .sidebar { position: static; width: 100%; min-height: auto; padding: 18px; }
    .brand { padding-bottom: 18px; }
    .nav-list { display: flex; overflow-x: auto; }
    .nav-item { flex: 0 0 auto; }
    .sidebar-note { display: none; }
    .main-content { margin-left: 0; padding: 24px 18px; }
    .hero-card { grid-template-columns: 1fr; padding: 32px 25px; }
    .deadline-card { display: grid; grid-template-columns: auto auto; gap: 4px 10px; align-items: center; text-align: left; }
    .deadline-card > strong { grid-row: span 2; }
    .deadline-separator { display: none; }
    .deadline-card b { grid-column: 2; }
    .side-column { grid-template-columns: 1fr; }
    .library-hero { align-items:flex-start; padding:27px 24px; }
    .file-card { grid-template-columns:48px minmax(0,1fr); }
    .file-action { grid-column:2; justify-self:start; }
    .deliverable-setting { grid-template-columns:32px minmax(0,1fr); }
    .deliverable-setting input { grid-column:2; }
    .assignment-hero { align-items:flex-start; }
    .platform-hero { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 520px) {
    .topbar { align-items: flex-start; }
    .cycle-badge { min-width: auto; }
    .user-chip div,.user-chip form { display:none; }
    .metrics { grid-template-columns: 1fr; }
    .stage-state { display: none; }
    .stage-row { grid-template-columns: 36px 1fr; }
    footer { flex-direction: column; }
    .settings-fields { grid-template-columns:1fr; }
    .settings-fields .wide { grid-column:auto; }
    .role-options,.password-grid { grid-template-columns:1fr; }
    .assignment-hero { display:block; }
    .coverage-ring { width:100px; height:100px; margin-top:20px; }
    .platform-metrics { width:100%; overflow-x:auto; }
    .context-switcher select { max-width:160px; }
    .report-hero { align-items:flex-start; }
    .guided-hero { align-items:flex-start; flex-direction:column; }
    .process-hero { align-items:flex-start; flex-direction:column; }
    .process-hero-metrics { width:100%; grid-template-columns:repeat(3,1fr); }
    .classification-grid,.reflection-grid { grid-template-columns:1fr; }
    .reflection-grid .wide-reflection { grid-column:auto; }
    .dimension-heading { display:block; }
    .dimension-heading select { width:100%; margin-top:8px; }
    .process-evidence-files { grid-template-columns:1fr; }
    .improvement-hero { align-items:flex-start; flex-direction:column; }
    .dashboard-hero { align-items:flex-start; flex-direction:column; }.dashboard-metric-grid { grid-template-columns:repeat(2,1fr); }.dashboard-summary,.dashboard-filters form { grid-template-columns:1fr; }.dashboard-action-card { grid-template-columns:28px minmax(0,1fr); }.action-open { grid-column:2; justify-self:start; }
    .measurement-form { grid-template-columns:1fr; }.measurement-form .full,.measurement-button { grid-column:auto; }
    .horizon-hero { align-items:flex-start; flex-direction:column; }
    .criteria-hero { align-items:flex-start; flex-direction:column; }.criteria-side { grid-template-columns:1fr; }
    .guided-metrics { grid-template-columns:1fr; }
    .section-assist-actions { grid-template-columns:1fr; }
    .section-controls,.version-layout { grid-template-columns:1fr; }
    .section-controls .submit-button { justify-self:stretch; justify-content:center; }
    .evidence-upload { grid-template-columns:1fr; }
}
.indicator-page{max-width:none}.indicator-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.25rem;padding:2rem;border-radius:24px;background:linear-gradient(125deg,#173f3b,#356a61);color:#fff}.indicator-hero h2{max-width:760px;margin:.55rem 0;font-family:Georgia,serif;font-size:clamp(1.8rem,3vw,3rem);line-height:1.05}.indicator-hero p{max-width:760px;margin:0;color:#dcebe6}.indicator-filters{display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(180px,1.3fr) auto;align-items:end;gap:.8rem;margin:1rem 0;padding:1rem}.indicator-filters label{display:grid;gap:.35rem;color:#50645f;font-size:.78rem;font-weight:700}.indicator-filters input,.indicator-filters select{min-height:42px;padding:.65rem .75rem;border:1px solid #d9e4e0;border-radius:10px;background:#fff;color:#173f3b}.indicator-layout{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:1rem;align-items:start}.indicator-catalog{position:sticky;top:1rem;padding:1rem}.indicator-list{display:grid;gap:.55rem;max-height:calc(100vh - 260px);overflow:auto}.indicator-list>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:start;padding:.85rem;border:1px solid #e1eae7;border-radius:14px;color:#173f3b;text-decoration:none}.indicator-list>a:hover,.indicator-list>a.selected{border-color:#7ca49a;background:#edf5f2}.indicator-list strong,.indicator-list small{display:block}.indicator-list small{margin-top:.25rem;color:#6d7e79;font-size:.74rem;line-height:1.35}.indicator-code{padding:.28rem .42rem;border-radius:7px;background:#173f3b;color:#fff;font-size:.68rem;font-weight:800}.indicator-state{font-size:.65rem;font-weight:800;white-space:nowrap}.state-validado{color:#2c6a52}.state-en_revision{color:#9a6723}.state-borrador{color:#7c8985}.indicator-editor{padding:1.25rem}.process-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:1rem 0;padding:1rem;border:1px solid #d9e4e0;border-radius:14px}.process-selector legend{padding:0 .4rem;color:#173f3b;font-weight:800}.process-selector legend small{color:#73847f;font-weight:400}.process-selector label{display:flex;gap:.45rem;align-items:flex-start;padding:.55rem;border-radius:9px;background:#f7faf9;color:#405b55}.indicator-period-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:1rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #d9e4e0}.indicator-period-grid>section{min-width:0;padding:1rem;border-radius:16px;background:#f7faf9}.indicator-period-grid h3{margin:.15rem 0;font-family:Georgia,serif;font-size:1.35rem}.period-card{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;margin:.55rem 0;padding:.75rem;border-radius:12px;background:#fff;border:1px solid #e1eae7}.period-card span{font-weight:800;color:#356a61}.period-card small{color:#74837f}.period-card p{grid-column:1/-1;margin:.15rem 0;color:#50645f;line-height:1.45}.period-card.result{display:block}.period-card.result>div{display:flex;justify-content:space-between;gap:1rem}.period-card.result small,.period-card.result em{display:block;margin-top:.35rem;color:#74837f;font-size:.75rem}.indicator-period-grid details{margin-top:.7rem}.indicator-period-grid summary{cursor:pointer;color:#356a61;font-weight:800}.period-form{display:grid;gap:.7rem;margin-top:.8rem}.period-form>div{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.period-form label{display:grid;gap:.3rem;color:#50645f;font-size:.78rem;font-weight:700}.period-form input,.period-form select,.period-form textarea{width:100%;padding:.65rem;border:1px solid #d9e4e0;border-radius:9px;background:#fff;color:#173f3b;font:inherit}@media(max-width:1100px){.indicator-layout{grid-template-columns:1fr}.indicator-catalog{position:static}.indicator-list{max-height:360px}.indicator-period-grid{grid-template-columns:1fr}}@media(max-width:760px){.indicator-hero{align-items:flex-start;flex-direction:column}.indicator-filters{grid-template-columns:1fr}.process-selector,.period-form>div{grid-template-columns:1fr}}
.suggested-catalog{margin:1rem 0;padding:0;overflow:hidden}.suggested-catalog>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;cursor:pointer;list-style:none;background:#edf5f2;color:#173f3b}.suggested-catalog>summary::-webkit-details-marker{display:none}.suggested-catalog>summary span{display:grid;gap:.15rem}.suggested-catalog>summary small{color:#6d7e79;font-weight:700}.suggested-catalog>summary strong{font-family:Georgia,serif;font-size:1.25rem}.suggested-catalog>summary b{font-size:1.35rem}.suggested-catalog>p{margin:1rem 1.25rem;color:#50645f}.suggested-indicator-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:0 1.25rem 1.25rem}.suggested-indicator-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;padding:1rem;border:1px solid #d9e4e0;border-radius:14px;background:#fff}.suggested-indicator-grid article>span{color:#8a6b2e;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.suggested-indicator-grid article>strong{color:#173f3b;line-height:1.25}.suggested-indicator-grid article>small{color:#72837e}.suggested-indicator-grid article>p{flex:1;margin:0;color:#50645f;font-size:.8rem;line-height:1.45}.suggested-indicator-grid form{margin-top:.25rem}.suggested-indicator-grid .secondary-button{font-size:.74rem}.anexo1-toggle{display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;padding:1rem;border:1px solid #b8d2ca;border-radius:14px;background:#edf5f2;color:#173f3b}.anexo1-toggle input{margin-top:.25rem}.anexo1-toggle span{display:grid;gap:.2rem}.anexo1-toggle small{color:#5f746e;font-weight:400}@media(max-width:1050px){.suggested-indicator-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.suggested-indicator-grid{grid-template-columns:1fr}}
.synthesis-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);gap:24px;align-items:start}.synthesis-source,.synthesis-result .panel{padding:28px}.synthesis-result{display:grid;gap:20px}.synthesis-process-list{display:grid;gap:12px;margin:20px 0}.synthesis-process{display:flex;gap:14px;align-items:flex-start;padding:16px;border:1px solid #dce7e3;border-radius:14px;background:#fff;cursor:pointer}.synthesis-process:has(input:checked){border-color:#78a99e;background:#f0f7f4}.synthesis-process input{width:20px;height:20px;margin-top:3px;accent-color:#1d625b}.synthesis-process span{display:grid;gap:4px}.synthesis-process small,.synthesis-process em{color:#687c78;font-size:.8rem;font-style:normal}.synthesis-select .generate-button{width:100%}.synthesis-result .draft-editor textarea{width:100%;min-height:540px;resize:vertical}.synthesis-result .draft-editor .submit-button{width:100%;margin-top:16px}@media(max-width:1100px){.synthesis-layout{grid-template-columns:1fr}}
.process-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:24px 28px;border-color:#e8cbc6;background:#fffafa}.process-danger-zone h2{margin:2px 0 6px;color:#843f35;font-size:20px}.process-danger-zone p:last-child{max-width:720px;margin:0;color:#755f5b;font-size:12px;line-height:1.6}.delete-process-button{white-space:nowrap;border:1px solid #b55b4e;border-radius:10px;padding:12px 18px;background:#fff;color:#9a4539;font-weight:800;cursor:pointer}.delete-process-button:hover{background:#9a4539;color:#fff}@media(max-width:760px){.process-danger-zone{align-items:stretch;flex-direction:column}.delete-process-button{width:100%}}
.interview-followups{margin:0 0 18px;padding:18px 22px;border:1px solid #e0b967;border-radius:14px;background:#fff9e9;color:#664f22}.interview-followups p{margin:5px 0 8px;font-size:12px}.interview-followups ul{margin:0;padding-left:20px;font-size:12px;line-height:1.65}.question-title{display:grid;gap:5px}.question-title strong{font-size:15px}.question-title span{color:#405a55;font-size:13px}.question-purpose{display:grid;gap:3px;padding:10px 12px;border-left:3px solid #86aaa1;background:#f3f8f6;font-size:11px}.question-purpose b,.question-guidance-grid b{color:#244f49;text-transform:uppercase;font-size:9px;letter-spacing:.06em}.question-answer{display:grid;gap:7px}.question-answer input,.question-answer select{width:100%;border:1px solid #cddbd7;border-radius:9px;padding:11px;background:#fff}.structured-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:0;padding:0}.structured-options label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #dce6e3;border-radius:9px;background:#fff}.structured-options input{width:auto}.question-guidance-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.question-guidance-grid>div{display:grid;gap:4px;padding:10px;border:1px solid #e3eae7;border-radius:9px;background:#fbfcfb;color:#667773;font-size:10px;line-height:1.45}.critical-question{color:#8a4d27;background:#fff1df}@media(max-width:720px){.structured-options,.question-guidance-grid{grid-template-columns:1fr}}
.catalog-legend{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 16px}.catalog-origin{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:4px 8px;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.catalog-origin.workshop{background:#edf2f0;color:#536963}.catalog-origin.universal{background:#e3f2ed;color:#1d6258}.catalog-origin.complementary{background:#fff1d9;color:#896126}.catalog-process-title{display:flex;align-items:center;gap:8px}.catalog-process-title strong{flex:0 1 auto}.catalog-process p{margin:4px 0;color:#6c7d79;font-size:9px;line-height:1.45}
.catalog-filter{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,.4fr) auto;gap:9px;align-items:center;margin:0 0 18px}.catalog-filter input,.catalog-filter select{border:1px solid #d4e0dc;border-radius:9px;padding:10px 12px;background:#fff;color:#294b46}.catalog-filter span{color:#6c7d79;font-size:9px;font-weight:750}@media(max-width:720px){.catalog-filter{grid-template-columns:1fr}.catalog-filter span{text-align:right}}
.process-heading-actions .optional-deepening-link{display:inline-flex;align-items:center;border-radius:9px;padding:10px 13px;background:#2f6b62;color:#fff;font-size:9px;font-weight:800;text-decoration:none}.process-heading-actions .optional-deepening-link:hover{background:#204f49}.process-heading-actions .optional-deepening-link[hidden]{display:none}.optional-deepening-note{display:block;max-width:245px;color:#71827e;font-size:8px;line-height:1.4;text-align:right}
.guided-optional-notice{margin:0 0 14px;padding:14px 17px;border:1px solid #bcd7cf;border-radius:12px;background:#eef7f4;color:#355c55;font-size:11px;line-height:1.55}.guided-optional-notice strong{display:block;margin-bottom:3px;color:#204f49}.guided-optional-notice.warning{border-color:#ead5a5;background:#fff9eb;color:#745d2f}
.covered-questions{margin-top:14px;border:1px solid #dce6e2;border-radius:12px;background:#f8faf9}.covered-questions>summary{padding:14px 16px;cursor:pointer;color:#42635d;font-size:10px;font-weight:800}.covered-questions-body{padding:0 12px 12px}.question-reason{display:block;margin:7px 0;color:#56756f;font-size:9px;line-height:1.45}.question-card.covered{opacity:.88}
@media(max-width:760px){.optional-deepening-note{text-align:left}.process-heading-actions{align-items:flex-start}}

.evidence-link-guide {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin: 0 0 18px;
    padding: 17px 20px;
    border: 1px solid #bdd7d0;
    border-radius: 14px;
    color: #315750;
    background: linear-gradient(135deg, #eef7f4, #f9fbfa);
    box-shadow: 0 8px 22px rgba(33, 83, 75, .06);
}
.evidence-link-guide strong { display:block; margin-bottom:4px; color:#194f48; font-size:12px; }
.evidence-link-guide p { margin:0; max-width:850px; font-size:10px; line-height:1.55; }
.evidence-link-guide a {
    flex: 0 0 auto;
    padding: 10px 13px;
    border-radius: 9px;
    color: #fff;
    background: #2f6b62;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}
.evidence-link-guide a:hover { background:#204f49; }
@media(max-width:720px){.evidence-link-guide{align-items:stretch;flex-direction:column}.evidence-link-guide a{text-align:center}}

/* Selector de archivos unificado para evidencias e importaciones. */
body input[type="file"] {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 5px 10px 5px 5px;
    border: 1px solid #cdded8;
    border-radius: 10px;
    outline: 0;
    color: #60736e;
    background: linear-gradient(180deg, #fff 0%, #f7faf9 100%);
    box-shadow: 0 1px 2px rgba(24, 72, 65, .04);
    font-family: inherit;
    font-size: 10px;
    line-height: 32px;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body input[type="file"]::file-selector-button {
    min-height: 32px;
    margin-right: 11px;
    padding: 7px 14px;
    border: 0;
    border-radius: 7px;
    color: #fff;
    background: linear-gradient(135deg, #245f57, #397b70);
    box-shadow: 0 5px 12px rgba(29, 81, 77, .16);
    font-family: inherit;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
body input[type="file"]:hover {
    border-color: #83aaa1;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(53, 106, 97, .07);
}
body input[type="file"]:hover::file-selector-button {
    background: linear-gradient(135deg, #194c46, #2d6c62);
    box-shadow: 0 7px 16px rgba(29, 81, 77, .22);
    transform: translateY(-1px);
}
body input[type="file"]:focus-visible {
    border-color: #356a61;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(53, 106, 97, .14);
}
body input[type="file"]:disabled {
    color: #98a5a1;
    background: #eef2f0;
    cursor: not-allowed;
    opacity: .72;
}
body input[type="file"]:disabled::file-selector-button {
    background: #82938f;
    box-shadow: none;
    cursor: not-allowed;
    transform: none;
}
.help-button{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:5px;border:1px solid #8aaba4;border-radius:999px;padding:0 6px;background:#f3f8f6;color:#245e56;font:800 10px/1 Arial,sans-serif;cursor:pointer;vertical-align:middle}.help-button:hover{background:#245e56;color:#fff}.section-help-button{width:auto;height:30px;margin-left:auto;padding:0 10px;white-space:nowrap}.panel-heading>.section-help-button{align-self:flex-start}.dimension-heading strong .help-button{margin-left:7px}.dimension-heading .level-help-button{flex:0 0 20px;margin:0 0 0 6px}.process-help-dialog{width:min(650px,calc(100vw - 32px));border:0;border-radius:18px;padding:0;box-shadow:0 24px 80px rgba(20,55,50,.28);color:#29413d}.process-help-dialog::backdrop{background:rgba(11,42,38,.55)}.process-help-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 16px;border-bottom:1px solid #e2ebe8;background:#f5f9f7}.process-help-head h2{margin:3px 0 0;font:600 26px Georgia,serif}.process-help-head button{border:0;background:transparent;color:#60736f;font-size:28px;cursor:pointer}.process-help-dialog>p,.process-help-dialog>div:not(.process-help-head){margin-left:26px;margin-right:26px}.process-help-dialog>p{font-size:13px;line-height:1.65}.process-help-dialog ul{margin:0;padding:4px 0 4px 20px}.process-help-dialog li{margin:0 0 9px;font-size:12px;line-height:1.55}.process-help-source{margin-bottom:24px!important;border-top:1px solid #e5ecea;padding-top:13px;color:#788783;font-size:10px!important}.field>span:has(.help-button),.process-ambitos legend:has(.help-button){display:flex;align-items:center}
.anexo2-hero{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:32px 38px;margin-bottom:22px;border-radius:24px;background:linear-gradient(135deg,#174c46,#2e7167);color:#fff;box-shadow:0 18px 45px rgba(24,71,65,.16)}
.anexo2-hero h2{max-width:820px;margin:12px 0 8px;font-family:Georgia,serif;font-size:clamp(28px,3vw,46px);line-height:1.04}.anexo2-hero p{max-width:860px;margin:0;color:rgba(255,255,255,.82)}.anexo2-progress{min-width:150px;text-align:center;padding:18px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.08)}.anexo2-progress strong{display:block;font-family:Georgia,serif;font-size:42px}.anexo2-progress small{font-size:20px}.anexo2-progress span{font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.anexo2-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:22px;align-items:start}.anexo2-catalog{max-height:calc(100vh - 170px);overflow:auto;position:sticky;top:18px;padding:20px}.anexo2-catalog>a{display:grid;grid-template-columns:38px 1fr;gap:10px;padding:13px 10px;border:1px solid transparent;border-radius:14px;color:inherit;text-decoration:none}.anexo2-catalog>a:hover,.anexo2-catalog>a.selected{background:#edf5f2;border-color:#a8cbc4}.anexo2-catalog>a>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#dfeeea;color:#18554d;font-weight:800}.anexo2-catalog strong{display:block;font-size:13px;line-height:1.25}.anexo2-catalog small{display:block;margin-top:5px;color:#72817e}.anexo2-catalog em{grid-column:2;font-size:10px;font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:#7c8a87}.anexo2-catalog em.state-completo{color:#167154;font-weight:800}.anexo2-catalog em.state-en_revision{color:#a46b14;font-weight:800}
.anexo2-editor{padding:28px}.anexo2-note{margin:16px 0 22px;padding:16px 18px;border-left:4px solid #c79b43;background:#fbf7ed;border-radius:0 12px 12px 0}.anexo2-note p{margin:5px 0 0;color:#65716f}.anexo2-meta{display:grid;grid-template-columns:1fr 240px;gap:14px;margin-bottom:18px}.anexo2-meta label,.anexo2-field{font-weight:700;color:#284842}.anexo2-meta select{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid #cadbd7;border-radius:12px;background:#fff}.anexo2-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;margin-bottom:14px;border:1px solid #d7e4e1;border-radius:16px;background:#fbfdfc}.anexo2-row-title{grid-column:1/-1;display:flex;justify-content:space-between;color:#42625d}.anexo2-row-title small{color:#83918e}.anexo2-field{display:flex;flex-direction:column;gap:6px}.anexo2-field>span{font-size:13px}.anexo2-field b{margin-left:5px;padding:2px 6px;border-radius:5px;background:#e4efec;color:#286258;font-size:10px}.anexo2-field small{font-weight:400;color:#81632d}.anexo2-field input{width:100%;padding:13px 14px;border:1px solid #cbdcd8;border-radius:11px;background:#fff;font-size:14px}.anexo2-field input:focus{outline:3px solid rgba(44,120,106,.13);border-color:#397c70}.anexo2-field em{font-size:11px;font-weight:400;font-style:normal;color:#778682}
@media(max-width:1000px){.anexo2-layout{grid-template-columns:1fr}.anexo2-catalog{position:static;max-height:360px}.anexo2-hero{align-items:flex-start}.anexo2-row{grid-template-columns:1fr}.anexo2-meta{grid-template-columns:1fr}}@media(max-width:640px){.anexo2-hero{padding:24px;flex-direction:column}.anexo2-editor{padding:18px}}
.anexo2-row-title{align-items:center;gap:12px}.anexo2-row-title>div strong,.anexo2-row-title>div small{display:block}.anexo2-row-title>div strong{font-family:Georgia,serif;font-size:18px;color:#173f3b}.anexo2-row-title>div small{margin-top:3px;color:#83918e;font-size:10px}.anexo2-row-title>span{padding:5px 8px;border-radius:8px;background:#e7f0ed;color:#6f817c;font-size:10px;font-weight:750}.anexo2-download-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px}.anexo2-filled-download{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:10px;padding:10px 15px;border-radius:13px;background:#fff;color:#174f47;text-decoration:none;box-shadow:0 8px 20px rgba(10,45,40,.2)}.anexo2-filled-download>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#b0832e;color:#fff;font-size:19px;font-weight:900}.anexo2-filled-download strong,.anexo2-filled-download small{display:block}.anexo2-filled-download strong{font-size:12px}.anexo2-filled-download small{margin-top:2px;color:#6e817c;font-size:10px}.anexo2-filled-download:hover{transform:translateY(-2px)}.anexo2-blank-download{padding:11px 14px;border:1px solid rgba(255,255,255,.38);border-radius:11px;color:#fff;font-size:11px;font-weight:750;text-decoration:none}.anexo2-blank-download:hover{background:rgba(255,255,255,.1)}

/* Indicadores: acciones y serie histórica */
.suggested-indicator-grid article{display:flex;flex-direction:column}.suggested-indicator-grid article>p{flex:1}.suggested-indicator-grid form{margin-top:auto}.catalog-adopt-button,.catalog-ready-button{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:10px;width:100%;min-height:58px;margin-top:16px;padding:10px 13px;border:1px solid #9fc6bd;border-radius:13px;background:linear-gradient(135deg,#eff8f5,#e2f0ec);color:#174f47;text-align:left;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.catalog-adopt-button:hover,.catalog-ready-button:hover{transform:translateY(-2px);border-color:#4d8b7e;box-shadow:0 10px 22px rgba(27,83,73,.13)}.catalog-adopt-button>span,.catalog-ready-button>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#286d61;color:#fff;font-size:18px;font-weight:800}.catalog-adopt-button strong,.catalog-ready-button strong{display:block;color:#174f47;font-size:12px}.catalog-adopt-button small,.catalog-ready-button small{display:block;margin-top:2px;color:#72827e;font-size:10px;font-weight:500}.catalog-adopt-button>b,.catalog-ready-button>b{font-size:18px}.catalog-ready-button{border-color:#d5dfdc;background:#f8faf9}.catalog-ready-button>span{background:#dfeee9;color:#26705f}
.indicator-period-grid{align-items:start}.indicator-period-grid>section{border-radius:18px}.history-intro{margin:-4px 0 16px;padding:12px 14px;border-radius:11px;background:#f4f8f7;color:#647772;font-size:12px;line-height:1.55}.history-result-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.history-cycle{display:inline-flex;padding:5px 9px;border-radius:999px;background:#dceee9;color:#1d6659;font-size:11px;font-weight:850;letter-spacing:.04em}.period-card.result{padding:15px;border:1px solid #dbe7e4;border-left:4px solid #34796d;border-radius:13px;background:#fff}.period-card.result>small{display:block;margin:8px 0;color:#72817d}.history-empty{display:flex;gap:13px;align-items:center;padding:20px;border:1px dashed #b9cfca;border-radius:14px;background:#fafcfb}.history-empty>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#e5f1ed;color:#21665a;font-size:20px}.history-empty strong{color:#294f48}.history-empty p{margin:4px 0 0;color:#72817d;font-size:12px}.history-capture{margin-top:15px;border:1px solid #b8d2cc;border-radius:14px;background:#fbfdfc;overflow:hidden}.history-capture>summary{display:grid;grid-template-columns:34px minmax(0,1fr) 20px;align-items:center;gap:10px;padding:13px 15px;color:#174f47;cursor:pointer;list-style:none}.history-capture>summary::-webkit-details-marker{display:none}.history-capture>summary>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#286d61;color:#fff;font-size:19px}.history-capture>summary strong,.history-capture>summary small{display:block}.history-capture>summary small{margin-top:2px;color:#73847f;font-size:10px;font-weight:500}.history-capture[open]>summary{border-bottom:1px solid #d8e5e2;background:#eef6f3}.history-capture[open]>summary>b{transform:rotate(90deg)}.history-capture .period-form{padding:18px}.history-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.history-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.history-form label{display:grid;gap:6px;color:#345952;font-size:12px;font-weight:750}.history-form label small{color:#7a8985;font-size:10px;font-weight:500}.history-form input,.history-form select,.history-form textarea,.history-capture .period-form input,.history-capture .period-form textarea{width:100%;padding:12px 13px;border:1px solid #cbdcd8;border-radius:10px;background:#fff;color:#173f3b}.history-form input:focus,.history-form select:focus,.history-form textarea:focus{outline:3px solid rgba(45,117,103,.12);border-color:#3e8175}.history-suggest{justify-self:start;margin:-5px 0 10px}.history-save-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;margin-top:5px;padding:11px 18px;border:0;border-radius:12px;background:linear-gradient(135deg,#1f6258,#347f72);color:#fff;font-weight:800;box-shadow:0 8px 18px rgba(31,98,88,.2);cursor:pointer}.history-save-button:hover{transform:translateY(-1px);box-shadow:0 11px 23px rgba(31,98,88,.26)}.history-save-button>span{font-size:15px}
@media(max-width:760px){.history-form-grid,.history-form-grid.two{grid-template-columns:1fr}.catalog-adopt-button,.catalog-ready-button{grid-template-columns:32px minmax(0,1fr) 18px}}
.ind1-launch{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:14px;margin:16px 0 20px;padding:16px;border:1px solid #91beb4;border-radius:16px;background:linear-gradient(135deg,#eaf5f1,#f9fcfb);color:#174f47;text-decoration:none}.ind1-launch>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#1f665b;color:#fff;font-family:Georgia,serif;font-size:20px}.ind1-launch strong,.ind1-launch small{display:block}.ind1-launch small{margin-top:4px;color:#71817d;font-size:11px}.ind1-launch>b{padding:9px 12px;border-radius:10px;background:#b18432;color:#fff;font-size:11px}.ind1-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:18px;padding:30px 34px;border-radius:24px;background:linear-gradient(135deg,#183f3b,#2f7469);color:#fff}.ind1-hero h2{max-width:820px;margin:11px 0 8px;font-family:Georgia,serif;font-size:clamp(28px,3vw,44px);line-height:1.05}.ind1-hero p{max-width:850px;margin:0;color:#d7e9e4}.ind1-hero-stats{display:flex;gap:8px}.ind1-hero-stats article{min-width:90px;padding:15px 10px;border:1px solid rgba(255,255,255,.18);border-radius:14px;text-align:center;background:rgba(255,255,255,.07)}.ind1-hero-stats strong,.ind1-hero-stats span{display:block}.ind1-hero-stats strong{font-family:Georgia,serif;font-size:30px}.ind1-hero-stats span{font-size:9px;text-transform:uppercase}.ind1-method{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:16px 20px}.ind1-method>div{display:grid;grid-template-columns:30px 1fr;column-gap:9px;align-items:center}.ind1-method>div>span{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:#e1efeb;color:#23695d;font-weight:850}.ind1-method strong,.ind1-method small{display:block}.ind1-method strong{font-size:11px}.ind1-method small{color:#788884;font-size:9px}.ind1-method>i{color:#b08231;font-style:normal}.ind1-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.ind1-programs{position:sticky;top:16px;padding:18px}.ind1-program-list{display:grid;gap:7px}.ind1-program-list>a{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:11px;border:1px solid #dce7e4;border-radius:12px;color:#254d46;text-decoration:none}.ind1-program-list>a.selected,.ind1-program-list>a:hover{border-color:#71a69a;background:#ecf5f2}.ind1-program-list>a>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#e0eeea;color:#22675b;font-weight:850}.ind1-program-list strong,.ind1-program-list small{display:block}.ind1-program-list strong{font-size:11px}.ind1-program-list small{margin-top:3px;color:#7b8a86;font-size:9px}.ind1-new-program{margin-top:14px;border-top:1px solid #e1e8e6;padding-top:13px}.ind1-new-program summary{color:#1f6258;font-size:11px;font-weight:800;cursor:pointer}.ind1-new-program form{display:grid;gap:10px;margin-top:12px}.ind1-new-program label,.ind1-profile{display:grid;gap:5px;color:#345a53;font-size:11px;font-weight:750}.ind1-new-program input,.ind1-new-program select,.ind1-profile textarea{width:100%;padding:11px;border:1px solid #cbdbd7;border-radius:10px;background:#fff}.ind1-review{padding:25px}.ind1-profile small{color:#7a8985;font-size:9px;font-weight:500}.ind1-criteria{display:grid;gap:13px;margin:20px 0}.ind1-criterion{border:1px solid #dae6e3;border-radius:16px;overflow:hidden;background:#fbfdfc}.ind1-criterion>header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 16px;background:#f1f7f5}.ind1-criterion>header>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#dcece8;color:#23685c;font-weight:850}.ind1-criterion header small,.ind1-criterion header h3{display:block;margin:0}.ind1-criterion header small{color:#7b8c87;font-size:9px;text-transform:uppercase}.ind1-criterion header h3{margin-top:2px;font-family:Georgia,serif;font-size:18px}.ind1-criterion header>b{padding:5px 8px;border-radius:999px;background:#e5ecea;color:#64746f;font-size:9px}.ind1-criterion.decision-si_similar,.ind1-criterion.decision-si_equivalente{border-color:#8bc2b5}.ind1-criterion.decision-si_similar header>b,.ind1-criterion.decision-si_equivalente header>b{background:#d9eee7;color:#17634f}.ind1-criterion.decision-no{border-color:#e2b8ae}.ind1-criterion.decision-no header>b{background:#f7e3de;color:#9a4938}.ind1-criterion>details{padding:10px 16px;border-top:1px solid #e3ebe9;border-bottom:1px solid #e3ebe9;background:#fff}.ind1-criterion>details summary{color:#8b6826;font-size:10px;font-weight:800;cursor:pointer}.ind1-criterion>details ul{margin:12px 0 5px;padding-left:18px}.ind1-criterion>details li{margin-bottom:8px;color:#5e706b;font-size:10px;line-height:1.45}.ind1-criterion-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px}.ind1-criterion-fields label{display:grid;gap:5px;color:#345a53;font-size:10px;font-weight:750}.ind1-criterion-fields label:first-child{grid-column:1/-1}.ind1-criterion-fields select,.ind1-criterion-fields textarea{width:100%;padding:10px;border:1px solid #cbdcd8;border-radius:9px;background:#fff}.ind1-empty{text-align:center;padding:80px 20px}.ind1-empty>span{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 14px;border-radius:18px;background:#e2efeb;color:#22675b;font-size:28px}.ind1-empty h2{font-family:Georgia,serif}.ind1-empty p{color:#74847f}@media(max-width:1050px){.ind1-layout{grid-template-columns:1fr}.ind1-programs{position:static}.ind1-method{display:grid;grid-template-columns:1fr 1fr}.ind1-method>i{display:none}.ind1-hero{align-items:flex-start;flex-direction:column}}@media(max-width:700px){.ind1-hero-stats{width:100%}.ind1-hero-stats article{flex:1;min-width:0}.ind1-method{grid-template-columns:1fr}.ind1-criterion-fields{grid-template-columns:1fr}.ind1-criterion-fields label:first-child{grid-column:auto}.ind1-launch{grid-template-columns:42px 1fr}.ind1-launch>b{grid-column:1/-1;text-align:center}}
.indicator-program-tabs{display:flex;gap:8px;margin-bottom:18px;padding:8px}.indicator-program-tabs a{display:flex;align-items:center;gap:8px;flex:1;padding:11px 14px;border-radius:11px;color:#55706a;text-decoration:none;font-size:11px;font-weight:800}.indicator-program-tabs a span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#e6efed;color:#24665b}.indicator-program-tabs a.current{background:#1f665b;color:#fff}.indicator-program-tabs a.current span{background:rgba(255,255,255,.16);color:#fff}.indicator-total{max-width:500px;margin:16px 0;padding:15px;border:1px solid #d7e5e1;border-radius:14px;background:#f5faf8}.indicator-total input,.indicator-program-fields input{width:100%;padding:10px;border:1px solid #cbdcd8;border-radius:9px;background:#fff}.indicator-program-fields label:first-child{grid-column:auto}.indicator-type-options{grid-column:1/-1;margin:0;padding:13px;border:1px solid #dce7e4;border-radius:12px}.indicator-type-options legend{padding:0 6px;color:#345a53;font-size:10px;font-weight:800}.indicator-type-options>label{display:flex;grid-template-columns:none;align-items:flex-start;gap:9px;margin:7px 0;padding:9px;border-radius:9px;background:#f3f8f6}.indicator-type-options input{width:auto;margin-top:3px}.indicator-type-options strong,.indicator-type-options small{display:block}.indicator-type-options small{margin-top:3px;color:#758681;font-weight:500}.indicator-evidence{grid-column:1/-1}.indicator-program-summary{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.indicator-program-summary label{padding:14px;border:1px solid #dce7e4;border-radius:13px;background:#f8fbfa}@media(max-width:700px){.indicator-program-tabs{display:grid}.indicator-program-summary{grid-template-columns:1fr}.indicator-evidence{grid-column:auto}}
.final-export-counts .internal-count{border-style:dashed;color:#7a8582;background:#f7f9f8}
.export-buttons{display:flex;gap:10px}.pdf-export-button{display:grid;grid-template-columns:38px auto;grid-template-rows:auto auto;column-gap:10px;align-content:center;min-width:172px;border:1px solid #d8bd78;border-radius:12px;padding:11px 14px;background:linear-gradient(135deg,#f5d98f,#e7bd57);color:#173f3b;text-decoration:none;box-shadow:0 7px 17px rgba(147,104,25,.18)}.pdf-export-button>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:30px;border-radius:7px;background:#fff8e7;color:#8b641e;font-size:8px;font-weight:900;letter-spacing:.04em}.pdf-export-button strong,.pdf-export-button small{display:block}.pdf-export-button strong{font-size:10px}.pdf-export-button small{color:#6e561f;font-size:7px}.pdf-export-button:hover{background:linear-gradient(135deg,#f8e3ad,#dcad3f)}.pdf-export-button.loading{pointer-events:none;opacity:.75}.export-score.listo{border-color:#a9ccc2;background:#edf7f3}.export-score.listo strong{color:#246458}.export-score.observaciones{border-color:#dfc98e;background:#fffaf0}.export-score.no_apto{border-color:#dfaaa5;background:#fff3f1}.export-score.no_apto strong{color:#a33f37}.export-observations li.critical{color:#963e37;font-weight:700}
.ai-declaration-template{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dfc98e;border-radius:13px;padding:13px 15px;background:#fffaf0}.ai-declaration-template strong,.ai-declaration-template small{display:block}.ai-declaration-template strong{color:#765617;font-size:10px}.ai-declaration-template small{margin-top:3px;color:#7d7462;font-size:8px}.ai-declaration-template button{flex:0 0 auto;border:1px solid #d2ae58;border-radius:10px;padding:10px 13px;background:#f5d98f;color:#60470f;font-size:9px;font-weight:850;cursor:pointer}.ai-declaration-template button:hover{background:#ebc86e}@media(max-width:680px){.ai-declaration-template{align-items:flex-start;flex-direction:column}.ai-declaration-template button{width:100%}}
@media(max-width:1150px){.final-export-status{align-items:stretch;flex-direction:column}.export-buttons{flex-wrap:wrap}}@media(max-width:680px){.export-buttons{flex-direction:column}.pdf-export-button,.word-export-button{min-height:56px}}
.ai-declaration-panel{margin-bottom:20px;padding:24px 28px;border-color:#d7e2df;background:#fff}.ai-declaration-panel>p{max-width:900px;margin:0 0 16px;color:#657570;font-size:10px;line-height:1.6}.ai-declaration-panel .settings-tag.pending{color:#8b6829;background:#fbf3df}.ai-declaration-form{display:grid;gap:13px}.ai-declaration-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-declaration-fields>.full{grid-column:1/-1}.ai-declaration-fields textarea{min-height:86px}.ai-declaration-fields[hidden]{display:none}.ai-declaration-form>.submit-button{justify-self:start}.readonly-note{padding:12px;border-radius:10px;background:#f4f7f6}@media(max-width:760px){.ai-declaration-fields{grid-template-columns:1fr}.ai-declaration-fields>.full{grid-column:auto}}
