:root{--app-bg:#060806;--panel:#101310;--neon:#98ef00;--text:#f5f7f3;--muted:#9ca49b;--line:rgba(255,255,255,.11);--danger:#ff6b6b;--warning:#f6c453;--success:#57d68d;--color-action-green:#91e52f;--color-green-text:#315f0a;--color-green-soft:#edf7e5;--color-page:#f5f7f6;--color-card:#fff;--color-text:#141714;--color-text-secondary:#5f6b62;--color-border:#d9e0da;--color-error:#b4232c;--color-error-soft:#fff0f1;--color-warning:#855800;--color-warning-soft:#fff5d9;--color-success:#28620d;--color-success-soft:#eaf6e2;--color-info:#315b77;--color-info-soft:#eaf3f8;--space-xs:8px;--space-sm:12px;--space-md:24px;--space-lg:32px;--card-padding:32px;--section-gap:28px;--content-gutter:clamp(16px,3vw,32px);--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--control-height:44px;--shadow-panel:-30px 0 80px rgba(0,0,0,.5);--transition-fast:.16s ease;--z-global:30;--z-overlay:100;--z-panel:101;--task-panel-width:min(760px,100vw);--breakpoint-mobile:680px;--breakpoint-tablet:1000px}
*{box-sizing:border-box}body.app-shell{margin:0;background:var(--app-bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}a{color:inherit}.app-header{position:sticky;top:0;z-index:20;background:rgba(6,8,6,.94);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.app-header-inner{max-width:1180px;margin:auto;padding:15px 22px;display:flex;align-items:center;gap:24px}.app-brand{font-weight:1000;font-size:21px;color:var(--neon);letter-spacing:-.05em}.app-nav{display:flex;gap:8px;flex-wrap:wrap}.app-nav a{padding:9px 12px;border-radius:9px;text-decoration:none;color:#cbd1ca}.app-nav a:hover{background:rgba(152,239,0,.12);color:#fff}.app-user{margin-left:auto;color:var(--muted);font-size:13px;display:flex;align-items:center;gap:12px}.link-button{border:0;background:none;color:#fff;cursor:pointer;padding:0}.app-main{max-width:1180px;margin:auto;padding:48px 22px 70px}.page-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:28px}.eyebrow{color:var(--neon);text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:11px}.page-head h1{font-size:42px;letter-spacing:-.05em;margin:7px 0 0}.button{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;padding:11px 15px;background:var(--neon);color:#050505;text-decoration:none;border:1px solid var(--neon);font-weight:900;cursor:pointer}.button.secondary{background:transparent;color:#fff;border-color:var(--line)}.button.danger{background:transparent;color:#ff9d9d;border-color:rgba(255,90,90,.35)}.button.small{padding:8px 11px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.stat,.panel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border-radius:16px}.stat{padding:22px}.stat b{font-size:36px;display:block}.stat span{color:var(--muted)}.panel{padding:22px}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.company-card{padding:21px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.03)}.company-top{display:flex;gap:15px;align-items:center}.company-logo{width:56px;height:56px;display:grid;place-items:center;border-radius:12px;background:rgba(152,239,0,.1);color:var(--neon);font-weight:900;overflow:hidden}.company-logo img{width:100%;height:100%;object-fit:contain}.company-card h2{font-size:21px;margin:0}.muted{color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.form-stack{display:grid;gap:17px;max-width:700px}.form-field{display:grid;gap:8px}.form-field label{color:#c5cbc3;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.form-field input,.form-field textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#080a08;color:#fff;padding:13px 14px;outline:none}.form-field input:focus,.form-field textarea:focus{border-color:var(--neon);box-shadow:0 0 0 3px rgba(152,239,0,.12)}.check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.check-card{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:11px}.alert{padding:13px 16px;border-radius:11px;margin-bottom:20px;border:1px solid}.alert.success{background:rgba(152,239,0,.1);border-color:rgba(152,239,0,.3);color:#e8ffc0}.alert.error{background:rgba(255,80,80,.1);border-color:rgba(255,80,80,.3);color:#ffc6c6}.login-page{display:grid;place-items:center;min-height:100vh;padding:20px;background:radial-gradient(circle at 70% 10%,rgba(152,239,0,.18),transparent 35%),#030403}.login-card{width:min(430px,100%);padding:34px;border:1px solid var(--line);border-radius:20px;background:rgba(11,13,11,.95);box-shadow:0 28px 90px rgba(0,0,0,.5)}.login-card h1{font-size:34px;letter-spacing:-.05em;margin:8px 0}.login-card .button{width:100%;margin-top:6px}.empty{text-align:center;padding:55px 20px;color:var(--muted)}
@media(max-width:760px){.app-header-inner{align-items:flex-start;flex-wrap:wrap}.app-user{margin-left:0;width:100%}.app-main{padding-top:30px}.page-head{align-items:flex-start;flex-direction:column}.page-head h1{font-size:34px}.stats,.cards,.check-grid{grid-template-columns:1fr}.panel{overflow:auto}.data-table{min-width:650px}}

.company-logo{position:relative;isolation:isolate;flex:0 0 56px}
.company-logo-fallback{display:grid;place-items:center;position:absolute;inset:0}
.company-logo img{position:absolute;z-index:1;inset:0;background:#101610}
.company-logo img[hidden]{display:none}

/* Controles compartidos del gestor XTIC 365 */
.button{
    min-height:44px;
    gap:8px;
    padding:11px 18px;
    box-shadow:0 8px 22px rgba(152,239,0,.08);
    transition:transform .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease;
}
.button:hover:not(:disabled):not([aria-disabled="true"]){background:#adff25;border-color:#adff25;box-shadow:0 11px 28px rgba(152,239,0,.18);transform:translateY(-1px)}
.button:active:not(:disabled):not([aria-disabled="true"]){transform:translateY(1px);box-shadow:0 4px 12px rgba(152,239,0,.12)}
.button:focus-visible,.link-button:focus-visible,.password-toggle:focus-visible{outline:3px solid rgba(152,239,0,.34);outline-offset:3px}
.button.secondary{box-shadow:none;background:rgba(255,255,255,.025)}
.button.secondary:hover:not(:disabled):not([aria-disabled="true"]){background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.28);color:#fff;box-shadow:none}
.button.danger{box-shadow:none;background:rgba(255,74,74,.06)}
.button.danger:hover:not(:disabled):not([aria-disabled="true"]){background:rgba(255,74,74,.14);border-color:rgba(255,100,100,.62);color:#ffd3d3;box-shadow:none}
.button.small{min-height:38px;padding:8px 13px}
.button:disabled,.button[aria-disabled="true"]{opacity:.46;cursor:not-allowed;transform:none;box-shadow:none}
.button.is-loading,.button[aria-busy="true"]{color:transparent!important;pointer-events:none;position:relative}
.button.is-loading::after,.button[aria-busy="true"]::after{content:"";position:absolute;width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;color:#080a08;animation:button-spin .7s linear infinite}
@keyframes button-spin{to{transform:rotate(360deg)}}

.form-field input:not([type]),
.form-field input[type="text"],
.form-field input[type="url"],
.form-field input[type="search"],
.form-field textarea,
.section-create-form input,
.section-rename-form input{
    background:#f8faf7;
    border-color:#cbd1c9;
    color:#101410;
    caret-color:#101410;
}
.form-field input:not([type])::placeholder,
.form-field input[type="text"]::placeholder,
.form-field input[type="url"]::placeholder,
.form-field input[type="search"]::placeholder,
.form-field textarea::placeholder,
.section-create-form input::placeholder,
.section-rename-form input::placeholder{color:#586057;opacity:1}
.form-field input:not([type])::selection,
.form-field input[type="text"]::selection,
.form-field input[type="url"]::selection,
.form-field input[type="search"]::selection,
.form-field textarea::selection,
.section-create-form input::selection,
.section-rename-form input::selection{background:#bff56c;color:#071000}
.form-field input:not([type]):focus,
.form-field input[type="text"]:focus,
.form-field input[type="url"]:focus,
.form-field input[type="search"]:focus,
.form-field textarea:focus,
.section-create-form input:focus,
.section-rename-form input:focus{border-color:var(--neon);box-shadow:0 0 0 3px rgba(152,239,0,.15),0 0 20px rgba(152,239,0,.07);outline:none}
.form-field [aria-invalid="true"],.section-create-form [aria-invalid="true"],.section-rename-form [aria-invalid="true"]{border-color:#ff6b6b!important;box-shadow:0 0 0 3px rgba(255,80,80,.12)!important}
.field-error{display:block;min-height:18px;color:#ff9f9f;font-size:12px;font-weight:700;line-height:1.45}
.field-error.is-empty{min-height:0}
.field-help{color:var(--muted);font-size:12px;line-height:1.45}

.check-card{position:relative;min-height:48px;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}
.check-card:hover{border-color:rgba(152,239,0,.44);background:rgba(152,239,0,.035)}
.check-card:focus-within{border-color:var(--neon);box-shadow:0 0 0 3px rgba(152,239,0,.12)}
.check-card input[type="checkbox"]{
    appearance:none;
    -webkit-appearance:none;
    flex:0 0 22px;
    width:22px!important;
    height:22px;
    margin:0;
    padding:0!important;
    border:1.5px solid #808a7e!important;
    border-radius:7px!important;
    background:#080a08!important;
    display:grid;
    place-items:center;
    cursor:pointer;
    box-shadow:none!important;
}
.check-card input[type="checkbox"]::before{content:"";width:11px;height:6px;border-left:2px solid #071000;border-bottom:2px solid #071000;transform:rotate(-45deg) scale(0);transition:transform .12s ease}
.check-card input[type="checkbox"]:checked{background:var(--neon)!important;border-color:var(--neon)!important}
.check-card input[type="checkbox"]:checked::before{transform:rotate(-45deg) scale(1)}
.check-card input[type="checkbox"]:focus-visible{outline:3px solid rgba(152,239,0,.36);outline-offset:3px}
.check-card input[type="checkbox"]:disabled{opacity:.45;cursor:not-allowed}
.check-card:has(input:disabled){opacity:.55;cursor:not-allowed}
.check-card>span{display:flex;align-items:flex-start;gap:2px;flex-direction:column;line-height:1.3}
.check-card>span>b{color:#f4f7f2;font-size:13px}
.check-card>span>small{color:var(--muted);font-size:11px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (prefers-reduced-motion:reduce){.button,.check-card{transition:none}.button.is-loading::after,.button[aria-busy="true"]::after{animation-duration:1.4s}}

/* Ritmo y márgenes compartidos del gestor */
body.app-shell{overflow-x:hidden}
.app-main{width:100%;padding-left:var(--content-gutter);padding-right:var(--content-gutter)}
.workspace-wide .app-main,.workspace-wide .app-header-inner{max-width:1600px}
.panel{padding:var(--card-padding)}
.form-stack{gap:var(--space-md)}
.form-field{gap:10px;align-content:start}
.form-field>label,.field-label-group>label{line-height:1.35}
.form-field--textarea{margin-bottom:2px}
.form-field textarea{line-height:1.55;resize:vertical}
.page-head{margin-bottom:var(--section-gap)}
.form-actions-inline{margin-top:4px;padding-top:var(--space-md);border-top:1px solid var(--line)}

@media(max-width:760px){
    :root{--card-padding:20px;--section-gap:22px;--content-gutter:15px}
    .app-main{padding-left:var(--content-gutter);padding-right:var(--content-gutter)}
}

/* Arquitectura global y contextual XTIC 365 */
.global-header{position:sticky;top:0;z-index:var(--z-global);background:rgba(6,8,6,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}
.global-header-inner{width:min(100%,1600px);min-height:68px;margin:auto;padding:11px var(--content-gutter);display:flex;align-items:center;gap:18px}
.global-header .app-brand{display:flex;align-items:center;flex:0 0 auto}
.global-header .app-brand img{width:78px}
.application-switcher{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);color:#d8ded6;text-decoration:none;font-size:13px;font-weight:800}
.application-switcher:hover,.application-switcher:focus-visible{border-color:rgba(152,239,0,.45);background:rgba(152,239,0,.06);color:#fff}
.application-switcher:focus-visible,.profile-menu summary:focus-visible,.module-navigation a:focus-visible{outline:3px solid rgba(152,239,0,.32);outline-offset:3px}
.current-module{display:flex;align-items:center;gap:9px;min-width:0;color:#fff;font-size:14px;font-weight:900;white-space:nowrap}
.current-module>span{width:8px;height:8px;border-radius:50%;background:var(--neon)}
.profile-menu{position:relative;margin-left:auto}
.profile-menu summary{list-style:none;display:flex;align-items:center;gap:9px;padding:5px 7px;border-radius:var(--radius-sm);cursor:pointer}
.profile-menu summary::-webkit-details-marker{display:none}
.profile-menu summary:hover{background:rgba(255,255,255,.055)}
.profile-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:rgba(152,239,0,.13);color:var(--neon);font-weight:950}
.profile-menu .user-identity small{font-size:11px}
.profile-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:230px;display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-md);background:#101310;box-shadow:0 18px 50px rgba(0,0,0,.42)}
.profile-menu-panel>span{padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.profile-menu-panel a,.profile-menu-panel button{color:#fff;text-align:left;text-decoration:none;font-size:13px}
.profile-role{display:grid;gap:3px;padding:2px 0 10px;border-bottom:1px solid var(--line)}.profile-role small,.profile-extra-permissions>small{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.profile-role b{color:#fff;font-size:13px}.profile-extra-permissions{display:grid;gap:5px;padding-bottom:10px;border-bottom:1px solid var(--line)}.profile-extra-permissions>span{color:#cbd1ca;font-size:11px;line-height:1.35}.account-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:18px}.account-profile-card{align-self:start}.account-profile-card>span{color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.account-profile-card h2{margin:6px 0 18px}.account-profile-card>div{display:grid;gap:6px}.account-profile-card>div small{color:var(--muted)}
.module-navigation{border-top:1px solid rgba(255,255,255,.06)}
.module-navigation-inner{width:min(100%,1600px);margin:auto;padding:0 var(--content-gutter);display:flex;align-items:center;gap:4px;overflow-x:auto}
.module-navigation a{position:relative;flex:0 0 auto;padding:12px 14px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:750}
.module-navigation a:hover{color:#fff}
.module-navigation a.is-active{color:#fff}
.module-navigation a.is-active::after{content:"";position:absolute;left:14px;right:14px;bottom:0;height:2px;border-radius:2px;background:var(--neon)}
.breadcrumbs{margin:-22px 0 26px}
.breadcrumbs ol{display:flex;align-items:center;gap:7px;margin:0;padding:0;list-style:none;color:var(--muted);font-size:12px;overflow-x:auto;white-space:nowrap}
.breadcrumbs li{display:flex;align-items:center;gap:7px}
.breadcrumbs li:not(:last-child)::after{content:"/";color:#596057}
.breadcrumbs a{color:#b8c0b6;text-decoration:none}
.breadcrumbs a:hover{color:#fff}
.module-client-marketing .application-switcher,.module-client-marketing .module-navigation{display:none}

.application-card.is-current{border-color:rgba(152,239,0,.58);box-shadow:0 0 0 3px rgba(152,239,0,.08)}
.application-card.is-current::before{content:"Módulo actual";position:absolute;top:14px;right:14px;color:var(--neon);font-size:9px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}
.application-status.is-active{color:#dfffaa;border-color:rgba(152,239,0,.25);background:rgba(152,239,0,.07)}
.application-arrow{font-size:12px}

.manager-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}
.summary-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.summary-section-heading h2{margin:3px 0 0}
.summary-section-heading>a{color:var(--neon);font-size:13px;font-weight:850}
.summary-link-list{display:grid;gap:8px}
.summary-link-list>a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px;border:1px solid var(--line);border-radius:var(--radius-sm);color:#fff;text-decoration:none}
.summary-link-list>a:hover{border-color:rgba(152,239,0,.35);background:rgba(152,239,0,.035)}
.summary-link-list span{color:var(--muted);font-size:12px;text-align:right}
.trash-section+.trash-section{margin-top:var(--space-md)}
.trash-list{display:grid;gap:10px}
.trash-list article{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm)}
.trash-list article>div{display:grid;gap:5px}
.trash-list article span{color:var(--muted);font-size:12px}
.icon-button{width:var(--control-height);height:var(--control-height);display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-sm);background:rgba(255,255,255,.025);color:#fff;text-decoration:none;cursor:pointer;font-weight:900}
.icon-button:hover,.icon-button:focus-visible{border-color:rgba(152,239,0,.45);background:rgba(152,239,0,.07)}
.icon-button:focus-visible{outline:3px solid rgba(152,239,0,.34);outline-offset:2px}
.confirmation-dialog{width:min(520px,calc(100% - 28px));padding:0;border:1px solid var(--line);border-radius:var(--radius-lg);background:#101310;color:#fff;box-shadow:0 28px 100px rgba(0,0,0,.65)}
.confirmation-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(4px)}
.confirmation-dialog>form{display:grid;gap:16px;padding:30px}
.confirmation-dialog h2,.confirmation-dialog p{margin:0}
.confirmation-dialog p{color:#c5ccc3;line-height:1.55}
.confirmation-dialog label{display:grid;gap:8px;color:#dce2da;font-size:13px}
.confirmation-dialog input{width:100%;min-height:var(--control-height);border:1px solid #cbd1c9;border-radius:var(--radius-sm);background:#fff;color:#111;padding:10px 12px}
.dialog-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;font-weight:950}
.dialog-icon.danger{background:rgba(255,107,107,.12);color:var(--danger)}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}

@media(max-width:760px){
    .global-header-inner{gap:10px}
    .application-switcher{width:38px;padding:8px;overflow:hidden;white-space:nowrap;color:transparent;gap:0}
    .application-switcher span{color:#fff}
    .current-module{font-size:12px;white-space:normal;line-height:1.25}
    .profile-menu .user-identity{display:none}.account-layout{grid-template-columns:1fr}
    .breadcrumbs{margin-top:-12px}
    .manager-summary-grid{grid-template-columns:1fr}
    .summary-link-list>a,.trash-list article{align-items:flex-start;flex-direction:column}
    .summary-link-list span{text-align:left}
    .dialog-actions{flex-direction:column-reverse}
    .dialog-actions .button{width:100%}
}

/* Selector de aplicaciones y módulos */
.application-selector{max-width:1040px;margin:0 auto}
.application-selector-head{align-items:flex-start;margin-bottom:var(--space-lg)}
.application-selector-copy{max-width:620px;margin:10px 0 0;color:var(--muted);font-size:17px;line-height:1.55}
.application-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.application-card{
    position:relative;
    min-height:190px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:start;
    gap:20px;
    padding:28px;
    color:var(--text);
    text-decoration:none;
    border:1px solid var(--line);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
    transition:transform .18s ease,border-color .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.application-card:hover,.application-card:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(152,239,0,.52);
    background:linear-gradient(145deg,rgba(152,239,0,.09),rgba(255,255,255,.025));
    box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.application-card:focus-visible{outline:3px solid rgba(152,239,0,.34);outline-offset:3px}
.application-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:rgba(152,239,0,.1);color:var(--neon)}
.application-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.application-card-body{display:grid;gap:10px}
.application-title{font-size:22px;font-weight:900;letter-spacing:-.025em;line-height:1.15}
.application-description{color:var(--muted);font-size:14px;line-height:1.55}
.application-arrow{align-self:end;color:var(--neon);font-size:26px;font-weight:900}
.application-status{align-self:end;padding:6px 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px;color:#d3d8d1;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.application-card.is-coming-soon{background:rgba(255,255,255,.022)}
.application-card.is-coming-soon .application-icon{background:rgba(255,255,255,.06);color:#c7cdc5}
.module-placeholder{max-width:720px;margin:8vh auto 0;padding:48px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));text-align:center}
.module-placeholder-badge{display:inline-flex;margin:26px 0 4px;padding:7px 11px;border-radius:999px;background:rgba(152,239,0,.1);color:var(--neon);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.module-placeholder h1{margin:14px 0 12px;font-size:42px;letter-spacing:-.045em}
.module-placeholder p{max-width:520px;margin:0 auto 28px;color:var(--muted);font-size:16px;line-height:1.6}

@media(max-width:760px){
    .application-grid{grid-template-columns:1fr}
    .application-card{min-height:0;grid-template-columns:auto 1fr;padding:22px}
    .application-arrow,.application-status{grid-column:2;justify-self:start}
    .module-placeholder{margin-top:3vh;padding:30px 20px}
    .module-placeholder h1{font-size:34px}
}

/* Aplicaciones: tarjetas de producto */
.application-selector{max-width:1120px}
.application-grid{gap:20px}
.application-card{
    min-height:270px;
    display:flex;
    align-items:stretch;
    flex-direction:column;
    gap:0;
    padding:28px;
    overflow:hidden;
}
.application-card::after{content:"";position:absolute;right:-45px;bottom:-65px;width:180px;height:180px;border:1px solid rgba(152,239,0,.08);border-radius:50%;pointer-events:none}
.application-card.is-current::before{top:33px;right:auto;left:92px}
.application-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.application-icon{width:56px;height:56px;flex:0 0 56px;border-radius:16px}
.application-icon svg{width:29px;height:29px;stroke-width:1.65}
.application-card-body{gap:11px;margin-top:25px}
.application-title{font-size:23px}
.application-description{max-width:390px}
.application-card-footer{display:flex;align-items:center;justify-content:space-between;min-height:48px;margin-top:auto;padding-top:24px}
.application-cta{
    min-width:96px;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 18px;
    border-radius:11px;
    background:var(--neon);
    color:#071000;
    font-size:14px;
    font-weight:950;
    box-shadow:0 10px 26px rgba(152,239,0,.14);
}
.application-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--transition-fast)}
.application-card:hover .application-cta svg{transform:translateX(3px)}
.application-coming-copy{color:#8f978d;font-size:12px;font-weight:750}
.application-card.is-coming-soon .application-card-body{opacity:.86}
.application-card.is-coming-soon::after{border-color:rgba(255,255,255,.055)}

/* Temas claros de los módulos operativos */
body.module-tasks{
    --app-bg:var(--color-page);
    --panel:var(--color-card);
    --text:var(--color-text);
    --muted:var(--color-text-secondary);
    --line:var(--color-border);
    --danger:var(--color-error);
    --warning:var(--color-warning);
    --success:var(--color-success);
    background:var(--color-page);
    color:var(--color-text);
}
.module-tasks .global-header{
    --line:rgba(255,255,255,.12);
    --muted:#a8b0a7;
    color:#fff;
    background:rgba(6,8,6,.97);
}
.module-tasks .module-navigation{border-top-color:rgba(255,255,255,.06);border-bottom:1px solid var(--color-border);background:#fff}
.module-tasks .module-navigation a{color:#5f695f}
.module-tasks .module-navigation a:hover,.module-tasks .module-navigation a.is-active{color:#142015}
.module-tasks .module-navigation a.is-active::after{height:3px}
.module-tasks .breadcrumbs{color:#69736a}
.module-tasks .breadcrumbs a{color:#4f5d51}
.module-tasks .breadcrumbs a:hover{color:var(--color-green-text)}
.module-tasks .eyebrow,.module-tasks .panel-kicker{color:var(--color-green-text)}
.module-tasks .page-head h1,.module-tasks h1,.module-tasks h2,.module-tasks h3{color:var(--color-text)}

/* Tema claro y dashboard ejecutivo de Marketing */
body.module-marketing{
    --app-bg:#f3f6f1;
    --panel:#fff;
    --text:#172018;
    --muted:#687268;
    --line:rgba(24,39,27,.12);
    background:#f3f6f1;
    color:#172018;
}
.module-marketing .global-header{
    --line:rgba(255,255,255,.12);
    --muted:#9ca49b;
    color:#fff;
    background:rgba(6,8,6,.97);
}
.module-marketing .module-navigation{border-top-color:rgba(255,255,255,.06);border-bottom:1px solid rgba(24,39,27,.1);background:#fff}
.module-marketing .module-navigation a{color:#667066}
.module-marketing .module-navigation a:hover,.module-marketing .module-navigation a.is-active{color:#142015}
.module-marketing .module-navigation a.is-active::after{height:3px}
.module-marketing .app-main{max-width:1280px}
.module-marketing.workspace-wide .app-main{max-width:1520px}
.module-marketing .page-head h1,.module-marketing h1,.module-marketing h2,.module-marketing h3{color:#162018}
.module-marketing .page-head>div>p,.module-marketing .dashboard-account,.module-marketing .muted{color:#687268}
.module-marketing .panel,.module-marketing .stat,.module-marketing .company-card{
    border-color:rgba(24,39,27,.11);
    background:#fff;
    box-shadow:0 12px 35px rgba(31,47,34,.055);
}
.module-marketing .company-logo{background:#edf5e7;color:#4f7d0c}
.module-marketing .company-logo img{background:#fff}
.module-marketing .company-card h2,.module-marketing .data-table td,.module-marketing .data-table a{color:#172018}
.module-marketing .data-table th,.module-marketing .data-table td{border-bottom-color:rgba(24,39,27,.1)}
.module-marketing .button.secondary{border-color:rgba(24,39,27,.16);background:#fff;color:#1e2a20}
.module-marketing .button.secondary:hover:not(:disabled):not([aria-disabled="true"]){border-color:rgba(71,111,16,.34);background:#f1f7eb;color:#172018}
.module-marketing .button.danger{background:#fff;color:#b72f37}
.module-marketing .form-field label,.module-marketing .field-label-group>label{color:#475248}
.module-marketing .form-field input,
.module-marketing .form-field textarea,
.module-marketing .form-field select,
.module-marketing .month-choice select{
    border-color:#cdd5cd;
    background:#fff;
    color:#111811;
    color-scheme:light;
}
.module-marketing .form-field input::placeholder,.module-marketing .form-field textarea::placeholder{color:#7a847b}
.module-marketing .form-field input:focus,.module-marketing .form-field textarea:focus,.module-marketing .form-field select:focus,.module-marketing .month-choice select:focus{border-color:#75b51f;outline:none;box-shadow:0 0 0 3px rgba(117,181,31,.16)}
.module-marketing .check-card{border-color:rgba(24,39,27,.13);background:#fff;color:#172018}
.module-marketing .check-card>span>b{color:#172018}
.module-marketing .check-card input[type="checkbox"]{border-color:#8b958b!important;background:#fff!important}
.module-marketing .breadcrumbs{color:#717b72}
.module-marketing .breadcrumbs a{color:#59645a}
.module-marketing .breadcrumbs a:hover{color:#315d00}
.module-marketing .alert.success{border-color:#b9d990;background:#eff8e5;color:#315d00}
.module-marketing .alert.error{border-color:#efb7b7;background:#fff1f1;color:#9f252c}
.module-marketing .eyebrow,.module-marketing .section-label{color:var(--color-green-text)}
.module-marketing .status{border:1px solid transparent}
.module-marketing .status.active{border-color:#a5ca88;background:var(--color-success-soft);color:var(--color-success)}
.module-marketing .status.inactive{border-color:#e9b2b6;background:var(--color-error-soft);color:var(--color-error)}

.marketing-dashboard{display:grid;gap:34px}
.marketing-dashboard-head{align-items:center;margin-bottom:0;padding:7px 0 3px}
.marketing-dashboard-head h1{margin-top:8px;font-size:clamp(36px,4vw,52px)}
.marketing-dashboard-head p{max-width:650px;margin:10px 0 0;color:#687268;font-size:16px;line-height:1.55}
.marketing-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.marketing-kpi-card{
    min-height:178px;
    display:flex;
    align-items:flex-start;
    gap:17px;
    padding:22px;
    border:1px solid rgba(24,39,27,.1);
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 35px rgba(31,47,34,.05);
}
.marketing-kpi-icon{width:43px;height:43px;display:grid;place-items:center;flex:0 0 43px;border-radius:12px;background:#edf7e1;color:#5e950f}
.marketing-kpi-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.marketing-kpi-card strong{display:block;color:#172018;font-size:36px;line-height:1;letter-spacing:-.04em}
.marketing-kpi-card h2{margin:10px 0 6px;font-size:14px}
.marketing-kpi-card p{margin:0;color:#758076;font-size:11px;line-height:1.45}
.marketing-section{display:grid;gap:20px}
.marketing-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.marketing-section-head.compact{align-items:flex-start}
.marketing-section-head h2,.marketing-health-card h2{margin:5px 0 5px;font-size:25px;letter-spacing:-.025em}
.marketing-section-head p{margin:0;color:#707b71;font-size:13px}
.section-label{color:#5f900f;font-size:10px;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.marketing-period-badge,.queue-count{display:inline-flex;padding:7px 10px;border:1px solid #d5ddd2;border-radius:999px;background:#fff;color:#647064;font-size:11px;font-weight:850}
.marketing-company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.marketing-company-card{
    display:grid;
    gap:21px;
    padding:24px;
    border:1px solid rgba(24,39,27,.1);
    border-radius:17px;
    background:#fff;
    box-shadow:0 14px 40px rgba(31,47,34,.05);
}
.marketing-company-card.is-disabled{opacity:.62}
.marketing-company-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}
.marketing-company-logo{width:52px;height:52px;flex-basis:52px;border:1px solid #e1e7df}
.marketing-company-identity{min-width:0}
.marketing-company-identity h3{margin:0 0 5px;font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.marketing-company-identity>span{color:#748075;font-size:11px}
.marketing-plan-state{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.marketing-plan-state.is-approved{background:#e8f7dc;color:#3f7500}
.marketing-plan-state.is-progress{background:#fff4d6;color:#896200}
.marketing-plan-state.is-missing{background:#f0f2ef;color:#6d766d}
.marketing-progress-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#687368;font-size:11px}
.marketing-progress-row b{color:#1b271c;font-size:13px}
.marketing-progress{height:8px;margin-top:-12px;overflow:hidden;border-radius:99px;background:#e9ede7}
.marketing-progress>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6ba912,#98ef00)}
.marketing-company-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.marketing-company-metrics>div{display:grid;gap:5px;padding:11px 10px;border:1px solid #e4e9e2;border-radius:11px;background:#fafcf9}
.marketing-company-metrics dt{color:#768077;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.marketing-company-metrics dd{margin:0;color:#263027;font-size:18px;font-weight:950}
.marketing-company-metrics dd.is-approved{color:#4c8107}
.marketing-company-metrics dd.is-pending{color:#996e00}
.marketing-company-metrics dd.is-adjustment{color:#a44929}
.marketing-company-metrics sup{color:#a44929}
.marketing-company-actions{display:flex;align-items:center;gap:16px}
.marketing-text-link{color:#4d690d;font-size:12px;font-weight:850;text-decoration:none}
.marketing-text-link:hover{text-decoration:underline}
.marketing-review-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(280px,.8fr);align-items:start;gap:18px}
.marketing-review-panel,.marketing-health-card{padding:24px;border:1px solid rgba(24,39,27,.1);border-radius:17px;background:#fff;box-shadow:0 14px 40px rgba(31,47,34,.05)}
.marketing-review-table-wrap{overflow-x:auto}
.marketing-review-table{width:100%;border-collapse:collapse}
.marketing-review-table th,.marketing-review-table td{padding:13px 10px;border-bottom:1px solid #e7ebe5;text-align:left;vertical-align:middle}
.marketing-review-table th{color:#79837a;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.marketing-review-table td{color:#344036;font-size:12px}
.marketing-review-table td:first-child{min-width:190px}
.marketing-review-table b,.marketing-review-table small{display:block}
.marketing-review-table b{color:#182219;font-size:12px}
.marketing-review-table small{margin-top:4px;color:#7c867d;font-size:10px}
.review-state{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900}
.review-state.overdue{background:#ffe8e8;color:#a32b31}
.review-state.due_soon{background:#fff2ce;color:#866000}
.review-state.pending{background:#eef2ec;color:#657066}
.observation-flag{color:#a44929!important}
.row-action{display:inline-flex;padding:7px 9px;border:1px solid #c9dac0;border-radius:8px;color:#497607!important;font-size:10px!important;font-weight:900;text-decoration:none}
.row-action:hover{background:#eef7e7}
.marketing-health-card{display:grid;gap:17px}
.marketing-health-card h2{margin-bottom:0}
.marketing-health-card dl{display:grid;gap:0;margin:0}
.marketing-health-card dl>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid #e7ebe5}
.marketing-health-card dt{color:#6e796f;font-size:12px}
.marketing-health-card dd{margin:0;color:#19231a;font-size:18px;font-weight:950}
.marketing-last-update{display:grid;gap:6px;padding:13px;border-radius:11px;background:#f2f6ef}
.marketing-last-update span{color:#79837a;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.marketing-last-update b{color:#344035;font-size:11px}
.marketing-approximation-note{margin:0;color:#7d867e;font-size:9px;line-height:1.5}
.marketing-empty-state{display:flex;align-items:center;gap:13px;padding:24px;border:1px dashed #ccd5ca;border-radius:13px;background:#fafcf9}
.marketing-empty-state>span{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#e8f6de;color:#4c8008;font-weight:950}
.marketing-empty-state b{color:#1b251c}
.marketing-empty-state p{margin:3px 0 0;color:#748075;font-size:12px}

@media(max-width:1150px){
    .marketing-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .marketing-review-layout{grid-template-columns:1fr}
    .marketing-health-card dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
    .marketing-health-card dl>div{display:grid;gap:5px;padding:12px;border:1px solid #e6ebe4;border-radius:11px}
}
@media(max-width:760px){
    .application-card{min-height:235px;display:flex;padding:22px}
    .application-card.is-current::before{top:28px;left:84px}
    .application-status{grid-column:auto;justify-self:auto}
    .marketing-dashboard{gap:28px}
    .marketing-kpi-grid,.marketing-company-grid{grid-template-columns:1fr}
    .marketing-kpi-card{min-height:0}
    .marketing-section-head{align-items:flex-start;flex-direction:column;gap:12px}
    .marketing-company-card{padding:19px}
    .marketing-company-card-head{grid-template-columns:auto minmax(0,1fr)}
    .marketing-plan-state{grid-column:2;justify-self:start}
    .marketing-company-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .marketing-health-card dl{grid-template-columns:1fr}
    .marketing-company-actions{align-items:stretch;flex-direction:column}
    .marketing-company-actions .button{width:100%}
}

/* Wireframe definitivo de Marketing */
.marketing-dashboard-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:32px;
}
.marketing-dashboard-heading h1{margin:8px 0 8px;font-size:clamp(36px,4vw,52px);letter-spacing:-.045em}
.marketing-dashboard-heading>div>p{margin:0;color:#687268;font-size:16px}
.marketing-filter-bar,.marketing-plans-filter{
    display:flex;
    align-items:flex-end;
    gap:10px;
    padding:14px;
    border:1px solid #dfe5dc;
    border-radius:15px;
    background:#fff;
    box-shadow:0 10px 28px rgba(31,47,34,.045);
}
.marketing-filter-bar label,.marketing-plans-filter label{display:grid;gap:6px}
.marketing-filter-bar label>span,.marketing-plans-filter label>span{
    color:#667067;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.marketing-filter-bar input,.marketing-filter-bar select,
.marketing-plans-filter input,.marketing-plans-filter select{
    min-width:170px;
    min-height:40px;
    padding:9px 11px;
    border:1px solid #ccd4cb;
    border-radius:9px;
    outline:none;
    background:#fff;
    color:#111811;
    color-scheme:light;
    font:inherit;
    font-size:12px;
}
.marketing-filter-bar input:focus,.marketing-filter-bar select:focus,
.marketing-plans-filter input:focus,.marketing-plans-filter select:focus{
    border-color:#75b51f;
    box-shadow:0 0 0 3px rgba(117,181,31,.15);
}
.marketing-update-button{min-height:40px}
.button-loading{display:none;width:15px;height:15px;border:2px solid rgba(12,22,5,.26);border-top-color:#0c1605;border-radius:50%;animation:marketing-spin .7s linear infinite}
.is-submitting .button-label{opacity:.7}
.is-submitting .button-loading{display:inline-block}
@keyframes marketing-spin{to{transform:rotate(360deg)}}
[data-marketing-page]{transition:opacity .16s ease}
[data-marketing-page].is-loading{opacity:.66;pointer-events:none}

.marketing-kpi-card{color:inherit;text-decoration:none;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.marketing-kpi-card:hover{transform:translateY(-2px);border-color:#bed7a8;box-shadow:0 16px 38px rgba(47,72,38,.09)}
.marketing-kpi-card.is-filtered{border-color:#78b62a;box-shadow:0 0 0 2px rgba(117,181,31,.13),0 14px 35px rgba(31,47,34,.06)}
.marketing-kpi-copy{display:grid;min-width:0}
.marketing-kpi-title{margin:9px 0 5px;color:#172018;font-size:14px;font-weight:900}
.marketing-kpi-help{color:#758076;font-size:11px;line-height:1.45}
.marketing-kpi-context{margin-top:10px;color:#527b19;font-size:10px;font-weight:850}
.marketing-active-filter{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-17px;padding:10px 13px;border:1px solid #dce8d3;border-radius:11px;background:#f5faef;color:#526054;font-size:11px}
.marketing-active-filter a{color:#497607;font-weight:900}

.marketing-operations-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(310px,1fr);align-items:start;gap:18px}
.marketing-company-section,.marketing-attention-panel{padding:24px;border:1px solid rgba(24,39,27,.1);border-radius:17px;background:#fff;box-shadow:0 14px 40px rgba(31,47,34,.05)}
.marketing-company-list{display:grid;gap:12px}
.marketing-company-card{gap:17px;padding:19px;box-shadow:none}
.marketing-company-link{display:flex;align-items:center;min-width:0;gap:12px;color:inherit;text-decoration:none}
.marketing-company-link:hover strong{color:#4c770e}
.marketing-company-identity{display:grid;gap:4px}
.marketing-company-identity strong{overflow:hidden;color:#172018;font-size:16px;text-overflow:ellipsis;white-space:nowrap}
.marketing-company-progress{display:grid;gap:9px}
.marketing-company-progress .marketing-progress{margin:0}
.marketing-company-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
.marketing-company-metrics dd.is-date{font-size:11px;line-height:1.5}
.marketing-company-metrics dd.is-overdue{color:#a32b31}
.marketing-company-card>.button{justify-self:start}
.marketing-attention-panel{display:grid;gap:20px}
.marketing-attention-panel h2{margin:5px 0;font-size:25px}
.marketing-attention-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.marketing-attention-list li{display:grid;gap:7px;padding:15px 0;border-bottom:1px solid #e6ebe4}
.marketing-attention-list li:first-child{padding-top:0}
.marketing-attention-list li:last-child{padding-bottom:0;border-bottom:0}
.marketing-attention-item-head,.marketing-attention-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}
.marketing-attention-item-head time{color:#727d73;font-size:10px;font-weight:750}
.marketing-attention-company{color:#5f900f;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.marketing-attention-list strong{color:#1c251d;font-size:12px;line-height:1.4}
.marketing-attention-meta>span{color:#7b857c;font-size:9px}
.marketing-attention-meta a{color:#497607;font-size:10px;font-weight:900}
.review-state.today{background:#ffebcb;color:#8b4e00}
.marketing-empty-state.is-compact{padding:18px}

.marketing-portfolio-strip{
    display:grid;
    grid-template-columns:minmax(180px,.8fr) minmax(0,2fr) minmax(190px,.7fr);
    align-items:center;
    gap:24px;
    padding:19px 22px;
    border:1px solid #dfe5dd;
    border-radius:15px;
    background:#fbfcfa;
}
.marketing-portfolio-strip h2{margin:5px 0 0;font-size:18px}
.marketing-portfolio-strip dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0}
.marketing-portfolio-strip dl>div{display:grid;gap:5px;padding:10px;border-left:1px solid #e1e6df}
.marketing-portfolio-strip dt{color:#727c73;font-size:9px;line-height:1.3}
.marketing-portfolio-strip dd{margin:0;color:#243025;font-size:20px;font-weight:950}
.marketing-portfolio-strip .marketing-last-update{padding:11px}
.marketing-data-note{margin:-17px 0 0;color:#7d867e;font-size:9px}

.marketing-plans-page{display:grid;gap:28px}
.marketing-plans-filter{display:grid;grid-template-columns:minmax(190px,1.35fr) repeat(3,minmax(150px,1fr)) auto auto}
.marketing-search-field input{width:100%}
.marketing-list-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#738074;font-size:11px}
.marketing-list-summary p{margin:0}
.marketing-list-summary strong{color:#1a241b;font-size:18px}
.marketing-plan-list{display:grid;gap:10px}
.marketing-plan-row{
    display:grid;
    grid-template-columns:minmax(190px,1.2fr) auto minmax(170px,1fr) minmax(150px,.75fr) auto;
    align-items:center;
    gap:18px;
    padding:17px 19px;
    border:1px solid #dde4db;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(31,47,34,.035);
}
.marketing-plan-company{display:flex;align-items:center;min-width:0;gap:12px;color:inherit;text-decoration:none}
.marketing-plan-company>span:last-child{display:grid;min-width:0;gap:4px}
.marketing-plan-company strong{overflow:hidden;color:#172018;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.marketing-plan-company small{color:#747f75;font-size:10px}
.marketing-plan-company:hover strong{color:#4a760b}
.marketing-plan-state.is-review{background:#fff0e6;color:#9a4a1d}
.marketing-plan-state.is-empty{background:#f0f2ef;color:#6d766d}
.marketing-plan-state.is-pending{background:#fff4d6;color:#896200}
.marketing-plan-row-progress{display:grid;gap:9px;color:#69746a;font-size:10px}
.marketing-plan-row-progress b{color:#253026}
.marketing-plan-row-progress .marketing-progress{margin:0}
.marketing-plan-updated{display:grid;gap:5px}
.marketing-plan-updated span{color:#79837a;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.marketing-plan-updated b{color:#3c463d;font-size:10px}
.marketing-plans-empty{min-height:180px}

@media(max-width:1180px){
    .marketing-dashboard-heading{align-items:flex-start;flex-direction:column}
    .marketing-filter-bar{width:100%}
    .marketing-filter-bar label{flex:1}
    .marketing-filter-bar input,.marketing-filter-bar select{width:100%;min-width:0}
    .marketing-operations-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr)}
    .marketing-company-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .marketing-portfolio-strip{grid-template-columns:1fr}
    .marketing-plans-filter{grid-template-columns:repeat(3,minmax(0,1fr))}
    .marketing-search-field{grid-column:span 2}
    .marketing-plan-row{grid-template-columns:minmax(190px,1.2fr) auto minmax(180px,1fr) auto}
    .marketing-plan-updated{display:none}
}
@media(max-width:900px){
    .marketing-operations-layout{grid-template-columns:1fr}
    .marketing-attention-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
    .marketing-attention-list li:nth-last-child(2){border-bottom:0}
    .marketing-plan-row{grid-template-columns:minmax(180px,1fr) auto minmax(170px,1fr)}
    .marketing-plan-row>.button{grid-column:3;justify-self:start}
}
@media(max-width:700px){
    .marketing-dashboard-heading h1{font-size:36px}
    .marketing-filter-bar,.marketing-plans-filter{display:grid;grid-template-columns:1fr;width:100%}
    .marketing-filter-bar label,.marketing-plans-filter label,.marketing-search-field{grid-column:auto}
    .marketing-filter-bar input,.marketing-filter-bar select,
    .marketing-plans-filter input,.marketing-plans-filter select{width:100%;min-width:0}
    .marketing-filter-bar .button,.marketing-plans-filter .button{width:100%}
    .marketing-kpi-grid{grid-template-columns:1fr}
    .marketing-kpi-card{min-height:0}
    .marketing-company-section,.marketing-attention-panel{padding:18px}
    .marketing-company-card-head{grid-template-columns:1fr auto}
    .marketing-company-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .marketing-company-card>.button{width:100%}
    .marketing-attention-list{grid-template-columns:1fr}
    .marketing-attention-list li:nth-last-child(2){border-bottom:1px solid #e6ebe4}
    .marketing-portfolio-strip dl{grid-template-columns:repeat(2,minmax(0,1fr))}
    .marketing-plan-row{grid-template-columns:minmax(0,1fr) auto}
    .marketing-plan-row-progress,.marketing-plan-row>.button{grid-column:1/-1}
    .marketing-plan-row>.button{width:100%}
    .marketing-list-summary{align-items:flex-start;flex-direction:column}
}
@media(max-width:420px){
    .marketing-company-card-head{grid-template-columns:1fr}
    .marketing-plan-state{justify-self:start}
    .marketing-company-metrics,.marketing-portfolio-strip dl{grid-template-columns:1fr}
}

/* User permission matrix */
.permission-matrix{display:grid;gap:18px;margin-top:8px;padding:20px;border:1px solid #dfe6dc;border-radius:16px;background:#f8faf7}
.permission-group{display:grid;gap:12px;margin:0;padding:16px;border:1px solid #e3e9e0;border-radius:14px;background:#fff}
.permission-group legend{padding:0 8px;color:#202a21;font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.permission-matrix .check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.permission-matrix .check-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid #e2e7df;border-radius:12px;background:#fff;cursor:pointer}
.permission-matrix .check-card:has(input:checked){border-color:#9acb4c;background:#f6fbeF}
.permission-matrix .check-card input{margin-top:2px;accent-color:#7ab51d}
@media(max-width:700px){.permission-matrix .check-grid{grid-template-columns:1fr}}
