@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Serif+Display&family=Fraunces:opsz,wght@9..144,400;9..144,700&family=Fustat:wght@300;400;500;600;700;800&family=IBM+Plex+Sans:wght@400;600;700&family=Lora:wght@400;600;700&family=Manrope:wght@400;500;700&family=Montserrat:wght@400;600;700&family=Space+Grotesk:wght@400;500;700&display=swap');
:root { --ink: #193f33; --muted: #66736c; --paper: #f7f7e7; --line: #d8dfd1; --forest: #193f33; --gold: #f9a551; --interra-green: #193f33; --interra-orange: #e06f50; --interra-peach: #f9a551; --interra-paper: #f7f7e7; --interra-ink: #193f33; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 90% 0%, #fae2c8 0, transparent 28rem), var(--paper); color: var(--ink); font-family: "Fustat", ui-sans-serif, system-ui, sans-serif; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { width: min(1080px, calc(100% - 2rem)); margin: 0 auto; }
.site-header { padding: 1.5rem 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); }
.wordmark { font-size: 1.12rem; font-weight: 700; letter-spacing: .04em; text-decoration: none; }
.tag { color: var(--muted); font-family: ui-sans-serif, system-ui, sans-serif; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.hero { min-height: 72vh; display: grid; place-items: center; padding: 3rem 0; }
.hero > div { max-width: 730px; }
h1 { font-size: clamp(2.6rem, 7vw, 5.7rem); line-height: .93; margin: 0 0 1.5rem; letter-spacing: -.055em; }
h2 { font-size: 1.7rem; margin: 0; }
p { line-height: 1.55; }
.lead { color: #35433d; font-size: 1.18rem; max-width: 58ch; }
.card { background: #fffefa; border: 1px solid var(--line); border-radius: .9rem; padding: clamp(1.25rem, 4vw, 2.4rem); box-shadow: 0 18px 42px rgba(25, 47, 37, .07); }
.narrow { max-width: 610px; margin: 4rem auto; }
.form { display: grid; gap: 1.05rem; margin-top: 1.8rem; }
label { display: grid; gap: .42rem; font-family: ui-sans-serif, system-ui, sans-serif; font-size: .9rem; font-weight: 650; }
input, select, textarea { width: 100%; border: 1px solid #bdc7bf; border-radius: .4rem; background: #fff; padding: .75rem .8rem; color: var(--ink); }
textarea { min-height: 6rem; resize: vertical; }
.button { display: inline-flex; justify-content: center; align-items: center; min-height: 2.7rem; padding: .65rem 1rem; border: 0; border-radius: .35rem; background: var(--forest); color: #fff; font-family: ui-sans-serif, system-ui, sans-serif; font-weight: 700; text-decoration: none; }
.button.secondary { background: transparent; border: 1px solid var(--forest); color: var(--forest); }
.button.danger { background: #9d3429; }
.button:disabled { opacity: .55; cursor: not-allowed; }
.notice { margin: 1rem 0 0; padding: .8rem; border-left: 3px solid var(--gold); background: #fffae9; }
.error { color: #9d3429; font-family: ui-sans-serif, system-ui, sans-serif; font-size: .9rem; }
.admin { padding: 2.3rem 0 5rem; }
.admin-top { display: flex; gap: 1rem; align-items: flex-end; justify-content: space-between; margin-bottom: 2rem; }
.admin-actions { display: flex; gap: .7rem; flex-wrap: wrap; }
.table-wrap { overflow-x: auto; margin-top: 1.4rem; }
table { width: 100%; border-collapse: collapse; font-family: ui-sans-serif, system-ui, sans-serif; font-size: .9rem; }
th, td { text-align: left; padding: .9rem .65rem; border-bottom: 1px solid var(--line); }
th { color: var(--muted); font-weight: 600; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.status { display: inline-block; border-radius: 99px; padding: .25rem .55rem; background: #e7eee9; color: #1f5a3d; font-size: .75rem; font-weight: 700; }
.status.REJECTED { background: #f9e5e2; color: #9d3429; }.status.stage-por_revisar { background: #fff3d5; color: #8a6113; }.status.stage-por_enviar { background: #e6eefb; color: #24508f; }.status.stage-error_envio, .status.stage-rechazadas { background: #f9e5e2; color: #9d3429; }.status.SUBMITTED { background: #fff3d5; color: #8a6113; }
.detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1.5rem 0; }
.detail-grid div { padding: .85rem; background: #f4f7f1; border-radius: .4rem; font-family: ui-sans-serif, system-ui, sans-serif; }
.detail-grid strong { display: block; color: var(--muted); font-size: .72rem; text-transform: uppercase; margin-bottom: .3rem; }
.review-actions { display: grid; gap: .8rem; margin-top: 1.5rem; }
.brand-preview { border: 3px solid; padding: 2rem; display: grid; gap: .5rem; }.brand-preview span { font-size: .75rem; font-weight: 800; letter-spacing: .08em; }.brand-preview strong { font-size: 2.4rem; }.brand-preview p { margin: 0; }
.brand-form-shell { --brand-primary: #163d33; --brand-accent: #d7df51; --brand-background: #f4f4ed; min-height: 100vh; padding: 1.5rem; background: radial-gradient(circle at 88% 5%, var(--brand-accent), transparent 22rem), linear-gradient(135deg, var(--brand-background), var(--brand-background)); color: var(--brand-on-background); font-family: var(--brand-body), sans-serif; }.brand-form-header { width: min(900px, 100%); margin: 0 auto; min-height: 92px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.28); color: var(--brand-on-background); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }.brand-form-name { font-size: 1.55rem; text-transform: none; letter-spacing: -.04em; }.brand-form-logo { display: block; max-width: 190px; max-height: 62px; object-fit: contain; object-position: left center; }.brand-form-card { width: min(700px, 100%); margin: clamp(2.5rem, 8vw, 6.5rem) auto; padding: clamp(1.6rem, 5vw, 3.4rem); background: #fffdf9; color: var(--brand-ink); border-radius: 1.2rem; border: 1px solid rgba(255,255,255,.45); box-shadow: 0 32px 75px rgba(7, 13, 11, .28); }.brand-form-heading { border-left: 6px solid var(--brand-accent); padding-left: 1.1rem; margin-bottom: 2.2rem; }.brand-form-card h1 { color: var(--brand-ink); margin: .25rem 0 0; font-size: clamp(2.5rem, 7vw, 4.9rem); line-height: .94; letter-spacing: -.06em; }.brand-form-card .brand-form-eyebrow { color: var(--brand-ink); margin: 0; font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }.brand-form-card p { color: var(--brand-ink); }.brand-form-card label { color: var(--brand-ink); font-family: var(--brand-body), sans-serif; }.brand-form-card label small { color: rgba(21,34,29,.64); font-weight: 500; }.brand-form-card input, .brand-form-card select, .brand-form-card textarea { border: 1px solid rgba(21,34,29,.24); background: #fff; color: #15221d; border-radius: .55rem; padding: .84rem .9rem; }.brand-form-card input:focus, .brand-form-card select:focus, .brand-form-card textarea:focus { outline: 3px solid color-mix(in srgb, var(--brand-accent) 55%, transparent); border-color: var(--brand-action); }.brand-form-card .button { background: var(--brand-action); color: var(--brand-on-action); border-radius: .55rem; min-height: 3rem; padding: .75rem 1.2rem; }.brand-form-card .button:hover { filter: brightness(.9); }
.brand-form-card .brand-form-subtitle { margin: 1.1rem 0 0; max-width: 55ch; color: rgba(21,34,29,.72); font-size: 1rem; line-height: 1.6; }
.brand-form-card label.has-error input, .brand-form-card label.has-error select, .brand-form-card label.has-error textarea { border-color: #b7352b; background: #fff6f4; }.brand-form-card .field-error { color: #9d3429; font-weight: 700; line-height: 1.35; }
.reference-options { display: grid; max-height: 220px; overflow: auto; border: 1px solid rgba(21,34,29,.18); border-radius: .55rem; background: #fff; }.reference-options button { display: flex; justify-content: space-between; gap: .75rem; border: 0; border-bottom: 1px solid #edf0eb; background: transparent; padding: .65rem .75rem; text-align: left; color: #15221d; }.reference-options button:hover { background: #f0f5ed; }.reference-options button small { color: #68756d; }.reference-options span, .selected-reference { padding: .65rem .75rem; color: #58675f; font-weight: 500; }.selected-reference { background: #edf5ec; border-radius: .45rem; }.selected-reference button { margin-left: .5rem; border: 0; background: transparent; color: #245f4d; font-weight: 700; text-decoration: underline; }
.integration-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); gap: 1rem; margin-top: 2rem; }.integration-card { background: #fbfbf7; border: 1px solid #d7ddd5; padding: 1.3rem; display: grid; gap: 1.2rem; }.endpoint-list { display: grid; gap: .7rem; }.endpoint-list > div { border-top: 1px solid #dfe4dc; padding-top: .75rem; display: grid; gap: .28rem; }.endpoint-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #68756d; } summary { cursor: pointer; color: #245f4d; font-weight: 700; }
.integrations-page { max-width: 1240px; }.integrations-hero { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 2rem; align-items: end; padding: 2.2rem 2.4rem; color: #f8f7ef; background: linear-gradient(120deg, #103d33, #175a4b 64%, #7b9a52); box-shadow: 0 20px 48px rgba(18, 64, 51, .18); }.integrations-hero h1 { max-width: 13ch; font-size: clamp(2.8rem, 5vw, 4.8rem); margin-bottom: 1rem; }.integrations-hero p:not(.tag) { max-width: 60ch; color: #dce9df; margin: 0; }.integrations-hero .tag { color: #dceea0; }.integrations-hero aside { display: grid; gap: .2rem; padding: 1.25rem; border-left: 1px solid rgba(255,255,255,.34); }.integrations-hero aside strong { font: 4rem/.85 Georgia, serif; }.integrations-hero aside span { font: 700 .8rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }.integrations-hero aside small { margin-top: .65rem; color: #d9e7dd; }.integration-guide { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 1rem 0 2.2rem; background: #d8dfd7; border: 1px solid #d8dfd7; }.integration-guide span { display: grid; grid-template-columns: auto 1fr; column-gap: .6rem; align-items: center; padding: .85rem 1rem; background: #f8f8f2; color: #72907c; font: 700 .78rem ui-sans-serif, system-ui, sans-serif; }.integration-guide b { color: var(--ink); }.integration-guide small { grid-column: 2; color: #718078; font-weight: 500; }.brand-integration-list { display: grid; gap: 1.5rem; }.integration-brand { border: 1px solid #d7ddd5; background: #fbfbf7; }.integration-brand-header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.2rem 1.4rem; border-left: 6px solid; border-bottom: 1px solid #dce2da; }.integration-brand-header > div:first-child { display: grid; grid-template-columns: 12px auto; column-gap: .7rem; align-items: center; }.brand-dot { width: 12px; height: 12px; border-radius: 99px; grid-row: 1 / 3; }.integration-brand-header .tag { margin: 0; }.integration-brand-header h2 { font-size: 1.55rem; }.brand-connection-state { display: grid; gap: .2rem; text-align: right; }.brand-connection-state span { color: #6b796f; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .08em; }.brand-connection-state strong { font: 1rem Georgia, serif; }.connection-stack { display: grid; gap: 1px; background: #dfe5dd; }.connection-panel { display: grid; gap: 0; background: #fffefa; }.connection-panel.is-active { border-left: 4px solid #6c9b58; }.connection-overview { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(380px, 1.6fr); gap: 1.5rem; padding: 1.25rem 1.4rem; align-items: start; }.connection-label { display: flex; gap: .4rem; align-items: center; }.connection-label .status { padding: .19rem .45rem; }.active-pill { padding: .2rem .45rem; background: #dcebb7; color: #355625; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .05em; }.connection-overview h3 { margin: .65rem 0 .25rem; font: 1.45rem Georgia, serif; }.connection-overview > div > p { margin: 0; color: #68756d; font-size: .88rem; }.connection-overview dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin: 0; }.connection-overview dl div { min-width: 0; }.connection-overview dt { margin-bottom: .25rem; color: #7a877f; font: 700 .66rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .06em; }.connection-overview dd { margin: 0; overflow: hidden; color: #24332c; font: .88rem ui-sans-serif, system-ui, sans-serif; text-overflow: ellipsis; white-space: nowrap; }.connection-error { grid-column: 1 / -1; margin: 0; padding: .7rem .85rem; border-left: 3px solid #a33b2d; background: #fff0ed; color: #8b3025; font: .83rem ui-sans-serif, system-ui, sans-serif; }.connection-editor, .connection-endpoints, .new-connection { border-top: 1px solid #dfe5dd; }.connection-editor > summary, .connection-endpoints > summary, .new-connection > summary { display: flex; justify-content: space-between; align-items: center; padding: .85rem 1.4rem; color: #194f40; font-family: ui-sans-serif, system-ui, sans-serif; }.connection-editor > summary small, .new-connection > summary small { color: #76847b; font-size: .76rem; font-weight: 500; }.connection-editor-body { padding: 0 1.4rem 1.4rem; }.company-sync { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem; background: #f0f5ed; border: 1px solid #d8e2d3; }.company-sync .tag { margin: 0 0 .2rem; }.company-sync strong, .company-sync small { display: block; }.company-sync small { margin-top: .25rem; color: #64736a; }.connection-form { display: grid; gap: 1rem; margin-top: 1rem; }.connection-form-section { padding-top: 1rem; border-top: 1px solid #e0e5de; }.connection-form-section > p { margin: 0 0 .7rem; color: #52645a; font: 700 .72rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .07em; }.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }.activate-connection { align-self: end; padding: .72rem .8rem; background: #f0f5ed; border: 1px solid #d9e4d2; min-height: 48px; }.advanced-settings { padding-top: .2rem; }.advanced-settings > summary { color: #687970; font: 700 .78rem ui-sans-serif, system-ui, sans-serif; }.advanced-settings .form-grid { padding: .9rem 0 .1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }.connection-endpoints > summary span { min-width: 1.5rem; padding: .1rem .35rem; border-radius: 99px; background: #e8eee7; color: #375849; text-align: center; }.connection-endpoints[open] { background: #f7f9f5; }.connection-endpoints .endpoint-list { padding: 0 1.4rem; }.connection-endpoints .endpoint-list > div { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }.connection-endpoints .endpoint-list > div > div { min-width: 0; display: grid; gap: .22rem; }.empty-endpoints { margin: 0; color: #718078; font-size: .86rem; }.endpoint-form { display: grid; grid-template-columns: minmax(130px, .7fr) 100px minmax(210px, 1.5fr) auto; gap: .6rem; padding: 1rem 1.4rem 1.3rem; }.endpoint-form input, .endpoint-form select { min-width: 0; }.new-connection { margin: 1rem; border: 1px dashed #adbbaf; background: #f6f8f3; }.new-connection[open] { background: #fffefa; }.new-connection .connection-form { padding: 0 1.4rem 1.4rem; }.new-connection .advanced-settings .form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.brands-page { max-width: 1180px; }.brands-hero { display: flex; justify-content: space-between; gap: 2rem; align-items: flex-end; padding-bottom: 2rem; border-bottom: 1px solid #dce2da; }.brands-hero h1 { max-width: 13ch; font-size: clamp(3rem, 5vw, 5rem); }.brands-hero p:not(.tag) { max-width: 62ch; color: #526157; }.new-brand { width: min(360px, 100%); padding: 1.1rem; background: #ecf2e7; border: 1px solid #cedbc7; }.new-brand > summary { color: #174e3e; font: 700 .92rem ui-sans-serif, system-ui, sans-serif; }.new-brand .connection-form { margin: 1rem 0 0; }.new-brand small { color: #66776b; font-size: .75rem; font-weight: 500; }.new-brand input[type="color"] { min-height: 46px; padding: .2rem; }.brand-stat-row { display: flex; gap: 2.5rem; padding: 1rem 0; color: #5f6e65; font: .85rem ui-sans-serif, system-ui, sans-serif; }.brand-stat-row strong { margin-right: .3rem; color: #17362c; font-size: 1.2rem; }.brand-control-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(285px, 1fr)); gap: 1rem; }.brand-control-card { position: relative; overflow: hidden; display: grid; gap: 1rem; padding: 1.25rem; border: 1px solid #d9dfd7; border-top: 5px solid var(--brand-primary); background: #fffefa; }.brand-control-card::after { position: absolute; width: 11rem; height: 11rem; right: -6rem; bottom: -7rem; border: 1.7rem solid var(--brand-accent); border-radius: 50%; opacity: .35; content: ""; }.brand-control-card header, .brand-control-actions, .brand-control-metrics, .brand-lifecycle { position: relative; z-index: 1; }.brand-control-card header { display: grid; grid-template-columns: 48px 1fr; gap: .85rem; align-items: center; }.brand-color-orbit { position: relative; width: 43px; height: 43px; border: 2px solid var(--brand-primary); border-radius: 50%; }.brand-color-orbit i { position: absolute; width: 11px; height: 11px; border-radius: 50%; background: var(--brand-accent); }.brand-color-orbit i:nth-child(1) { top: -4px; left: 8px; }.brand-color-orbit i:nth-child(2) { right: -4px; bottom: 9px; background: var(--brand-primary); }.brand-color-orbit i:nth-child(3) { bottom: -4px; left: 9px; background: #fffefa; border: 1px solid var(--brand-primary); }.brand-control-card .tag { margin: 0; }.brand-control-card h2 { margin: .15rem 0 .35rem; }.brand-status { padding: .18rem .42rem; background: #ddedc4; color: #355226; font: 700 .67rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }.brand-control-metrics { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #dfe5dd; border-bottom: 1px solid #dfe5dd; }.brand-control-metrics span { display: grid; gap: .2rem; padding: .75rem .35rem; color: #728077; font: .7rem ui-sans-serif, system-ui, sans-serif; text-align: center; }.brand-control-metrics span + span { border-left: 1px solid #dfe5dd; }.brand-control-metrics strong { color: #20372c; font: 1.25rem Georgia, serif; }.brand-control-actions { display: flex; flex-wrap: wrap; gap: .5rem; }.brand-control-actions .button { min-height: 2.35rem; font-size: .82rem; }.brand-lifecycle { border-top: 1px solid #dfe5dd; padding-top: .75rem; }.brand-lifecycle > summary { color: #69776e; font: 700 .76rem ui-sans-serif, system-ui, sans-serif; }.brand-lifecycle p { color: #67766d; font-size: .78rem; }.brand-lifecycle form { display: inline-block; margin-right: .5rem; }.brand-lifecycle .button { min-height: 2.2rem; font-size: .75rem; }.text-danger { border: 0; padding: .45rem 0; background: transparent; color: #9d3429; font: 700 .74rem ui-sans-serif, system-ui, sans-serif; }.inactive-brands { display: grid; gap: .7rem; margin-top: 2.5rem; padding-top: 1.4rem; border-top: 1px solid #dce2da; }.inactive-brands h2 { font-size: 1.4rem; }.inactive-brands > article { display: flex; justify-content: space-between; align-items: center; padding: .85rem 1rem; border: 1px solid #dde2db; background: #f5f6f1; }.inactive-brands strong, .inactive-brands small { display: block; }.inactive-brands small { margin-top: .2rem; color: #77847c; }
.form-studio-page { max-width: 1240px; }.form-studio-hero { display: grid; grid-template-columns: minmax(0, 1fr) 355px; gap: 2rem; align-items: end; padding: 2.4rem; background: linear-gradient(135deg, #193d35, #234d42 58%, #b56a3f); color: #fffaf1; }.form-studio-hero .tag { color: #f0ca86; }.form-studio-hero h1 { max-width: 12ch; font-size: clamp(3rem, 5.4vw, 5.1rem); }.form-studio-hero p:not(.tag) { max-width: 61ch; margin: 0; color: #dce7de; }.new-form-dialog { padding: 1.1rem; background: #fffdf7; color: #1c2e27; box-shadow: 0 14px 30px rgba(7,23,17,.25); }.new-form-dialog > summary { color: #1d5b49; font: 800 .9rem ui-sans-serif, system-ui, sans-serif; }.new-form-dialog .connection-form { margin: 1rem 0 0; }.new-form-dialog small { color: #68776f; font-size: .73rem; font-weight: 500; }.form-catalog-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: .8rem 1.25rem; margin: 1.4rem 0 .5rem; }.form-search { position: relative; display: grid; gap: .28rem; color: #647269; font: 700 .72rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .07em; }.form-search input { min-height: 46px; border-radius: 0; border-color: #9aaba0; background: #fffefa; }.form-filter-group, .brand-filter-row { display: flex; flex-wrap: wrap; gap: .35rem; align-items: end; }.form-filter-group button, .brand-filter-row button { border: 1px solid #c9d3ca; border-radius: 99px; padding: .52rem .75rem; background: #f8f8f3; color: #57675e; font: 700 .76rem ui-sans-serif, system-ui, sans-serif; }.form-filter-group button.active, .brand-filter-row button.active { border-color: #1e5948; background: #1e5948; color: #fff; }.brand-filter-row { grid-column: 1 / -1; padding-top: .8rem; border-top: 1px solid #d9dfd8; }.form-catalog-result { display: flex; justify-content: space-between; padding: .75rem 0; color: #697970; font: .8rem ui-sans-serif, system-ui, sans-serif; }.form-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 1rem; }.studio-form-card { display: grid; gap: 1rem; padding: 1.2rem; border: 1px solid #d7dfd7; border-top: 4px solid #285e4c; background: #fffefa; box-shadow: 0 7px 18px rgba(30,50,40,.04); }.studio-form-card.is-inactive { border-top-color: #9aa69d; background: #f5f6f1; opacity: .82; }.studio-form-card header { display: grid; grid-template-columns: 35px 1fr auto; gap: .65rem; align-items: center; }.form-brand-mark { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; background: #e1ebd7; color: #275b49; font: 700 1rem Georgia, serif; }.studio-form-card .tag { margin: 0; }.studio-form-card h2 { margin: .15rem 0 0; font-size: 1.45rem; }.form-state { padding: .18rem .4rem; background: #e3e7e2; color: #68766d; font: 800 .64rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .06em; text-transform: uppercase; }.form-state.active { background: #dcedc5; color: #365a28; }.form-card-meta { display: flex; flex-wrap: wrap; gap: .35rem; }.form-card-meta span { padding: .25rem .45rem; border: 1px solid #d9e0d8; color: #5f6f66; font: .7rem ui-sans-serif, system-ui, sans-serif; }.form-code { margin: 0; color: #8a968f; font: .76rem ui-monospace, monospace; }.public-form-link { margin: 0; padding: .55rem .65rem; background: #edf5e8; color: #245b47; font: .78rem ui-monospace, monospace; }.form-card-actions { display: flex; gap: .5rem; }.form-card-actions form, .form-card-actions .button { flex: 1; }.form-card-actions .button { width: 100%; min-height: 2.45rem; font-size: .78rem; }.form-publication { border-top: 1px solid #dce3dc; padding-top: .75rem; }.form-publication > summary { color: #547066; font: 700 .76rem ui-sans-serif, system-ui, sans-serif; }.form-publication .connection-form { margin-top: .8rem; }.form-publication .button { justify-self: start; min-height: 2.35rem; font-size: .76rem; }.form-empty { display: grid; gap: .4rem; grid-column: 1 / -1; place-items: center; min-height: 190px; border: 1px dashed #adb9ae; color: #627168; background: #f6f8f4; text-align: center; }
.form-editor-page { max-width: 1240px; }.editor-back { display: inline-block; margin-bottom: 1.2rem; color: #245b49; font: 700 .78rem ui-sans-serif, system-ui, sans-serif; text-decoration: none; }.editor-back::before { content: "← "; }.form-editor-hero { display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 2rem; align-items: end; padding-bottom: 1.6rem; border-bottom: 1px solid #cfd8cf; }.form-editor-hero h1 { max-width: 13ch; font-size: clamp(3rem, 5.1vw, 4.8rem); }.form-editor-hero p:not(.tag) { max-width: 62ch; color: #607066; }.editor-kpis { display: grid; grid-template-columns: repeat(2, 1fr); border: 1px solid #cfd9cf; background: #fbfcf8; }.editor-kpis span { display: grid; gap: .15rem; padding: .8rem; color: #6b7a70; font: .72rem ui-sans-serif, system-ui, sans-serif; }.editor-kpis span:nth-child(odd) { border-right: 1px solid #dbe2da; }.editor-kpis span:nth-child(n+3) { border-top: 1px solid #dbe2da; }.editor-kpis strong { color: #244438; font: 1.55rem Georgia, serif; }.editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 1.5rem; margin-top: 1.4rem; }.editor-presentation { padding: 1.1rem 1.2rem; border: 1px solid #d5ded4; background: #f6f9f3; }.editor-presentation > summary { display: flex; justify-content: space-between; gap: 1rem; color: #194e3e; font: 800 .9rem ui-sans-serif, system-ui, sans-serif; }.editor-presentation > summary small { color: #738078; font-size: .73rem; font-weight: 500; }.editor-presentation .connection-form { margin-top: 1rem; }.editor-section-heading { display: flex; justify-content: space-between; align-items: end; margin: 2rem 0 .8rem; }.editor-section-heading .tag { margin: 0; }.editor-section-heading h2 { margin: .2rem 0 0; font-size: 1.8rem; }.editor-section-heading > span { color: #75847b; font: .74rem ui-sans-serif, system-ui, sans-serif; }.field-editor-list { display: grid; gap: .65rem; }.field-editor-card { border: 1px solid #d8e0d7; background: #fffefa; }.field-editor-card > header { display: grid; grid-template-columns: 34px minmax(0, 1fr) auto auto; gap: .65rem; align-items: center; padding: .75rem .9rem; }.field-order { color: #8b968f; font: .72rem ui-monospace, monospace; }.field-editor-card strong, .field-editor-card small { display: block; }.field-editor-card small { margin-top: .15rem; color: #758278; font: .72rem ui-monospace, monospace; }.required-chip, .optional-chip, .system-chip { padding: .2rem .38rem; font: 700 .63rem ui-sans-serif, system-ui, sans-serif; letter-spacing: .05em; text-transform: uppercase; }.required-chip { background: #f4e5bc; color: #7a5710; }.optional-chip { background: #e8ece7; color: #6a786f; }.system-chip { background: #dce9dc; color: #276044; }.field-editor-card > details { border-top: 1px solid #e1e6e0; }.field-editor-card > details > summary { padding: .65rem .9rem; color: #386352; font: 700 .75rem ui-sans-serif, system-ui, sans-serif; }.field-editor-form { display: grid; gap: .9rem; padding: .25rem .9rem .9rem; }.field-wide { grid-column: 1 / -1; }.field-editor-form .button { justify-self: start; }.remove-field { padding: 0 .9rem .75rem; }.remove-field button { border: 0; background: transparent; padding: 0; color: #a13a2d; font: 700 .72rem ui-sans-serif, system-ui, sans-serif; }.editor-add-field { align-self: start; position: sticky; top: 1rem; padding: 1.2rem; border: 1px solid #cddac9; background: #eaf2e5; }.editor-add-field .tag { margin: 0; }.editor-add-field h2 { margin: .3rem 0 .55rem; font-size: 1.65rem; }.editor-add-field > p:not(.tag) { color: #64746a; font-size: .84rem; }.editor-add-field .connection-form { margin-top: 1rem; }.editor-add-field small { color: #6c7c72; font-size: .72rem; font-weight: 500; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 2rem; }
.manage-list { display: grid; gap: 1rem; margin: 2rem 0; }.manage-card { background: #fbfbf7; border: 1px solid #d7ddd5; padding: 1.2rem; }.group-editor { display: grid; grid-template-columns: 1fr 1fr auto auto; align-items: end; gap: .65rem; }.group-editor label { min-width: 0; }.checkbox { display: flex; align-items: center; gap: .5rem; }.checkbox input { width: auto; }.editable-links { display: grid; gap: .5rem; margin-top: 1rem; }.editable-links details { border-top: 1px solid #dce2da; padding-top: .7rem; }.editable-links summary { display: flex; justify-content: space-between; }.editable-links details .form { padding-top: .9rem; max-width: 680px; } select[multiple] { min-height: 7rem; }
.filter-row { display: flex; flex-wrap: wrap; gap: .5rem; }.filter-row a { border: 1px solid #bdc7bf; padding: .45rem .6rem; border-radius: 999px; text-decoration: none; font-size: .78rem; }.filter-row a.active-filter { background: #163d33; color: white; border-color: #163d33; }
.invoice-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.invoice-field-grid label b { margin-left: .25rem; color: #b8442a; }.invoice-items { display: grid; gap: .75rem; margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid #dbe4d8; }.invoice-items h3 { margin: 0; }.invoice-item { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; align-items: end; padding: .8rem; border: 1px solid #d8e3d6; background: #f8faf6; }.invoice-item .button { min-height: 46px; justify-self: start; }.invoice-reject-form { margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid #dbe4d8; }.table-subtext, .table-warning { display: block; margin-top: .25rem; color: #687970; font-size: .72rem; }.table-warning { color: #9d3429; font-weight: 700; }.invoice-status-error { background: #f9e5e2; color: #9d3429; }.invoice-status-rechazado { background: #f9e5e2; color: #9d3429; }.invoice-status-already_exists { background: #e8edf4; color: #3f5872; }.invoice-status-pendiente_aprobacion { background: #fff3d5; color: #8a6113; }
.source-badge { display: inline-block; padding: .25rem .5rem; border-radius: 999px; font-size: .72rem; font-weight: 800; }.source-form { background: #e7eee9; color: #1f5a3d; }.source-agent { background: #f9dfc5; color: #8a4825; }
.invoice-detail-layout { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(400px, 1.35fr) minmax(250px, .7fr); gap: 1rem; }.invoice-preview { height: min(70vh, 760px); margin-top: 1rem; overflow: hidden; border: 1px solid #d8e3d6; background: #eef1eb; }.invoice-preview iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }.invoice-preview-link { display: inline-block; margin-top: .75rem; color: #245b49; font: 700 .78rem ui-sans-serif, system-ui, sans-serif; }.invoice-item label { min-width: 0; line-height: 1.2; }.invoice-item label > span { display: block; margin-bottom: .42rem; white-space: normal; }.invoice-item input { min-width: 0; }
.detail-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(290px, .7fr); gap: 1rem; margin-top: 1rem; }.request-detail .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.field-title { display: flex; justify-content: space-between; gap: 1rem; align-items: center; }.form-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }.form-columns > button { grid-column: 1 / -1; justify-self: start; }
.member-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin: 1rem 0; }.member-chips span { background: #e7eee9; border-radius: 999px; padding: .35rem .6rem; font-size: .78rem; }.inline-form { grid-template-columns: 1fr 1fr auto; align-items: end; }
.workspace { min-height: 100vh; display: grid; grid-template-columns: 245px minmax(0, 1fr); background: #f1f0ea; font-family: ui-sans-serif, system-ui, sans-serif; }
.admin-shell.workspace { display:block; padding-top:64px; }
.admin-shell .workspace-toolbar { position:fixed; inset:0 0 auto; height:64px; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0 1.25rem; background:#f7f7e7; color:#193f33; border-bottom:1px solid #d7e1d4; font-weight:700; }
.admin-shell .nav-toggle { display:inline-flex; align-items:center; gap:.6rem; min-height:44px; padding:.5rem .75rem; background:#193f33; color:#f7f7e7; border:0; border-radius:.6rem; font:inherit; cursor:pointer; }
.admin-shell .sidebar { position:fixed; inset:64px auto 0 0; width:260px; box-sizing:border-box; overflow-y:auto; z-index:40; transition:transform .2s ease; }
.admin-shell.nav-closed .sidebar { transform:translateX(-100%); visibility:hidden; }
.admin-shell.nav-open .workspace-content { margin-left:260px; }
.admin-shell .workspace-content { transition:margin-left .2s ease; }
.admin-shell .sidebar nav { grid-template-columns:1fr; }
.admin-shell .sidebar nav a { display:flex; align-items:center; gap:.75rem; min-height:44px; }
.admin-shell .sidebar nav svg { flex-shrink:0; }
.admin-shell .sidebar-user { display:grid; }
.admin-shell .nav-backdrop { display:none; }
.skip-content { position:absolute; left:-10000px; }
.skip-content:focus { left:50%; padding:.6rem; background:white; }
.nav-toggle:focus-visible, .sidebar a:focus-visible { outline:3px solid #e06f50; outline-offset:3px; }
.form input[aria-invalid="true"] { border-color:#a52a21; }
.password-access { min-width:0; margin:1rem 0; padding:1.25rem; border:1px solid #d5dfd2; border-radius:.8rem; background:#f7f8f1; }
.password-access p { max-width:65ch; font-size:.9rem; line-height:1.5; }
.password-access .button { white-space:normal; min-height:44px; max-width:100%; }
.password-link-result { display:grid; gap:.75rem; margin-top:1rem; }
.password-link-result label { display:grid; gap:.4rem; min-width:0; }
.password-link-result input { width:100%; box-sizing:border-box; min-width:0; padding:.75rem; border:1px solid #b9c7ba; border-radius:.5rem; font-size:16px; }
.password-link-result small { color:#4f6256; }
.password-account { max-width:520px; padding-bottom:3rem; }
.password-form input { width:100%; box-sizing:border-box; min-height:44px; font-size:16px; }
.password-form .error { margin:0; }
/* Accesos: editor independiente y portal compacto. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.access-workspace { padding-bottom:4rem; }
.access-heading { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; margin-bottom:1.6rem; }
.access-heading h1 { margin:.3rem 0; font-size:clamp(1.8rem,3.5vw,2.8rem); line-height:1.1; letter-spacing:-.04em; }
.access-heading p { margin:.4rem 0; color:#627167; }
.access-tabs { display:flex; gap:.35rem; overflow-x:auto; padding:.4rem; background:#e9eee5; border-radius:.85rem; }
.access-tabs button { display:flex; flex:1; align-items:center; justify-content:center; gap:.65rem; border:0; border-radius:.6rem; padding:.8rem 1rem; min-height:46px; color:#193f33; background:transparent; font-weight:700; white-space:nowrap; }
.access-tabs button[aria-pressed="true"] { background:#193f33; color:#fffdf3; box-shadow:0 3px 8px #193f3320; }
.access-tabs button span { padding:.1rem .4rem; border-radius:99px; background:#ffffff22; font-size:.75rem; }
.access-toolbar { display:flex; gap:.8rem; align-items:center; margin:1.4rem 0; flex-wrap:wrap; }
.access-toolbar label { flex:1; min-width:180px; }
.access-toolbar input,.access-toolbar select { width:100%; min-height:46px; padding:.7rem 1rem; border:1px solid #c8d3c7; border-radius:.6rem; background:#fffefa; color:#193f33; }
.access-toolbar select { width:auto; max-width:100%; }
.access-toolbar>.button { margin-left:auto; }
.access-explainer { color:#5e7065; line-height:1.5; max-width:70ch; }
.access-list { display:grid; gap:.65rem; align-items:start; }
.access-row { display:flex; align-items:center; gap:1rem; padding:1rem; border:1px solid #d5dfd2; border-radius:.8rem; background:#fffefa; }
.access-tile { display:grid; place-items:center; width:48px; height:48px; flex-shrink:0; border-radius:.75rem; color:#193f33; background:#edf0e5; }
.access-row-copy { display:grid; min-width:0; gap:.18rem; flex:1; }
.access-row-copy strong { font-size:1.03rem; overflow-wrap:anywhere; }
.access-row-copy small { color:#637267; overflow-wrap:anywhere; }
.access-status { font-size:.73rem; color:#516248; }
.access-row-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.45rem; }
.access-row-actions button,.access-row-actions a,.access-person-removal button { border:1px solid #d3ddce; border-radius:.5rem; min-height:44px; padding:.55rem .75rem; background:transparent; color:#193f33; font-weight:700; font-size:.82rem; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; }
.access-delete { color:#a23327!important; }
.access-row-actions button:hover,.access-row-actions a:hover { background:#edf0e5; }
.access-empty { padding:2.5rem 1.5rem; background:#edf0e5; border:1px dashed #b7c6b3; border-radius:.8rem; text-align:center; }
.access-empty h2 { font-size:1.5rem; }
.access-notice { padding:.8rem 1rem; background:#e0eddf; border:1px solid #bad0b7; border-radius:.6rem; display:flex; justify-content:space-between; align-items:center; }
.access-notice button { background:none; border:0; font-size:1.4rem; min-width:44px; min-height:44px; }
.access-dialog { width:min(700px,calc(100% - 2rem)); max-height:90svh; margin:auto; padding:0; border:1px solid #ccd8c8; border-radius:1rem; color:#193f33; background:#fffefa; box-shadow:0 25px 90px #102f263f; overscroll-behavior:contain; }
.access-dialog::backdrop { background:rgba(15,34,27,.58); backdrop-filter:blur(3px); }
.access-dialog>header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.4rem 1.5rem; border-bottom:1px solid #e1e7dc; }
.access-dialog h2 { font-size:1.65rem; margin:.25rem 0 0; overflow-wrap:anywhere; }
.access-dialog .tag { margin:0; font-size:.7rem; }
.access-dialog>header>button { border:0; background:#eef1e8; color:#193f33; border-radius:50%; width:44px; height:44px; font-size:1.6rem; flex-shrink:0; }
.access-editor-form { display:grid; gap:1.1rem; padding:1.4rem 1.5rem 0; }
.access-editor-form>label,.access-form-row>label { display:grid; gap:.4rem; font-size:.9rem; font-weight:700; min-width:0; }
.access-editor-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.access-editor-form select,.access-editor-form textarea { width:100%; min-width:0; min-height:46px; border:1px solid #bfcdbd; border-radius:.55rem; padding:.65rem .8rem; background:white; color:#193f33; font-size:16px; }
.access-editor-form small { font-weight:400; color:#637267; font-size:.78rem; }
.access-editor-form p { margin:0; line-height:1.5; }
.access-editor-form input[type="checkbox"],.access-editor-form input[type="radio"] { width:18px; height:18px; accent-color:#193f33; flex-shrink:0; }
.access-editor-form .access-check { display:flex; align-items:center; gap:.65rem; min-height:44px; }
.access-editor-form footer { position:sticky; bottom:0; display:flex; justify-content:flex-end; gap:.75rem; padding:1rem 0; background:#fffefa; border-top:1px solid #e1e7dc; }
.access-editor-form .button { min-height:46px; }
.access-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.access-choices { border:1px solid #d8e0d2; border-radius:.6rem; padding:1rem; min-width:0; }
.access-choices legend { font-weight:700; padding:0 .4rem; }
.access-choices>div { display:grid; max-height:200px; overflow:auto; margin-top:.6rem; }
.access-choices label { display:flex; gap:.65rem; align-items:center; padding:.5rem; min-height:44px; border-bottom:1px solid #edf0e8; overflow-wrap:anywhere; }
.access-icon-options { display:flex; flex-wrap:wrap; gap:.5rem; border:0; padding:0; min-width:0; }
.access-icon-options legend { margin-bottom:.5rem; font-weight:700; }
.access-icon-options label { display:flex; align-items:center; gap:.35rem; padding:.55rem; border:1px solid #d8e0d2; border-radius:.5rem; font-size:.75rem; cursor:pointer; }
.access-people-panel .hub-people { display:grid; grid-template-columns:1fr; gap:.8rem; }
.access-people-panel .hub-people>details { align-self:start; }
.access-person-removal { margin-top:1.5rem; padding:1rem; border:1px solid #decfc6; border-radius:.6rem; }
.access-person-removal summary { cursor:pointer; min-height:44px; }
.access-person-removal>div { display:flex; justify-content:space-between; gap:1rem; align-items:center; border-top:1px solid #e0e6dc; padding:.7rem 0; overflow-wrap:anywhere; }
.access-workspace :focus-visible,.access-dialog :focus-visible,.launchpad :focus-visible { outline:3px solid #df804d; outline-offset:3px; }
.launchpad { min-height:100vh; background:linear-gradient(120deg,#f6f7ed,#eef2e9); color:#193f33; }
.launch-top { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem max(1rem,calc((100vw - 1180px)/2)); background:#193f33; color:#fffced; }
.launch-top .interra-brand-logo { width:145px; }
.launch-top>div { display:flex; align-items:center; gap:1rem; font-size:.85rem; }
.launch-top button { border:1px solid #ffffff55; background:transparent; border-radius:.5rem; color:inherit; padding:.5rem .7rem; min-height:44px; }
.launch-body { width:min(1180px,calc(100% - 3rem)); margin:0 auto; padding:1.8rem 0 2rem; }
.launch-title { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; }
.launch-title .tag { margin:0 0 .2rem; font-size:.65rem; }
.launch-title h1 { font-size:clamp(1.8rem,3vw,2.5rem); line-height:1.15; margin:0; letter-spacing:-.045em; }
.launch-title>a { font-size:.83rem; min-height:44px; display:flex; align-items:center; }
.launch-controls { display:flex; align-items:center; gap:1rem; }
.launch-controls label { flex:1; }
.launch-controls input { width:100%; background:#fffefa; color:#193f33; border:1px solid #bfceb9; border-radius:.7rem; padding:.85rem 1rem; font-size:16px; min-height:48px; }
.launch-controls>span { font-size:.82rem; color:#62715e; white-space:nowrap; }
.launch-categories { display:flex; gap:.5rem; overflow-x:auto; padding:1rem 0 1.5rem; }
.launch-categories button { white-space:nowrap; border:1px solid #c7d4c0; padding:.5rem 1rem; min-height:44px; border-radius:99px; background:transparent; color:#193f33; font-weight:600; }
.launch-categories button[aria-pressed="true"] { color:#fffced; background:#193f33; border-color:#193f33; }
.launch-groups { display:grid; gap:2rem; }
.launch-group>header { display:flex; align-items:baseline; gap:1rem; margin-bottom:.8rem; flex-wrap:wrap; }
.launch-group h2 { font-size:1.2rem; margin:0; color:var(--launch-color); }
.launch-group>header>p { font-size:.85rem; margin:0; color:#647260; }
.launch-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.launch-card { display:grid; grid-template-columns:48px minmax(0,1fr); gap:.4rem .8rem; padding:1.2rem; min-height:160px; border:1px solid #d3decd; border-top:3px solid var(--launch-color); border-radius:.85rem; background:#fffefa; text-decoration:none; color:#193f33; box-shadow:0 5px 16px #193f3308; transition:transform .16s,box-shadow .16s; }
.launch-card:hover { transform:translateY(-3px); box-shadow:0 9px 22px #193f331a; }
.launch-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:.7rem; background:var(--launch-color); color:#fffced; grid-row:span 2; }
.launch-card strong { font-size:1.08rem; line-height:1.25; overflow-wrap:anywhere; }
.launch-description { font-size:.83rem; color:#657160; overflow-wrap:anywhere; }
.launch-open { grid-column:1/-1; display:flex; justify-content:space-between; align-items:center; margin-top:.5rem; padding-top:.65rem; border-top:1px solid #e7ebdf; color:var(--launch-color); font-size:.8rem; font-weight:800; }
.launch-open>span[aria-hidden] { font-size:1.25rem; }
.launch-empty { padding:2rem; text-align:center; border:1px dashed #b9c9b2; border-radius:.8rem; }
.launch-empty h2 { font-size:1.35rem; }
.launch-body>footer { margin-top:2.5rem; padding-top:1rem; border-top:1px solid #d3decd; display:flex; justify-content:space-between; gap:1rem; font-size:.8rem; color:#61715d; }
@media(max-width:900px) { .launch-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .access-row-actions { max-width:180px; } }
@media(max-width:600px) {
 .access-heading { align-items:flex-start; flex-direction:column; gap:.6rem; }
 .access-tabs button { flex:0 0 auto; padding:.7rem .8rem; }
 .access-toolbar { display:grid; grid-template-columns:1fr; gap:.6rem; }
 .access-toolbar>.button,.access-toolbar select { width:100%; }
 .access-row { flex-wrap:wrap; gap:.75rem; }
 .access-row-actions { margin-left:0; width:100%; max-width:none; justify-content:flex-end; border-top:1px solid #e5ebdf; padding-top:.6rem; }
 .access-dialog { width:calc(100% - 1rem); max-height:95svh; border-radius:.8rem; }
 .access-dialog>header,.access-editor-form { padding-left:1rem; padding-right:1rem; }
 .access-dialog h2 { font-size:1.35rem; }
 .access-form-row { grid-template-columns:1fr; }
 .access-editor-form footer .button { flex:1; padding:.65rem .5rem; }
 .launch-top { align-items:flex-start; }
 .launch-top .interra-brand-logo { width:115px; }
 .launch-top>div { flex-direction:column; align-items:flex-end; gap:.2rem; }
 .launch-top>div>span { max-width:160px; overflow-wrap:anywhere; }
 .launch-body { width:calc(100% - 2rem); padding-top:1.2rem; }
 .launch-title { align-items:flex-start; }
 .launch-controls { flex-wrap:wrap; gap:.4rem; }
 .launch-controls>span { display:none; }
 .launch-grid { grid-template-columns:1fr; gap:.75rem; }
 .launch-card { min-height:138px; padding:1rem; }
 .launch-categories { padding-bottom:1rem; }
}
.editor-feedback-fields { display:contents; border:0; margin:0; padding:0; min-width:0; }
.editor-feedback { grid-column:1/-1; margin:.4rem 0 0; padding:.75rem; border-radius:.45rem; font-size:.85rem; line-height:1.4; overflow-wrap:anywhere; }
.editor-feedback.is-success { background:#e7f2e9; color:#174a2a; border:1px solid #bbd4bf; }
.editor-feedback.is-error { background:#fff0ec; color:#8c291b; border:1px solid #efc8bf; }
.editor-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; margin:1.3rem 0; }
.editor-flow p { margin:0; padding:1rem; background:#edf3e9; border-radius:.55rem; font-size:.83rem; line-height:1.5; }
.editor-flow b { display:block; margin-bottom:.3rem; }
.arca-source-control { display:grid; gap:.35rem; min-width:0; }
.arca-source-control select { width:100%; min-width:0; min-height:44px; }
.arca-source-control small { line-height:1.5; color:#53655b; }
.fin-catalog-reference { border:1px solid #cbd8cb; border-radius:.55rem; padding:1rem; }
.fin-catalog-reference > summary { cursor:pointer; font-weight:700; min-height:44px; }
.fin-catalog-reference[open] > summary { margin-bottom:.75rem; }
.public-form-complete { border-top:1px solid #d9e2d7; padding-top:1.7rem; line-height:1.65; color:#243e32; }
.public-form-complete h2 { font-size:clamp(1.3rem,3vw,1.75rem); margin:.8rem 0 .5rem; }
.public-form-complete p { max-width:60ch; margin:.7rem 0; }
.public-form-complete small { display:block; margin-top:1.5rem; color:#5e6f64; }
.completion-badge { display:inline-block; padding:.35rem .8rem; border-radius:99px; background:#e7f2e9; color:#174a2a; font-size:.85rem; font-weight:700; }
.brand-form-heading h1:focus-visible { outline:2px solid var(--brand-action); outline-offset:6px; }
.arca-mapping-list .editor-feedback-fields > div:not(.arca-source-control) { display:grid; gap:.25rem; min-width:0; }
.arca-mapping-list .editor-feedback-fields > div > small { display:block; overflow-wrap:anywhere; }
@media(max-width:650px) { .editor-flow { grid-template-columns:1fr; }.editor-feedback { width:100%; }.arca-mapping-list > form { min-width:0; } }
@media(prefers-reduced-motion:reduce) { .launch-card { transition:none; } .launch-card:hover { transform:none; } }
@media(max-width:600px) { .password-access { padding:1rem; } .password-access .button { width:100%; } }
@media(max-width:850px) {
  .admin-shell.nav-open .workspace-content { margin-left:0; }
  .admin-shell .sidebar { width:min(300px,85vw); padding:1.4rem; }
  .admin-shell.nav-open .nav-backdrop { display:block; position:fixed; inset:64px 0 0; z-index:30; border:0; background:rgba(10,30,20,.4); }
}
@media(prefers-reduced-motion:reduce) { .admin-shell .sidebar,.admin-shell .workspace-content { transition:none; } }
.sidebar { background: #14251f; color: #edf3e9; padding: 2rem 1.4rem; display: flex; flex-direction: column; gap: 1rem; }.sidebar .wordmark { font-size: 1.45rem; letter-spacing: -.06em; }.sidebar .wordmark span { color: #d7df51; }.sidebar .tag { color: #9ba99e; margin: 0; }
.sidebar nav { display: grid; gap: .2rem; margin-top: 1.5rem; }.sidebar nav a { padding: .7rem .8rem; color: #cad6cc; text-decoration: none; border-radius: .45rem; }.sidebar nav a:hover, .sidebar nav a.active { background: #d7df51; color: #12271e; font-weight: 800; }.sidebar-user { margin-top: auto; border-top: 1px solid #345044; padding-top: 1rem; display: grid; gap: .25rem; font-size: .8rem; }.sidebar-user span { color: #9ba99e; overflow-wrap: anywhere; }
.workspace-content { min-width: 0; }.workspace-content .admin { width: min(1240px, calc(100% - 4rem)); margin: 0 auto; }.dashboard { padding: 4rem 0 5rem; }.eyebrow { color: #56736a; font-size: .9rem; font-weight: 700; }.dashboard h1 { font-size: clamp(3.2rem, 7vw, 6rem); max-width: 11ch; margin: .3rem 0 1.1rem; }.dashboard h1 em { color: #36705d; font-weight: 400; }.dashboard-lead { max-width: 56ch; color: #5b6961; font-size: 1.05rem; }
.dashboard-alert { display: block; max-width: 56ch; margin-top: 1.4rem; text-decoration: none; font-weight: 700; color: #8a6113; transition: transform .16s; }
.dashboard-alert:hover { transform: translateX(3px); }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: #d4d9d1; border: 1px solid #d4d9d1; margin: 3.5rem 0 1rem; }.metric-grid div { background: #f8f8f3; padding: 1.5rem; }.metric-grid span { color: #6a776f; font-size: .78rem; }.metric-grid strong { display: block; margin-top: .4rem; font: 3rem Georgia, serif; }.command-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }.command-card { min-height: 230px; background: #163d33; color: white; padding: 1.5rem; text-decoration: none; transition: transform .2s, background .2s; }.command-card:nth-child(2) { background: #a64729; }.command-card:nth-child(3) { background: #1d5369; }.command-card:hover { transform: translateY(-5px); }.command-card span { color: #d7df51; font-size: .8rem; }.command-card h2 { margin: 3.2rem 0 .5rem; }.command-card p { color: #dbe6df; font-size: .9rem; }
.section-heading { display: flex; justify-content: space-between; align-items: end; margin-top: 4rem; }.section-heading h2 { font: 2rem Georgia, serif; }.section-heading a { color: #2a6654; }.link-groups { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1rem; margin-top: 1rem; }.link-group { background: #fbfbf7; padding: 1.25rem; border: 1px solid #dce1d9; }.link-group h3 { margin: 0; }.link-group > p { color: #68756d; font-size: .86rem; }.link-group a { display: grid; grid-template-columns: 1fr auto; padding: .75rem 0; border-top: 1px solid #e1e5df; text-decoration: none; }.link-group small { grid-column: 1; color: #78827b; }.link-group b { grid-row: 1 / 3; grid-column: 2; }
@media (max-width: 850px) { .workspace { grid-template-columns: 1fr; }.sidebar { padding: 1rem; }.sidebar nav { grid-template-columns: repeat(2, 1fr); margin-top: .2rem; }.sidebar-user { display: none; }.workspace-content .admin { width: min(100% - 2rem, 1240px); }.metric-grid, .command-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px) { .site-header, .admin-top { align-items: flex-start; flex-direction: column; } .detail-grid { grid-template-columns: 1fr; } h1 { font-size: 3rem; } }
@media (max-width: 760px) { .invoice-field-grid { grid-template-columns: 1fr; }.invoice-item { grid-template-columns: 1fr; }.invoice-item .button { width: 100%; } }
@media (max-width: 1100px) { .invoice-detail-layout { grid-template-columns: minmax(260px, .8fr) minmax(400px, 1.2fr); }.invoice-detail-layout > aside { grid-column: 1 / -1; } }
@media (max-width: 760px) { .invoice-detail-layout { grid-template-columns: 1fr; }.invoice-detail-layout > aside { grid-column: auto; }.invoice-preview { height: 62vh; } }
@media (max-width: 760px) { .integrations-hero, .form-studio-hero, .form-editor-hero { grid-template-columns: 1fr; padding: 1.5rem; }.integrations-hero aside { border-top: 1px solid rgba(255,255,255,.34); border-left: 0; }.integration-guide { grid-template-columns: 1fr; }.integration-brand-header, .connection-overview, .company-sync, .connection-endpoints .endpoint-list > div, .brands-hero { align-items: flex-start; flex-direction: column; }.brand-connection-state { text-align: left; }.connection-overview, .editor-layout { grid-template-columns: 1fr; }.connection-overview dl, .form-grid, .advanced-settings .form-grid, .new-connection .advanced-settings .form-grid, .endpoint-form { grid-template-columns: 1fr; }.connection-editor > summary, .connection-endpoints > summary, .new-connection > summary, .editor-presentation > summary { align-items: flex-start; flex-direction: column; gap: .25rem; }.connection-endpoints .endpoint-list > div { display: grid; }.endpoint-form { padding-top: .5rem; }.form-studio-hero { padding: 1.5rem; }.form-catalog-toolbar { grid-template-columns: 1fr; }.form-filter-group { justify-content: flex-start; }.form-card-actions { flex-direction: column; }.form-editor-hero { padding: 0 0 1.2rem; }.editor-kpis { width: 100%; }.editor-add-field { position: static; }.field-editor-card > header { grid-template-columns: 28px minmax(0, 1fr); }.field-editor-card > header > .required-chip, .field-editor-card > header > .optional-chip { justify-self: start; }.field-editor-card > header > .system-chip { justify-self: end; } }

/* Interra master identity: the administrative product uses this system; brands keep their own public-form themes. */
.workspace { background: #f4f5ef; font-family: "Fustat", ui-sans-serif, system-ui, sans-serif; }
.sidebar { background: linear-gradient(165deg, #193f33 0%, #102f26 100%); border-right: 1px solid rgba(249, 165, 81, .3); }
.sidebar .wordmark { display: inline-flex; align-items: baseline; color: #f7f7e7; font-family: "Fustat", ui-sans-serif, system-ui, sans-serif; font-size: 1.5rem; font-weight: 800; letter-spacing: -.07em; }
.sidebar .tag { color: #f9c58f; font-family: "Fustat", ui-sans-serif, system-ui, sans-serif; font-weight: 600; }
.sidebar nav a { transition: background .16s ease, color .16s ease, transform .16s ease; }
.sidebar nav a:hover { transform: translateX(3px); }
.sidebar nav a:hover, .sidebar nav a.active { background: var(--interra-peach); color: #193f33; }
.workspace-content .admin { padding-top: 3rem; }
.form-studio-hero { position: relative; overflow: hidden; background: linear-gradient(126deg, #193f33 0%, #285647 58%, #e06f50 180%); border-radius: 1rem; box-shadow: 0 24px 48px rgba(25, 63, 51, .18); }
.form-studio-hero::after { position: absolute; width: 24rem; height: 24rem; right: -10rem; bottom: -13rem; border: 2rem solid rgba(249, 165, 81, .8); border-radius: 50%; content: ""; }
.form-studio-hero > * { position: relative; z-index: 1; }
.form-studio-hero .tag { color: #f9c58f; }
.form-studio-hero h1, .form-editor-hero h1, .brands-hero h1, .integrations-hero h1 { font-family: "Fustat", ui-sans-serif, system-ui, sans-serif; font-weight: 800; letter-spacing: -.065em; }
.form-card-grid { gap: 1.15rem; }
.studio-form-card { border-radius: .9rem; border-top-color: var(--interra-green); transition: transform .18s ease, box-shadow .18s ease; }
.studio-form-card:hover { transform: translateY(-3px); box-shadow: 0 16px 30px rgba(20, 37, 31, .11); }
.form-brand-mark { background: #e6f0db; color: var(--interra-green); font-family: "Fustat", ui-sans-serif, system-ui, sans-serif; font-weight: 800; }
.form-state.active { background: #e3edc7; color: #245d35; }
.public-form-link { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding: .48rem .5rem .48rem .7rem; border: 1px solid #d8e5c9; border-radius: .5rem; background: #f1f8e9; color: #245b47; font: .77rem ui-monospace, monospace; }
.public-form-link code { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.copy-public-link { display: inline-flex; align-items: center; gap: .36rem; flex: none; border: 0; border-radius: .35rem; padding: .42rem .5rem; background: #dfecc9; color: #174d31; font: 800 .69rem "Fustat", ui-sans-serif, system-ui, sans-serif; }
.copy-public-link:hover { background: var(--interra-lime); color: #10251b; }
.copy-public-link svg { width: .95rem; height: .95rem; }
.form-editor-hero { border-bottom-color: #c9d9c9; }
.editor-kpis { border-radius: .7rem; overflow: hidden; }
.editor-kpis strong, .field-editor-card strong { font-family: "Fustat", ui-sans-serif, system-ui, sans-serif; font-weight: 750; }
.field-editor-card { border-radius: .65rem; overflow: hidden; }
.field-editor-card > details[open] { background: #fbfdf8; }
.field-editor-card select[multiple] { border-color: #9bb99d; background: linear-gradient(180deg, #fff 0%, #f8fbf4 100%); }
.field-editor-card select[multiple]:focus { outline: 3px solid rgba(217, 224, 33, .48); border-color: var(--interra-green); }
.finnegan-target-control { display: grid; gap: .45rem; padding: 1rem; border: 1px solid #d5e2cf; border-radius: .65rem; background: #f7faf4; }
.finnegan-target-control > strong { color: #174d31; font: 800 .85rem "Fustat", ui-sans-serif, system-ui, sans-serif; }
.finnegan-target-control > p { margin: 0; color: #65766a; font-size: .8rem; }
.finnegan-target-control > small { color: #63746a; font-size: .72rem; font-weight: 500; }
.finnegan-target-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: .65rem; }
.finnegan-target-group { min-width: 0; margin: 0; padding: .55rem; border: 1px solid #dce5d8; border-radius: .5rem; background: #fffefa; }
.finnegan-target-group legend { padding: 0 .25rem; color: #5d7465; font: 800 .66rem "Fustat", ui-sans-serif, system-ui, sans-serif; letter-spacing: .07em; text-transform: uppercase; }
.finnegan-target-group > div { display: grid; gap: .2rem; }
.finnegan-target-option { grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .42rem; padding: .36rem .4rem; border-radius: .32rem; color: #254337; font: 650 .78rem "Fustat", ui-sans-serif, system-ui, sans-serif; }
.finnegan-target-option:hover { background: #edf5e7; }
.finnegan-target-option input { width: 1rem; height: 1rem; margin: 0; accent-color: var(--interra-green); }
.finnegan-target-option small { padding: .13rem .26rem; border-radius: .2rem; background: #f6e8bc; color: #73580f; font: 800 .59rem "Fustat", ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; }
.technical-field-detail { display: grid; gap: .65rem; padding: 1rem .9rem; background: linear-gradient(135deg, #eff5eb, #fbfcf8); }
.technical-field-detail .tag { margin: 0; color: #527563; }
.technical-field-detail > strong { color: #174d31; font: 800 1rem "Fustat", ui-sans-serif, system-ui, sans-serif; }
.technical-field-detail > p { max-width: 62ch; margin: 0; color: #5f7065; font-size: .84rem; }
.technical-field-detail dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; margin: 0; }
.technical-field-detail dl div { min-width: 0; padding: .55rem; border: 1px solid #d9e5d4; border-radius: .42rem; background: rgba(255,255,255,.72); }
.technical-field-detail dt { color: #6b7d70; font: 800 .63rem "Fustat", ui-sans-serif, system-ui, sans-serif; letter-spacing: .05em; text-transform: uppercase; }
.technical-field-detail dd { margin: .22rem 0 0; overflow-wrap: anywhere; color: #274639; font: 700 .73rem ui-monospace, monospace; }
.technical-field-detail > small { color: #68796e; font-size: .72rem; }
.internal-completion { margin-top: 2rem; padding-top: 1.35rem; border-top: 1px solid #dbe4d8; }
.internal-completion > .tag { margin: 0; color: #537466; }
.internal-completion h2 { margin: .35rem 0; font-size: 1.35rem; }
.internal-completion > p:not(.tag) { max-width: 62ch; margin: 0; color: #66766d; font-size: .86rem; }
.internal-completion .form { margin-top: 1rem; }
.request-editor { border-top-color:#bcd6c4; }.request-editor > p:not(.tag) { max-width:68ch; }.request-editor label>b { margin-left:.24rem; color:#b8442a; }.request-editor .button { grid-column:1 / -1; }
.arca-details { margin-top:1.4rem; border:1px solid #d8e4d6; background:#f7faf5; }.arca-details summary { display:flex; justify-content:space-between; gap:1rem; padding:.85rem .95rem; color:#24503c; font-weight:800; cursor:pointer; }.arca-details summary small { color:#6c7a70; font-size:.72rem; }.arca-details>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; padding:.85rem .95rem; border-top:1px solid #dce7d9; }.arca-details dl { min-width:0; margin:0; padding:.55rem .6rem; border:1px solid #dbe6d8; background:#fffefa; }.arca-details dt { color:#6b7e72; font-size:.66rem; font-weight:800; overflow-wrap:anywhere; }.arca-details dd { margin:.22rem 0 0; color:#244837; font-size:.78rem; overflow-wrap:anywhere; }
@media(max-width:700px){.arca-details>div{grid-template-columns:1fr}}
.endpoint-discovery-note { display: grid; gap: .2rem; margin: 0 1.4rem; padding: .75rem .85rem; border: 1px solid #d6e3ce; background: #f3f8ee; color: #607269; font: .76rem "Fustat", ui-sans-serif, system-ui, sans-serif; }
.endpoint-discovery-note strong { color: #23533b; font-size: .8rem; }
.endpoint-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.discovered-fields { display: flex; flex-wrap: wrap; gap: .3rem; margin-top: .5rem; }
.discovered-fields > span { display: inline-flex; align-items: center; gap: .25rem; max-width: 100%; padding: .22rem .38rem; border: 1px solid #d8e4d4; border-radius: .25rem; background: #f4f8f1; color: #385746; font: .68rem ui-monospace, monospace; }
.discovered-fields small { overflow: visible !important; color: #79887f !important; font: .59rem "Fustat", ui-sans-serif, system-ui, sans-serif; }
.interra-brand { display: inline-flex; align-items: center; line-height: 1; text-decoration: none; }
.interra-brand-logo { display: block; width: 175px; height: auto; object-fit: contain; }
.interra-brand.is-compact .interra-brand-logo { width: 134px; }
.interra-brand.is-inverse .interra-brand-logo { filter: brightness(0) invert(97%) sepia(22%) saturate(393%) hue-rotate(352deg) brightness(103%) contrast(95%); }
.site-header .interra-brand-logo { width: 150px; }
.interra-login { display: grid; grid-template-columns: minmax(280px, .92fr) minmax(440px, 1.08fr); min-height: 100vh; background: var(--interra-paper); }
.interra-login-intro { position: relative; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: clamp(2rem, 6vw, 5rem); background: linear-gradient(145deg, #193f33, #285647); color: #f7f7e7; }
.interra-login-intro::before, .interra-login-intro::after { position: absolute; border: 2rem solid rgba(249, 165, 81, .65); border-radius: 50%; content: ""; }
.interra-login-intro::before { width: 28rem; height: 28rem; right: -17rem; top: -9rem; }
.interra-login-intro::after { width: 16rem; height: 16rem; bottom: -10rem; left: -7rem; border-color: rgba(224, 111, 80, .72); }
.interra-login-intro > * { position: relative; z-index: 1; }
.interra-login-intro > p { max-width: 13ch; margin: 0; font-size: clamp(1.45rem, 2.5vw, 2.5rem); font-weight: 600; line-height: 1.08; letter-spacing: -.04em; }
.interra-login-card { display: flex; flex-direction: column; justify-content: center; width: min(100% - 4rem, 480px); margin: 0 auto; }
.interra-login-card > .tag { color: var(--interra-orange); font-weight: 800; }
.interra-login-card h1 { max-width: 10ch; margin: .3rem 0 1rem; font-family: "Fustat", ui-sans-serif, system-ui, sans-serif; font-size: clamp(3rem, 5vw, 4.8rem); font-weight: 800; letter-spacing: -.075em; }
.interra-login-card > p:not(.tag) { max-width: 49ch; margin: 0; color: #5f7167; }
.interra-login-card .form { margin-top: 2rem; }
.login-sso { margin-top:.75rem; }.login-sso .button { width:100%; }.login-sso .error { margin-top:.6rem; }
.microsoft-button { gap:.65rem; font-weight: 650; transition: background-color .15s, border-color .15s; }
.microsoft-button:hover { background: #f2f2f2; border-color: #8a8886; }
.microsoft-button svg { flex-shrink: 0; }
.access-page { max-width: 1240px; }
.access-hero { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 2rem; align-items: end; padding: 2.3rem; background: linear-gradient(125deg, #193f33, #315f51 65%, #e06f50 160%); color: #f7f7e7; border-radius: 1rem; }
.access-hero .tag { color: #f9c58f; }.access-hero h1 { max-width: 13ch; margin: .3rem 0 1rem; font: 800 clamp(2.8rem, 5vw, 4.8rem)/.94 "Fustat", ui-sans-serif, system-ui, sans-serif; letter-spacing: -.07em; }.access-hero p:not(.tag) { max-width: 60ch; margin: 0; color: #dbe8dc; }.access-hero aside { display: grid; gap: .2rem; padding: 1rem; border-left: 1px solid rgba(247,247,231,.34); }.access-hero aside strong { font: 800 4rem/.8 "Fustat", ui-sans-serif, system-ui, sans-serif; }.access-hero aside span { font-size: .75rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.access-hero aside small { color: #d7e4d8; }
.access-create-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1.2rem; }.access-create-grid > article { padding: 1.15rem; border: 1px solid #d8e1d4; background: #fffefa; }.access-create-grid h2 { margin: .25rem 0; font-size: 1.5rem; }.access-section-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin: 3rem 0 1rem; }.access-section-heading .tag { margin: 0; }.access-section-heading h2 { margin: .2rem 0 0; font-size: 1.8rem; }.access-section-heading > p { max-width: 48ch; margin: 0; color: #687970; font-size: .84rem; }
.directory-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(285px, 1fr)); gap: 1rem; }.directory-user-card { display: grid; gap: .85rem; padding: 1rem; border: 1px solid #d9e2d6; border-top: 4px solid #193f33; background: #fffefa; }.directory-user-card > header { display: grid; grid-template-columns: 38px 1fr; gap: .65rem; align-items: center; }.directory-user-card > header > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: #f9d4a6; color: #193f33; font-weight: 800; }.directory-user-card header strong, .directory-user-card header small { display: block; }.directory-user-card header small { margin-top: .12rem; overflow-wrap: anywhere; color: #718077; font-size: .72rem; }.access-super { margin: 0; padding: .65rem; background: #eaf3e6; color: #315f43; font-size: .8rem; }.brand-access-list { display: grid; gap: .45rem; }.brand-access-list details { border: 1px solid #dce4d8; }.brand-access-list summary { display: flex; justify-content: space-between; padding: .65rem; color: #285340; font-size: .8rem; }.brand-access-list summary small { color: #748279; font-size: .66rem; font-weight: 800; }.brand-access-form { display: grid; gap: .7rem; padding: .7rem; border-top: 1px solid #dce4d8; }.brand-access-form fieldset { display: grid; gap: .4rem; margin: 0; padding: .6rem; border: 1px solid #dce4d8; }.brand-access-form legend { color: #728178; font-size: .68rem; font-weight: 800; text-transform: uppercase; }.brand-access-form fieldset label { grid-template-columns: auto 1fr; align-items: center; font-size: .76rem; font-weight: 600; }.brand-access-form input { width: auto; }.add-brand-access { background: #f4f8f0; }.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1rem; }.team-card { display: grid; gap: .9rem; padding: 1.1rem; border: 1px solid #d9e2d6; background: #fffefa; }.team-card > header { display: flex; justify-content: space-between; gap: 1rem; }.team-card h3 { margin: .2rem 0; font-size: 1.35rem; }.team-card header p { margin: 0; color: #718077; font-size: .8rem; }.team-card > header > span { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: 50%; background: #193f33; color: #f7f7e7; font-weight: 800; }
@media (max-width: 760px) { .interra-login { grid-template-columns: 1fr; }.interra-login-intro { min-height: 260px; }.interra-login-card { width: min(100% - 2.5rem, 480px); padding: 3rem 0; } }
@media (max-width: 760px) { .access-hero, .access-create-grid { grid-template-columns: 1fr; }.access-hero aside { border-top: 1px solid rgba(247,247,231,.34); border-left: 0; }.access-section-heading { align-items: flex-start; flex-direction: column; gap: .5rem; } }
.links-portal { min-height: 100vh; background: radial-gradient(circle at 96% 5%, #f9d5ae 0, transparent 27rem), #f7f7e7; }.links-portal > header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1.25rem max(1.4rem, calc((100vw - 1180px) / 2)); background: #193f33; color: #f7f7e7; }.links-portal > header .interra-brand-logo { width: 158px; }.links-portal > header > div { display: grid; text-align: right; font-size: .82rem; }.links-portal > header small { color: #d3e0d5; }.links-portal-hero, .links-portal-content, .links-portal footer { width: min(1180px, calc(100% - 3rem)); margin: 0 auto; }.links-portal-hero { padding: clamp(3rem, 8vw, 6.5rem) 0 2.4rem; }.links-portal-hero .tag { color: #c85d40; font-weight: 800; }.links-portal-hero h1 { max-width: 12ch; margin: .35rem 0 1rem; font: 800 clamp(3.2rem, 7vw, 6.4rem)/.89 "Fustat", ui-sans-serif, system-ui, sans-serif; letter-spacing: -.08em; }.links-portal-hero p:not(.tag) { max-width: 58ch; color: #5e7065; font-size: 1.04rem; }.links-portal-content { display: grid; gap: 1.2rem; padding-bottom: 4rem; }.links-portal-group { overflow: hidden; border: 1px solid #d8e1d4; background: rgba(255,254,250,.88); }.links-portal-group > header { display: flex; justify-content: space-between; gap: 2rem; align-items: end; padding: 1.15rem 1.3rem; border-left: 6px solid #e06f50; border-bottom: 1px solid #dde5d9; }.links-portal-group header .tag { margin: 0; color: #8a7665; }.links-portal-group h2 { margin: .15rem 0 0; font-size: 1.65rem; }.links-portal-group > header > p { max-width: 48ch; margin: 0; color: #6d7c73; font-size: .84rem; }.links-portal-group > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); }.links-portal-group a { display: grid; grid-template-columns: 38px 1fr auto; gap: .7rem; align-items: center; min-height: 84px; padding: .9rem 1rem; border-right: 1px solid #e1e7df; border-bottom: 1px solid #e1e7df; color: #193f33; text-decoration: none; }.portal-link-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: .55rem; background: #193f33; color: #f7f7e7; font-weight: 800; }.links-portal-group a strong, .links-portal-group a small { display: block; }.links-portal-group a small { margin-top: .18rem; color: #718077; font-size: .73rem; }.links-portal-group a b { color: #e06f50; font-size: 1.2rem; }.links-empty { padding: 3rem; border: 1px dashed #abb9ad; background: #f4f7ef; text-align: center; }.links-portal footer { display: flex; justify-content: space-between; padding: 1.4rem 0 2rem; border-top: 1px solid #d9e1d5; color: #6a796f; font-size: .8rem; }.links-portal footer a { color: #193f33; font-weight: 800; }
@media (max-width: 760px) { .links-portal > header, .links-portal-group > header, .links-portal footer { align-items: flex-start; flex-direction: column; }.links-portal > header > div { text-align: left; }.links-portal-hero, .links-portal-content, .links-portal footer { width: min(100% - 2rem, 1180px); }.links-portal-group > div { grid-template-columns: 1fr; } }
.access-hub { max-width: 1240px; }.access-hub-hero { display:grid; grid-template-columns:1fr 280px; gap:2rem; padding:2.3rem; color:#f7f7e7; background:linear-gradient(125deg,#193f33,#315f51); border-radius:1rem; }.access-hub-hero h1 { max-width:12ch; margin:.3rem 0 1rem; font:800 clamp(2.9rem,5vw,5rem)/.9 "Fustat",sans-serif; letter-spacing:-.075em; }.access-hub-hero p:not(.tag){max-width:58ch;margin:0;color:#dce8dc}.access-hub-hero .tag{color:#f9c58f}.access-hub-hero aside{display:grid;align-content:center;gap:.35rem;padding:1rem;border-left:1px solid #8eafa0}.access-hub-hero aside span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.access-hub-hero code{font-size:1.6rem;font-weight:800}.access-hub-hero small{color:#d4e2d6}.access-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.access-hub-grid>article,.hub-team-grid>article,.hub-app-grid>details{padding:1.1rem;border:1px solid #d9e2d6;background:#fffefa}.access-hub-grid h2{margin:.2rem 0 .7rem;font-size:1.45rem}.hub-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin:3rem 0 1rem}.hub-heading h2{margin:.2rem 0 0;font-size:1.8rem}.hub-heading>p{max-width:48ch;color:#687970;font-size:.84rem}.hub-heading form{display:flex;gap:.4rem}.hub-heading input{width:auto}.hub-people{display:grid;gap:.55rem}.hub-people>details{border:1px solid #d9e2d6;background:#fffefa}.hub-people summary,.hub-app-grid summary{display:grid;grid-template-columns:38px 1fr auto;gap:.65rem;align-items:center;padding:.75rem}.hub-people summary>span,.hub-app-grid summary>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#193f33;color:#f7f7e7;font-weight:800}.hub-people summary strong,.hub-people summary small,.hub-app-grid summary strong,.hub-app-grid summary small{display:block}.hub-people summary small,.hub-app-grid summary small{color:#718077;font-size:.72rem}.hub-people summary em{font-size:.72rem;color:#6d7c73}.hub-person-body{display:grid;gap:.65rem;padding:.8rem;border-top:1px solid #dce4d8}.hub-permission-form{display:grid;grid-template-columns:160px 170px 1fr auto;gap:.6rem;align-items:start;padding:.7rem;background:#f5f8f1}.hub-permission-form>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.hub-permission-form label{grid-template-columns:auto 1fr;align-items:center;font-size:.72rem}.hub-permission-form input{width:auto}.hub-team-grid,.hub-app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.hub-team-grid h3{margin:0}.hub-team-grid p{color:#6c7b72;font-size:.82rem}.hub-app-grid details{padding:0}.hub-app-grid form{padding:.8rem;border-top:1px solid #dce4d8}
@media(max-width:760px){.access-hub-hero,.access-hub-grid{grid-template-columns:1fr}.access-hub-hero aside{border-top:1px solid #8eafa0;border-left:0}.hub-heading{align-items:flex-start;flex-direction:column;gap:.5rem}.hub-heading form{display:grid;width:100%}.hub-heading input{width:100%}.hub-permission-form{grid-template-columns:1fr}.hub-permission-form>div{grid-template-columns:1fr}}

/* Permission editing remains legible even when the admin shell is narrow. */
.hub-person-body{gap:.75rem;padding:1rem}.hub-person-help{margin:0;color:#617168;font-size:.82rem}.hub-permission-form{grid-template-columns:minmax(190px,.8fr) minmax(220px,1fr);gap:1rem;align-items:end;padding:1rem;border:1px solid #e0e8dd}.permission-brand,.permission-role{display:grid;gap:.35rem}.permission-brand>span,.permission-role>span{color:#66776d;font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.permission-brand strong{display:block;font-size:1rem}.permission-role select{width:100%;min-height:46px;background:#fffefa}.permission-capabilities{grid-column:1/-1;margin:0;padding:1rem;border:1px solid #d6e1d2;background:#fffefa}.permission-capabilities legend{padding:0 .3rem;color:#173f34;font-size:.82rem;font-weight:800}.permission-capabilities>p{margin:0 0 .75rem;color:#687970;font-size:.76rem}.permission-capabilities>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.55rem}.permission-capabilities label{display:flex;align-items:center;gap:.55rem;min-height:48px;padding:.6rem .7rem;border:1px solid #dce5da;border-radius:.45rem;background:#f8faf6;color:#183c32;font-size:.8rem;font-weight:700;cursor:pointer}.permission-capabilities label:has(input:checked){border-color:#9fcab3;background:#edf7ee}.permission-capabilities input{width:16px;height:16px;accent-color:#17694f}.hub-permission-form>.button{grid-column:1/-1;justify-self:start;min-width:178px}@media(max-width:760px){.hub-permission-form{grid-template-columns:1fr}.permission-capabilities>div{grid-template-columns:1fr}.hub-permission-form>.button{width:100%}}
.brand-form-shell { position:relative; overflow:hidden; padding:1.5rem; background:radial-gradient(circle at 8% 16%, color-mix(in srgb,var(--brand-accent) 48%,transparent) 0,transparent 20rem),linear-gradient(135deg,var(--brand-primary),var(--brand-background)); }.brand-form-shell::before { position:absolute; width:34rem; height:34rem; right:-18rem; top:13rem; border:2.5rem solid color-mix(in srgb,var(--brand-accent) 65%,transparent); border-radius:50%; content:""; }.brand-form-header,.brand-form-card { position:relative; z-index:1; }.brand-form-header { width:min(100%,1040px); min-height:86px; }.brand-form-card { width:min(760px,100%); margin:clamp(2rem,7vw,5rem) auto; padding:clamp(1.5rem,5vw,3.25rem); border:0; border-radius:1.5rem; box-shadow:0 28px 75px rgba(9,20,14,.25); }.brand-form-heading { border-left:0; padding-left:0; margin-bottom:1.7rem; }.brand-form-card h1 { max-width:11ch; font-weight:700; letter-spacing:-.07em; }.brand-form-reassurance { display:flex; flex-wrap:wrap; gap:.45rem; margin-top:1.2rem; }.brand-form-reassurance span { padding:.38rem .55rem; border:1px solid color-mix(in srgb,var(--brand-primary) 18%,transparent); border-radius:99px; color:color-mix(in srgb,var(--brand-ink) 75%,transparent); font-size:.72rem; }.brand-public-form { gap:1.35rem; margin-top:0; }.form-progress { display:grid; gap:.55rem; padding:.85rem 1rem; border:1px solid color-mix(in srgb,var(--brand-primary) 16%,transparent); border-radius:.75rem; background:color-mix(in srgb,var(--brand-accent) 13%,#fff); }.form-progress>div:first-child { display:flex; justify-content:space-between; gap:1rem; color:var(--brand-ink); font-size:.76rem; }.form-progress strong { font-weight:700; }.form-progress-track { height:5px; overflow:hidden; border-radius:99px; background:color-mix(in srgb,var(--brand-primary) 12%,transparent); }.form-progress-track i { display:block; height:100%; border-radius:inherit; background:var(--brand-action); transition:width .25s ease; }.brand-form-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }.brand-form-field { gap:.5rem; color:var(--brand-ink); font-size:.83rem; }.brand-form-field>span { display:flex; gap:.22rem; align-items:center; }.brand-form-field b { color:var(--brand-action); }.brand-form-field.field-span-full { grid-column:1 / -1; }.brand-form-card .brand-form-field input,.brand-form-card .brand-form-field select,.brand-form-card .brand-form-field textarea { min-height:50px; border-radius:.7rem; transition:border .18s ease,box-shadow .18s ease; }.brand-form-card .brand-form-field textarea { min-height:130px; }.brand-form-card .brand-form-field input:focus,.brand-form-card .brand-form-field select:focus,.brand-form-card .brand-form-field textarea:focus { box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 35%,transparent); }.brand-public-form>.button { width:100%; min-height:3.35rem; margin-top:.2rem; border-radius:.75rem; font-size:.95rem; }.brand-form-card .notice { border-left:0; border-radius:.75rem; }.brand-form-card .reference-options { grid-column:1 / -1; border-radius:.7rem; box-shadow:0 12px 25px rgba(18,35,26,.08); }.brand-form-card .selected-reference { border-radius:.6rem; }
@media(max-width:620px){.brand-form-shell{padding:1rem}.brand-form-header{min-height:68px}.brand-form-logo{max-width:135px;max-height:44px}.brand-form-header span:last-child{font-size:.62rem}.brand-form-card{margin:1.3rem auto;padding:1.35rem;border-radius:1.1rem}.brand-form-card h1{font-size:clamp(2.45rem,13vw,3.5rem)}.brand-form-fields{grid-template-columns:1fr;gap:.9rem}.brand-form-field.field-span-full{grid-column:auto}.form-progress>div:first-child{align-items:flex-start;flex-direction:column;gap:.15rem}.brand-form-reassurance{display:grid;grid-template-columns:1fr}.brand-form-reassurance span{border-radius:.5rem}.brand-form-shell::before{width:18rem;height:18rem;right:-12rem;top:9rem}}
.brand-form-shell { padding-top:1rem; }.brand-form-header { width:min(760px,100%); min-height:74px; }.brand-form-logo { max-height:48px; }.brand-form-card { width:min(760px,100%); margin:clamp(1.5rem,5vw,3.5rem) auto; padding:clamp(1.8rem,4.5vw,3rem); }.brand-form-card h1 { max-width:13ch; font-size:clamp(2.8rem,5.5vw,4.25rem); line-height:.91; }.brand-form-heading { margin-bottom:1.35rem; }.brand-form-subtitle { margin-top:.75rem !important; }.brand-form-reassurance { margin-top:.9rem; }.brand-form-reassurance span { padding:.28rem 0; border:0; border-radius:0; }.form-progress { gap:.4rem; padding:.7rem .85rem; border-radius:.6rem; }.form-progress>div:first-child { align-items:center; }.brand-form-fields { gap:.85rem 1rem; }.brand-form-field { gap:.36rem; }.brand-form-card .brand-form-field input,.brand-form-card .brand-form-field select,.brand-form-card .brand-form-field textarea { min-height:48px; padding:.72rem .78rem; }.brand-form-card .brand-form-field textarea { min-height:110px; }.field-cbu { order:5; }.brand-public-form>.button { min-height:3.1rem; margin-top:.15rem; }.brand-form-card label small { line-height:1.35; }.brand-form-header>span:last-child { opacity:.82; }
@media (max-width: 760px) { .form-studio-hero::after { width: 16rem; height: 16rem; right: -9rem; bottom: -10rem; }.copy-public-link span { display: none; }.copy-public-link { padding: .45rem; } }
@media (max-width: 760px) { .technical-field-detail dl { grid-template-columns: 1fr; } }

/* Public forms use visual sections so external users complete one business concept at a time. */
.brand-public-form { gap:1.1rem; }
.brand-form-sections { display:grid; gap:2rem; }
.brand-form-section { display:grid; gap:1rem; padding-top:1.65rem; border-top:1px solid color-mix(in srgb,var(--brand-primary) 14%,transparent); }
.brand-form-section:first-child { padding-top:.15rem; border-top:0; }
.brand-form-section>header { display:grid; grid-template-columns:2rem minmax(0,1fr); gap:.7rem; align-items:start; }
.brand-form-section>header>span { display:grid; place-items:center; width:1.65rem; height:1.65rem; border-radius:50%; background:color-mix(in srgb,var(--brand-accent) 38%,#fff); color:var(--brand-ink); font:800 .65rem/1 var(--brand-body),sans-serif; letter-spacing:.04em; }
.brand-form-section h2 { margin:0; color:var(--brand-ink); font:700 1.08rem/1.15 var(--brand-body),sans-serif; letter-spacing:-.02em; }
.brand-form-section header p { margin:.25rem 0 0; color:color-mix(in srgb,var(--brand-ink) 62%,transparent); font-size:.78rem; line-height:1.4; }
.brand-form-section .brand-form-fields { gap:1rem 1.1rem; }
.brand-form-section .brand-form-field { align-content:start; }
.brand-form-section .brand-form-field>span { min-height:1.1rem; }
.brand-form-section .brand-form-field small { min-height:0; margin-top:-.05rem; }
.brand-form-card .choice-trigger{min-height:48px;padding:.72rem .78rem;border-color:color-mix(in srgb,var(--brand-ink) 24%,transparent);border-radius:.7rem;background:#fff;color:var(--brand-ink);font:500 1rem/1.3 var(--brand-body),sans-serif}
.brand-form-card .choice-trigger:hover{border-color:color-mix(in srgb,var(--brand-primary) 45%,transparent);background:#fff}
.brand-form-card .choice-trigger[aria-expanded="true"]{border-color:var(--brand-action);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-accent) 35%,transparent)}
.brand-form-card .choice-placeholder{color:color-mix(in srgb,var(--brand-ink) 55%,transparent);font-weight:500}
.brand-form-card .choice-popover{border-color:color-mix(in srgb,var(--brand-ink) 16%,transparent);border-radius:.7rem;box-shadow:0 16px 38px rgba(20,20,20,.16)}
.brand-form-card .choice-option{min-height:48px;font:500 .92rem/1.3 var(--brand-body),sans-serif;color:var(--brand-ink)}
.brand-form-card .choice-option:hover{border-color:color-mix(in srgb,var(--brand-primary) 30%,transparent);background:color-mix(in srgb,var(--brand-accent) 14%,#fff)}
.brand-form-card .choice-option[aria-selected="true"]{border-color:color-mix(in srgb,var(--brand-action) 55%,transparent);background:color-mix(in srgb,var(--brand-accent) 22%,#fff)}
.brand-form-card .choice-mark{border-color:color-mix(in srgb,var(--brand-ink) 35%,transparent)}
.brand-form-card .choice-option[aria-selected="true"] .choice-mark{border-color:var(--brand-action);background:var(--brand-action);color:var(--brand-on-action)}
.brand-form-card .choice-done{background:var(--brand-action);color:var(--brand-on-action);min-height:46px}
@media(max-width:620px){.brand-form-sections{gap:1.65rem}.brand-form-section{gap:.85rem;padding-top:1.35rem}.brand-form-section>header{grid-template-columns:1.7rem minmax(0,1fr);gap:.55rem}.brand-form-section>header>span{width:1.45rem;height:1.45rem}.brand-form-section h2{font-size:1rem}}
.arca-cuit-field>div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.55rem; }
.arca-lookup-button { min-height:48px; padding:.6rem .85rem; border:1px solid var(--brand-action); border-radius:.7rem; background:color-mix(in srgb,var(--brand-accent) 30%,#fff); color:var(--brand-ink); font:800 .72rem var(--brand-body),sans-serif; white-space:nowrap; cursor:pointer; }
.arca-lookup-button:hover:not(:disabled) { background:var(--brand-accent); }.arca-lookup-button:disabled { opacity:.6; cursor:wait; }.arca-lookup-success { color:#306341 !important; font-weight:700; }
@media(max-width:620px){.arca-cuit-field>div{grid-template-columns:1fr}.arca-lookup-button{width:100%}}
.arca-panel { display:grid; gap:1rem; margin:1rem; padding:1.2rem; border:1px solid #d9e4d4; background:linear-gradient(120deg,#f4f8ef,#fffefa); }
.arca-panel>header { display:flex; justify-content:space-between; gap:1rem; align-items:start; }.arca-panel h3 { margin:.2rem 0; font:1.35rem Georgia,serif; }.arca-panel header p:not(.tag) { max-width:62ch; margin:.35rem 0 0; color:#617168; font-size:.84rem; }
.arca-panel-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid #dae4d5; border-bottom:1px solid #dae4d5; }.arca-panel-summary span { display:grid; gap:.2rem; padding:.65rem .75rem; color:#697970; font-size:.72rem; }.arca-panel-summary span+span { border-left:1px solid #dae4d5; }.arca-panel-summary b { color:#254b3d; font-size:.8rem; }
.arca-settings { border:1px solid #d7e2d2; background:#fffefa; }.arca-settings>summary { padding:.75rem .9rem; color:#1e5948; font-weight:800; cursor:pointer; }.arca-settings .connection-form { padding:0 .9rem 1rem; }.arca-test-form { display:grid; grid-template-columns:minmax(210px,.7fr) auto 1fr; gap:.65rem; align-items:end; padding:.8rem; background:#edf5e8; }.arca-test-form small { align-self:center; color:#617168; font-size:.75rem; }
@media(max-width:760px){.arca-panel>header{display:grid}.arca-panel-summary{grid-template-columns:1fr}.arca-panel-summary span+span{border-left:0;border-top:1px solid #dae4d5}.arca-test-form{grid-template-columns:1fr}.arca-test-form small{align-self:auto}}
.arca-chip { padding:.18rem .42rem; border:1px solid #b9d8c5; background:#edf8ef; color:#246040; font:800 .64rem ui-sans-serif,system-ui,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.arca-mapping-panel { margin-top:1rem; }.arca-mapping-intro { display:grid; gap:.3rem; padding:.85rem 1rem; border-bottom:1px solid #dce6d8; background:#f0f6ec; }.arca-mapping-intro strong { color:#1e5744; font-size:.86rem; }.arca-mapping-intro span { color:#617168; font-size:.78rem; line-height:1.45; }.arca-mapping-list { display:grid; }.arca-mapping-list form { display:grid; grid-template-columns:minmax(165px,.8fr) minmax(250px,1.4fr) auto; gap:.8rem; align-items:end; padding:.85rem 1rem; border-bottom:1px solid #e1e7de; }.arca-mapping-list form:last-child { border-bottom:0; }.arca-mapping-list form>div { display:grid; gap:.2rem; padding-bottom:.45rem; }.arca-mapping-list form>div small { color:#6a786f; font-size:.7rem; }.arca-mapping-list label { gap:.3rem; color:#264639; font-size:.76rem; }.arca-mapping-list label small { color:#6a786f; font-size:.68rem; line-height:1.35; }.arca-mapping-list .button { min-height:42px; white-space:nowrap; }
@media(max-width:760px){.arca-mapping-list form{grid-template-columns:1fr;align-items:stretch}.arca-mapping-list form>div{padding-bottom:0}.arca-mapping-list .button{width:100%}}
.arca-mapping-intro>small { color:#7a643a; font-size:.72rem; line-height:1.4; }

/* A CUIT-only flow is an identity check, not a shortened multi-step form. */
.brand-form-shell.is-cuit-only { min-height:100vh; padding-top:clamp(.8rem,3vw,1.5rem); }
.brand-form-shell.is-cuit-only .brand-form-header { width:min(620px,100%); min-height:68px; }
.brand-form-shell.is-cuit-only .brand-form-card { width:min(620px,100%); margin:clamp(1.3rem,4vw,2.6rem) auto; padding:clamp(1.55rem,4.2vw,2.5rem); }
.brand-form-shell.is-cuit-only .brand-form-card h1 { max-width:12ch; font-size:clamp(2.45rem,5vw,3.65rem); }
.brand-form-shell.is-cuit-only .brand-form-heading { margin-bottom:1.3rem; }
.brand-public-form.is-cuit-only { gap:1rem; }
.brand-public-form.is-cuit-only .brand-form-sections { display:block; }
.brand-public-form.is-cuit-only .brand-form-section { display:block; padding:0; border:0; }
.brand-public-form.is-cuit-only .brand-form-fields { display:block; }
.brand-public-form.is-cuit-only .arca-cuit-field { display:grid; gap:.55rem; }
.arca-identity-confirmation { display:grid; gap:.35rem; margin-top:.25rem; padding:1rem; border:1px solid #bbd9c2; border-radius:.7rem; background:#eef8ef; color:#234d34; }
.arca-identity-confirmation span { color:#477357; font-size:.68rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.arca-identity-confirmation strong { font-size:.95rem; }
.arca-identity-confirmation p { margin:0; color:#547363; font-size:.76rem; line-height:1.4; }
.arca-identity-confirmation small { color:#587263; font-size:.76rem; line-height:1.35; }
.arca-identity-confirmation dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin:.2rem 0 0; }
.arca-identity-confirmation dl div { min-width:0; padding:.6rem .65rem; border:1px solid #cde2d0; border-radius:.45rem; background:rgba(255,255,255,.58); }
.arca-identity-confirmation dt { color:#557562; font-size:.62rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; }
.arca-identity-confirmation dd { margin:.2rem 0 0; color:#234d34; font-size:.76rem; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.arca-autofill-field input { border-style:dashed !important; background:#eff8f0 !important; color:#254d35; font-weight:700; }
.arca-autofill-field>span em { margin-left:auto; padding:.13rem .32rem; border-radius:.25rem; background:#dceddc; color:#37704d; font-size:.57rem; font-style:normal; font-weight:800; letter-spacing:.06em; }

/* Keep shared public forms calm and neutral; brand colors belong to the identity and actions. */
.brand-form-shell { background:linear-gradient(180deg,color-mix(in srgb,var(--brand-primary) 6%,#f8f9f6),#edf0ec); }
.brand-form-shell::before { display:none; }
.brand-form-header { color:var(--brand-ink); border-bottom-color:color-mix(in srgb,var(--brand-primary) 18%,transparent); }
.brand-form-card { border:1px solid rgba(22,34,28,.08); box-shadow:0 20px 48px rgba(22,34,28,.12); }
@media(max-width:620px){.brand-form-shell.is-cuit-only .brand-form-card{margin:1rem auto;padding:1.3rem}.brand-form-shell.is-cuit-only .brand-form-card h1{font-size:clamp(2.3rem,12vw,3.25rem)}.arca-identity-confirmation dl{grid-template-columns:1fr}}
.sidebar-logout { margin-top:.55rem; }.sidebar-logout button { padding:0; border:0; background:transparent; color:#f9c58f; font:700 .72rem "Fustat",ui-sans-serif,sans-serif; cursor:pointer; }
.approval-routing-panel .connection-form { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:end; }.approval-routing-panel .connection-form>button { align-self:end; }.approval-routing-panel select[multiple] { min-height:8.2rem; }.approval-route { padding:.7rem; border-left:3px solid #f0b35c; background:#fff8e9; color:#5d6f64; font-size:.8rem; line-height:1.4; }
.approval-routing-form { display:grid; gap:1rem; padding:1rem; }.approval-area-select { max-width:420px; }.approval-picker-heading { display:flex; justify-content:space-between; gap:1rem; align-items:start; margin-bottom:.65rem; }.approval-picker-heading strong,.approval-picker-heading small { display:block; }.approval-picker-heading small { margin-top:.18rem; color:#687970; font-size:.73rem; }.approval-picker-heading>span { padding:.25rem .45rem; border-radius:99px; background:#e7f0e4; color:#376046; font-size:.67rem; font-weight:800; }.approval-choice-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(225px,1fr)); gap:.55rem; }.approval-choice { display:grid !important; grid-template-columns:auto minmax(0,1fr); gap:.65rem; align-items:center; min-height:64px; padding:.7rem; border:1px solid #d9e4d5; border-radius:.65rem; background:#fffefa; cursor:pointer; }.approval-choice:has(input:checked) { border-color:#246044; background:#eff8ec; box-shadow:0 0 0 2px rgba(36,96,68,.08); }.approval-choice input { width:1rem; height:1rem; accent-color:#246044; }.approval-choice strong,.approval-choice small { display:block; }.approval-choice small { margin-top:.18rem; color:#697970; font-size:.69rem; line-height:1.35; }
@media(max-width:620px){.approval-picker-heading{align-items:flex-start;flex-direction:column;gap:.35rem}.approval-choice-grid{grid-template-columns:1fr}}

/* Employee links portal: quick scanning, large tap targets, and a clear group hierarchy. */
.links-portal { min-height:100vh; background:linear-gradient(145deg,#f7f7e9 0%,#edf2eb 55%,#f8ecdc 130%); color:#193f33; }
.links-portal-topbar { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.1rem max(1.4rem,calc((100vw - 1180px)/2)); background:#193f33; color:#f7f7e7; }.links-portal-topbar>div { display:grid; grid-template-columns:auto auto; align-items:center; justify-items:end; gap:.1rem .7rem; font-size:.79rem; }.links-portal-topbar small { color:#d2e0d2; }.portal-logout { grid-row:1 / span 2; grid-column:2; }.portal-logout button { border:1px solid rgba(247,247,231,.4); border-radius:99px; background:transparent; color:#f7f7e7; padding:.4rem .62rem; font:700 .68rem "Fustat",sans-serif; cursor:pointer; }
.links-portal-hero { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:2rem; align-items:end; width:min(1180px,calc(100% - 3rem)); margin:0 auto; padding:clamp(3.2rem,7vw,6.2rem) 0 2.7rem; }.links-portal-hero .tag { color:#c85d40; font-weight:800; }.links-portal-hero h1 { max-width:11ch; margin:.4rem 0 1.1rem; font:800 clamp(3.1rem,6vw,5.8rem)/.9 "Fustat",sans-serif; letter-spacing:-.075em; }.links-portal-hero p:not(.tag) { max-width:58ch; margin:0; color:#5e7065; font-size:1.02rem; line-height:1.55; }.links-portal-hero aside { display:grid; gap:.2rem; align-content:end; min-height:150px; padding:1.3rem; border-radius:1rem; background:#f9a551; color:#193f33; }.links-portal-hero aside strong { font:800 4rem/.85 "Fustat",sans-serif; letter-spacing:-.08em; }.links-portal-hero aside span { font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.links-portal-content { display:grid; gap:1.25rem; width:min(1180px,calc(100% - 3rem)); margin:0 auto; padding:0 0 3.5rem; }.links-portal-group { overflow:hidden; border:1px solid #d7e1d4; border-radius:1rem; background:rgba(255,255,250,.86); box-shadow:0 12px 30px rgba(28,57,43,.06); }.links-portal-group>header { display:flex; justify-content:space-between; align-items:end; gap:2rem; padding:1.35rem 1.45rem; border-bottom:1px solid #e0e7dd; }.links-portal-group header .tag { margin:0; color:#c15c42; font-size:.68rem; font-weight:800; letter-spacing:.08em; }.links-portal-group h2 { margin:.28rem 0 0; font:800 clamp(1.45rem,2vw,2rem)/1 "Fustat",sans-serif; letter-spacing:-.04em; }.links-portal-group>header>p { max-width:42ch; margin:0; color:#687970; font-size:.83rem; line-height:1.45; }.portal-link-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }.portal-link-card { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr); grid-template-rows:auto auto; column-gap:.8rem; min-height:118px; padding:1.1rem; border-right:1px solid #e4e9e2; border-bottom:1px solid #e4e9e2; color:#193f33; text-decoration:none; transition:background .18s ease,transform .18s ease; }.portal-link-card:hover { z-index:1; background:#193f33; color:#f7f7e7; transform:translateY(-2px); box-shadow:0 12px 22px rgba(25,63,51,.2); }.portal-link-icon { display:grid; grid-row:1 / span 2; width:44px; height:44px; place-items:center; border-radius:.7rem; background:#eaf2e8; color:#193f33; font:800 1.05rem "Fustat",sans-serif; }.portal-link-card:hover .portal-link-icon { background:#f9a551; }.portal-link-copy { min-width:0; }.portal-link-copy strong,.portal-link-copy small { display:block; }.portal-link-copy strong { font-size:.92rem; }.portal-link-copy small { margin-top:.25rem; color:#718077; font-size:.73rem; line-height:1.35; }.portal-link-card:hover .portal-link-copy small { color:#d6e2d5; }.portal-link-open { align-self:end; color:#c65f43; font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }.portal-link-card:hover .portal-link-open { color:#f9c58f; }.portal-link-card i { position:absolute; right:0; bottom:0; width:0; height:3px; background:#f9a551; transition:width .2s ease; }.portal-link-card:hover i { width:100%; }.links-portal footer { display:flex; justify-content:space-between; width:min(1180px,calc(100% - 3rem)); margin:0 auto; padding:1.4rem 0 2rem; border-top:1px solid #d9e1d5; color:#6a796f; font-size:.8rem; }.links-portal footer a { color:#193f33; font-weight:800; }
@media(max-width:850px){.portal-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.links-portal-topbar{align-items:flex-start;flex-direction:column}.links-portal-topbar>div{justify-items:start}.portal-logout{grid-column:2}.links-portal-hero{grid-template-columns:1fr;width:min(100% - 2rem,1180px);padding:3rem 0 2rem}.links-portal-hero aside{min-height:0;grid-template-columns:auto 1fr;align-items:center}.links-portal-hero aside strong{font-size:3rem;grid-row:1 / span 2}.links-portal-content,.links-portal footer{width:min(100% - 2rem,1180px)}.links-portal-group>header{align-items:flex-start;flex-direction:column;gap:.65rem;padding:1.15rem}.portal-link-grid{grid-template-columns:1fr}.portal-link-card{border-right:0}.links-portal footer{align-items:flex-start;flex-direction:column;gap:.7rem}}

/* Shared invoice status badges: readable labels and a decorative status dot. */
.status.invoice-status-badge { display: inline-flex; align-items: center; gap: .45rem; max-width: 100%; padding: .4rem .75rem; border: 1px solid currentColor; border-radius: 999px; font-size: .78rem; font-weight: 600; line-height: 1.4; vertical-align: middle; }
.invoice-status-dot { width: .4rem; height: .4rem; flex: 0 0 .4rem; border-radius: 50%; background: currentColor; }
.invoice-status-badge.invoice-status-pendiente_aprobacion, .invoice-status-badge.invoice-status-needs_information { background: #fff5df; color: #805514; border-color: #eedbb1; }
.invoice-status-badge.invoice-status-aprobando, .invoice-status-badge.invoice-status-already_exists { background: #edf2f8; color: #3f5872; border-color: #cfdbea; }
.invoice-status-badge.invoice-status-enviado { background: #eaf3ec; color: #265b3c; border-color: #c9ddcf; }
.invoice-status-badge.invoice-status-error, .invoice-status-badge.invoice-status-rechazado { background: #fbeeea; color: #973b30; border-color: #edcec7; }
.invoice-detail .admin-top > .invoice-status-badge { flex-shrink: 0; align-self: flex-start; }

/* Size the invoice columns to the available workspace, including the sidebar. */
.invoice-detail { container: invoice-detail / inline-size; }
.invoice-decision-controls { border: 0; padding: 0; margin: 0; min-width: 0; }
.invoice-reopen { margin-top: 1.5rem; padding-top: 1.2rem; border-top: 1px solid #dbe4d8; }
.invoice-reopen h3 { margin: 0 0 .5rem; }
.invoice-reopen-form { margin-top: 1rem; }
.invoice-reopen-form .invoice-decision-controls { display: grid; gap: 1rem; }
.invoice-reopen-confirm { display: flex; align-items: flex-start; gap: .65rem; min-height: 44px; line-height: 1.35; }
.invoice-reopen-confirm input { flex: 0 0 auto; width: 18px; height: 18px; min-height: 0; margin: .1rem 0 0; padding: 0; accent-color: #193f33; }
.invoice-reopen-confirm input:focus-visible { outline: 3px solid #805514; outline-offset: 2px; }
.invoice-reopen-form .button { justify-self: start; }
.invoice-reopenings { display: grid; gap: .75rem; margin: .5rem 0 0; padding-left: 1.2rem; }
.invoice-reopenings li { display: grid; gap: .2rem; overflow-wrap: anywhere; }
.invoice-reopenings small { color: #687970; }
@media (max-width: 760px) { .invoice-reopen-form .button { justify-self: stretch; } }
.invoice-detail .notice { overflow-wrap: anywhere; }
.invoice-detail-layout { grid-template-columns: minmax(0, 1fr); }
.invoice-detail-layout > .card { min-width: 0; padding: clamp(1rem, 2cqi, 1.5rem); }
.invoice-detail-layout > aside { grid-column: auto; }
.invoice-detail .detail-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); }
.invoice-detail .detail-grid > div { min-width: 0; overflow-wrap: anywhere; }
.invoice-detail .tag, .invoice-detail .lead, .invoice-preview-link { overflow-wrap: anywhere; }
@container invoice-detail (min-width: 740px) {
  .invoice-detail-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  .invoice-detail-layout > aside { grid-column: 1 / -1; }
}
@container invoice-detail (min-width: 1100px) {
  .invoice-detail-layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.35fr) minmax(0, .7fr); }
  .invoice-detail-layout > aside { grid-column: auto; }
}

.request-filters { display: grid; gap: 1rem; margin-bottom: 1.5rem; }
.request-filter-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.request-filter-group { min-width: 0; padding: 1rem; border: 1px solid #d8e3d6; border-radius: 16px; background: #fffefa; }
.request-filter-group h2 { margin: 0 0 .75rem; font-size: 1rem; }
.request-filters .filter-row a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; }
.request-filters a:focus-visible { outline: 3px solid #805514; outline-offset: 3px; }
@media (max-width: 760px) { .request-filter-groups { grid-template-columns: 1fr; } }

.fin-mapping { margin-top:1rem; scroll-margin-top:1rem; }
.fin-mapping-body { display:grid; gap:1rem; margin-top:1rem; min-width:0; }
.fin-mapping-body p { margin:.3rem 0; font-size:.85rem; line-height:1.5; }
.fin-mapping code { display:block; overflow-wrap:anywhere; font-size:.75rem; color:#4d655b; }
.fin-mapping-body p > code { display:inline; }
.fin-note { padding:.8rem; background:#f5efd9; border-left:3px solid #aa894b; border-radius:.25rem; }
.fin-catalog-filters { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:.75rem; }
.fin-mapping label { display:grid; gap:.4rem; font-size:.82rem; min-width:0; }
.fin-mapping input:not([type=checkbox]), .fin-mapping select { width:100%; min-width:0; min-height:44px; padding:.65rem; border:1px solid #b9cabe; border-radius:.5rem; background:white; color:#193f33; font:inherit; }
.fin-catalog-list { max-height:28rem; overflow:auto; border:1px solid #cedbcc; border-radius:.6rem; background:#fffefa; }
.fin-catalog-list article { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1rem; padding:1rem; border-bottom:1px solid #e0e7dc; font-size:.83rem; }
.fin-catalog-list article:last-child { border-bottom:0; }
.fin-catalog-list small { display:block; color:#526659; margin-top:.35rem; line-height:1.5; }
.fin-auto { display:inline-block; padding:.2rem .4rem; border-radius:.3rem; background:#eaf0e4; font-size:.72rem; }
.fin-associations { min-width:0; border:0; padding:0; margin:1rem 0 0; }
.fin-associations legend { font-size:1.1rem; font-weight:800; margin-bottom:.4rem; }
.fin-association { padding:1rem; margin:.7rem 0; border:1px solid #cedbcc; border-radius:.6rem; background:#fffefa; min-width:0; }
.fin-association-heading { display:flex; justify-content:space-between; align-items:center; gap:.75rem; }
.fin-association-heading > div { min-width:0; overflow-wrap:anywhere; }
.fin-mapping .button { min-height:44px; white-space:normal; }
.fin-current { color:#4d655b; overflow-wrap:anywhere; }
.fin-target-options { margin-top:.8rem; display:grid; gap:.65rem; }
.fin-target-scroll { max-height:21rem; overflow:auto; border-top:1px solid #dce5d8; }
.fin-target-scroll > label, .fin-mapping .fin-confirm { grid-template-columns:20px minmax(0,1fr); align-items:start; gap:.6rem; padding:.7rem .2rem; line-height:1.4; min-height:44px; }
.fin-target-scroll > label { border-bottom:1px solid #e8eee3; cursor:pointer; }
.fin-target-scroll input, .fin-confirm input { width:18px; height:18px; margin:.15rem 0 0; accent-color:#193f33; }
.fin-target-scroll small { display:block; color:#5b6e62; margin-top:.3rem; }
.fin-save { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.7rem; }
.fin-mapping :focus-visible { outline:3px solid #c47342; outline-offset:3px; }
.fin-mapping button:disabled { opacity:.55; cursor:not-allowed; }
@media(max-width:650px) {
  .fin-catalog-filters,.fin-catalog-list article { grid-template-columns:1fr; }
  .fin-association-heading { align-items:stretch; flex-direction:column; }
  .fin-mapping { padding:.8rem; }
  .fin-save { flex-direction:column; }
  .fin-catalog-list { max-height:25rem; }
}

.password-control { display:grid; gap:.45rem; min-width:0; }
.password-control-input { position:relative; min-width:0; }
.password-control-input input { width:100%; padding-right:3.5rem; }
.password-control-input button { position:absolute; right:3px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:44px; border:0; border-radius:.4rem; background:transparent; color:var(--primary, #163d33); cursor:pointer; }
.password-control-input button:hover { background:#163d3310; }
.password-control-input button:focus-visible { outline:2px solid currentColor; outline-offset:-3px; }
.review-inbox { --review-ink:#163d33; --review-line:#cfddd3; }
.review-inbox h1 { font-size:clamp(2.2rem, 5vw, 3.6rem); }
.review-filter-panel { margin:1.5rem 0 .5rem; }
.review-source-switch { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; padding:.45rem; background:#e9eee7; border:1px solid var(--review-line); border-radius:1.1rem; }
.review-source-switch a { display:flex; gap:.8rem; align-items:center; padding:1rem; min-height:72px; border-radius:.75rem; text-decoration:none; color:var(--review-ink); border:1px solid transparent; }
.review-source-switch a span { display:grid; gap:.2rem; }
.review-source-switch a small { font-size:.78rem; opacity:.8; }
.review-source-switch a[aria-current] { background:var(--review-ink); color:#fffdf1; box-shadow:0 3px 9px #163d3320; }
.review-source-switch a:not([aria-current]):hover { background:#fffdf3; }
.review-source-switch svg { flex-shrink:0; }
.review-state-section { padding:1.1rem .1rem .4rem; display:flex; gap:1rem; align-items:center; }
.review-state-label { font-size:.8rem; font-weight:700; }
.review-state-switch { display:flex; gap:.5rem; flex-wrap:wrap; }
.review-state-switch a { display:inline-flex; align-items:center; min-height:44px; padding:.55rem .85rem; border:1px solid var(--review-line); border-radius:.6rem; background:#fffefa; color:var(--review-ink); text-decoration:none; font-size:.85rem; }
.review-state-switch a[aria-current] { background:#f7d98b; border-color:#c5a345; font-weight:700; }
.review-filter-panel a:focus-visible, .review-row-action a:focus-visible { outline:3px solid #a65a27; outline-offset:3px; }
.review-filter-help { margin:.85rem .15rem 0; font-size:.85rem; }
.review-filter-loading { min-height:1.3rem; margin:.25rem 0; font-size:.8rem; }
.review-results.card { padding:1.3rem; }
.review-results-heading { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.3rem 0 1rem; }
.review-results-heading h2 { margin:0; font-size:1.2rem; }
.review-results-heading > span { font-size:.8rem; }
.review-table tbody tr:hover { background:#f4f6ef; }
.review-row-action a { display:inline-flex; align-items:center; justify-content:space-between; gap:.7rem; min-height:44px; padding:.5rem .75rem; border:1px solid var(--review-line); border-radius:.5rem; text-decoration:none; font-weight:700; white-space:nowrap; }
.review-empty td { padding:2rem 1rem; text-align:center; }
@media(max-width:700px) {
  .review-source-switch { gap:.3rem; padding:.3rem; }
  .review-source-switch a { flex-direction:column; justify-content:center; text-align:center; gap:.4rem; padding:.65rem .25rem; min-height:90px; font-size:.8rem; }
  .review-source-switch a small { display:none; }
  .review-state-section { align-items:flex-start; flex-direction:column; gap:.5rem; }
  .review-results-heading { align-items:flex-start; flex-direction:column; }
  .review-results.card { padding:.85rem; }
  .review-table, .review-table tbody { display:block; min-width:0; width:100%; }
  .review-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .review-table tr { display:block; border:1px solid var(--review-line); border-radius:.7rem; padding:.8rem; margin-bottom:.8rem; }
  .review-table td { display:block; padding:.35rem 0; border:0; white-space:normal; overflow-wrap:anywhere; }
  .review-table td[data-label]::before { content:attr(data-label); display:block; font-size:.7rem; opacity:.75; margin-bottom:.2rem; }
  .review-row-action a { display:flex; margin-top:.5rem; background:var(--review-ink); color:white; }
}

.provider-diagnostic { min-width:0; max-width:100%; margin-top:1rem; }
.provider-diagnostic summary { cursor:pointer; padding:.75rem 0; font-weight:700; }
.provider-diagnostic summary:focus-visible, .provider-diagnostic pre:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
.provider-diagnostic p, .provider-diagnostic li { overflow-wrap:anywhere; }
.provider-diagnostic pre { max-width:100%; white-space:pre-wrap; overflow-wrap:anywhere; padding:1rem; background:#f4f4ed; color:#163d33; border-radius:.5rem; font-size:.85rem; }
/* Formularios configurables y permisos por marca */
.choice-select{position:relative}.choice-select select{width:100%;min-height:50px;padding-right:3rem;appearance:none;background:#fffefa;border:1px solid #b7c5bd;border-radius:.75rem;cursor:pointer}.choice-select>span{position:absolute;right:1rem;top:50%;translate:0 -50%;pointer-events:none;font-size:1.2rem}.choice-select select:focus-visible,.choice-trigger:focus-visible{outline:3px solid var(--brand-accent,#f9a551);outline-offset:2px}
.choice-multiple{position:relative}.choice-trigger{display:flex;width:100%;min-height:50px;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1rem;border:1px solid #b7c5bd;border-radius:.75rem;background:#fffefa;color:#173f34;text-align:left;cursor:pointer}.choice-trigger>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-popover{position:absolute;z-index:20;top:calc(100% + .35rem);left:0;right:0;padding:.65rem;border:1px solid #bdcbc3;border-radius:.8rem;background:#fff;box-shadow:0 16px 38px rgba(20,51,56,.18)}.choice-popover>input{width:100%;margin-bottom:.5rem}.choice-options{display:grid;max-height:240px;overflow:auto}.choice-options label{display:flex;align-items:center;gap:.7rem;min-height:44px;padding:.55rem;border-radius:.45rem;cursor:pointer}.choice-options label:hover,.choice-options label:has(input:checked){background:#edf5ef}.choice-options input{width:18px;height:18px;accent-color:#193f33}.choice-done{width:100%;margin-top:.55rem;padding:.65rem;border:0;border-radius:.5rem;background:#193f33;color:#fff;font-weight:800;cursor:pointer}
.section-editor>form,.person-permissions{display:grid;gap:1rem;padding:1rem}.section-editor-card,.permission-brand-card{border:1px solid #d6e1d8;border-radius:.85rem;background:#fffefa}.section-editor-card{display:grid;gap:.75rem;padding:1rem}.section-editor-card>header,.section-question{display:flex;align-items:center;gap:.55rem}.section-editor-card>header{justify-content:space-between}.section-editor-card button,.section-question button{min-width:42px;min-height:42px}.section-question{padding:.55rem 0;border-top:1px solid #e5ebe6}.section-question>span{flex:1;font-weight:700}.section-question select{max-width:220px}.permission-intro{padding:1rem;border-radius:.75rem;background:#eff5ed}.permission-intro p{margin:.35rem 0 0}.permission-brand-card>summary{display:flex;justify-content:space-between;gap:1rem;padding:1rem;cursor:pointer}.permission-brand-card>summary span{color:#52665c;font-size:.78rem}.permission-brand-content{display:grid;gap:1rem;padding:0 1rem 1rem}.permission-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem}.permission-options label{display:flex;align-items:center;gap:.6rem;min-height:46px;padding:.65rem;border:1px solid #dce5dd;border-radius:.55rem;background:#f8faf6}.permission-options label:has(input:checked){border-color:#599678;background:#edf7ee}.permission-options input{width:18px;height:18px;accent-color:#193f33}
@media(max-width:620px){.choice-popover{position:fixed;left:1rem;right:1rem;top:auto;bottom:1rem}.section-question{align-items:stretch;flex-wrap:wrap}.section-question>span{flex-basis:100%}.section-question select{max-width:none;width:100%}.permission-options{grid-template-columns:1fr}}

/* Permission editor visual isolation */
.person-permissions{padding:1rem;background:#f8faf6;border-radius:.85rem}
.person-permissions .permission-brand-list{display:grid;gap:.75rem;min-width:0;margin:0;padding:0;border:0}
.hub-people .person-permissions .permission-brand-card>summary{display:flex;grid-template-columns:none;justify-content:space-between;align-items:center;gap:1rem;min-height:64px;padding:1rem 1.1rem;border-radius:.85rem;cursor:pointer}
.hub-people .person-permissions .permission-brand-card[open]>summary{border-bottom:1px solid #e1e8e2;border-radius:.85rem .85rem 0 0;background:#f8faf6}
.hub-people .person-permissions .permission-brand-card>summary>strong{color:#173f34;font-size:1rem}
.hub-people .person-permissions .permission-brand-card>summary>span{display:inline-flex;width:auto;height:auto;min-height:28px;padding:.3rem .65rem;place-items:initial;border-radius:999px;background:#e8f0e7;color:#496358;font-size:.72rem;font-weight:800;line-height:1.2;white-space:nowrap}
.person-permissions .permission-brand-content{padding:1.1rem}
.person-permissions .permission-brand-content fieldset{min-width:0;margin:0;padding:1rem;border:1px solid #d8e2da;border-radius:.75rem}
.person-permissions .permission-brand-content legend{max-width:100%;padding:0 .4rem;color:#244e3e;font-size:.82rem;font-weight:800}
.person-permissions .permission-brand-content>p,.person-permissions .permission-brand-content fieldset>p{margin:.1rem 0 .8rem;color:#607168;font-size:.8rem;line-height:1.5}
.person-permissions .access-check{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.7rem;min-height:48px;margin:0;padding:.7rem .8rem;border:1px solid #dbe5dc;border-radius:.65rem;background:#f7faf5;color:#173f34;font-size:.83rem;font-weight:800;cursor:pointer}
.person-permissions .access-check:has(input:checked){border-color:#67a184;background:#edf7ee}
.person-permissions .access-check input,.person-permissions .permission-options input{flex:0 0 auto;width:18px!important;height:18px;min-height:0;margin:0;accent-color:#193f33}
.person-permissions .permission-options label{display:flex!important;grid-template-columns:none!important;color:#173f34;font-size:.8rem;font-weight:700;cursor:pointer}
.hub-people .person-permissions .permission-brand-card>summary>strong{flex:0 0 auto}.hub-people .person-permissions .permission-brand-card>summary>span{min-width:0;white-space:normal;text-align:right;border-radius:.8rem;line-height:1.35}
.origin-levels{display:grid;gap:.6rem}.origin-level{display:grid;gap:.45rem;min-width:0;margin:0;padding:.65rem .8rem;border:1px solid #d8e2da;border-radius:.65rem}.origin-level>legend{padding:0 .3rem;color:#173f34;font-size:.8rem;font-weight:800}.origin-level>div{display:flex;flex-wrap:wrap;gap:.5rem}.person-permissions .origin-choice{display:flex;align-items:center;gap:.5rem;min-height:44px;margin:0;padding:.4rem .75rem;border:1px solid #dbe5dc;border-radius:.55rem;background:#f7faf5;color:#173f34;font-size:.8rem;font-weight:700;cursor:pointer}.person-permissions .origin-choice:has(input:checked){border-color:#67a184;background:#edf7ee}.person-permissions .origin-choice input{flex:0 0 auto;width:18px;height:18px;min-height:0;margin:0;padding:0;accent-color:#193f33}.origin-choice:has(input:focus-visible){outline:3px solid var(--brand-accent,#f9a551);outline-offset:2px}
.approver-notes{display:grid;gap:.4rem}.approver-notes ul{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.approver-notes li{padding:.55rem .7rem;border-radius:.55rem;font-size:.8rem}.approver-notes .is-approver{background:#edf7ee;color:#1d5a3c}.approver-notes .not-approver{background:#fdf3e4;color:#7a4a10}
.permission-savebar{position:sticky;z-index:5;bottom:.6rem;display:flex;align-items:center;justify-content:flex-end;gap:1rem;min-height:64px;padding:.75rem;border:1px solid #cddbcf;border-radius:.75rem;background:rgba(255,254,250,.96);box-shadow:0 10px 28px rgba(24,63,51,.13);backdrop-filter:blur(8px)}
.permission-savebar:has(.permission-save-feedback:not(:empty)){justify-content:space-between}
.permission-savebar .button{min-width:180px}
.permission-savebar p{margin:0}
@media(max-width:620px){.hub-people .person-permissions .permission-brand-card>summary{align-items:flex-start;flex-direction:column;gap:.45rem}.hub-people .person-permissions .permission-brand-card>summary>span{white-space:normal}.person-permissions{padding:.7rem}.person-permissions .permission-brand-content{padding:.8rem}.person-permissions .permission-brand-content fieldset{padding:.8rem}.permission-savebar{bottom:.35rem;align-items:stretch;flex-direction:column}.permission-savebar .button{width:100%}}
/* Configurable form editor and choice controls */
.field-required-toggle{display:flex!important;grid-template-columns:none!important;align-items:center;gap:.8rem;min-height:64px;padding:.8rem .9rem;border:1px solid #bdd1c3;border-radius:.7rem;background:#f0f6ee;cursor:pointer}
.field-required-toggle:has(input:checked){border-color:#4f8e70;background:#e8f5ea;box-shadow:inset 4px 0 #286348}
.field-required-toggle input{flex:0 0 auto;width:20px!important;height:20px;min-height:0;margin:0;accent-color:#1d6549}
.field-required-toggle span,.field-required-toggle strong,.field-required-toggle small{display:block}.field-required-toggle small{margin-top:.18rem;color:#607168;font-size:.73rem;font-weight:500}
.invoice-catalog-field{display:grid;gap:.42rem;font:650 .9rem ui-sans-serif,system-ui,sans-serif}.invoice-catalog-field small{font-weight:400}.invoice-catalog-field small[role="alert"]{color:#a52a21}
.choice-field{position:relative;width:100%}.choice-trigger{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid #9fb4aa;border-radius:.75rem;background:#fffefa;color:#123f32;font:700 1rem/1.3 ui-sans-serif,system-ui,sans-serif;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}.choice-trigger:hover{border-color:#39795d;background:#fbfdf9}.choice-trigger[aria-expanded="true"]{border-color:#17664a;box-shadow:0 0 0 3px rgba(23,102,74,.14)}.choice-trigger:focus-visible,.choice-option:focus-visible,.choice-done:focus-visible{outline:3px solid var(--brand-accent,#f9a551);outline-offset:2px}.choice-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.choice-placeholder{color:#687a71;font-weight:600}.choice-chevron{flex:0 0 auto;width:16px;height:16px;transform-origin:50% 50%;transition:transform .15s}.choice-trigger[aria-expanded="true"] .choice-chevron{transform:rotate(180deg)}
.choice-popover{position:absolute;z-index:50;top:calc(100% + .45rem);left:0;right:0;padding:.65rem;border:1px solid #aebfb6;border-radius:.85rem;background:#fff;box-shadow:0 18px 42px rgba(20,51,40,.22)}.choice-search{width:100%;margin-bottom:.55rem}.choice-options{display:grid;gap:.35rem;max-height:280px;overflow:auto}.choice-option{display:grid;width:100%;grid-template-columns:26px minmax(0,1fr);gap:.75rem;align-items:center;min-height:52px;padding:.7rem .8rem;border:1px solid transparent;border-radius:.6rem;background:#fff;color:#154837;font:700 .95rem/1.3 ui-sans-serif,system-ui,sans-serif;text-align:left;cursor:pointer}.choice-option:hover{border-color:#c7d8cc;background:#f1f7ef}.choice-option[aria-selected="true"]{border-color:#8db9a0;background:#e8f4ea}.choice-mark{display:grid;width:22px;height:22px;place-items:center;border:2px solid #87978f;border-radius:.28rem;background:#fff;color:#fff;font-size:.85rem}.choice-option[aria-selected="true"] .choice-mark{border-color:#1c5d45;background:#1c5d45}.choice-empty{margin:.5rem;padding:.8rem;color:#687970;text-align:center}.choice-done{width:100%;min-height:48px;margin-top:.65rem;padding:.7rem;border:0;border-radius:.6rem;background:#173f34;color:#fff;font-weight:800;cursor:pointer}
.section-editor>summary{background:#edf5e9;border-radius:.75rem}.section-editor>form{gap:1.1rem}.section-editor-intro{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem;border:1px solid #d3dfd2;border-radius:.75rem;background:#fbfcf8}.section-editor-intro p{margin:.25rem 0 0;color:#5f7167;font-size:.82rem}.section-editor-intro .button{flex:0 0 auto}.section-editor-list{display:grid;gap:1rem;min-width:0;margin:0;padding:0;border:0}.section-editor-card{overflow:hidden;padding:0}.section-editor-card>header{padding:.85rem 1rem;background:#f0f5ed;border-bottom:1px solid #dbe4da}.section-editor-card>header>div:first-child{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:.7rem;align-items:center}.section-editor-card>header small{grid-column:2;color:#6a7b71;font-size:.7rem}.section-number{display:grid;grid-row:1/3;width:34px;height:34px;place-items:center;border-radius:50%;background:#d7e9f5;color:#165893;font:800 .72rem ui-sans-serif,system-ui,sans-serif}.section-order-actions{display:flex;gap:.35rem}.section-order-actions button{display:grid;min-width:38px;min-height:38px;place-items:center;border:1px solid #b8c9bd;border-radius:.5rem;background:#fff;color:#174d3c;font-size:1rem;font-weight:900;cursor:pointer}.section-order-actions button:hover:not(:disabled){border-color:#39795d;background:#eaf4e9}.section-order-actions button:disabled{opacity:.35;cursor:not-allowed}.section-meta-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:.75rem;padding:1rem}.section-question-list{display:grid;padding:0 1rem 1rem}.section-question{display:grid;grid-template-columns:minmax(170px,1fr) minmax(180px,.7fr) auto;gap:.75rem;align-items:center;padding:.7rem 0}.section-question>div:first-child strong,.section-question>div:first-child small{display:block}.section-question>div:first-child small{margin-top:.12rem;color:#7a8880;font:.68rem ui-monospace,monospace}.section-assignment{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:.5rem;align-items:center;color:#627269;font-size:.7rem;font-weight:800}.section-assignment select{min-width:0;height:42px}.section-empty{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin:0 1rem 1rem;padding:.75rem;border:1px dashed #bdcbbf;border-radius:.6rem;color:#65756c;font-size:.78rem}.section-empty button{border:0;background:transparent;color:#9a392f;font-weight:800;cursor:pointer}.section-savebar{position:sticky;z-index:10;bottom:.5rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem;border:1px solid #c7d6c9;border-radius:.75rem;background:rgba(255,254,250,.96);box-shadow:0 10px 30px rgba(20,55,43,.14);backdrop-filter:blur(8px)}.section-savebar p{margin:0}.section-savebar .button{min-width:210px}
@media(max-width:620px){.choice-popover{position:fixed;z-index:100;top:auto;right:.75rem;bottom:.75rem;left:.75rem;max-height:72dvh}.choice-options{max-height:46dvh}.choice-option{min-height:56px}.section-editor-intro{align-items:stretch;flex-direction:column}.section-editor-intro .button{width:100%}.section-meta-grid{grid-template-columns:1fr}.section-question{grid-template-columns:1fr auto}.section-assignment{grid-column:1/-1}.section-savebar{align-items:stretch;flex-direction:column}.section-savebar .button{width:100%}.section-empty{align-items:flex-start;flex-direction:column}}
/* Adjuntos de formularios y revision */
.brand-form-card .brand-form-field input[type="file"] { width:100%; min-width:0; padding:.65rem; border:1px dashed color-mix(in srgb,var(--brand-primary) 45%,transparent); background:color-mix(in srgb,var(--brand-accent) 8%,#fff); cursor:pointer; }
.brand-form-card .brand-form-field input[type="file"]::file-selector-button { margin-right:.8rem; padding:.6rem .75rem; border:0; border-radius:.45rem; background:var(--brand-action); color:#fff; font:inherit; font-weight:650; cursor:pointer; }
.brand-form-card .brand-form-field input[type="file"]:focus-visible { outline:3px solid var(--brand-action); outline-offset:2px; }
.optional-tax-documents { grid-column:1 / -1; min-width:0; margin-top:.15rem; border:1px solid color-mix(in srgb,var(--brand-primary) 20%,transparent); border-radius:.8rem; background:color-mix(in srgb,var(--brand-accent) 5%,#fff); }
.optional-tax-documents summary { display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-height:52px; padding:.85rem 1rem; color:var(--brand-ink); font:700 .92rem/1.3 var(--brand-body),sans-serif; list-style:none; cursor:pointer; }
.optional-tax-documents summary::-webkit-details-marker { display:none; }
.optional-tax-documents summary::before { content:"+"; flex:0 0 auto; font-size:1.2rem; line-height:1; color:var(--brand-action); }
.optional-tax-documents[open] summary::before { content:"-"; }
.optional-tax-documents summary span { margin-left:auto; padding:.22rem .48rem; border-radius:99px; background:#e8eee7; color:color-mix(in srgb,var(--brand-ink) 76%,transparent); font-size:.7rem; font-weight:700; }
.optional-tax-documents summary:focus-visible { outline:3px solid var(--brand-action); outline-offset:3px; border-radius:.7rem; }
.brand-form-card .optional-tax-documents > p { margin:0; padding:0 1rem .8rem; color:color-mix(in srgb,var(--brand-ink) 70%,transparent); font-size:.8rem; line-height:1.45; }
.optional-tax-documents > .brand-form-fields { padding:0 1rem 1rem; }
.request-attachments { margin-top:1.5rem; padding-top:1rem; border-top:1px solid #d9e5dc; }
.request-attachments ul { display:grid; gap:.65rem; margin:0; padding:0; list-style:none; }
.request-attachments li { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; padding:.8rem; border:1px solid #d9e5dc; border-radius:.7rem; overflow-wrap:anywhere; }
.request-attachments li strong { flex:1 1 12rem; }.request-attachments li a { font-weight:700; }.request-attachments li a:focus-visible { outline:3px solid #245d40; outline-offset:3px; }
.request-attachments li small { color:#56675d; }

/* ---------- Tickets (prefijo tk-, no afecta otras pantallas) ---------- */
.nav-badge { margin-left: auto; min-width: 1.4rem; padding: .05rem .4rem; border-radius: 99px; background: #e06f50; color: #fff; font-size: .72rem; font-weight: 800; text-align: center; line-height: 1.35rem; }
.tk-root { --tk-ink: #193f33; --tk-line: #d8dfd1; --tk-soft: #f4f7f1; --tk-focus: #e06f50; font-family: ui-sans-serif, system-ui, sans-serif; }
.tk-root :focus-visible { outline: 3px solid var(--tk-focus); outline-offset: 2px; }
.tk-page h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); }
.tk-back { display: inline-block; margin-bottom: 1rem; color: var(--muted); text-decoration: none; font-weight: 600; }
.tk-back:hover { color: var(--ink); text-decoration: underline; }
.tk-muted, .tk-sub { color: var(--muted); font-size: .85rem; }
.tk-sub { display: block; margin-top: .2rem; }
.tk-ok { color: #1f5a3d; font-size: .88rem; font-weight: 600; margin: .4rem 0 0; }
.tk-link-button { background: none; border: 0; padding: .2rem 0; color: var(--forest); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.tk-link-button.danger { color: #9d3429; }
.tk-icon-button { background: none; border: 1px solid transparent; border-radius: .35rem; width: 2rem; height: 2rem; font-size: 1.2rem; line-height: 1; color: var(--muted); cursor: pointer; }
.tk-icon-button:hover { border-color: var(--tk-line); color: var(--ink); }
.tk-root kbd, .tk-shortcuts-button kbd { display: inline-block; min-width: 1.3rem; padding: 0 .3rem; border: 1px solid currentColor; border-radius: .25rem; font-size: .72rem; font-family: ui-monospace, monospace; opacity: .75; margin-left: .35rem; text-align: center; }
.field-error { color: #9d3429; font-size: .85rem; font-weight: 600; }

/* Listado */
.tk-list-top { flex-wrap: wrap; }
.tk-views { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1rem; }
.tk-views a { display: inline-flex; align-items: center; gap: .4rem; min-height: 2.5rem; padding: .45rem .85rem; border: 1px solid var(--tk-line); border-radius: 99px; background: #fffefa; text-decoration: none; font-weight: 600; font-size: .9rem; }
.tk-views a:hover { border-color: var(--forest); }
.tk-views a.is-active { background: var(--forest); color: #fff; border-color: var(--forest); }
.tk-views a.tk-finished-toggle { border-style: dashed; font-weight: 500; color: var(--muted); }
.tk-count { min-width: 1.3rem; padding: 0 .35rem; border-radius: 99px; background: #e06f50; color: #fff; font-size: .72rem; font-weight: 800; text-align: center; }
.tk-filters { display: grid; grid-template-columns: minmax(220px, 1fr) auto; gap: .7rem; align-items: end; padding: 1rem; background: #fffefa; border: 1px solid var(--tk-line); border-radius: .8rem; margin-bottom: 1rem; }
.tk-more-filters { grid-column: 1 / -1; }
.tk-more-filters summary { cursor: pointer; font-weight: 700; font-size: .88rem; padding: .3rem 0; }
.tk-filter-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .7rem; margin-top: .6rem; }
.tk-filters label { font-size: .8rem; }
.tk-filters input, .tk-filters select { padding: .6rem .65rem; }
.tk-filter-actions { display: flex; gap: .8rem; align-items: center; grid-column: 2; grid-row: 1; }
.tk-live { min-height: 0; }
.tk-live-banner { display: block; width: 100%; margin-bottom: 1rem; padding: .75rem 1rem; border: 1px solid #e3c372; border-radius: .6rem; background: #fff3d5; color: #6b4c0e; font-weight: 700; cursor: pointer; text-align: left; }
.tk-list-card { padding: 0; overflow: hidden; }
.tk-list-card .table-wrap { margin: 0; }
.tk-table th:first-child, .tk-table td:first-child { padding-left: 1.2rem; }
.tk-table tbody tr:hover { background: #fbfcf8; }
.tk-cell-title a { display: flex; flex-direction: column; gap: .15rem; text-decoration: none; }
.tk-cell-title a:hover strong { text-decoration: underline; }
.tk-cell-title strong { font-size: .98rem; }
.tk-cell-title small { color: var(--muted); }
.tk-code { font-family: ui-monospace, monospace; font-size: .75rem; color: var(--muted); font-weight: 700; }
.tk-empty { padding: 2.5rem 1.5rem; text-align: center; display: grid; justify-items: center; gap: .3rem; }
.tk-empty p { color: var(--muted); max-width: 52ch; margin: 0 0 .8rem; }
.tk-more { display: flex; justify-content: center; padding: 1rem; border-top: 1px solid var(--tk-line); }

/* Insignias */
.tk-badges { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
.tk-badge { display: inline-flex; align-items: center; gap: .35rem; padding: .22rem .6rem; border-radius: 99px; background: #eef1ea; color: #33433c; font-size: .75rem; font-weight: 700; white-space: nowrap; }
.tk-status.status-new { background: #e4ecfb; color: #1f4c8f; }
.tk-status.status-triaged { background: #ece7fb; color: #4d3a8f; }
.tk-status.status-in_progress { background: #e1f1ea; color: #1f5a3d; }
.tk-status.status-waiting_customer { background: #fff0cf; color: #7a5410; }
.tk-status.status-waiting_third_party { background: #f6ead9; color: #6e4a1d; }
.tk-status.status-pending_confirmation { background: #e4effa; color: #1f4f7a; }
.tk-status.status-resolved { background: #dff3e4; color: #1d6337; }
.tk-status.status-closed, .tk-status.status-cancelled { background: #eceeec; color: #555f59; }
.tk-dot { width: .55rem; height: .55rem; border-radius: 50%; background: currentColor; }
.tk-priority.priority-low { color: #4b5d55; }
.tk-priority.priority-medium { color: #7a5410; background: #fff6df; }
.tk-priority.priority-high { color: #a3461f; background: #fde9df; }
.tk-priority.priority-critical { color: #fff; background: #9d3429; }
.tk-sla.sla-ok, .tk-sla.sla-met { background: #e1f1ea; color: #1f5a3d; }
.tk-sla.sla-at-risk { background: #fff0cf; color: #7a5410; }
.tk-sla.sla-breached { background: #f9e0dc; color: #8f2c22; }
.tk-sla.sla-paused { background: #eceeec; color: #555f59; }
.tk-due.due-overdue { background: #f9e0dc; color: #8f2c22; }
.tk-due.due-today, .tk-due.due-tomorrow { background: #fff0cf; color: #7a5410; }
.tk-due.due-later { background: #e6eef8; color: #1d4f86; }
.tk-cell-badges { display: flex; flex-wrap: wrap; gap: 4px; align-items: flex-start; }

/* Alta */
.tk-form { display: grid; gap: 1.2rem; max-width: 900px; }
.tk-step { background: #fffefa; border: 1px solid var(--tk-line); border-radius: .9rem; padding: clamp(1rem, 3vw, 1.6rem); display: grid; gap: 1rem; }
.tk-step h2 { display: flex; align-items: center; gap: .7rem; font-size: 1.25rem; }
.tk-step h2 span { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: var(--forest); color: #fff; font-size: .95rem; }
.tk-chip-group { display: flex; flex-wrap: wrap; gap: .5rem; }
.tk-chip { display: inline-flex; position: relative; cursor: pointer; font-weight: 600; }
.tk-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tk-chip span { display: inline-flex; align-items: center; min-height: 2.6rem; padding: .5rem .95rem; border: 1px solid #bdc7bf; border-radius: 99px; background: #fff; }
.tk-chip input:checked + span { background: var(--forest); color: #fff; border-color: var(--forest); }
.tk-chip input:focus-visible + span { outline: 3px solid var(--tk-focus); outline-offset: 2px; }
.tk-fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: .6rem; }
.tk-fieldset legend { font-size: .9rem; font-weight: 650; margin-bottom: .5rem; }
.tk-fieldset legend small { font-weight: 500; color: var(--muted); }
.tk-priority-group { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: .55rem; }
.tk-priority-option { position: relative; cursor: pointer; }
.tk-priority-option input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tk-priority-option span { display: grid; gap: .2rem; height: 100%; padding: .75rem .85rem; border: 1px solid #bdc7bf; border-radius: .6rem; background: #fff; font-weight: 500; }
.tk-priority-option small { color: var(--muted); font-size: .78rem; font-weight: 500; }
.tk-priority-option input:checked + span { border: 2px solid var(--forest); background: #f2f7f2; }
.tk-priority-option.priority-critical input:checked + span { border-color: #9d3429; background: #fbeeeb; }
.tk-priority-option input:focus-visible + span { outline: 3px solid var(--tk-focus); outline-offset: 2px; }
.tk-similar { padding: .8rem 1rem; border-left: 3px solid var(--gold); background: #fffae9; border-radius: .4rem; font-size: .9rem; }
.tk-similar ul { margin: .4rem 0; padding-left: 1.1rem; }
.tk-similar small { color: var(--muted); }
.tk-form-actions { display: flex; justify-content: flex-end; gap: .7rem; flex-wrap: wrap; }
.tk-draft-note { display: flex; gap: .8rem; flex-wrap: wrap; align-items: center; }

/* Selector de clasificación */
.tk-class-picker { display: grid; gap: .8rem; }
.tk-class-picker.has-error .tk-class-grid { outline: 2px solid #9d3429; outline-offset: 4px; border-radius: .6rem; }
.tk-class-search { max-width: 460px; }
.tk-class-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); gap: .6rem; }
.tk-class-card { display: grid; align-content: start; gap: .3rem; min-height: 6.2rem; padding: .85rem; border: 1px solid #c9d3cb; border-radius: .7rem; background: #fff; text-align: left; color: var(--ink); cursor: pointer; transition: border-color .15s, transform .15s, box-shadow .15s; }
.tk-class-card:hover { border-color: var(--forest); transform: translateY(-1px); box-shadow: 0 6px 16px rgba(25,47,37,.08); }
.tk-class-card strong { font-size: .98rem; }
.tk-class-card small { color: var(--muted); font-size: .78rem; line-height: 1.35; }
.tk-class-card em { font-style: normal; font-size: .75rem; color: #1f5a3d; font-weight: 700; }
.tk-class-card.is-unknown { border-style: dashed; background: #fbfbf6; }
.tk-class-icon { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: .55rem; background: #e7efe6; color: var(--forest); }
.tk-class-results { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.tk-class-results button { width: 100%; text-align: left; padding: .65rem .8rem; border: 1px solid #c9d3cb; border-radius: .5rem; background: #fff; cursor: pointer; font-weight: 600; }
.tk-class-results button:hover { border-color: var(--forest); }
.tk-empty-line { color: var(--muted); font-size: .9rem; padding: .4rem 0; }
.tk-class-recent { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-size: .82rem; color: var(--muted); }
.tk-class-recent button { border: 1px solid #c9d3cb; background: #fff; border-radius: 99px; padding: .35rem .7rem; cursor: pointer; font-weight: 600; color: var(--ink); }
.tk-breadcrumbs { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; font-size: .9rem; }
.tk-breadcrumbs button { background: none; border: 0; padding: .2rem .3rem; color: var(--forest); font-weight: 700; cursor: pointer; text-decoration: underline; }
.tk-breadcrumbs button[aria-current] { text-decoration: none; color: var(--ink); }
.tk-class-selected { display: flex; align-items: center; gap: .8rem; padding: .8rem 1rem; border: 2px solid var(--forest); border-radius: .7rem; background: #f2f7f2; flex-wrap: wrap; }
.tk-class-selected > span:nth-of-type(2) { display: grid; flex: 1; min-width: 12rem; }
.tk-class-selected small { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }

/* Editor con pegado de imágenes */
.tk-editor { display: grid; gap: .45rem; position: relative; }
.tk-editor > label { font-size: .9rem; font-weight: 650; }
.tk-editor-box { border: 1px solid #bdc7bf; border-radius: .5rem; background: #fff; position: relative; }
.tk-editor-box:focus-within { outline: 3px solid var(--tk-focus); outline-offset: 1px; }
.tk-editor textarea { border: 0; border-radius: .5rem .5rem 0 0; min-height: 8rem; outline: none; line-height: 1.5; }
.tk-editor.is-dragging .tk-editor-box { border: 2px dashed var(--forest); background: #f2f7f2; }
.tk-editor.has-error .tk-editor-box { border-color: #9d3429; }
.tk-editor-toolbar { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; padding: .45rem .6rem; border-top: 1px solid #e3e8e0; background: #fafbf7; border-radius: 0 0 .5rem .5rem; font-size: .8rem; color: var(--muted); }
.tk-attach-button { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .7rem; border: 1px solid #c9d3cb; border-radius: .4rem; background: #fff; font-weight: 700; color: var(--ink); cursor: pointer; }
.tk-mention-list { position: absolute; left: .6rem; bottom: 3rem; z-index: 5; list-style: none; margin: 0; padding: .3rem; min-width: 14rem; background: #fff; border: 1px solid #c9d3cb; border-radius: .5rem; box-shadow: 0 10px 24px rgba(0,0,0,.12); }
.tk-mention-list button { width: 100%; text-align: left; padding: .45rem .6rem; border: 0; background: none; border-radius: .35rem; cursor: pointer; }
.tk-mention-list li[aria-selected="true"] button, .tk-mention-list button:hover { background: #e7efe6; }
.tk-uploads { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .5rem; }
.tk-uploads li { display: flex; align-items: center; gap: .55rem; padding: .45rem; border: 1px solid #dfe5dc; border-radius: .5rem; background: #fff; }
.tk-uploads li.is-error { border-color: #e2b3ab; background: #fdf3f1; }
.tk-uploads img, .tk-file-icon { flex: none; width: 3rem; height: 3rem; object-fit: cover; border-radius: .35rem; background: #eef1ea; }
.tk-file-icon { display: inline-grid; place-items: center; font-size: .65rem; font-weight: 800; color: var(--muted); }
.tk-upload-name { display: grid; flex: 1; min-width: 0; }
.tk-upload-name strong { font-size: .8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-upload-name small { font-size: .72rem; color: var(--muted); }
.tk-uploads li.is-error small { color: #9d3429; }
.tk-progress { display: block; height: .3rem; background: #e3e8e0; border-radius: 99px; overflow: hidden; margin-top: .2rem; }
.tk-progress i { display: block; height: 100%; background: var(--forest); transition: width .2s; }

/* Detalle */
.tk-detail-header { margin-bottom: 1rem; }
/* Título fijo debajo de la barra superior (64px) al bajar por la conversación, con letra moderada. */
.tk-titlebar { position: sticky; top: 64px; z-index: 20; margin: 0 -.75rem .6rem; padding: .55rem .75rem .6rem; background: rgba(247,247,231,.96); border-bottom: 1px solid var(--tk-line); backdrop-filter: blur(6px); }
.tk-titlebar .tag { margin: 0 0 .15rem; font-size: .72rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-titlebar-row { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.tk-page .tk-titlebar h1 { flex: 1 1 auto; min-width: 0; margin: 0; font-size: clamp(1.2rem, 2.2vw, 1.6rem); line-height: 1.2; letter-spacing: -.02em; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere; }
.tk-titlebar-row .tk-status { flex: none; }
.tk-created, .tk-waiting { margin-bottom: 1rem; }
.tk-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.2rem; align-items: start; }
.tk-timeline { display: grid; gap: .8rem; min-width: 0; }
.tk-message { background: #fffefa; border: 1px solid var(--tk-line); border-radius: .8rem; padding: 1rem 1.15rem; min-width: 0; }
.tk-message.is-description { border-width: 2px; }
.tk-message.is-internal { background: #fff7e6; border: 1px dashed #d8a33a; }
.tk-message header { display: flex; flex-wrap: wrap; gap: .5rem; align-items: baseline; margin-bottom: .5rem; font-size: .88rem; }
.tk-message header time { color: var(--muted); font-size: .8rem; margin-left: auto; }
.tk-internal-tag { padding: .1rem .5rem; border-radius: 99px; background: #f3d79a; color: #5e430d; font-size: .72rem; font-weight: 800; }
.tk-markdown { overflow-wrap: anywhere; line-height: 1.55; }
.tk-markdown p { margin: 0 0 .6rem; }
.tk-markdown p:last-child { margin-bottom: 0; }
.tk-markdown pre { overflow-x: auto; padding: .7rem; background: #f1f3ef; border-radius: .4rem; font-size: .85rem; }
.tk-markdown code { background: #f1f3ef; padding: .05rem .3rem; border-radius: .25rem; font-size: .88em; }
.tk-markdown ul, .tk-markdown ol { margin: .2rem 0 .6rem; padding-left: 1.3rem; }
.tk-inline-image { display: block; margin: .5rem 0; }
.tk-inline-image img { max-width: 100%; max-height: 28rem; border: 1px solid var(--tk-line); border-radius: .5rem; display: block; }
.tk-mention { padding: 0 .25rem; border-radius: .25rem; background: #e7efe6; color: var(--forest); font-weight: 700; }
.tk-missing { color: var(--muted); font-style: italic; }
.tk-files { list-style: none; margin: .7rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.tk-files a { display: flex; align-items: center; gap: .5rem; padding: .35rem .55rem; border: 1px solid var(--tk-line); border-radius: .5rem; background: #fff; text-decoration: none; font-size: .82rem; max-width: 18rem; }
.tk-files img { width: 2.6rem; height: 2.6rem; object-fit: cover; border-radius: .3rem; }
.tk-files span { display: grid; min-width: 0; overflow-wrap: anywhere; }
.tk-files small { color: var(--muted); }
.tk-event { display: flex; gap: .45rem; align-items: baseline; flex-wrap: wrap; margin: 0; padding: .2rem .5rem; font-size: .82rem; color: var(--muted); }
.tk-event strong { color: var(--ink); }
.tk-event-dot { width: .45rem; height: .45rem; border-radius: 50%; background: #b9c4bb; flex: none; transform: translateY(-1px); }
.tk-reply { display: grid; gap: .7rem; padding: 1rem; border: 1px solid var(--tk-line); border-radius: .8rem; background: #fffefa; }
.tk-reply.is-internal { background: #fff7e6; border-color: #d8a33a; }
.tk-visibility { display: flex; gap: .4rem; flex-wrap: wrap; border: 0; padding: 0; margin: 0; }
.tk-visibility label { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .75rem; border: 1px solid #c9d3cb; border-radius: 99px; background: #fff; cursor: pointer; font-size: .85rem; }
.tk-visibility label.is-active { border-color: var(--forest); background: #f2f7f2; }
.tk-visibility input { width: auto; }
.tk-visibility small { color: var(--muted); font-weight: 500; }
.tk-reply-actions { display: flex; justify-content: flex-end; }
.tk-side { position: sticky; top: calc(64px + 6.5rem); max-height: calc(100vh - 64px - 7.5rem); overflow-y: auto; overscroll-behavior: contain; display: grid; gap: 1rem; padding: 1.2rem; }
.tk-side h2 { font-size: 1.2rem; }
.tk-side h3 { font-size: .95rem; margin: 0 0 .4rem; }
.tk-facts { display: grid; gap: .5rem; margin: 0; }
.tk-facts div { display: grid; gap: .1rem; }
.tk-facts dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.tk-facts dd { margin: 0; font-weight: 600; font-size: .92rem; }
.tk-side-forms { display: grid; gap: .9rem; }
.tk-update-form { display: grid; gap: .4rem; }
.tk-update-form label { font-size: .8rem; }
.tk-update-form select, .tk-update-form input { padding: .55rem .6rem; }
.tk-update-form .button { min-height: 2.3rem; padding: .4rem .8rem; justify-self: start; }
.tk-watcher-picker input, .tk-watcher-picker select { width: 100%; }
.tk-watcher-picker select option { padding: .25rem .2rem; }
.tk-requester-actions { display: grid; gap: .5rem; padding-bottom: .8rem; border-bottom: 1px solid var(--tk-line); }
.tk-requester-actions .button { width: 100%; }
.tk-watchers { padding-top: .8rem; border-top: 1px solid var(--tk-line); display: grid; gap: .5rem; }
.tk-watchers ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .25rem; }
.tk-watchers li { display: flex; justify-content: space-between; align-items: center; font-size: .88rem; }
.tk-cancel { padding-top: .6rem; border-top: 1px solid var(--tk-line); }
.tk-shortcuts-button { position: fixed; right: 1rem; bottom: 1rem; z-index: 20; padding: .45rem .7rem; border: 1px solid var(--tk-line); border-radius: 99px; background: #fffefa; color: var(--muted); font-size: .78rem; font-weight: 700; cursor: pointer; box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.tk-dialog { border: 1px solid var(--tk-line); border-radius: .8rem; padding: 1.4rem; max-width: 26rem; width: calc(100% - 2rem); }
.tk-dialog::backdrop { background: rgba(10, 25, 18, .35); }
.tk-dialog dl { display: grid; gap: .4rem; margin: 1rem 0 1.2rem; }
.tk-dialog dl div { display: flex; gap: .7rem; align-items: center; }
.tk-dialog dd { margin: 0; }

/* Notificaciones */
.tk-notification-list { list-style: none; margin: 0; padding: 0; }
.tk-notification-list li + li { border-top: 1px solid var(--tk-line); }
.tk-notification-list a { display: grid; gap: .15rem; padding: .85rem .3rem; text-decoration: none; }
.tk-notification-list a:hover strong { text-decoration: underline; }
.tk-notification-list .is-unread strong::before { content: ""; display: inline-block; width: .5rem; height: .5rem; margin-right: .45rem; border-radius: 50%; background: #e06f50; vertical-align: middle; }
.tk-notification-list .is-read { opacity: .75; }
.tk-notification-list span { color: #3d4b44; font-size: .88rem; }
.tk-notification-list time { color: var(--muted); font-size: .78rem; }

/* Personas: rol de soporte y nivel de tickets */
.support-role-form { margin-top: 1rem; padding-top: 1rem; border-top: 1px solid var(--tk-line, #d8dfd1); }
.support-role-form fieldset { border: 0; padding: 0; margin: 0; display: grid; gap: .6rem; }
.support-role-form legend { font-weight: 800; margin-bottom: .4rem; }
.support-role-options { display: grid; gap: .45rem; }
.support-role-options label { display: flex; gap: .55rem; align-items: flex-start; font-weight: 500; }
.support-role-options input { width: auto; margin-top: .25rem; }
.support-role-options span { display: grid; }
.support-role-options small { color: var(--muted); font-weight: 500; }
.ticket-level small { display: block; color: var(--muted); font-weight: 500; font-size: .75rem; }

@media (max-width: 900px) {
  .tk-detail-layout { grid-template-columns: 1fr; }
  .tk-side { position: static; max-height: none; overflow: visible; }
}
@media (max-width: 760px) {
  .tk-filters { grid-template-columns: 1fr; }
  .tk-filter-actions { grid-column: 1; grid-row: auto; }
  .tk-filter-grid { grid-template-columns: 1fr 1fr; }
  .tk-table thead { display: none; }
  .tk-table, .tk-table tbody, .tk-table tr, .tk-table td { display: block; width: 100%; }
  .tk-table tr { padding: .9rem 1rem; border-bottom: 1px solid var(--tk-line); }
  .tk-table td { border: 0; padding: .2rem 0 !important; display: flex; gap: .6rem; justify-content: space-between; align-items: center; }
  .tk-table td::before { content: attr(data-label); color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; }
  .tk-table td.tk-cell-title { display: block; padding-bottom: .5rem !important; }
  .tk-table td.tk-cell-title::before { content: none; }
  .tk-message header time { margin-left: 0; width: 100%; }
  .tk-form-actions .button { width: 100%; }
  .tk-shortcuts-button { display: none; }
}
@media (max-width: 420px) {
  .tk-filter-grid { grid-template-columns: 1fr; }
  .tk-class-grid { grid-template-columns: 1fr 1fr; }
  .tk-uploads { grid-template-columns: 1fr; }
}

/* Tickets: filtros de selección múltiple */
.tk-multi { position: relative; display: grid; gap: .42rem; font-size: .8rem; font-weight: 650; }
.tk-multi-trigger { display: flex; align-items: center; justify-content: space-between; gap: .5rem; width: 100%; min-height: 2.6rem; padding: .55rem .65rem; border: 1px solid #bdc7bf; border-radius: .4rem; background: #fff; color: var(--ink); text-align: left; font-weight: 600; cursor: pointer; }
.tk-multi-trigger span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-multi-placeholder { color: var(--muted); font-weight: 500; }
.tk-multi.is-open .tk-multi-trigger svg { transform: rotate(180deg); }
.tk-multi-popover { position: absolute; top: calc(100% + .3rem); left: 0; z-index: 15; width: max(100%, 16rem); max-width: calc(100vw - 2rem); padding: .5rem; background: #fff; border: 1px solid #c9d3cb; border-radius: .55rem; box-shadow: 0 14px 30px rgba(0,0,0,.12); display: grid; gap: .45rem; }
.tk-multi-search { padding: .5rem .6rem; }
.tk-multi-options { display: grid; gap: .1rem; max-height: 16rem; overflow-y: auto; }
.tk-multi-options label { display: flex; align-items: center; gap: .55rem; padding: .45rem .4rem; border-radius: .35rem; font-weight: 500; font-size: .88rem; cursor: pointer; }
.tk-multi-options label:hover { background: #f2f7f2; }
.tk-multi-options input { width: auto; margin: 0; }
.tk-multi-actions { display: flex; justify-content: space-between; align-items: center; gap: .5rem; padding-top: .4rem; border-top: 1px solid #e3e8e0; }
.tk-multi-actions .button { min-height: 2.2rem; padding: .35rem .8rem; }

/* Tickets: pestañas, resumen, métricas, tablero y configuración */
.tk-root { --series-1: #2a78d6; --series-2: #eb6834; }
.tk-tabs { display: flex; gap: .2rem; border-bottom: 1px solid var(--tk-line); margin: -.6rem 0 1.1rem; overflow-x: auto; }
.tk-tabs a { padding: .65rem 1rem; text-decoration: none; font-weight: 700; color: var(--muted); border-bottom: 3px solid transparent; white-space: nowrap; }
.tk-tabs a:hover { color: var(--ink); }
.tk-tabs a.is-active { color: var(--ink); border-bottom-color: var(--forest); }
.tk-views-sep { width: 1px; align-self: stretch; background: var(--tk-line); margin: 0 .3rem; }
.tk-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: .6rem; margin-bottom: 1.1rem; }
.tk-stat { display: grid; gap: .15rem; padding: .85rem 1rem; background: #fffefa; border: 1px solid var(--tk-line); border-radius: .7rem; text-decoration: none; color: var(--ink); }
a.tk-stat:hover { border-color: var(--forest); }
.tk-stat-label { font-size: .75rem; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; }
.tk-stat-value { font-size: 1.7rem; line-height: 1.1; }
.tk-stat small { color: var(--muted); font-size: .75rem; }
.tk-stat.tone-warning { border-left: 4px solid #d9a41d; }
.tk-stat.tone-critical { border-left: 4px solid #9d3429; }
.tk-stats-compact .tk-stat { padding: .6rem .8rem; }
.tk-stats-compact .tk-stat-value { font-size: 1.35rem; }
.tk-row.priority-critical td:first-child { box-shadow: inset 4px 0 0 #9d3429; }
.tk-row.priority-high td:first-child { box-shadow: inset 4px 0 0 #d9762d; }
.tk-age { font-variant-numeric: tabular-nums; white-space: nowrap; }
.tk-age.is-old { color: #8f2c22; font-weight: 700; }
.tk-tag { background: #eef0f7; color: #3b4260; }
.tk-area-field { max-width: 360px; }
.tk-area-field small { font-weight: 500; color: var(--muted); }

/* Métricas */
.tk-chart-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: .9rem; margin-bottom: .9rem; }
.tk-chart { margin: 0; padding: 1rem 1.1rem; background: #fffefa; border: 1px solid var(--tk-line); border-radius: .8rem; display: grid; gap: .7rem; align-content: start; }
.tk-chart figcaption { display: grid; gap: .1rem; }
.tk-chart figcaption small { color: var(--muted); font-size: .78rem; }
.tk-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: .45rem; }
.tk-bars li > a, .tk-bars li > div { position: relative; display: grid; grid-template-columns: minmax(7rem, 38%) 1fr 2.5rem; align-items: center; gap: .6rem; text-decoration: none; color: var(--ink); font-size: .86rem; border-radius: .3rem; padding: .1rem 0; }
.tk-bars li > a:hover .tk-bar, .tk-bars li > div:hover .tk-bar, .tk-bars li > :focus-visible .tk-bar { filter: brightness(.88); }
.tk-bar-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tk-bar-track { display: block; height: .7rem; }
.tk-bar { display: block; height: 100%; background: var(--series-1); border-radius: 0 4px 4px 0; min-width: 2px; }
.tk-bar-value { text-align: right; font-variant-numeric: tabular-nums; font-weight: 700; }
.tk-tooltip { position: absolute; z-index: 5; left: 40%; bottom: calc(100% + 4px); padding: .3rem .55rem; border-radius: .35rem; background: #193f33; color: #fff; font-size: .78rem; white-space: nowrap; pointer-events: none; opacity: 0; transform: translateY(2px); transition: opacity .12s, transform .12s; }
.tk-bars li > :hover .tk-tooltip, .tk-bars li > :focus-visible .tk-tooltip { opacity: 1; transform: none; }
.tk-chart-table summary { cursor: pointer; font-size: .8rem; color: var(--muted); }
.tk-chart-table table { margin-top: .4rem; font-size: .82rem; }
.tk-chart-table th, .tk-chart-table td { padding: .35rem .5rem; }
.tk-legend { display: flex; gap: 1rem; font-size: .82rem; color: var(--ink); }
.tk-legend span { display: inline-flex; align-items: center; gap: .35rem; }
.tk-key { width: .8rem; height: .8rem; border-radius: 2px; display: inline-block; }
.tk-key.series-1, .tk-column.series-1 { background: var(--series-1); }
.tk-key.series-2, .tk-column.series-2 { background: var(--series-2); }
.tk-columns { display: grid; grid-template-columns: repeat(8, 1fr); gap: .5rem; height: 12rem; align-items: end; border-bottom: 1px solid var(--tk-line); padding-top: .5rem; }
.tk-column-group { position: relative; display: grid; grid-template-rows: 1fr auto; height: 100%; gap: .3rem; outline-offset: 2px; }
.tk-column-pair { display: flex; align-items: flex-end; justify-content: center; gap: 2px; height: 100%; }
.tk-column { display: block; width: min(1.1rem, 40%); border-radius: 4px 4px 0 0; min-height: 0; }
.tk-column-group small { text-align: center; font-size: .72rem; color: var(--muted); }
.tk-column-group .tk-tooltip { left: 50%; transform: translateX(-50%); bottom: 100%; }
.tk-column-group:hover .tk-tooltip, .tk-column-group:focus-visible .tk-tooltip { opacity: 1; transform: translateX(-50%); }

/* Tablero */
.tk-board-status { min-height: 1.4rem; margin: 0 0 .4rem; font-size: .88rem; }
.tk-board { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(250px, 1fr); gap: .8rem; overflow-x: auto; padding-bottom: .8rem; align-items: start; }
.tk-board-col { background: #f1f4ee; border: 1px solid var(--tk-line); border-radius: .8rem; padding: .7rem; min-height: 12rem; transition: background .12s, border-color .12s; }
.tk-board-col.is-over { background: #e3efe4; border-color: var(--forest); border-style: dashed; }
.tk-board-col.is-blocked { opacity: .55; }
.tk-board-col header { display: flex; justify-content: space-between; align-items: center; margin-bottom: .6rem; }
.tk-board-col h2 { font-size: .95rem; }
.tk-count-plain { font-weight: 800; color: var(--muted); }
.tk-board-col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.tk-card { display: grid; gap: .35rem; padding: .7rem; background: #fff; border: 1px solid #dfe5dc; border-radius: .6rem; box-shadow: 0 2px 6px rgba(25,47,37,.05); cursor: grab; }
.tk-card:active { cursor: grabbing; }
.tk-card.priority-critical { border-left: 4px solid #9d3429; }
.tk-card.priority-high { border-left: 4px solid #d9762d; }
.tk-card-top, .tk-card-foot { display: flex; align-items: center; gap: .4rem; justify-content: space-between; }
.tk-card-title { font-weight: 700; text-decoration: none; color: var(--ink); line-height: 1.3; }
.tk-card-title:hover { text-decoration: underline; }
.tk-card-meta { color: var(--muted); font-size: .76rem; }
.tk-avatar { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: #193f33; color: #fff; font-size: .68rem; font-weight: 800; }
.tk-avatar.is-empty { background: #e3e8e0; color: var(--muted); }
.tk-card-move select { padding: .3rem .4rem; font-size: .78rem; }
/* En escritorio el tablero ocupa el alto de la pantalla y cada columna scrollea adentro: la barra horizontal queda siempre a la vista. */
@media (min-width: 761px) {
  .tk-board { height: calc(100dvh - var(--tk-board-top, 13rem) - 1rem); min-height: 22rem; align-items: stretch; }
  .tk-board-col { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
  .tk-board-col ul { flex: 1; min-height: 0; overflow-y: auto; align-content: start; padding-right: .2rem; }
}
.tk-board-empty { color: var(--muted); font-size: .85rem; padding: .6rem; text-align: center; }

/* Configuración */
.tk-catalog { display: grid; gap: 1rem; }
.tk-catalog > p, .tk-catalog-head p { margin: 0; color: #3d4b44; max-width: 75ch; }
.tk-catalog-head { display: flex; gap: 1rem; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
.tk-tree { list-style: none; margin: 0; padding: 0 0 0 1.1rem; border-left: 2px solid #e3e8e0; display: grid; gap: .35rem; }
.tk-tree-root { padding-left: 0; border-left: 0; }
.tk-node-row { display: flex; gap: .8rem; justify-content: space-between; align-items: center; flex-wrap: wrap; padding: .55rem .7rem; background: #fff; border: 1px solid #dfe5dc; border-radius: .55rem; }
.tk-node.is-inactive > .tk-node-row { background: #f4f4f1; opacity: .8; }
.tk-node-main { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; min-width: 0; }
.tk-node-main small { color: var(--muted); width: 100%; }
.tk-node-tools { display: flex; align-items: center; gap: .55rem; flex-wrap: wrap; }
.tk-inline-form { display: inline-flex; align-items: center; gap: .4rem; margin: 0; }
.tk-disabled { opacity: .3; }
.tk-node-form { margin: .4rem 0 .6rem; padding: 1rem; background: #f7faf5; border: 1px solid #cfdccf; border-radius: .6rem; display: grid; gap: .7rem; }
.tk-node-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .7rem; }
.tk-node-wide { grid-column: 1 / -1; }
.tk-node-brands { border: 0; padding: 0; margin: 0; }
.tk-node-brands legend { font-size: .9rem; font-weight: 650; }
.tk-node-brands p { margin: .2rem 0 .4rem; font-size: .8rem; }
.tk-node-brands div { display: flex; flex-wrap: wrap; gap: .4rem .9rem; }
.tk-node-brands label { display: inline-flex; align-items: center; gap: .35rem; font-weight: 500; }
.tk-node-brands input { width: auto; }
.tk-node-actions { display: flex; gap: .6rem; justify-content: flex-end; }
.tk-area-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.tk-area-list li { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; padding: .5rem .7rem; background: #fff; border: 1px solid #dfe5dc; border-radius: .55rem; }
.tk-area-list li.is-inactive { background: #f4f4f1; }
.tk-area-list small { color: var(--muted); margin-right: auto; }
.tk-area-rename input { width: 16rem; max-width: 100%; padding: .45rem .55rem; }
.tk-area-rename .button, .tk-area-new .button { min-height: 2.3rem; padding: .4rem .8rem; }
.tk-area-new { align-items: flex-end; }
.tk-import-form { display: flex; flex-wrap: wrap; gap: .8rem; align-items: flex-end; }
.tk-import-preview h3 { font-size: 1rem; margin: 0 0 .5rem; }
.import-badge-ok { background: #e1f1ea; color: #1f5a3d; }
.import-badge-duplicate { background: #eceeec; color: #555f59; }
.import-badge-error { background: #f9e0dc; color: #8f2c22; }
.tk-import-confirm { margin-top: .8rem; }
@media (max-width: 760px) {
  .tk-bars li > a, .tk-bars li > div { grid-template-columns: minmax(6rem, 42%) 1fr 2rem; }
  .tk-columns { height: 9rem; gap: .25rem; }
  .tk-board { grid-auto-columns: 84%; }
  .tk-stats { grid-template-columns: 1fr 1fr; }
}
.tk-board-col, .tk-board-col ul, .tk-card { min-width: 0; }
.tk-board-col ul { grid-template-columns: minmax(0, 1fr); }
.tk-card-title, .tk-card-meta { overflow-wrap: anywhere; }
.tk-card-move select { width: 100%; min-width: 0; }
.tk-hint { color: var(--muted); font-size: .88rem; margin: .5rem 0; }
.tk-inline-check { display: inline-flex; align-items: center; gap: .5rem; margin: .25rem 0 .75rem; font-weight: 500; }
.tk-sla-settings section + section { margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid #dfe5dc; }
.tk-sla-settings h2 { font-size: 1.1rem; margin: 0 0 .4rem; }
.tk-sla-table td { vertical-align: top; }
.tk-sla-input { display: grid; gap: .2rem; }
.tk-sla-input > span { display: inline-flex; align-items: center; gap: .35rem; font-size: .95rem; }
.tk-sla-input input { width: 6.5rem; text-align: right; font-variant-numeric: tabular-nums; }
.tk-sla-input small { font-size: .8rem; color: var(--muted); min-height: 1em; }
.tk-holiday-new { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .7rem; margin: .6rem 0; }
.tk-holiday-list li > span { margin-right: auto; }
.tk-select-col { width: 2.4rem; text-align: center; }
.tk-select-col input { width: 1.1rem; height: 1.1rem; }
.tk-danger { margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid #ecd2cd; }
.tk-danger p { font-size: .85rem; color: var(--muted); margin: .3rem 0 .6rem; }
.button.danger { background: #8f2c22; border-color: #8f2c22; color: #fff; }
.button.danger:disabled { opacity: .55; }
.tk-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: .4rem 0 .7rem; }
.tk-bulk small { color: var(--muted); }
.connection-form-section .connection-hint { display: block; color: var(--muted); font-size: .85rem; margin: -.2rem 0 .6rem; }
.retentions-panel .retentions-intro { display: grid; gap: .3rem; margin: .4rem 0 1rem; padding: .8rem 1rem; background: #f0f5ed; border: 1px solid #d8e2d3; }
.retentions-panel .retentions-intro span { color: #52645a; font-size: .9rem; }
.retentions-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: .8rem; }
.retentions-tabs button { padding: .45rem .8rem; border: 1px solid #c9d4c6; background: #fff; border-radius: 99px; font: 600 .85rem ui-sans-serif, system-ui, sans-serif; color: #2d4a3d; cursor: pointer; }
.retentions-tabs button.is-active { background: #193f33; color: #fff; border-color: #193f33; }
.retentions-tabs button span { margin-left: .3rem; opacity: .8; }
.retentions-tabs button:focus-visible { outline: 3px solid #7b9a52; outline-offset: 2px; }
.retentions-import { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .6rem; margin-bottom: .8rem; }
.retentions-import label { display: grid; gap: .25rem; min-width: min(100%, 280px); }
.retentions-table { width: 100%; border-collapse: collapse; }
.retentions-table th { text-align: left; font: 700 .72rem ui-sans-serif, system-ui, sans-serif; text-transform: uppercase; letter-spacing: .05em; color: #5d6d63; padding: .4rem; border-bottom: 1px solid #dfe5dd; }
.retentions-table td { padding: .35rem .4rem; border-bottom: 1px solid #eef1ec; vertical-align: top; }
.retentions-table select, .retentions-table input { width: 100%; min-width: 0; }
.retentions-table td input + * , .retentions-table select + input { margin-top: .3rem; }
.retentions-empty { color: var(--muted); margin: .6rem 0; }
.retentions-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .9rem; }
.retentions-actions small { color: #7a5410; }
.retentions-panel { container-type: inline-size; }
@container (max-width: 640px) {
  .retentions-table thead { display: none; }
  .retentions-table tr { display: grid; gap: .3rem; padding: .6rem 0; border-bottom: 1px solid #dfe5dd; }
  .retentions-table td { border: 0; padding: 0; }
  .retentions-table td[data-label]::before { content: attr(data-label); display: block; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; color: #5d6d63; text-transform: uppercase; }
}
.retentions-source { margin: .2rem 0 .8rem; padding: .6rem .8rem; border-left: 3px solid #c9d4c6; background: #f8faf6; font-size: .9rem; color: #33463b; }
.retentions-source.is-standard { border-left-color: #6c9b58; background: #eef5e9; }
.retentions-import-box { margin: .9rem 0 0; }
.retentions-import-box > summary { cursor: pointer; color: #194f40; font: 600 .85rem ui-sans-serif, system-ui, sans-serif; }
.retentions-import-box .retentions-import { margin: .6rem 0 0; }
.retentions-actions .retentions-hint { color: var(--muted); }
.review-select-col { width: 2.4rem; text-align: center; }
.review-select-col input { width: 1.1rem; height: 1.1rem; }
.requests-bulk { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem; margin: .6rem 0; }
.requests-bulk small { color: var(--muted); }
.requests-danger { margin-top: 1rem; border-top: 3px solid #ecd2cd; }
.requests-danger h2 { font-size: 1.1rem; margin: 0 0 .3rem; }
.requests-danger p { color: var(--muted); font-size: .9rem; margin: 0 0 .7rem; }
.request-attachments .file-erp { display: block; color: #7a5410; font-weight: 600; }
.request-attachments .file-erp.is-sent { color: #1f5a3d; }
.request-attachments .file-erp.is-error { color: #8f2c22; }
.file-erp-retry { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .8rem; }
.tk-team h2 { font-size: 1.05rem; margin: 1.2rem 0 .5rem; }
.tk-team .tk-area-list li > span:first-child { margin-right: auto; }
.tk-team-people { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; }
.tk-team-people details { border: 1px solid #dfe5dc; border-radius: .55rem; background: #fff; padding: .45rem .7rem; }
.tk-team-people summary { cursor: pointer; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.tk-team-people summary small { color: var(--muted); }
.tk-team-people summary .tk-badge { margin-left: auto; }
.tk-team-people .support-role-form { margin-top: .7rem; }
.tk-message.is-team-note { background: #eef3fb; border: 1px dashed #7a9cc6; }
.tk-team-tag { padding: .1rem .5rem; border-radius: 99px; background: #d6e3f5; color: #1d3f6e; font-size: .72rem; font-weight: 800; }
.tk-reply.is-team-note { background: #eef3fb; border-color: #7a9cc6; }
.tk-status.status-pending_approval { background: #fde7d6; color: #8a4512; }
.tk-approval { margin: .8rem 0; border-left: 4px solid #d97a2b; }
.tk-approval h2 { font-size: 1.1rem; margin: 0 0 .3rem; }
.tk-approval p { margin: 0 0 .7rem; color: #4a3a2c; }
.tk-approval-actions { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.tk-approval-reject { display: grid; gap: .6rem; margin-top: .7rem; }
.tk-approval-reject textarea { width: 100%; }
.tk-leaders-search { display: grid; gap: .25rem; max-width: 360px; margin: .4rem 0 .8rem; }
.tk-leaders-table select { width: 100%; min-width: 220px; }
.tk-leaders-table tr.is-changed { background: #fff7e6; }

/* Proveedor que ya existe en Finnegans: actualizar en lugar de duplicar. */
.finnegan-existing { border-left: 4px solid var(--interra-orange); padding-left: 1rem; }
.finnegan-existing-match { font-size: 1.05rem; margin: .25rem 0 .5rem; }
.finnegan-existing-manual { margin-top: .75rem; }
.finnegan-existing-manual summary { cursor: pointer; font-weight: 600; }
.finnegan-existing-manual summary:focus-visible { outline: 2px solid var(--interra-orange); outline-offset: 2px; }
.finnegan-existing-manual .form { margin-top: .5rem; }
.finnegan-resend { margin-top: 1rem; }
.review-party strong { display: block; font-weight: 700; }
/* Resultado del último envío a Finnegans, arriba de las acciones. */
.finnegan-last { margin: 1rem 0; padding: .8rem 1rem; border-left: 4px solid #1f5a3d; background: #eef5ef; }
.finnegan-last.FAILURE { border-left-color: #9d3429; background: #fbeceb; color: #7d2a21; }
.finnegan-last.SKIPPED { border-left-color: var(--interra-orange); background: #fff6ea; }
.finnegan-last strong { display: block; }
.finnegan-last p { margin: .3rem 0; }
.finnegan-last small { color: inherit; opacity: .8; }
button[aria-busy="true"] { cursor: progress; opacity: .75; }

/* Cobranzas automáticas (Finnegans) */
.collections-page .collection-brand { margin-top: 1.4rem; }
.collection-brand header h2 { margin: 0; }
.collection-brand header p { margin: .3rem 0 0; color: var(--muted); font-family: ui-sans-serif, system-ui, sans-serif; }
.collection-brand h3 { margin: 1.6rem 0 .6rem; font-size: 1.15rem; }
.collection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem; margin-top: .6rem; }
.collection-form { display: grid; gap: .9rem; }
.collection-form .form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.collection-form .checkbox { display: flex; align-items: center; gap: .55rem; font-weight: 500; }
.collection-form .checkbox input { width: auto; }
.collection-payment { display: grid; gap: .9rem; margin: 0; padding: 1rem; border: 1px solid var(--line); border-radius: 8px; }
.collection-payment legend { padding: 0 .4rem; font-family: ui-sans-serif, system-ui, sans-serif; font-weight: 700; }
.collection-payment textarea { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9rem; }
.collection-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.collection-hint { color: var(--muted); font-family: ui-sans-serif, system-ui, sans-serif; font-size: .88rem; margin: 0; }
.collection-settings { margin-top: 1.6rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.collection-settings summary { cursor: pointer; font-family: ui-sans-serif, system-ui, sans-serif; font-weight: 700; padding: .3rem 0; }
.collection-settings[open] summary { margin-bottom: 1rem; }
.collection-results { margin: .4rem 0 0; padding-left: 1.1rem; font-family: ui-sans-serif, system-ui, sans-serif; font-size: .88rem; display: grid; gap: .35rem; }
.collection-table small { display: block; margin-top: .25rem; color: var(--muted); }
.collection-table small.collection-error { color: #9d3429; max-width: 42ch; }
.status.collection-CREATED, .status.collection-created, .status.collection-LINKED, .status.collection-linked { background: #e7eee9; color: #1f5a3d; }
.status.collection-NOT_APPLIED, .status.collection-not_applied, .status.collection-PENDING { background: #fff3d5; color: #8a6113; }
.status.collection-FAILED, .status.collection-failed { background: #f9e5e2; color: #9d3429; }
.status.collection-skipped { background: #eef0ee; color: #4b5650; }
.status.stock-updated, .status.stock-same { background: #e7eee9; color: #1f5a3d; }
.status.stock-update { background: #fff3d5; color: #8a6113; }
.status.stock-failed { background: #f9e5e2; color: #9d3429; }
.status.stock-unlimited, .status.stock-excluded, .status.stock-no_sku, .status.stock-no_stock_row, .status.stock-duplicate_sku, .status.stock-multi_location { background: #eef0ee; color: #4b5650; }
.collections-page a:focus-visible, .collections-page button:focus-visible, .collections-page input:focus-visible, .collections-page summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
@media (max-width: 760px) {
  .collection-grid, .collection-form .form-grid { grid-template-columns: 1fr; }
  .collection-actions .button { width: 100%; }
  .collection-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .collection-table tr { display: grid; gap: .35rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
  .collection-table td { display: block; border: 0; padding: .1rem 0; }
  .collection-table td[data-label]::before { content: attr(data-label); display: block; font: 700 .7rem ui-sans-serif, system-ui, sans-serif; color: #5d6d63; text-transform: uppercase; }
  .collection-table td[data-label="Acciones"]:empty { display: none; }
}

/* Alta del proveedor en otra marca con la misma solicitud (04/11/2026). */
.supplier-copy h3 { margin: .1rem 0 .4rem; font-size: 1.1rem; }
.supplier-copy-list { display: grid; gap: .7rem; margin: .6rem 0 0; padding: 0; list-style: none; }
.supplier-copy-list li { display: grid; gap: .4rem; padding: .75rem; border: 1px solid var(--line); border-radius: .6rem; background: #fbfcf8; }
.supplier-copy-list li span { color: var(--muted); font-size: .85rem; }
.supplier-copy-list .form { gap: .5rem; margin: 0; }
.request-copied-from a { font-weight: 700; }
