
:root{
    --coral:#FF3131;
    --stone:#E4E2DD;
    --charcoal:#202225;
    --petroleum:#12363C;
    --rose:#E5D8D4;
    --warm-white:#FBF7F3;
    --brand-bg:#F8F7F3;

    --muted:#6B6F70;
    --line:#DDD9D2;
    --surface:#FFFDFC;
    --surface-2:#F3F1EC;
    --success:#2D6A4F;
    --warning:#A66A12;
    --danger:#A83339;
    --shadow:0 14px 36px rgba(32,34,37,.06);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--charcoal)}
body{min-height:100vh;background:var(--brand-bg)}
a{color:inherit}
button,input,select,textarea{font:inherit}
code{background:#EEEAE4;padding:2px 6px;border-radius:6px}

.auth-body{background:var(--brand-bg);display:grid;place-items:center;padding:28px}
.auth-shell{width:100%;max-width:520px}
.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:var(--shadow)}
.auth-logo{display:block;width:220px;max-width:70%;height:auto;margin-bottom:22px}
.eyebrow{font-size:11px;font-weight:850;letter-spacing:.14em;color:var(--coral);text-transform:uppercase}
h1{font-size:32px;line-height:1.1;margin:8px 0 10px;letter-spacing:-.035em}
h2{margin:0;font-size:20px;letter-spacing:-.02em}
h3{margin:0;font-size:16px}
.muted{color:var(--muted);line-height:1.6}
.small{font-size:13px}
.form-stack{display:grid;gap:17px;margin-top:24px}
label{display:grid;gap:7px;font-size:13px;font-weight:750}
input,select,textarea{
    width:100%;padding:12px 13px;border:1px solid #CBC8C1;border-radius:11px;
    background:#fff;outline:none;color:var(--charcoal)
}
textarea{min-height:105px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--petroleum);box-shadow:0 0 0 3px rgba(18,54,60,.09)}
.field-help{font-size:12px;font-weight:400;color:var(--muted)}
.primary-button,.secondary-button,.danger-button{
    appearance:none;border:0;padding:12px 16px;border-radius:10px;font-weight:800;font-size:14px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px
}
.primary-button{background:var(--coral);color:white}
.primary-button:hover{filter:brightness(.95)}
.secondary-button{background:var(--petroleum);color:#fff}
.tertiary-button{background:transparent;color:var(--petroleum);border:1px solid var(--line);padding:11px 15px;border-radius:10px;text-decoration:none;font-weight:750}
.alert,.notice{border-radius:12px;padding:13px 14px;margin:18px 0;font-size:14px;line-height:1.5}
.alert.error{background:#FFF1F1;border:1px solid #F1C5C5;color:#7E2930}
.alert.success{background:#EEF7F2;border:1px solid #C8E1D3;color:#245A42}
.notice{background:#EFF4F3;border:1px solid #C8D8D5;color:#244D4B}

.topbar{
    min-height:76px;background:rgba(251,247,243,.96);border-bottom:1px solid var(--line);
    display:flex;align-items:center;justify-content:space-between;padding:10px 24px;position:sticky;top:0;z-index:20;
    backdrop-filter:blur(10px)
}
.brand-area{display:flex;align-items:center;gap:16px}
.brand-logo{width:138px;height:auto;display:block}
.product-name{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:16px}
.topbar-user{display:flex;align-items:center;gap:12px;font-size:13px}
.user-copy{display:grid;text-align:right;line-height:1.2}
.user-copy span{font-size:11px;color:var(--muted);margin-top:3px}
.role-badge,.status-pill{
    font-size:11px;font-weight:850;background:#E6EEEC;color:var(--petroleum);
    padding:7px 10px;border-radius:999px
}
.ghost-link{text-decoration:none;color:var(--coral);font-weight:800}
.app-layout{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:calc(100vh - 76px)}
.sidebar{background:var(--petroleum);padding:18px 13px;display:flex;flex-direction:column;gap:5px}
.sidebar-section-label{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.45);font-weight:850;margin:14px 10px 5px}
.nav-item{color:rgba(255,255,255,.82);text-decoration:none;padding:11px 12px;border-radius:10px;font-size:13px;font-weight:700}
.nav-item:hover{background:rgba(255,255,255,.08);color:white}
.nav-item.active{background:rgba(255,255,255,.14);color:white;box-shadow:inset 3px 0 0 var(--coral)}
.sidebar-spacer{flex:1}
.dev-chip{font-size:10px;color:rgba(255,255,255,.65);padding:12px 10px;border-top:1px solid rgba(255,255,255,.12)}
.main-content{padding:30px;max-width:1480px;width:100%;margin:0 auto}
.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:22px;margin-bottom:24px}
.page-heading-actions{display:flex;gap:10px;flex-wrap:wrap}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.metric-card,.panel,.table-card,.info-card{background:var(--surface);border:1px solid var(--line);border-radius:17px}
.metric-card{padding:19px;display:grid;gap:8px;min-height:135px}
.metric-card.accent{border-top:3px solid var(--coral)}
.metric-label{font-size:12px;font-weight:800;color:var(--muted)}
.metric-card strong{font-size:31px;color:var(--petroleum);letter-spacing:-.045em}
.metric-foot{font-size:11px;color:var(--muted)}
.panel{margin-top:18px;padding:22px}
.panel-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.progress-list{margin-top:15px;border-top:1px solid var(--line)}
.progress-list>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}
.progress-list strong{color:var(--petroleum)}
.quick-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-top:18px}
.activity-list{display:grid;gap:0;margin-top:12px}
.activity-item{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}
.activity-item:last-child{border-bottom:0}
.empty-state{padding:34px;text-align:center}
.empty-state h3{margin-bottom:8px}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.search-form{display:flex;gap:8px;flex:1;min-width:280px}
.search-form input{max-width:430px}
.search-form select{width:auto;min-width:180px}
.table-card{overflow:hidden}
.data-table{width:100%;border-collapse:collapse}
.data-table th{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:#F2EFEA;text-align:left;padding:12px 14px}
.data-table td{font-size:12px;padding:13px 14px;border-top:1px solid var(--line);vertical-align:middle}
.data-table tr:hover td{background:#FFF9F6}
.client-name{display:grid;gap:3px}
.client-name strong{font-size:13px}
.client-name span{font-size:11px;color:var(--muted)}
.code-pill{font-size:10px;font-weight:800;color:var(--petroleum);background:#E8EFED;padding:5px 8px;border-radius:999px;display:inline-flex}
.status-badge{font-size:10px;font-weight:850;padding:6px 8px;border-radius:999px;display:inline-flex}
.status-active{background:#E8F2EC;color:#276246}
.status-paused{background:#FFF4DF;color:#8A5A15}
.status-closed{background:#EEEDEC;color:#666}
.status-prospect{background:#F7EAEA;color:#8C3D46}
.link{color:var(--petroleum);font-weight:800;text-decoration:none}
.link:hover{text-decoration:underline}
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px}
.form-section{padding:4px 0 24px;border-bottom:1px solid var(--line);margin-bottom:24px}
.form-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.form-section-head{margin-bottom:15px}
.form-section-head p{margin:5px 0 0;font-size:12px;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.form-grid .span-2{grid-column:span 2}
.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.check-card{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff;font-size:12px;font-weight:700}
.check-card input{width:auto;margin:0}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
.detail-header{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:16px}
.detail-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.detail-id{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.detail-id h1{margin:0;font-size:28px}
.detail-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px;color:var(--muted);font-size:12px}
.tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);margin-top:20px}
.tab{padding:10px 12px;text-decoration:none;font-size:12px;font-weight:750;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}
.tab.active{color:var(--petroleum);border-bottom-color:var(--coral)}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.info-card{padding:20px}
.info-list{display:grid;gap:12px;margin-top:14px}
.info-row{display:grid;grid-template-columns:145px 1fr;gap:14px;font-size:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:0}
.info-row span:first-child{color:var(--muted)}
.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.tag{font-size:11px;font-weight:750;background:#EFECE6;color:var(--charcoal);padding:6px 8px;border-radius:999px}
.section-anchor{scroll-margin-top:100px}

@media(max-width:980px){
    .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .quick-grid,.detail-grid{grid-template-columns:1fr}
    .app-layout{grid-template-columns:1fr}
    .sidebar{display:none}
    .checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
    .topbar{padding:11px 14px}
    .brand-logo{width:112px}
    .product-name{display:none}
    .topbar-user{gap:7px}
    .user-copy span{display:none}
    .role-badge{display:none}
    .main-content{padding:20px 14px}
    .metric-grid{grid-template-columns:1fr}
    .page-heading,.detail-top{display:grid}
    .page-heading-actions{width:100%}
    .page-heading-actions a{flex:1}
    .form-grid{grid-template-columns:1fr}
    .form-grid .span-2{grid-column:span 1}
    .checkbox-grid{grid-template-columns:1fr}
    .search-form{min-width:100%;display:grid}
    .search-form input,.search-form select{width:100%;max-width:none}
    .data-table{min-width:760px}
    .table-card{overflow:auto}
    .info-row{grid-template-columns:1fr;gap:4px}
}


/* AC Control v0.3 · Usuarios */
.header-link{font-size:12px;text-decoration:none;color:var(--petroleum);font-weight:800}
.header-link:hover{text-decoration:underline}
.user-cell{display:flex;align-items:center;gap:10px}
.user-avatar{
    width:34px;height:34px;border-radius:10px;background:var(--rose);color:var(--petroleum);
    display:grid;place-items:center;font-size:11px;font-weight:900;flex:0 0 auto
}
.user-avatar.large{width:58px;height:58px;border-radius:16px;font-size:17px}
.user-profile-heading{display:flex;align-items:flex-start;gap:16px}
.you-badge{font-size:10px;background:#DFFF63;color:var(--charcoal);padding:4px 8px;border-radius:999px;margin-left:6px;font-weight:900;display:inline-flex;align-items:center;line-height:1;border:1px solid rgba(32,34,37,.08)}
.role-soft{font-size:10px;font-weight:800;background:#EFECE6;color:var(--charcoal);padding:6px 8px;border-radius:999px;display:inline-flex}
.temporary-password-card{
    background:var(--petroleum);color:white;border-radius:18px;padding:22px;margin-bottom:16px;
    display:flex;justify-content:space-between;gap:24px;align-items:center;box-shadow:var(--shadow)
}
.temporary-password-card .eyebrow{color:#FF8C8C}
.temporary-password-card h2{margin-top:5px}
.temporary-password-card p{margin:7px 0 0;color:rgba(255,255,255,.72);font-size:12px;max-width:650px;line-height:1.5}
.password-display{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.password-display code{
    background:rgba(255,255,255,.12);color:#fff;font-size:16px;font-weight:850;letter-spacing:.04em;
    padding:12px 14px;border-radius:10px;user-select:all
}
.inline-action-form{margin-top:16px}
.inline-action-form button:disabled{opacity:.5;cursor:not-allowed}
.assignment-list{display:grid;gap:8px;margin-top:14px}
.assignment-row{
    display:flex;justify-content:space-between;gap:14px;align-items:center;text-decoration:none;
    border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff
}
.assignment-row:hover{border-color:#C9C4BB;background:#FFFAF7}
.assignment-row>div{display:grid;gap:3px}
.assignment-row strong{font-size:12px}
.assignment-row span{font-size:10px;color:var(--muted)}
.security-form{max-width:760px}

@media(max-width:680px){
    .header-link{display:none}
    .temporary-password-card{display:grid}
    .password-display{display:grid}
    .password-display .secondary-button{width:100%}
    .user-profile-heading{display:grid}
}


/* AC Control v0.3.1b - corrección definitiva badge "Tú" */
.client-name strong .you-badge,
.client-name .you-badge,
span.you-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #DFFF63 !important;
    color: #12363C !important;
    border: 1px solid rgba(18,54,60,.18) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    padding: 5px 8px !important;
    margin-left: 6px !important;
    border-radius: 999px !important;
    vertical-align: middle !important;
}


/* AC Control v0.4 · Funciones por cliente + Mi trabajo */
.function-badge{
    display:inline-flex;align-items:center;justify-content:center;
    border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;line-height:1;
    white-space:nowrap;border:1px solid transparent;
}
.function-badge.function-encargado{background:#12363C;color:#fff}
.function-badge.function-revisor{background:#E5D8D4;color:#202225;border-color:#D6C7C2}
.function-badge.function-colaborador{background:#E4E2DD;color:#202225;border-color:#D7D4CE}

.assignment-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.assignment-editor-card{
    border:1px solid var(--line);border-radius:14px;padding:16px;background:#fff;
}
.assignment-editor-card.span-2{grid-column:1/-1}
.assignment-editor-card p{margin:8px 0 0;color:var(--muted);font-size:11px}
.assignment-editor-card.function-encargado{border-top:3px solid #12363C}
.assignment-editor-card.function-revisor{border-top:3px solid #E5D8D4}
.assignment-editor-card.function-colaborador{border-top:3px solid #E4E2DD}
.required-mark{color:var(--coral)}

.team-list{display:grid;gap:10px;margin-top:14px}
.team-member{
    display:grid;grid-template-columns:100px 1fr;gap:12px;align-items:center;
    padding:10px 0;border-bottom:1px solid var(--line)
}
.team-member:last-child{border-bottom:0}
.team-member>div{display:grid;gap:2px}
.team-member strong{font-size:12px}
.team-member span:not(.function-badge){font-size:10px;color:var(--muted)}

.work-metrics{margin-bottom:20px}
.work-search select{min-width:175px}
.work-list-card{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.55);overflow:hidden}
.work-client-list{display:grid}
.work-client-row{
    display:flex;justify-content:space-between;gap:18px;align-items:center;
    padding:17px 18px;text-decoration:none;color:inherit;border-bottom:1px solid var(--line);
    transition:.15s ease
}
.work-client-row:last-child{border-bottom:0}
.work-client-row:hover{background:#fff}
.work-client-main{min-width:0;display:grid;gap:7px}
.work-client-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.work-client-title strong{font-size:14px}
.work-client-meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:10px}
.work-client-meta span:not(:last-child)::after{content:"·";margin-left:10px;color:#B7B2AA}
.work-client-side{display:grid;gap:6px;justify-items:end;flex:0 0 auto}
.work-client-side small{font-size:9px;color:var(--muted)}
.work-next-note{margin-top:16px}

@media(max-width:760px){
    .assignment-editor-grid{grid-template-columns:1fr}
    .assignment-editor-card.span-2{grid-column:auto}
    .work-client-row{align-items:flex-start}
    .work-client-side{justify-items:start}
}
@media(max-width:560px){
    .work-client-row{display:grid}
    .team-member{grid-template-columns:1fr}
}


/* ==========================================================
   AC Control v0.4.2 · navegación / responsive / cuenta / equipo
   ========================================================== */

html{overflow-x:hidden}
body.app-body{overflow-x:hidden}

.topbar{
    min-height:74px;
    padding:9px 20px;
}
.brand-area{gap:13px;min-width:0}
.sidebar-toggle{
    width:38px;height:38px;border:0;background:transparent;border-radius:10px;
    display:grid;place-content:center;gap:4px;cursor:pointer;padding:8px;flex:0 0 auto;
}
.sidebar-toggle:hover{background:rgba(255,49,49,.08)}
.sidebar-toggle span{
    display:block;width:21px;height:3px;border-radius:999px;background:var(--coral);
}
.brand-logo{width:126px}
.topbar-user{min-width:0}
.topbar-account-link{
    display:flex;align-items:center;gap:9px;text-decoration:none;min-width:0;
}
.topbar-account-link:hover .user-copy strong{color:var(--petroleum)}
.header-avatar{
    width:34px;height:34px;border-radius:50%;flex:0 0 34px;object-fit:cover;
    border:1px solid var(--line);background:var(--rose);color:var(--petroleum);
    display:grid;place-items:center;font-size:10px;font-weight:900;
}
.profile-photo{object-fit:cover}
.avatar-fallback{display:grid;place-items:center;font-weight:900}

.app-layout{
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    min-height:calc(100vh - 74px);
    transition:grid-template-columns .22s ease;
}
.sidebar{
    position:sticky;top:74px;height:calc(100vh - 74px);
    padding:10px 10px 0;
    min-width:0;overflow:hidden;
    transition:transform .22s ease,opacity .18s ease;
}
.sidebar-scroll{
    overflow-y:auto;overflow-x:hidden;min-height:0;flex:1;padding-bottom:18px;
}
.sidebar .nav-item{white-space:nowrap}
.main-content{
    max-width:1600px;
    padding:28px clamp(20px,3vw,42px);
    min-width:0;
    transition:max-width .2s ease,padding .2s ease;
}
body.sidebar-collapsed .app-layout{grid-template-columns:0 minmax(0,1fr)}
body.sidebar-collapsed .sidebar{
    transform:translateX(-100%);
    opacity:0;
    pointer-events:none;
}
body.sidebar-collapsed .main-content{max-width:1720px}

.sidebar-backdrop{display:none}

/* Team card inside client */
.team-card .team-list{gap:0;margin-top:10px}
.team-card .team-member{
    grid-template-columns:112px minmax(0,1fr);
    gap:14px;padding:12px 0;align-items:center;
}
.team-card .team-member>div{display:block;min-width:0}
.team-card .team-member strong{
    display:block;font-size:13px;font-weight:800;color:var(--charcoal);
    overflow-wrap:anywhere;
}
.team-card .team-member span:not(.function-badge){display:none}

/* Mi trabajo */
.work-heading{
    margin-bottom:20px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    flex-wrap:wrap;
}
.work-heading>div:first-child{min-width:min(100%,520px)}
.work-heading .work-mode-switcher{margin:0 0 0 auto;align-self:flex-start}
@media (max-width: 720px){
    .work-heading .work-mode-switcher{margin:6px 0 0;align-self:flex-start}
}
.work-metrics{
    grid-template-columns:repeat(4,minmax(150px,1fr));
    gap:14px;margin-bottom:18px;
}
.work-metrics .metric-card{
    min-height:126px;padding:18px;border-top:1px solid var(--line);
}
.work-filter-card{
    border:1px solid var(--line);background:var(--surface);
    border-radius:16px;padding:12px;margin-bottom:16px;
}
.work-filter-grid{
    display:grid;grid-template-columns:minmax(230px,1.6fr) minmax(165px,.75fr) minmax(165px,.75fr) auto;
    gap:10px;align-items:center;
}
.work-filter-grid input,.work-filter-grid select{min-width:0}
.work-filter-grid .secondary-button{min-height:45px;padding-inline:20px}

.work-client-cards{display:grid;gap:13px}
.work-client-card{
    display:grid;gap:15px;text-decoration:none;color:inherit;
    background:var(--surface);border:1px solid var(--line);border-radius:17px;
    padding:18px 20px;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.work-client-card:hover{
    transform:translateY(-1px);border-color:#CBC5BC;
    box-shadow:0 10px 24px rgba(32,34,37,.05);
}
.work-client-card-head{
    display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
}
.work-client-title-block{min-width:0}
.work-client-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.work-client-title-line h3{
    font-size:17px;line-height:1.25;letter-spacing:-.015em;margin:0;
}
.work-trade-name{font-size:11px;color:var(--muted);margin-top:4px}
.work-client-status{display:grid;justify-items:end;gap:6px;flex:0 0 auto}
.work-client-status small{font-size:10px;color:var(--muted)}
.work-client-data{
    display:grid;grid-template-columns:minmax(120px,.65fr) minmax(130px,.8fr) minmax(220px,2fr) 24px;
    gap:14px;align-items:end;padding-top:13px;border-top:1px solid var(--line);
}
.work-data-item{display:grid;gap:4px;min-width:0}
.work-data-item span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.work-data-item strong{font-size:12px;overflow-wrap:anywhere}
.work-data-services strong{font-weight:700}
.work-card-arrow{font-size:29px;line-height:1;color:var(--petroleum);align-self:center;text-align:right}

/* Mi cuenta */
.account-hero{
    display:flex;align-items:center;gap:22px;background:var(--surface);
    border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:16px;
}
.account-avatar{
    width:92px;height:92px;border-radius:22px;border:1px solid var(--line);
    background:var(--rose);color:var(--petroleum);font-size:24px;flex:0 0 92px;
}
.account-hero-copy h1{margin:8px 0 4px;font-size:27px}
.account-hero-copy p{margin:0;color:var(--muted);font-size:13px}
.account-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
}
.account-edit-card{grid-column:1/-1}
.account-edit-form{
    display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);gap:16px;align-items:start;
}
.account-actions{grid-column:1/-1;margin-top:0}
.remove-photo-option{
    display:flex;align-items:center;gap:8px;border:1px solid var(--line);
    padding:12px;border-radius:11px;background:#fff;font-weight:650;
}
.remove-photo-option input{width:auto;margin:0}
.account-security-note{
    font-size:11px;color:var(--muted);line-height:1.5;margin:14px 0 0;
}

/* Equipo */
.team-toolbar{margin-bottom:18px}
.team-search input{max-width:none}
.team-directory{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.team-directory-card{
    position:relative;display:grid;grid-template-columns:70px minmax(0,1fr);
    gap:15px;align-items:center;background:var(--surface);
    border:1px solid var(--line);border-radius:17px;padding:17px;
}
.directory-avatar{
    width:70px;height:70px;border-radius:18px;border:1px solid var(--line);
    background:var(--rose);color:var(--petroleum);font-size:17px;
}
.team-directory-copy{min-width:0}
.team-directory-name-row{
    display:flex;align-items:flex-start;justify-content:space-between;gap:8px;
}
.team-directory-name-row h3{font-size:14px;line-height:1.25}
.team-job-title{font-size:12px;color:var(--petroleum);font-weight:800;margin-top:6px}
.team-email,.team-phone{
    display:block;font-size:11px;color:var(--muted);margin-top:5px;text-decoration:none;overflow-wrap:anywhere;
}
.team-email:hover{color:var(--petroleum);text-decoration:underline}
.team-admin-link{
    grid-column:1/-1;text-align:right;color:var(--petroleum);
    font-size:10px;font-weight:850;text-decoration:none;border-top:1px solid var(--line);padding-top:9px;
}

/* User profile photos */
.user-avatar.profile-photo{padding:0;object-fit:cover}
.user-avatar.large.profile-photo{width:58px;height:58px}

/* Responsive sidebar */
@media(max-width:1180px){
    .work-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .team-directory{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:980px){
    .app-layout{grid-template-columns:1fr !important}
    .sidebar{
        display:flex !important;
        position:fixed;z-index:60;left:0;top:74px;bottom:0;
        width:min(290px,84vw);height:calc(100vh - 74px);
        transform:translateX(-102%);opacity:1;pointer-events:auto;
        box-shadow:18px 0 40px rgba(0,0,0,.16);
    }
    body.sidebar-open .sidebar{transform:translateX(0)}
    .sidebar-backdrop{
        position:fixed;z-index:50;inset:74px 0 0;
        background:rgba(18,54,60,.28);backdrop-filter:blur(1px);
    }
    body.sidebar-open .sidebar-backdrop{display:block}
    body.sidebar-collapsed .sidebar{opacity:1;pointer-events:auto}
    .main-content{padding:24px 20px;max-width:none}
    .work-filter-grid{grid-template-columns:1fr 1fr}
    .work-filter-grid input{grid-column:1/-1}
    .work-filter-grid .secondary-button{width:100%}
    .account-grid{grid-template-columns:1fr}
    .account-edit-card{grid-column:auto}
    .account-edit-form{grid-template-columns:1fr}
    .account-actions{grid-column:auto}
}

@media(max-width:700px){
    .topbar{padding:9px 12px}
    .brand-logo{width:108px}
    .product-name{display:none}
    .user-copy{display:none}
    .role-badge{display:none}
    .topbar-user{gap:8px}
    .header-avatar{width:31px;height:31px;flex-basis:31px}
    .main-content{padding:20px 13px}
    .work-metrics{grid-template-columns:1fr 1fr;gap:10px}
    .work-metrics .metric-card{min-height:110px;padding:15px}
    .work-filter-grid{grid-template-columns:1fr}
    .work-filter-grid input{grid-column:auto}
    .work-client-card-head{display:grid}
    .work-client-status{justify-items:start}
    .work-client-data{grid-template-columns:1fr 1fr}
    .work-data-services{grid-column:1/-1}
    .work-card-arrow{display:none}
    .team-directory{grid-template-columns:1fr}
    .account-hero{align-items:flex-start}
    .account-avatar{width:76px;height:76px;flex-basis:76px;border-radius:18px}
}

@media(max-width:470px){
    .ghost-link{font-size:11px}
    .work-metrics{grid-template-columns:1fr}
    .account-hero{display:grid}
    .team-directory-card{grid-template-columns:58px minmax(0,1fr)}
    .directory-avatar{width:58px;height:58px;border-radius:15px}
}


/* ==========================================================
   AC Control v0.4.3 · FIX ESTRUCTURAL DE LAYOUT
   ========================================================== */

/* ---------- Encabezado ---------- */
.topbar{
    height:74px;
    min-height:74px;
    padding:0 22px;
    gap:20px;
}
.brand-area{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    flex:1 1 auto;
}
.sidebar-toggle{
    flex:0 0 40px;
    width:40px;
    height:40px;
}
.brand-logo{
    width:116px;
    flex:0 0 auto;
}
.product-name{
    white-space:nowrap;
    flex:0 0 auto;
}
.topbar-user{
    flex:0 1 auto;
    min-width:0;
    margin-left:auto;
}
.topbar-account-link{
    min-width:0;
}
.user-copy{
    min-width:0;
    max-width:230px;
}
.user-copy strong,
.user-copy span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.role-badge,
.ghost-link{
    flex:0 0 auto;
}

/* ---------- Sidebar: SIEMPRE vertical ---------- */
.app-layout{
    grid-template-columns:232px minmax(0,1fr);
}
.sidebar{
    width:232px;
    padding:14px 12px 0;
    gap:0;
}
.sidebar-scroll{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:3px !important;
    width:100%;
    padding:0 0 18px;
}
.sidebar-section-label{
    display:block;
    width:100%;
    margin:15px 10px 6px;
}
.sidebar .nav-item{
    display:flex !important;
    width:100% !important;
    min-width:0;
    align-items:center;
    flex:0 0 auto;
    padding:10px 12px;
    margin:0;
    white-space:nowrap;
}
.sidebar .nav-item + .nav-item{
    margin-top:1px;
}
.dev-chip{
    margin-top:auto;
}

/* Collapsed desktop */
body.sidebar-collapsed .app-layout{
    grid-template-columns:0 minmax(0,1fr);
}
body.sidebar-collapsed .sidebar{
    width:232px;
}

/* Main layout: less empty space, better usable width */
.main-content{
    width:100%;
    max-width:none;
    margin:0;
    padding:28px clamp(22px,3vw,42px);
}

/* ---------- Mi cuenta ---------- */
.account-page-shell{
    width:min(100%,1180px);
    margin:0 auto;
}
.account-page-heading{
    margin-bottom:18px;
}
.account-hero{
    padding:18px 20px;
    gap:18px;
    border-radius:16px;
}
.account-avatar{
    width:78px;
    height:78px;
    flex-basis:78px;
    border-radius:18px;
    font-size:20px;
}
.account-hero-copy h1{
    font-size:25px;
    margin:7px 0 4px;
}
.account-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
    gap:14px;
}
.account-grid .info-card{
    padding:18px 20px;
}
.account-grid .info-row{
    grid-template-columns:155px minmax(0,1fr);
    padding-bottom:9px;
    gap:12px;
}
.account-edit-card{
    grid-column:1/-1;
    padding:20px;
}
.account-edit-form{
    grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
    gap:18px;
}
.account-edit-form input[type="file"]{
    min-height:44px;
}
.account-actions{
    display:flex;
    justify-content:flex-end;
}
.account-actions .primary-button{
    min-width:150px;
}

/* ---------- General spacing ---------- */
.page-heading h1{
    margin-top:6px;
}
.info-card h2,
.form-card h2{
    line-height:1.2;
}

/* ---------- Responsive earlier: sidebar becomes drawer sooner ---------- */
@media(max-width:1160px){
    .app-layout{
        grid-template-columns:1fr !important;
    }

    .sidebar{
        display:flex !important;
        position:fixed;
        z-index:60;
        left:0;
        top:74px;
        bottom:0;
        width:260px;
        max-width:84vw;
        height:calc(100vh - 74px);
        transform:translateX(-102%);
        opacity:1;
        pointer-events:auto;
        box-shadow:18px 0 40px rgba(0,0,0,.16);
    }

    body.sidebar-open .sidebar{
        transform:translateX(0);
    }

    body.sidebar-collapsed .sidebar{
        width:260px;
        opacity:1;
        pointer-events:auto;
    }

    .sidebar-backdrop{
        position:fixed;
        z-index:50;
        inset:74px 0 0;
        background:rgba(18,54,60,.28);
        backdrop-filter:blur(1px);
    }

    body.sidebar-open .sidebar-backdrop{
        display:block;
    }

    .main-content{
        max-width:none;
        padding:24px 22px;
    }

    .account-page-shell{
        width:min(100%,1000px);
    }
}

@media(max-width:900px){
    .account-grid{
        grid-template-columns:1fr;
    }
    .account-edit-card{
        grid-column:auto;
    }
    .account-edit-form{
        grid-template-columns:1fr;
    }
    .account-actions{
        grid-column:auto;
    }
}

@media(max-width:760px){
    .topbar{
        padding:0 12px;
        gap:10px;
    }

    .brand-area{
        gap:8px;
    }

    .sidebar-toggle{
        width:36px;
        height:36px;
        flex-basis:36px;
    }

    .brand-logo{
        width:100px;
    }

    .product-name{
        display:none;
    }

    .topbar-user{
        gap:7px;
    }

    .user-copy span{
        display:none;
    }

    .user-copy{
        max-width:130px;
    }

    .role-badge{
        display:none;
    }

    .main-content{
        padding:20px 14px;
    }

    .account-hero{
        align-items:flex-start;
    }

    .account-grid .info-row{
        grid-template-columns:1fr;
        gap:4px;
    }
}

@media(max-width:560px){
    .topbar-account-link .user-copy{
        display:none;
    }

    .ghost-link{
        font-size:10px;
    }

    .header-avatar{
        width:30px;
        height:30px;
        flex-basis:30px;
    }

    .account-hero{
        display:grid;
    }
}


/* ==========================================================
   AC Control v0.4.4 · sidebar ancho/continuo + header avatar
   ========================================================== */

:root{
    --sidebar-width: 272px;
}

/* Estructura general */
.app-layout{
    grid-template-columns: var(--sidebar-width) minmax(0,1fr) !important;
    align-items: stretch;
}

.topbar{
    position: sticky;
    top: 0;
    z-index: 70;
}

/* Sidebar: panel completo, continuo y vertical */
.sidebar{
    width: var(--sidebar-width) !important;
    min-width: var(--sidebar-width) !important;
    max-width: var(--sidebar-width) !important;
    height: calc(100vh - 74px) !important;
    min-height: calc(100vh - 74px) !important;
    position: sticky;
    top: 74px;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    padding: 14px 14px 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box;
}

.sidebar-scroll{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    gap: 0 !important;
    padding: 0 0 16px !important;
    margin: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.sidebar-section-label{
    display: block !important;
    width: 100% !important;
    margin: 16px 8px 6px !important;
    padding: 0 !important;
}

.sidebar .nav-item,
.sidebar a.nav-item{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    flex: none !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
    margin: 0 0 4px 0 !important;
    padding: 12px 14px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    text-align: left !important;
}

.sidebar .nav-item + .nav-item{
    margin-top: 0 !important;
}

.dev-chip{
    margin-top: auto !important;
    width: calc(100% - 8px);
    align-self: center;
}

/* Encabezado: ordenar nombre/correo, avatar, badge */
.topbar-user{
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    flex: 0 1 auto;
    min-width: 0;
    margin-left: auto;
}

.topbar-account-link{
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-width: 0;
    text-decoration: none;
}

.topbar-account-link .user-copy{
    order: 1;
    text-align: right;
    min-width: 0;
    max-width: 240px;
}

.topbar-account-link .header-avatar{
    order: 2;
}

.header-avatar{
    width: 36px !important;
    height: 36px !important;
    flex: 0 0 36px !important;
    border-radius: 50% !important;
}

/* Main content */
.main-content{
    min-width: 0;
    width: 100%;
}

/* Desktop collapsed sidebar */
body.sidebar-collapsed .app-layout{
    grid-template-columns: 0 minmax(0,1fr) !important;
}

body.sidebar-collapsed .sidebar{
    transform: translateX(-100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Drawer mode on medium and below */
@media (max-width: 1240px){
    .app-layout{
        grid-template-columns: 1fr !important;
    }

    .sidebar{
        position: fixed !important;
        left: 0;
        top: 74px;
        bottom: 0;
        z-index: 60;
        width: min(var(--sidebar-width), 86vw) !important;
        min-width: 0 !important;
        max-width: 86vw !important;
        height: calc(100vh - 74px) !important;
        transform: translateX(-102%) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        box-shadow: 18px 0 40px rgba(0,0,0,.18);
    }

    body.sidebar-open .sidebar{
        transform: translateX(0) !important;
    }

    body.sidebar-collapsed .sidebar{
        transform: translateX(-102%) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .sidebar-backdrop{
        position: fixed;
        inset: 74px 0 0;
        z-index: 50;
        background: rgba(18,54,60,.28);
        backdrop-filter: blur(1px);
    }

    body.sidebar-open .sidebar-backdrop{
        display: block !important;
    }
}

@media (max-width: 760px){
    .topbar{
        padding: 0 12px !important;
    }

    .topbar-user{
        gap: 10px !important;
    }

    .topbar-account-link .user-copy{
        max-width: 120px;
    }
}

@media (max-width: 560px){
    .topbar-account-link .user-copy span{
        display: none !important;
    }

    .topbar-account-link .user-copy{
        max-width: 96px;
    }

    .role-badge{
        display: none !important;
    }

    .header-avatar{
        width: 32px !important;
        height: 32px !important;
        flex-basis: 32px !important;
    }
}


/* ==========================================================
   AC Control v0.4.5 · sidebar continuo hasta el borde inferior
   ========================================================== */

:root{
    --sidebar-width: 220px;
}

/* Reserva exactamente el espacio del sidebar sin hacerlo más ancho */
.app-layout{
    grid-template-columns: var(--sidebar-width) minmax(0,1fr) !important;
}

/* Sidebar fijo y continuo: nunca termina "a mitad" de la página */
.sidebar{
    position: fixed !important;
    left: 0 !important;
    top: 74px !important;
    bottom: 0 !important;
    width: var(--sidebar-width) !important;
    min-width: var(--sidebar-width) !important;
    max-width: var(--sidebar-width) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    z-index: 40;
}

/* Menú siempre uno debajo del otro */
.sidebar-scroll{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

.sidebar .nav-item,
.sidebar a.nav-item{
    display: block !important;
    width: 100% !important;
    float: none !important;
    clear: both !important;
    box-sizing: border-box !important;
}

/* El texto de ambiente queda pegado abajo del panel */
.dev-chip{
    flex: 0 0 auto !important;
    margin-top: auto !important;
}

/* Al plegar, desaparece visualmente pero el contenido ocupa todo el ancho */
body.sidebar-collapsed .app-layout{
    grid-template-columns: 0 minmax(0,1fr) !important;
}

body.sidebar-collapsed .sidebar{
    transform: translateX(-100%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* En ventanas medianas/pequeñas funciona como drawer */
@media(max-width:1240px){
    .app-layout{
        grid-template-columns: 1fr !important;
    }

    .sidebar{
        position: fixed !important;
        top: 74px !important;
        bottom: 0 !important;
        left: 0 !important;
        width: min(var(--sidebar-width),86vw) !important;
        min-width: 0 !important;
        max-width: 86vw !important;
        height: auto !important;
        transform: translateX(-102%) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        z-index: 60;
    }

    body.sidebar-open .sidebar{
        transform: translateX(0) !important;
    }

    body.sidebar-collapsed .sidebar{
        transform: translateX(-102%) !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
}


/* ==========================================================
   AC Control v0.4.6 · sidebar integrado en escritorio
   ========================================================== */

:root{
    --sidebar-width: 220px;
}

/* El contenedor de la app siempre reserva la columna del sidebar */
.app-layout{
    display:grid !important;
    grid-template-columns:var(--sidebar-width) minmax(0,1fr) !important;
    align-items:stretch !important;
    min-height:calc(100vh - 74px) !important;
    width:100% !important;
}

/* ESCRITORIO: el sidebar pertenece a la grilla y EMPUJA el contenido */
@media(min-width:901px){
    .sidebar{
        position:sticky !important;
        top:74px !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;

        grid-column:1 !important;
        grid-row:1 !important;
        align-self:start !important;

        width:var(--sidebar-width) !important;
        min-width:var(--sidebar-width) !important;
        max-width:var(--sidebar-width) !important;
        height:calc(100vh - 74px) !important;
        min-height:calc(100vh - 74px) !important;

        transform:none !important;
        opacity:1 !important;
        pointer-events:auto !important;
        box-shadow:none !important;
        z-index:20 !important;
    }

    .main-content{
        grid-column:2 !important;
        grid-row:1 !important;
        min-width:0 !important;
        width:100% !important;
        margin:0 !important;
    }

    .sidebar-backdrop{
        display:none !important;
    }

    /* Al cerrar el menú, la primera columna desaparece
       y el contenido se expande automáticamente */
    body.sidebar-collapsed .app-layout{
        grid-template-columns:0 minmax(0,1fr) !important;
    }

    body.sidebar-collapsed .sidebar{
        transform:translateX(-100%) !important;
        opacity:0 !important;
        pointer-events:none !important;
    }

    body.sidebar-collapsed .main-content{
        grid-column:2 !important;
        width:100% !important;
    }
}

/* Menú vertical limpio en cualquier tamaño */
.sidebar-scroll{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
}

.sidebar .nav-item,
.sidebar a.nav-item{
    display:block !important;
    width:100% !important;
    float:none !important;
    clear:both !important;
    box-sizing:border-box !important;
}

/* MÓVIL / VENTANA ANGOSTA: recién aquí funciona como overlay */
@media(max-width:900px){
    .app-layout{
        grid-template-columns:minmax(0,1fr) !important;
    }

    .main-content{
        grid-column:1 !important;
        grid-row:1 !important;
        width:100% !important;
        min-width:0 !important;
    }

    .sidebar{
        position:fixed !important;
        top:74px !important;
        left:0 !important;
        bottom:0 !important;
        right:auto !important;

        width:min(var(--sidebar-width),86vw) !important;
        min-width:0 !important;
        max-width:86vw !important;
        height:auto !important;
        min-height:0 !important;

        transform:translateX(-102%) !important;
        opacity:1 !important;
        pointer-events:auto !important;
        box-shadow:18px 0 40px rgba(0,0,0,.18) !important;
        z-index:60 !important;
    }

    body.sidebar-open .sidebar{
        transform:translateX(0) !important;
    }

    body.sidebar-collapsed .sidebar{
        transform:translateX(-102%) !important;
        opacity:1 !important;
        pointer-events:auto !important;
    }

    .sidebar-backdrop{
        position:fixed !important;
        inset:74px 0 0 !important;
        z-index:50 !important;
        background:rgba(18,54,60,.28) !important;
        backdrop-filter:blur(1px);
    }

    body.sidebar-open .sidebar-backdrop{
        display:block !important;
    }
}


/* ==========================================================
   AC Control v0.4.7 · fondo sidebar hasta el final del documento
   ========================================================== */

:root{
    --sidebar-width:220px;
}

/* La fila de la grilla mide lo que mida el contenido más alto */
.app-layout{
    display:grid !important;
    grid-template-columns:var(--sidebar-width) minmax(0,1fr) !important;
    align-items:stretch !important;
    min-height:calc(100vh - 74px) !important;
}

/* DESKTOP:
   - .sidebar pinta la columna petróleo y se estira con TODA la página.
   - .sidebar-inner es el menú que se queda visible bajo el header. */
@media(min-width:901px){
    .sidebar{
        position:relative !important;
        top:auto !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;

        grid-column:1 !important;
        grid-row:1 !important;
        align-self:stretch !important;

        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        height:auto !important;
        min-height:calc(100vh - 74px) !important;

        padding:0 !important;
        margin:0 !important;
        overflow:hidden !important;
        transform:none !important;
        opacity:1 !important;
        pointer-events:auto !important;
        box-shadow:none !important;
        z-index:20 !important;
    }

    .sidebar-inner{
        position:sticky !important;
        top:74px !important;
        width:var(--sidebar-width) !important;
        height:calc(100vh - 74px) !important;
        min-height:0 !important;

        display:flex !important;
        flex-direction:column !important;
        padding:14px 12px 0 !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
    }

    .main-content{
        grid-column:2 !important;
        grid-row:1 !important;
        min-width:0 !important;
        width:100% !important;
        margin:0 !important;
    }

    body.sidebar-collapsed .app-layout{
        grid-template-columns:0 minmax(0,1fr) !important;
    }

    body.sidebar-collapsed .sidebar{
        width:0 !important;
        min-width:0 !important;
        opacity:0 !important;
        pointer-events:none !important;
    }

    body.sidebar-collapsed .sidebar-inner{
        transform:translateX(-100%) !important;
    }

    .sidebar-backdrop{
        display:none !important;
    }
}

/* Menú interno siempre vertical */
.sidebar-scroll{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    flex:1 1 auto !important;
    width:100% !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
}

.sidebar .nav-item,
.sidebar a.nav-item{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    clear:both !important;
    box-sizing:border-box !important;
}

.dev-chip{
    flex:0 0 auto !important;
    margin-top:auto !important;
}

/* MOBILE / ventana angosta: el sidebar completo pasa a drawer */
@media(max-width:900px){
    .app-layout{
        grid-template-columns:minmax(0,1fr) !important;
    }

    .main-content{
        grid-column:1 !important;
        grid-row:1 !important;
        width:100% !important;
        min-width:0 !important;
    }

    .sidebar{
        position:fixed !important;
        top:74px !important;
        left:0 !important;
        bottom:0 !important;
        right:auto !important;

        width:min(var(--sidebar-width),86vw) !important;
        min-width:0 !important;
        max-width:86vw !important;
        height:auto !important;
        min-height:0 !important;

        padding:0 !important;
        transform:translateX(-102%) !important;
        opacity:1 !important;
        pointer-events:auto !important;
        box-shadow:18px 0 40px rgba(0,0,0,.18) !important;
        z-index:60 !important;
    }

    .sidebar-inner{
        position:static !important;
        width:100% !important;
        height:100% !important;
        display:flex !important;
        flex-direction:column !important;
        padding:14px 12px 0 !important;
        box-sizing:border-box !important;
        overflow:hidden !important;
    }

    body.sidebar-open .sidebar{
        transform:translateX(0) !important;
    }

    body.sidebar-collapsed .sidebar{
        transform:translateX(-102%) !important;
        opacity:1 !important;
        pointer-events:auto !important;
    }

    .sidebar-backdrop{
        position:fixed !important;
        inset:74px 0 0 !important;
        z-index:50 !important;
        background:rgba(18,54,60,.28) !important;
        backdrop-filter:blur(1px);
    }

    body.sidebar-open .sidebar-backdrop{
        display:block !important;
    }
}


/* ==========================================================
   AC Control v0.4.8
   Fondo hasta fin de página + menú fijo bajo encabezado
   ========================================================== */

:root{
    --sidebar-width:220px;
    --topbar-height:74px;
}

@media(min-width:901px){

    /* La columna exterior sigue siendo parte de la grilla:
       por eso empuja el contenido y su fondo llega hasta el final. */
    .app-layout{
        grid-template-columns:var(--sidebar-width) minmax(0,1fr) !important;
        align-items:stretch !important;
    }

    .sidebar{
        position:relative !important;
        grid-column:1 !important;
        grid-row:1 !important;
        align-self:stretch !important;

        width:100% !important;
        min-width:0 !important;
        max-width:none !important;
        height:auto !important;
        min-height:calc(100vh - var(--topbar-height)) !important;

        top:auto !important;
        left:auto !important;
        right:auto !important;
        bottom:auto !important;

        padding:0 !important;
        margin:0 !important;
        overflow:visible !important;

        transform:none !important;
        opacity:1 !important;
        pointer-events:auto !important;
        box-shadow:none !important;
    }

    /* El contenido del menú NO sigue la altura del documento.
       Se mantiene fijo siempre justo debajo del header. */
    .sidebar-inner{
        position:fixed !important;
        left:0 !important;
        top:var(--topbar-height) !important;
        bottom:0 !important;

        width:var(--sidebar-width) !important;
        height:auto !important;
        min-height:0 !important;

        display:flex !important;
        flex-direction:column !important;
        box-sizing:border-box !important;

        padding:14px 12px 0 !important;
        margin:0 !important;
        overflow:hidden !important;

        z-index:30 !important;
        transform:none !important;
    }

    .sidebar-scroll{
        flex:1 1 auto !important;
        min-height:0 !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
    }

    .dev-chip{
        flex:0 0 auto !important;
        margin-top:auto !important;
    }

    .main-content{
        grid-column:2 !important;
        grid-row:1 !important;
        min-width:0 !important;
        width:100% !important;
    }

    /* Sidebar cerrado: se elimina la columna y el menú fijo sale de vista. */
    body.sidebar-collapsed .app-layout{
        grid-template-columns:0 minmax(0,1fr) !important;
    }

    body.sidebar-collapsed .sidebar{
        width:0 !important;
        min-width:0 !important;
        opacity:0 !important;
        pointer-events:none !important;
    }

    body.sidebar-collapsed .sidebar-inner{
        transform:translateX(-110%) !important;
        pointer-events:none !important;
    }
}

/* En móvil continúa como drawer; no se usa posición fixed independiente
   para sidebar-inner porque el propio sidebar ya es el panel móvil. */
@media(max-width:900px){
    .sidebar-inner{
        position:static !important;
        left:auto !important;
        top:auto !important;
        bottom:auto !important;
        width:100% !important;
        height:100% !important;
        transform:none !important;
    }
}


/* ==========================================================
   AC Control v0.4.9 · shell fijo de aplicación
   Header siempre visible + sidebar alineado debajo
   ========================================================== */

:root{
    --topbar-height:74px;
    --sidebar-width:220px;
}

/* Header realmente fijo: nunca desaparece al hacer scroll */
.topbar{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    height:var(--topbar-height) !important;
    min-height:var(--topbar-height) !important;
    z-index:100 !important;
}

/* La app comienza físicamente debajo del header fijo */
.app-layout{
    margin-top:var(--topbar-height) !important;
    min-height:calc(100vh - var(--topbar-height)) !important;
}

/* El sidebar visual empieza exactamente debajo del header */
@media(min-width:901px){
    .sidebar{
        min-height:calc(100vh - var(--topbar-height)) !important;
    }

    .sidebar-inner{
        position:fixed !important;
        top:var(--topbar-height) !important;
        bottom:0 !important;
        left:0 !important;
        width:var(--sidebar-width) !important;
        height:auto !important;
        padding-top:14px !important;
    }
}

/* Drawer móvil también parte debajo del header fijo */
@media(max-width:900px){
    .sidebar{
        top:var(--topbar-height) !important;
        bottom:0 !important;
    }

    .sidebar-backdrop{
        inset:var(--topbar-height) 0 0 !important;
    }
}

/* Evita que anchors queden ocultos detrás del header fijo */
[id]{
    scroll-margin-top:calc(var(--topbar-height) + 16px);
}


/* ==========================================================
   AC Control v0.5 · Periodos + Tareas
   ========================================================== */

.period-filter-grid,
.task-filter-grid{
    display:grid;
    grid-template-columns:minmax(240px,1.5fr) minmax(155px,.7fr) minmax(180px,.8fr) auto;
    gap:10px;
    align-items:center;
}
.period-list{display:grid;gap:12px}
.period-row-card{
    display:grid;
    grid-template-columns:minmax(220px,1.2fr) minmax(200px,1fr) minmax(260px,1.1fr) 24px;
    align-items:center;
    gap:18px;
    padding:17px 19px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:16px;
    text-decoration:none;
    color:inherit;
    transition:.15s ease;
}
.period-row-card:hover{border-color:#cbc5bc;box-shadow:0 8px 22px rgba(32,34,37,.045)}
.period-main{min-width:0}
.period-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.period-title-line h3{font-size:15px;margin:0}
.period-subtitle{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;color:var(--muted);font-size:10px}
.period-subtitle span:not(:last-child)::after{content:"·";margin-left:8px}
.period-progress-block{display:grid;gap:7px}
.period-progress-label{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}
.period-progress-label strong{color:var(--charcoal)}
.progress-track{height:7px;border-radius:999px;background:#ECE8E1;overflow:hidden}
.progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--petroleum);transition:width .2s ease}
.period-controls-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.period-controls-mini>div{display:grid;gap:3px}
.period-controls-mini span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:800}
.period-controls-mini strong{font-size:11px}

.period-badge,.task-status,.required-soft,.extra-soft,.overdue-badge{
    display:inline-flex;align-items:center;justify-content:center;border-radius:999px;
    font-size:9px;font-weight:900;line-height:1;padding:6px 8px;white-space:nowrap;
}
.period-open{background:#F1EEE8;color:#4B4D4D}
.period-progress{background:#FFF0C9;color:#6A5000}
.period-ready{background:#DFF5EA;color:#12523B}
.period-closed{background:#DDE6E8;color:#12363C}

.period-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:16px 0}
.summary-card{
    background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:17px;
    display:grid;gap:8px;align-content:start;min-height:120px;
}
.summary-card>span{font-size:10px;color:var(--muted);font-weight:800}
.summary-card>strong{font-size:22px}
.summary-card>small{font-size:10px;color:var(--muted)}
.period-control-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:auto}
.period-team-strip{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
    border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line);margin-bottom:16px;
}
.period-team-strip>div{background:var(--surface);padding:13px 15px;display:grid;gap:3px}
.period-team-strip span{font-size:9px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}
.period-team-strip strong{font-size:12px}

.task-board{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px}
.section-heading-row{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.section-heading-row.compact{margin-bottom:10px}
.section-heading-row h2{margin:0}
.text-button{font-size:10px;font-weight:900;color:var(--petroleum);text-decoration:none}
.text-button:hover{text-decoration:underline}
.task-list{display:grid;gap:10px}
.task-card{border:1px solid var(--line);border-radius:14px;padding:14px 15px;background:#fff;scroll-margin-top:92px}
.task-card h3{font-size:13px;margin:0 0 6px}
.task-code-line{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-bottom:7px}
.task-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:10px;color:var(--muted)}
.task-meta span:not(:last-child)::after{content:"·";margin-left:10px;color:#bbb5ad}
.task-notes{font-size:11px;color:var(--muted);margin:10px 0 0;line-height:1.5}
.task-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:11px;margin-top:11px}
.task-actions form,.period-control-actions form{margin:0}
.mini-button,.mini-link{
    appearance:none;border:0;border-radius:9px;padding:8px 10px;font:inherit;
    font-size:10px;font-weight:850;cursor:pointer;
}
.mini-button{background:var(--petroleum);color:#fff}
.mini-link{background:#F2EFEA;color:var(--petroleum)}
.danger-text{color:#A32929}
.task-pending{background:#F2EFEA;color:#555}
.task-progress{background:#FFF0C9;color:#6A5000}
.task-completed{background:#E2F4E9;color:#17623D}
.task-elaborated{background:#E6EEF7;color:#234E75}
.task-reviewed{background:#E5D8D4;color:#4D3030}
.task-approved{background:#DFF5EA;color:#12523B}
.task-cancelled{background:#EFEFEF;color:#777}
.required-soft{background:#F4F1EC;color:#57534D}
.extra-soft{background:#FFF0F0;color:#9A3030}
.overdue-badge{background:#FFE0E0;color:#9A2020}
.overdue-text{color:#B3261E!important;font-weight:800}
.period-close-card{
    display:flex;justify-content:space-between;gap:18px;align-items:center;
    background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:18px 20px;
}
.period-close-card h2{margin:0 0 5px}
.period-close-card .primary-button:disabled{opacity:.45;cursor:not-allowed}
.task-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.task-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:18px}
.task-inbox{display:grid;gap:10px}
.task-inbox-row{
    display:flex;justify-content:space-between;gap:18px;align-items:center;
    background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:15px 17px;
    color:inherit;text-decoration:none;
}
.task-inbox-row:hover{border-color:#cbc5bc}
.task-inbox-main{min-width:0}
.task-inbox-main h3{font-size:13px;margin:6px 0}
.task-inbox-side{display:flex;align-items:center;gap:13px;flex:0 0 auto}
.task-inbox-side small{font-size:10px;color:var(--muted)}

.client-period-list{display:grid;gap:7px;margin-top:10px}
.client-period-row{
    display:flex;justify-content:space-between;align-items:center;gap:10px;
    padding:9px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
}
.client-period-row:last-child{border-bottom:0}
.client-period-row>div{display:grid;gap:3px}
.client-period-row>div:last-child{justify-items:end}
.client-period-row strong{font-size:11px}
.client-period-row span:not(.period-badge),.client-period-row small{font-size:9px;color:var(--muted)}

.work-operational-strip{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:11px}
.work-operational-strip>span{
    background:#F4F1EC;border:1px solid #E5E0D8;border-radius:999px;padding:6px 9px;
    font-size:9px;color:var(--muted);
}
.work-operational-strip strong{color:var(--charcoal)}
.work-operational-strip .attention-chip{background:#FFF0C9;color:#6A5000;border-color:#F0D58B}
.work-module-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:15px}

@media(max-width:1180px){
    .period-row-card{grid-template-columns:1fr 1fr}
    .period-controls-mini{grid-column:1/-1}
    .period-row-card>.work-card-arrow{display:none}
    .period-summary-grid,.task-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
    .period-filter-grid,.task-filter-grid{grid-template-columns:1fr 1fr}
    .period-filter-grid input[type="search"],.task-filter-grid input[type="search"]{grid-column:1/-1}
    .period-row-card{grid-template-columns:1fr}
    .period-controls-mini{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:620px){
    .period-summary-grid,.task-metric-grid{grid-template-columns:1fr}
    .period-team-strip{grid-template-columns:1fr}
    .period-filter-grid,.task-filter-grid{grid-template-columns:1fr}
    .period-filter-grid input[type="search"],.task-filter-grid input[type="search"]{grid-column:auto}
    .period-controls-mini{grid-template-columns:1fr}
    .task-inbox-row,.period-close-card{display:grid}
    .task-inbox-side{justify-content:space-between}
    .task-options{grid-template-columns:1fr}
}


/* ==========================================================
   AC Control v0.6 · Simplificación operativa
   ========================================================== */

/* El menú puede desplazarse en pantallas bajas, pero nunca muestra
   una barra visual que distraiga o reduzca el ancho disponible. */
.sidebar-scroll{
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}
.sidebar-scroll::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    display:none !important;
}

/* Cliente 360 */
.client360-header{padding-bottom:0 !important}
.client-tabs{
    display:flex;
    gap:4px;
    overflow-x:auto;
    margin:18px -4px 0;
    padding:0 4px 12px;
    scrollbar-width:none;
}
.client-tabs::-webkit-scrollbar{display:none}
.client-tab{
    flex:0 0 auto;
    padding:9px 11px;
    border-radius:10px;
    color:var(--muted);
    font-size:10px;
    font-weight:850;
    text-decoration:none;
    white-space:nowrap;
}
.client-tab:hover{background:#F3F0EB;color:var(--charcoal)}
.client-tab.active{background:var(--petroleum);color:#fff}

.client360-summary-grid{
    display:grid;
    grid-template-columns:1.25fr repeat(3,minmax(0,1fr));
    gap:13px;
    margin-bottom:14px;
}
.client360-main-period{gap:7px}
.summary-date{font-size:18px !important}
.summary-person{font-size:16px !important}
.client360-two-column{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-bottom:14px;
}
.client360-panel{min-height:280px}
.client-contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:24px;
}
.service-detail-list{display:grid;gap:8px}
.service-detail-row{
    display:flex;justify-content:space-between;gap:12px;align-items:center;
    border:1px solid var(--line);border-radius:12px;padding:12px 14px;
}
.service-detail-row strong{font-size:12px}
.service-detail-row span{font-size:9px;font-weight:850;color:#17623D;background:#E2F4E9;border-radius:999px;padding:6px 8px}
.client360-team{max-width:780px}

.client-period-history{display:grid;gap:7px}
.period-year-label{
    margin:11px 0 3px;
    font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--muted);
}
.client-period-history-row{
    display:grid;
    grid-template-columns:minmax(160px,.7fr) minmax(180px,1fr) auto 22px;
    align-items:center;
    gap:16px;
    border:1px solid var(--line);
    border-radius:13px;
    padding:12px 14px;
    text-decoration:none;
    color:inherit;
}
.client-period-history-row:hover{border-color:#c9c2ba}
.period-month-block{display:grid;gap:2px}
.period-month-block strong{font-size:13px}
.period-month-block span{font-size:9px;color:var(--muted)}
.period-history-progress{display:grid;gap:5px}
.period-history-progress>span{font-size:9px;color:var(--muted)}
.admin-exception-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    border-top:1px solid var(--line);margin-top:18px;padding-top:13px;
    font-size:9px;color:var(--muted);
}

/* Periodo */
.breadcrumb-line{
    display:flex;gap:7px;align-items:center;flex-wrap:wrap;
    margin:0 0 12px;
    font-size:9px;color:var(--muted);
}
.breadcrumb-line a{color:var(--muted);text-decoration:none}
.breadcrumb-line a:hover{color:var(--petroleum);text-decoration:underline}
.period-key-badge{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:6px 9px;
    background:#E7EFF0;
    color:var(--petroleum);
    font-size:10px;
    font-weight:900;
}
.period-summary-grid.v06{grid-template-columns:repeat(4,minmax(0,1fr))}
.task-board.v06{padding:18px}
.task-service-group + .task-service-group{margin-top:18px}
.task-service-title{
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
    font-weight:900;
    color:var(--muted);
    padding:0 2px 8px;
}
.task-list.compact{gap:7px}
.task-card.v06{padding:12px 14px}
.task-main-v06{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
}
.task-title-v06 h3{margin:0 0 6px;font-size:12px}
.task-inline-action{display:flex;align-items:center;justify-content:flex-end;min-width:92px}
.task-admin-tools{
    display:flex;justify-content:flex-end;
    border-top:1px dashed var(--line);padding-top:7px;margin-top:8px;
}
.task-admin-tools form{margin:0}
.done-label{
    display:inline-flex;padding:6px 9px;border-radius:999px;
    background:#E2F4E9;color:#17623D;font-size:9px;font-weight:900;
}
.waiting-review{color:#234E75 !important;font-weight:800}
.priority-chip{
    display:inline-flex;align-items:center;border-radius:999px;
    padding:5px 7px;font-size:8px;font-weight:900;
}
.priority-critical{background:#FFE0E0;color:#9A2020}
.priority-high{background:#FFF0C9;color:#6A5000}
.priority-medium{background:#F5EED7;color:#665017}
.priority-normal{background:#E9EFF0;color:#36545A}
.priority-undated{background:#F0EEEA;color:#66615A}
.priority-done{background:#E2F4E9;color:#17623D}

/* Mi trabajo */
.work-control-panel{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:16px;
    padding:12px;
    margin-bottom:16px;
}
.work-control-row{
    display:flex;justify-content:space-between;gap:12px;align-items:center;
}
.work-search-form{
    display:grid;
    grid-template-columns:minmax(260px,520px) auto;
    gap:8px;
    flex:1;
}
.scope-switcher{
    display:flex;
    gap:4px;
    padding:3px;
    border-radius:11px;
    background:#F1EEE8;
}
.scope-switcher a{
    padding:8px 10px;border-radius:8px;text-decoration:none;
    color:var(--muted);font-size:9px;font-weight:900;
}
.scope-switcher a.active{background:#fff;color:var(--petroleum);box-shadow:0 1px 4px rgba(0,0,0,.06)}
.view-switcher{
    display:flex;align-items:center;gap:4px;flex-wrap:wrap;
    border-top:1px solid var(--line);padding-top:10px;margin-top:10px;
}
.view-switcher>span{
    font-size:9px;font-weight:900;color:var(--muted);margin-right:3px;
}
.view-switcher a{
    text-decoration:none;color:var(--muted);
    border-radius:999px;padding:7px 9px;font-size:9px;font-weight:850;
}
.view-switcher a:hover{background:#F3F0EB;color:var(--charcoal)}
.view-switcher a.active{background:var(--petroleum);color:#fff}

.my-work-groups{display:grid;gap:18px}
.work-group{display:grid;gap:8px}
.work-group-heading{
    display:flex;justify-content:space-between;align-items:end;gap:12px;
    padding:0 3px;
}
.work-group-heading h2{font-size:15px;margin:0 0 2px}
.work-group-heading span{font-size:9px;color:var(--muted)}
.work-group-heading>strong{
    display:grid;place-items:center;min-width:28px;height:28px;
    border-radius:999px;background:#E7EFF0;color:var(--petroleum);font-size:10px;
}
.work-task-list{display:grid;gap:7px}
.work-task-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:15px;
    align-items:center;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px 14px;
}
.work-task-main h3{font-size:12px;margin:0 0 5px}
.work-task-side{display:flex;align-items:center;gap:7px}
.task-metric-grid.v06{margin-bottom:14px}

/* Dashboard */
.admin-attention-card{
    display:flex;justify-content:space-between;gap:16px;align-items:center;
    min-height:120px;
}
.admin-attention-card>div{display:grid;gap:6px}
.admin-attention-card span{font-size:10px;color:var(--muted);font-weight:800}
.admin-attention-card strong{font-size:32px}

/* Formularios excepcionales */
.compact-form{max-width:800px}

/* Reducir protagonismo de códigos técnicos de tarea.
   Permanecen en base de datos y auditoría. */
.task-card .code-pill,
.work-task-row .code-pill{display:none !important}

@media(max-width:1200px){
    .client360-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .period-summary-grid.v06{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
    .client360-two-column{grid-template-columns:1fr}
    .client-contact-grid{grid-template-columns:1fr}
    .client-period-history-row{grid-template-columns:1fr auto}
    .period-history-progress{grid-column:1/-1}
    .client-period-history-row .work-card-arrow{display:none}
}
@media(max-width:700px){
    .client360-summary-grid,
    .period-summary-grid.v06{grid-template-columns:1fr}
    .work-control-row{display:grid}
    .work-search-form{grid-template-columns:1fr}
    .scope-switcher{justify-self:start}
    .work-task-row,
    .task-main-v06{grid-template-columns:1fr}
    .work-task-side,
    .task-inline-action{justify-content:flex-start}
    .client-period-history-row{grid-template-columns:1fr}
    .admin-exception-row{display:grid}
}


/* ==========================================================
   AC Control v0.6.1 · Pulido operativo
   ========================================================== */

/* Estado único por tarea */
.task-visual-pending{background:#F1EEE8;color:#57534D}
.task-visual-review{background:#E7EFF6;color:#214F73}
.task-visual-approve{background:#F4E8D5;color:#6C4E12}
.task-visual-final{background:#E2F4E9;color:#17623D}
.task-visual-cancelled{background:#EFEFEF;color:#777}

/* Mi trabajo: la acción principal manda; el contexto del mes queda secundario */
.work-task-side .mini-link{white-space:nowrap;background:#F1EEE8}

/* Servicios del cliente: densidad proporcional al contenido */
.client360-panel-compact{min-height:0 !important}
.service-compact-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px;
}
.service-compact-card{
    border:1px solid var(--line);border-radius:14px;padding:14px 15px;background:#fff;display:grid;gap:8px;
}
.service-compact-card>div{display:flex;justify-content:space-between;align-items:center;gap:12px}
.service-compact-card strong{font-size:13px}
.service-compact-card>div span{font-size:9px;font-weight:900;color:#17623D;background:#E2F4E9;border-radius:999px;padding:6px 8px}
.service-compact-card small{font-size:10px;color:var(--muted)}
.service-auto-note{font-size:10px;color:var(--muted);margin:13px 1px 0}

/* Periodo: cada servicio debe leerse como bloque independiente */
.task-service-group{
    border:1px solid var(--line);border-radius:16px;background:#FBFAF8;overflow:hidden;
}
.task-service-group + .task-service-group{margin-top:15px}
.task-service-header{
    display:flex;justify-content:space-between;align-items:center;gap:14px;
    padding:12px 15px;background:#F1EEE8;border-bottom:1px solid var(--line);
}
.task-service-header>div:first-child{display:grid;gap:2px}
.task-service-header>div:first-child span{font-size:8px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);font-weight:900}
.task-service-header>div:first-child strong{font-size:14px;color:var(--petroleum);text-transform:uppercase;letter-spacing:.04em}
.task-service-progress{display:flex;align-items:baseline;gap:5px}
.task-service-progress strong{font-size:12px;color:var(--petroleum)}
.task-service-progress span{font-size:9px;color:var(--muted)}
.task-service-group .task-list.compact{padding:9px;gap:7px}
.task-service-group .task-card.v06{background:#fff}
.close-ready-text{color:#17623D}

/* Dashboard ejecutivo */
.executive-heading{margin-bottom:18px}
.executive-metrics{margin-bottom:14px}
.executive-grid{display:grid;gap:14px;margin-bottom:14px}
.executive-grid.top{grid-template-columns:1.35fr .9fr}
.executive-grid.middle,.executive-grid.bottom{grid-template-columns:1fr 1fr}
.executive-panel{min-height:0}
.panel-kicker{display:block;font-size:8px;font-weight:900;letter-spacing:.12em;color:var(--coral);margin-bottom:4px}
.panel-caption{font-size:9px;color:var(--muted)}
.executive-list,.due-list,.risk-list,.contract-list,.workload-list{display:grid}
.executive-list-row{
    display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:10px;
    padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;
}
.executive-list-row:last-child,.due-row:last-child,.risk-row:last-child,.contract-row:last-child{border-bottom:0}
.priority-number{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#F2EEE8;font-size:10px;font-weight:900;color:var(--petroleum)}
.executive-list-row>div{display:grid;gap:2px;min-width:0}
.executive-list-row>div strong{font-size:11px}
.executive-list-row>div small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.due-row{display:grid;grid-template-columns:48px minmax(0,1fr) 14px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.due-row time{display:grid;place-items:center;background:#F1EEE8;border-radius:10px;padding:8px 5px;font-size:10px;font-weight:900;color:var(--petroleum)}
.due-row>div{display:grid;gap:2px}.due-row strong{font-size:11px}.due-row small{font-size:9px;color:var(--muted)}
.empty-state.compact{padding:28px 8px}
.workload-list{gap:13px}
.workload-row{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(130px,1.4fr) 28px;align-items:center;gap:12px}
.workload-person{display:grid;gap:2px}.workload-person strong{font-size:11px}.workload-person small{font-size:8px;color:var(--muted)}
.workload-bar{height:8px;border-radius:999px;background:#ECE8E1;overflow:hidden}.workload-bar span{display:block;height:100%;background:var(--petroleum);border-radius:inherit}
.workload-total{font-size:11px;text-align:right}
.ops-layout{display:grid;grid-template-columns:140px 1fr;align-items:center;gap:20px;min-height:180px}
.ops-donut{width:124px;height:124px;border-radius:50%;background:conic-gradient(var(--petroleum) calc(var(--ops-pct)*1%),#E7E2DA 0);display:grid;place-items:center;position:relative}
.ops-donut:after{content:"";position:absolute;inset:19px;background:var(--surface);border-radius:50%}
.ops-donut>div{position:relative;z-index:1;display:grid;text-align:center}.ops-donut strong{font-size:24px}.ops-donut span{font-size:8px;color:var(--muted)}
.ops-legend{display:grid;gap:10px}.ops-legend>div{display:grid;grid-template-columns:10px 1fr auto;gap:8px;align-items:center;font-size:10px}.ops-legend strong{font-size:11px}.dot{width:8px;height:8px;border-radius:999px}.dot-final{background:#6E9582}.dot-pending{background:#D0C9BF}.dot-review{background:#9BB5CA}.dot-approve{background:#D9BE84}
.risk-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.risk-row strong{font-size:11px}.risk-row>span:not(.risk-badge){font-size:9px;color:var(--muted)}
.risk-badge{font-size:9px;font-weight:900;border-radius:999px;padding:6px 9px}.risk-high{background:#FFE0E0;color:#9A2020}.risk-medium{background:#FFF0C9;color:#6A5000}.risk-low{background:#E2F4E9;color:#17623D}
.contract-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}.contract-row>div{display:grid;gap:2px}.contract-row strong{font-size:11px}.contract-row small,.contract-row>span{font-size:9px;color:var(--muted)}

@media(max-width:1100px){
    .executive-grid.top,.executive-grid.middle,.executive-grid.bottom{grid-template-columns:1fr}
    .service-compact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
    .service-compact-grid{grid-template-columns:1fr}
    .executive-list-row{grid-template-columns:30px minmax(0,1fr);align-items:start}
    .executive-list-row>.task-status,.executive-list-row>.priority-chip{grid-column:2}
    .workload-row{grid-template-columns:1fr 30px}.workload-bar{grid-column:1/-1;grid-row:2}
    .ops-layout{grid-template-columns:1fr;justify-items:center}.ops-legend{width:100%}
}


/* ==========================================================
   AC Control v0.6.2 · Pulido final del núcleo
   ========================================================== */

/* Dashboard: conservar diseño, solo dar aire entre encabezado y equipo */
.executive-panel .workload-list{margin-top:16px}
.risk-unknown{background:#F0EEEA;color:#66615A}
.undated-summary{display:grid;gap:5px;text-decoration:none;color:inherit;border:1px dashed var(--line);border-radius:12px;padding:13px 14px;background:#FAF8F5;text-align:left}
.undated-summary strong{font-size:11px;color:var(--charcoal)}
.undated-summary span{font-size:9px;color:var(--muted);line-height:1.4}

/* Mi trabajo: buscador compacto + lectura visual de la cartera */
.work-search-form{flex:0 1 650px;grid-template-columns:minmax(260px,520px) auto}
.work-search-form .secondary-button{width:auto;min-width:94px}
.my-work-insights{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.my-progress-panel,.my-service-panel{min-height:0}
.my-progress-layout{display:grid;grid-template-columns:124px minmax(0,1fr);gap:20px;align-items:center;min-height:150px}
.ops-donut.compact{width:112px;height:112px}
.ops-donut.compact:after{inset:17px}
.ops-donut.compact strong{font-size:22px}
.ops-legend.compact{gap:8px}
.service-attention-list{display:grid;gap:12px;margin-top:8px}
.service-attention-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(140px,1.4fr) 28px;gap:12px;align-items:center}
.service-attention-row>div:first-child{display:grid;gap:2px}
.service-attention-row>div:first-child strong{font-size:11px}
.service-attention-row>div:first-child span{font-size:8px;color:var(--muted)}
.service-attention-row>strong{text-align:right;font-size:11px}

/* Cliente 360°: resumen visual operativo y servicios sin espacio desperdiciado */
.client-ops-overview{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px;margin-bottom:14px}
.client-ops-total-body{display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:center;min-height:145px}
.client-service-progress-list{display:grid;gap:12px;margin-top:8px}
.client-service-progress-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(160px,1.4fr) 42px;gap:12px;align-items:center}
.client-service-progress-row>div:first-child{display:grid;gap:2px}
.client-service-progress-row>div:first-child strong{font-size:11px}
.client-service-progress-row>div:first-child span{font-size:8px;color:var(--muted)}
.client-service-progress-row>strong{text-align:right;font-size:10px;color:var(--petroleum)}
.client360-two-column{align-items:start}
.client-services-summary{align-self:start;padding-bottom:14px}
.client-services-summary .section-heading-row{margin-bottom:9px}
.service-summary-list{display:grid;gap:7px}
.service-summary-item{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:8px}
.service-summary-item:first-child{border-top:0;padding-top:0}
.service-summary-item strong{font-size:11px}
.service-summary-item span{font-size:9px;color:var(--muted)}

@media(max-width:1000px){
  .my-work-insights,.client-ops-overview{grid-template-columns:1fr}
}
@media(max-width:700px){
  .work-search-form{flex:1;grid-template-columns:1fr}
  .my-progress-layout,.client-ops-total-body{grid-template-columns:1fr;justify-items:center}
  .ops-legend.compact{width:100%}
  .service-attention-row,.client-service-progress-row{grid-template-columns:1fr 32px}
  .service-attention-row .workload-bar,.client-service-progress-row .progress-track{grid-column:1/-1;grid-row:2}
  .service-summary-item{display:grid}
}


/* ==========================================================
   AC Control v0.6.3 · Selector de distribución en Mi trabajo
   ========================================================== */
.distribution-heading{align-items:flex-start}
.distribution-heading-side{
    display:flex;
    align-items:flex-end;
    gap:12px;
}
.distribution-switcher{
    display:inline-flex;
    align-items:center;
    padding:3px;
    border-radius:999px;
    background:#F1EEE8;
    border:1px solid var(--line);
}
.distribution-switcher button{
    appearance:none;
    border:0;
    background:transparent;
    color:var(--muted);
    border-radius:999px;
    padding:7px 13px;
    font:inherit;
    font-size:9px;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}
.distribution-switcher button.active{
    background:var(--petroleum);
    color:#fff;
    box-shadow:0 2px 5px rgba(18,54,60,.12);
}
.distribution-view[hidden]{display:none!important}

@media(max-width:700px){
    .distribution-heading{
        display:grid;
        gap:10px;
    }
    .distribution-heading-side{
        align-items:center;
        justify-content:space-between;
        width:100%;
    }
}


/* ==========================================================
   AC Control v0.7 · Vencimientos
   ========================================================== */
.deadline-metric-grid,
.deadline-admin-metrics{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:13px;
    margin-bottom:18px;
}
.deadline-admin-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.deadline-metric-link{text-decoration:none;color:inherit}
.deadline-metric-link:hover{border-color:#cbc5bc}

.deadline-toolbar{padding:14px;margin-bottom:16px}
.deadline-toolbar-top{
    display:flex;justify-content:space-between;align-items:center;gap:12px
}
.deadline-filter-form{
    display:grid;
    grid-template-columns:minmax(240px,1.7fr) minmax(140px,.7fr) minmax(140px,.7fr) minmax(180px,.9fr) auto;
    gap:9px;
    align-items:center;
    flex:1;
}
.deadline-view-switch{
    display:inline-flex;padding:3px;border:1px solid var(--line);background:#F1EEE8;border-radius:999px
}
.deadline-view-switch a{
    padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--muted);font-size:9px;font-weight:900
}
.deadline-view-switch a.active{background:var(--petroleum);color:#fff}
.deadline-scope-chips{
    display:flex;align-items:center;gap:7px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:11px;margin-top:11px
}
.deadline-scope-chips a{
    padding:6px 9px;border-radius:999px;text-decoration:none;color:var(--muted);font-size:9px;font-weight:850
}
.deadline-scope-chips a.active{background:var(--petroleum);color:#fff}
.deadline-count-caption{margin-left:auto;font-size:9px;color:var(--muted)}

.deadline-list{display:grid;gap:9px}
.deadline-row{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:15px;
    padding:13px 15px;
    color:inherit;
    text-decoration:none;
}
.deadline-row:hover{border-color:#cbc5bc}
.deadline-date-box{
    width:48px;height:50px;border-radius:12px;background:#F3F0EA;
    display:grid;place-content:center;text-align:center
}
.deadline-date-box strong{font-size:17px;line-height:1}
.deadline-date-box span{font-size:8px;letter-spacing:.08em;color:var(--muted);font-weight:850;margin-top:3px}
.deadline-row-main{min-width:0}
.deadline-row-main h3{font-size:13px;margin:6px 0}
.deadline-row-labels{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.deadline-kind,.deadline-scope,.deadline-entity,.deadline-priority,.deadline-rule-pill{
    display:inline-flex;align-items:center;justify-content:center;border-radius:999px;
    padding:5px 8px;font-size:8px;font-weight:900;white-space:nowrap
}
.deadline-legal{background:#FFE6E1;color:#8E3024}
.deadline-ac{background:#E7EEF0;color:#12363C}
.deadline-client{background:#FFF1D7;color:#6E5100}
.deadline-internal{background:#E4F1E9;color:#205C42}
.deadline-reminder{background:#F1EEE8;color:#555}
.deadline-scope,.deadline-entity{background:#F1EEE8;color:#57534D}
.deadline-meta{display:flex;gap:9px;flex-wrap:wrap;font-size:9px;color:var(--muted)}
.deadline-meta span:not(:last-child)::after{content:"·";margin-left:9px;color:#b8b2aa}
.deadline-row-side{display:flex;align-items:center;gap:10px}
.deadline-row-side>strong{font-size:11px}
.deadline-priority.priority-overdue,
.deadline-priority.priority-critical{background:#FFE0E0;color:#9A2020}
.deadline-priority.priority-high{background:#FFF0C9;color:#6A5000}
.deadline-priority.priority-normal{background:#E2F4E9;color:#17623D}
.deadline-priority.priority-none{background:#F1EEE8;color:#666}
.deadline-empty{padding:30px}

.deadline-calendar-panel{padding:18px}
.deadline-calendar-head{
    display:flex;justify-content:space-between;align-items:center;text-align:center;margin-bottom:14px
}
.deadline-calendar-head h2{margin:3px 0 0}
.calendar-arrow{
    width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
    border:1px solid var(--line);text-decoration:none;color:var(--charcoal);font-size:20px
}
.deadline-calendar-weekdays,.deadline-calendar-grid{
    display:grid;grid-template-columns:repeat(7,minmax(0,1fr))
}
.deadline-calendar-weekdays span{
    font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--muted);
    text-align:center;padding:8px
}
.deadline-calendar-cell{
    min-height:100px;border-top:1px solid var(--line);border-left:1px solid var(--line);
    padding:7px;display:flex;flex-direction:column;gap:5px;overflow:hidden
}
.deadline-calendar-cell:nth-child(7n){border-right:1px solid var(--line)}
.deadline-calendar-grid{border-bottom:1px solid var(--line)}
.muted-cell{background:#F7F5F1}
.calendar-day-number{font-size:9px}
.calendar-event{
    display:block;border-radius:6px;padding:5px 6px;font-size:8px;line-height:1.2;
    text-decoration:none;color:var(--charcoal);white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.calendar-event.event-external{background:#FFE6E1}
.calendar-event.event-client{background:#FFF1D7}
.calendar-event.event-internal{background:#E4F1E9}
.calendar-more{font-size:8px;color:var(--muted)}
.deadline-calendar-legend{display:flex;gap:15px;flex-wrap:wrap;margin-top:12px;font-size:9px;color:var(--muted)}
.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}
.legend-dot.external{background:#F07B69}.legend-dot.client{background:#E0B45F}.legend-dot.internal{background:#83AD92}

.deadline-form-card{max-width:980px}
.deadline-admin-grid{align-items:stretch}
.deadline-master-list,.deadline-policy-list{display:grid;gap:8px}
.deadline-master-row,.deadline-policy-row{
    display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:9px 0
}
.deadline-master-row>div,.deadline-policy-row>div{display:grid;gap:3px}
.deadline-master-row small,.deadline-policy-row small{font-size:9px;color:var(--muted)}
.deadline-rule-pill{background:#E7EEF0;color:#12363C}
.deadline-entity-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.deadline-entity-card{border:1px solid var(--line);border-radius:12px;padding:13px;display:grid;gap:4px}
.deadline-entity-card span{font-size:9px;color:var(--muted)}

.client-deadline-timeline{display:grid;gap:0;margin-top:8px}
.client-deadline-item{
    display:grid;grid-template-columns:8px 105px minmax(0,1fr) auto;gap:12px;align-items:center;
    border-bottom:1px solid var(--line);padding:12px 0
}
.client-deadline-item:last-child{border-bottom:0}
.client-deadline-marker{width:8px;height:42px;border-radius:999px}
.client-deadline-marker.deadline-legal{background:#F07B69}
.client-deadline-marker.deadline-ac{background:#12363C}
.client-deadline-marker.deadline-client{background:#D7AC4F}
.client-deadline-marker.deadline-internal{background:#7FA98E}
.client-deadline-date{display:grid;gap:3px}
.client-deadline-date strong{font-size:12px}
.client-deadline-date span{font-size:8px;color:var(--muted)}
.client-deadline-copy h3{font-size:12px;margin:5px 0}

@media(max-width:1180px){
    .deadline-filter-form{grid-template-columns:1fr 1fr}
    .deadline-filter-form input[type="search"]{grid-column:1/-1}
    .deadline-toolbar-top{align-items:flex-end}
}
@media(max-width:900px){
    .deadline-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .deadline-admin-metrics{grid-template-columns:1fr}
    .deadline-toolbar-top{display:grid}
    .deadline-view-switch{justify-self:start}
    .deadline-entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
    .deadline-metric-grid{grid-template-columns:1fr}
    .deadline-filter-form{grid-template-columns:1fr}
    .deadline-filter-form input[type="search"]{grid-column:auto}
    .deadline-row{grid-template-columns:48px 1fr}
    .deadline-row-side{grid-column:1/-1;justify-content:flex-end}
    .deadline-calendar-cell{min-height:78px;padding:4px}
    .calendar-event{font-size:7px}
    .client-deadline-item{grid-template-columns:8px 1fr}
    .client-deadline-date,.client-deadline-copy,.client-deadline-item>.deadline-priority{grid-column:2}
    .deadline-entity-grid{grid-template-columns:1fr}
}


/* ==========================================================
   AC Control v0.7.1 · Ajustes Vencimientos
   ========================================================== */
.deadline-calendar-cell.is-today{
    box-shadow:inset 0 0 0 2px rgba(255,49,49,.28);
    background:#FFF8F6;
}
.deadline-calendar-cell.is-today .calendar-day-number{
    display:inline-grid;
    place-items:center;
    width:22px;height:22px;
    border-radius:50%;
    background:var(--coral);
    color:#fff;
}

.advanced-options{
    border:1px solid var(--line);
    border-radius:12px;
    padding:10px 12px;
    background:#FAF8F4;
}
.advanced-options summary{
    cursor:pointer;
    font-weight:850;
    font-size:10px;
}
.advanced-options-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:12px;
}
.static-check{cursor:default}

.deadline-policy-edit{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:9px 0;
    border-bottom:1px solid var(--line);
}
.deadline-policy-edit>div:first-child{display:grid;gap:3px}
.deadline-policy-edit small{font-size:9px;color:var(--muted)}
.policy-controls{
    display:flex;
    gap:7px;
    align-items:center;
}
.policy-controls input[type="number"]{width:72px}
.policy-controls select{min-width:130px}

.deadline-client-config-panel{margin-top:16px}
.client-config-selector{
    max-width:520px;
    margin:12px 0 18px;
}
.client-config-selector label{display:grid;gap:6px}
.client-config-columns{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:18px;
}
.client-config-columns h3{margin:0 0 4px}
.small{font-size:9px}
.config-check-list{
    display:grid;
    gap:7px;
    max-height:420px;
    overflow:auto;
    padding-right:4px;
}
.config-check{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:9px;
    align-items:flex-start;
    border:1px solid var(--line);
    border-radius:10px;
    padding:9px 10px;
    background:#fff;
}
.config-check input{margin-top:3px}
.config-check span{display:grid;gap:3px}
.config-check strong{font-size:10px}
.config-check small{font-size:8px;color:var(--muted)}

@media(max-width:800px){
    .advanced-options-grid,
    .client-config-columns{grid-template-columns:1fr}
    .deadline-policy-edit{grid-template-columns:1fr}
    .policy-controls{flex-wrap:wrap}
}


/* ==========================================================
   AC Control v0.7.2 · Configuración limpia de vencimientos
   ========================================================== */
.deadline-filter-form{
    grid-template-columns:minmax(260px,1.45fr) minmax(235px,1.08fr) minmax(155px,.75fr) minmax(190px,.9fr) auto;
}

.config-explainer{
    display:grid;
    grid-template-columns:1fr auto;
    gap:12px;
    align-items:center;
    margin:8px 0 18px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#FAF8F4;
}
.config-explainer>div{display:grid;gap:4px}
.config-explainer strong{font-size:10px}
.config-explainer span{font-size:9px;color:var(--muted)}
.config-suggestion-note{
    max-width:320px;
    padding-left:14px;
    border-left:1px solid var(--line);
}

.config-section-block{margin-top:18px}
.config-section-heading{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
}
.config-section-heading h3{
    margin:3px 0 0;
    font-size:17px;
}
.config-help{font-size:9px;margin:0 0 11px}

.obligation-groups{display:grid;gap:16px}
.obligation-group{display:grid;gap:8px}
.obligation-group-title{
    font-size:10px;
    font-weight:900;
    color:var(--petroleum);
    padding-bottom:6px;
    border-bottom:1px solid var(--line);
}
.config-check-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.books-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.config-check-list{
    max-height:none!important;
    overflow:visible!important;
    padding-right:0!important;
}
.config-check{min-height:58px}
.config-check.suggested{
    border-color:#BDD4D7;
    background:#F3F8F8;
}
.config-check.suggested small b{
    color:var(--petroleum);
    font-weight:900;
}
.sticky-config-actions{
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid var(--line);
}
.deadline-client-config-panel{overflow:visible}

@media(max-width:1180px){
    .deadline-filter-form{
        grid-template-columns:minmax(240px,1.25fr) minmax(225px,1fr) minmax(150px,.7fr) minmax(180px,.85fr) auto;
    }
}
@media(max-width:900px){
    .config-explainer{grid-template-columns:1fr}
    .config-suggestion-note{
        max-width:none;
        padding-left:0;
        padding-top:10px;
        border-left:0;
        border-top:1px solid var(--line);
    }
}
@media(max-width:720px){
    .config-check-grid,.books-grid{grid-template-columns:1fr}
}


/* ==========================================================
   AC Control v0.7.4 · Generación automática de fechas
   ========================================================== */
.deadline-sync-strip{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:11px 13px;
    margin:0 0 16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#F8F6F1;
}
.deadline-sync-strip>div{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}
.deadline-sync-strip span{
    font-size:8px;
    font-weight:900;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:var(--muted);
}
.deadline-sync-strip strong{font-size:10px}
.deadline-sync-strip small{font-size:9px;color:var(--muted)}

.period-deadline-panel{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:17px;
    padding:16px 18px;
    margin-bottom:16px;
}
.period-deadline-panel h2{margin:3px 0 0}
.period-deadline-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.period-deadline-chip{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    padding:11px 12px;
    border-radius:12px;
    border:1px solid var(--line);
}
.period-deadline-chip>div{display:grid;gap:3px}
.period-deadline-chip span{
    font-size:8px;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase;
}
.period-deadline-chip strong{font-size:10px}
.period-deadline-chip small{font-size:8px;color:var(--muted)}
.period-deadline-chip time{
    font-size:11px;
    font-weight:900;
    white-space:nowrap;
}
.period-deadline-chip.deadline-legal{
    background:#FFF7F4;
    border-color:#F2D4CD;
}
.period-deadline-chip.deadline-ac{
    background:#F3F8F8;
    border-color:#BDD4D7;
}

@media(max-width:760px){
    .deadline-sync-strip{display:grid}
    .period-deadline-list{grid-template-columns:1fr}
}


/* ==========================================================
   AC Control v0.8 · Periodos prácticos + vencimientos simples
   ========================================================== */
.service-start-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.service-start-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:12px 13px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
}
.service-start-main{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:9px;
    align-items:start;
}
.service-start-main span{display:grid;gap:3px}
.service-start-main strong{font-size:11px}
.service-start-main small{font-size:8px;color:var(--muted)}
.service-start-period{display:grid;gap:4px;min-width:150px}
.service-start-period span{
    font-size:8px;font-weight:900;text-transform:uppercase;
    letter-spacing:.05em;color:var(--muted);
}
.service-start-period input{min-width:150px}

.master-source-summary{display:grid;gap:0}
.master-source-line{
    display:flex;justify-content:space-between;gap:12px;align-items:center;
    padding:9px 0;border-bottom:1px solid var(--line);
}
.master-source-line>div{display:grid;gap:3px}
.master-source-line strong{font-size:10px}
.master-source-line small{font-size:8px;color:var(--muted)}
.master-summary-actions{
    display:flex;justify-content:space-between;align-items:center;
    gap:12px;margin-top:12px;
}
.master-summary-actions>span{font-size:9px;color:var(--muted)}

.client-policy-box{
    border-top:1px solid var(--line);
    margin-top:14px;padding-top:14px;
}
.client-policy-heading>div{display:grid;gap:4px}
.client-policy-heading strong{font-size:10px}
.client-policy-heading small{font-size:8px;color:var(--muted)}
.client-policy-form{
    display:grid;
    grid-template-columns:minmax(180px,1fr) 70px 140px auto;
    gap:7px;margin-top:10px;
}
.client-policy-list{margin-top:10px;display:grid;gap:6px}
.client-policy-row{
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;padding:8px 0;border-top:1px solid var(--line);
}
.client-policy-row>div{display:grid;gap:3px}
.client-policy-row strong{font-size:9px}
.client-policy-row small{font-size:8px;color:var(--muted)}

.master-filter-form{
    display:grid;
    grid-template-columns:100px minmax(240px,1fr) 160px 150px auto;
    gap:8px;
}
.master-detail-table{display:grid}
.master-detail-head,.master-detail-row{
    display:grid;
    grid-template-columns:minmax(260px,1.6fr) 110px 90px 120px minmax(240px,1fr);
    gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);
}
.master-detail-head{
    font-size:8px;font-weight:900;text-transform:uppercase;
    letter-spacing:.05em;color:var(--muted);
}
.master-detail-row>div:first-child{display:grid;gap:3px}
.master-detail-row strong{font-size:10px}
.master-detail-row small{font-size:8px;color:var(--muted)}
.master-detail-row>span{font-size:9px}

.deadline-calendar-workspace{
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(290px,.7fr);
    gap:14px;align-items:start;
}
.deadline-agenda-panel{position:sticky;top:86px}
.deadline-agenda-list{display:grid}
.deadline-agenda-item{
    display:grid;grid-template-columns:48px minmax(0,1fr) 8px;
    gap:10px;align-items:center;padding:11px 0;
    border-bottom:1px solid var(--line);color:inherit;text-decoration:none;
}
.agenda-date{
    display:grid;place-items:center;min-height:44px;border-radius:10px;
    background:#F6F3EE;font-size:13px;font-weight:900;
}
.agenda-date span{font-size:7px;color:var(--muted)}
.deadline-agenda-item>div:nth-child(2){display:grid;gap:3px}
.deadline-agenda-item strong{font-size:10px}
.deadline-agenda-item small{font-size:8px;color:var(--muted)}
.agenda-type{width:7px;height:30px;border-radius:999px}
.agenda-type.event-external{background:#F07A68}
.agenda-type.event-client{background:#D8A94E}
.agenda-type.event-internal{background:#7AA88B}

@media(max-width:1050px){
    .deadline-calendar-workspace{grid-template-columns:1fr}
    .deadline-agenda-panel{position:static}
}
@media(max-width:800px){
    .service-start-grid{grid-template-columns:1fr}
    .service-start-card{grid-template-columns:1fr}
    .client-policy-form{grid-template-columns:1fr}
    .master-filter-form{grid-template-columns:1fr}
    .master-detail-head{display:none}
    .master-detail-row{grid-template-columns:1fr 1fr}
}


/* ==========================================================
   AC Control v0.8.1 · Practical cleanup
   ========================================================== */
.deadline-config-copy{
    margin:4px 0 14px;
    max-width:680px;
}
.deadline-source-status{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.deadline-source-status>div{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:10px 11px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#FAF8F4;
}
.deadline-source-status span{font-size:9px;color:var(--muted)}
.deadline-source-status strong{font-size:10px}
.deadline-rule-explainer{
    display:grid;
    gap:4px;
    margin-bottom:10px;
    padding:10px 11px;
    border-radius:10px;
    background:#F3F8F8;
}
.deadline-rule-explainer strong{font-size:9px}
.deadline-rule-explainer span{font-size:9px;color:var(--muted)}
.client-policy-box{
    margin-top:14px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:11px;
    background:#FAF8F4;
}

.client-information-shell{margin-top:0}
.client-information-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:14px;
}
.information-section-card{
    margin:0!important;
    padding:14px;
    border:1px solid var(--line);
    border-radius:13px;
    background:#fff;
    min-width:0;
}
.information-subhead{
    display:grid;
    gap:3px;
    padding-bottom:8px;
    margin-bottom:10px;
    border-bottom:1px solid var(--line);
}
.information-subhead span{
    font-size:7px;
    font-weight:900;
    letter-spacing:.08em;
    color:var(--coral);
}
.information-subhead h3{
    margin:0;
    font-size:14px;
}
.information-section-card .service-auto-note{margin-bottom:0}

@media(max-width:800px){
    .deadline-source-status,
    .client-information-grid{grid-template-columns:1fr}
}


/* ==========================================================
   AC Control v0.9 · Documentación dentro del periodo
   ========================================================== */
.period-document-panel{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:17px;
    padding:16px 18px;
    margin-bottom:16px;
}
.period-document-summary{
    display:grid;
    justify-items:end;
    gap:1px;
}
.period-document-summary strong{
    font-size:17px;
}
.period-document-summary span{
    font-size:8px;
    color:var(--muted);
}
.period-document-list{
    display:grid;
    gap:7px;
}
.period-document-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px 14px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:11px;
    padding:10px 11px;
    background:#fff;
}
.period-document-row.status-conform{
    background:#F4FAF7;
}
.period-document-row.status-observed{
    background:#FFF7F4;
}
.document-main{
    display:grid;
    gap:4px;
}
.document-title-line{
    display:flex;
    gap:7px;
    align-items:center;
    flex-wrap:wrap;
}
.document-title-line strong{
    font-size:10px;
}
.document-main small{
    font-size:8px;
    color:var(--muted);
}
.mini-pill{
    font-size:7px;
    font-weight:900;
    padding:3px 6px;
    border-radius:999px;
    background:#F0EDE7;
}
.mini-pill.optional{
    color:var(--muted);
    background:#F7F5F1;
}
.document-actions{
    display:flex;
    gap:6px;
    align-items:center;
}
.compact-button{
    min-height:32px!important;
    padding:7px 10px!important;
    font-size:9px!important;
}
.document-observation-form{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:180px minmax(220px,1fr) auto;
    gap:7px;
    padding-top:9px;
    border-top:1px solid var(--line);
}
.document-observation-note{
    grid-column:1/-1;
    font-size:8px;
    color:var(--muted);
    padding-top:7px;
    border-top:1px solid var(--line);
}
.document-drive-note{
    display:flex;
    gap:8px;
    align-items:flex-start;
    margin-top:10px;
    padding-top:10px;
    border-top:1px solid var(--line);
}
.document-drive-note span{
    font-size:8px;
    font-weight:900;
    color:var(--petroleum);
}
.document-drive-note p{
    margin:0;
    font-size:8px;
    color:var(--muted);
}
@media(max-width:760px){
    .period-document-row{grid-template-columns:1fr}
    .document-actions{justify-content:flex-start}
    .document-observation-form{grid-template-columns:1fr}
    .period-document-summary{justify-items:start}
}


/* ==========================================================
   AC Control v1.0 · Flujo mensual consolidado
   ========================================================== */
.period-document-row.status-observed{
    border-color:#F0C3B9;
}
.period-document-row.status-conform{
    border-color:#C8DED0;
}
.period-close-card .close-ready-text{
    display:inline;
}
.period-close-card button:disabled{
    opacity:.45;
    cursor:not-allowed;
}


/* ==========================================================
   AC Control v1.1 · Auditoría práctica
   ========================================================== */
.audit-heading{margin-bottom:14px}
.audit-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:12px;
}
.compact-metric{
    min-height:104px;
    display:grid;
    align-content:center;
    gap:4px;
}
.compact-metric>span{
    font-size:9px;
    color:var(--muted);
    font-weight:800;
}
.compact-metric>strong{
    font-size:24px;
    line-height:1;
}
.compact-metric>small{
    font-size:8px;
    color:var(--muted);
}

.audit-filter-panel{margin-bottom:12px}
.audit-filter-form{
    display:grid;
    grid-template-columns:130px 130px minmax(150px,.8fr) minmax(190px,1fr) minmax(150px,.8fr) minmax(220px,1.2fr) auto;
    gap:8px;
    align-items:end;
}
.audit-filter-form label{
    display:grid;
    gap:5px;
}
.audit-filter-form label>span{
    font-size:8px;
    font-weight:900;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.05em;
}
.audit-filter-actions{
    display:flex;
    gap:6px;
    align-items:center;
}

.audit-timeline-panel{padding-bottom:18px}
.audit-day-title{
    margin:17px 0 4px;
    padding-bottom:7px;
    border-bottom:1px solid var(--line);
    font-size:10px;
    font-weight:900;
    color:var(--petroleum);
}
.audit-event{
    display:grid;
    grid-template-columns:36px minmax(0,1fr) 48px;
    gap:11px;
    align-items:start;
    padding:12px 5px;
    border-bottom:1px solid var(--line);
}
.audit-event.is-sensitive{
    background:linear-gradient(90deg,rgba(255,49,49,.045),transparent 38%);
}
.audit-avatar{
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#F0EDE7;
    color:var(--petroleum);
    font-size:9px;
    font-weight:900;
}
.audit-event-body{min-width:0}
.audit-event-mainline{
    display:flex;
    gap:5px;
    align-items:baseline;
    flex-wrap:wrap;
    font-size:10px;
}
.audit-event-mainline strong{font-size:10px}
.audit-event-mainline span{color:var(--text)}
.audit-event-context{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    align-items:center;
    margin-top:4px;
}
.audit-event-context>span{
    font-size:8px;
    color:var(--muted);
}
.audit-category{
    padding:3px 6px;
    border-radius:999px;
    background:#F3F1EC;
    font-weight:900;
    color:var(--petroleum)!important;
}
.audit-sensitive-badge{
    color:var(--coral)!important;
    font-weight:900;
}
.audit-event p{
    margin:7px 0 0;
    font-size:9px;
    color:var(--muted);
}
.audit-event>time{
    font-size:9px;
    color:var(--muted);
    text-align:right;
    padding-top:4px;
}
.audit-details{
    margin-top:7px;
}
.audit-details summary{
    cursor:pointer;
    list-style:none;
    font-size:8px;
    font-weight:850;
    color:var(--petroleum);
}
.audit-details summary::-webkit-details-marker{display:none}
.audit-detail-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin:8px 0;
    padding:9px;
    border-radius:10px;
    background:#FAF8F4;
}
.audit-detail-grid>div{
    display:grid;
    gap:3px;
}
.audit-detail-grid span{
    font-size:7px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.05em;
}
.audit-detail-grid strong{
    font-size:8px;
    word-break:break-word;
}

@media(max-width:1200px){
    .audit-filter-form{
        grid-template-columns:repeat(3,minmax(150px,1fr));
    }
}
@media(max-width:850px){
    .audit-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .audit-filter-form{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
    .audit-summary-grid,
    .audit-filter-form,
    .audit-detail-grid{grid-template-columns:1fr}
    .audit-event{grid-template-columns:34px minmax(0,1fr)}
    .audit-event>time{
        grid-column:2;
        text-align:left;
        padding-top:0;
    }
}


/* ==========================================================
   AC Control v1.2.2 · Exportación de Auditoría
   ========================================================== */
.report-export-menu{position:relative;align-self:flex-start;z-index:12}
.report-export-menu>summary{list-style:none;cursor:pointer;background:var(--petroleum);color:#fff;border-radius:10px;padding:11px 18px;font-weight:850;font-size:10px;box-shadow:none}
.report-export-menu>summary::-webkit-details-marker{display:none}
.report-export-menu[open]>summary{background:#0E2D32}
.report-export-options{position:absolute;right:0;top:calc(100% + 6px);width:150px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:5px;box-shadow:0 14px 32px rgba(18,54,60,.13)}
.report-export-options a{display:block;padding:10px 11px;border-radius:8px;font-size:9px;font-weight:850;color:var(--petroleum);text-decoration:none}
.report-export-options a:hover{background:#F5F2EC}

.audit-filter-form-v12{
    grid-template-columns:145px 145px minmax(150px,.8fr) minmax(190px,1fr) 135px minmax(165px,.85fr) minmax(220px,1.15fr);
    column-gap:16px;
    row-gap:12px;
}
.audit-filter-form-v12 label,
.audit-filter-form-v12 input,
.audit-filter-form-v12 select{min-width:0}
.audit-filter-form-v12 input,
.audit-filter-form-v12 select{width:100%;box-sizing:border-box}
.audit-filter-form-v12 .audit-filter-actions{
    grid-column:1/-1;
    display:flex;
    justify-content:flex-end;
    gap:9px;
    margin-top:1px;
}
@media(max-width:1450px){
    .audit-filter-form-v12{grid-template-columns:repeat(4,minmax(145px,1fr))}
    .audit-filter-form-v12 .audit-filter-actions{grid-column:1/-1}
}
@media(max-width:850px){
    .audit-heading{align-items:flex-start}
    .audit-filter-form-v12{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
    .audit-filter-form-v12{grid-template-columns:1fr}
    .audit-filter-form-v12 .audit-filter-actions{justify-content:stretch}
    .audit-filter-form-v12 .audit-filter-actions>*{flex:1;text-align:center}
    .report-export-menu{width:100%}
    .report-export-menu>summary{text-align:center}
    .report-export-options{left:0;right:auto;width:100%}
}


/* ==========================================================
   AC Control v1.3 · Asistencia y presencia
   ========================================================== */
.attendance-control{position:relative}
.attendance-control>summary{list-style:none}
.attendance-control>summary::-webkit-details-marker{display:none}
.attendance-status-pill{
    display:flex;align-items:center;gap:7px;
    padding:8px 11px;border:1px solid var(--line);border-radius:999px;
    background:#fff;cursor:pointer;font-size:11px;font-weight:850;
    white-space:nowrap;
}
.attendance-dot,.presence-badge i{
    width:8px;height:8px;border-radius:50%;display:inline-block;flex:0 0 8px;
}
.attendance-working .attendance-dot,.presence-working i{background:#2F9E44}
.attendance-paused .attendance-dot,.presence-paused i{background:#E7A91A}
.attendance-off_duty .attendance-dot,.presence-off_duty i{background:#9B9B96}

.attendance-dropdown{
    position:absolute;right:0;top:calc(100% + 9px);z-index:85;
    width:226px;padding:14px;background:var(--surface);
    border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 36px rgba(32,34,37,.13);
}
.attendance-dropdown-title{font-size:13px;display:block;margin-bottom:8px}
.attendance-actions-list{display:grid;gap:3px}
.attendance-actions-list form{margin:0}
.attendance-menu-action{
    appearance:none;border:0;background:transparent;width:100%;
    padding:10px 9px;border-radius:8px;text-align:left;text-decoration:none;
    color:var(--charcoal);font-size:12px;font-weight:700;cursor:pointer;display:block;
}
.attendance-menu-action:hover{background:#F4F1EC;color:var(--petroleum)}
.attendance-current-state{
    border-top:1px solid var(--line);margin-top:8px;padding-top:11px;display:grid;gap:5px;
}
.attendance-current-state>span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.attendance-current-state>strong{font-size:11px;display:flex;align-items:center;gap:6px}
.attendance-current-state .attendance-dot{background:#9B9B96}
.attendance-working .attendance-current-state .attendance-dot{background:#2F9E44}
.attendance-paused .attendance-current-state .attendance-dot{background:#E7A91A}

.attendance-modal-backdrop{
    position:fixed;inset:0;z-index:120;background:rgba(18,54,60,.22);
    display:grid;place-items:center;padding:22px;
}
.attendance-modal-backdrop[hidden]{display:none}
.attendance-modal{
    width:min(520px,100%);position:relative;
    display:grid;grid-template-columns:54px minmax(0,1fr);gap:15px;
    background:var(--surface);border:1px solid var(--line);border-radius:20px;
    padding:24px;box-shadow:0 22px 60px rgba(32,34,37,.22);
}
.attendance-modal h2{font-size:19px;line-height:1.3;margin:0 0 7px}
.attendance-modal p{font-size:12px;line-height:1.55;color:var(--muted);margin:0}
.attendance-modal-icon{
    width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
    background:#F2EEE8;color:var(--petroleum);font-size:24px;font-weight:900;
}
.attendance-modal-close{
    position:absolute;right:13px;top:10px;border:0;background:transparent;
    color:var(--muted);font-size:24px;cursor:pointer;
}
.attendance-modal-actions{
    grid-column:2;display:flex;gap:9px;align-items:center;margin-top:4px;flex-wrap:wrap;
}
.attendance-modal-actions form{margin:0}
body.attendance-modal-open{overflow:hidden}

.team-search-simple{max-width:100%}
.team-search-simple input{max-width:none}
.attendance-team-card{grid-template-columns:70px minmax(0,1fr)}
.presence-badge{
    display:inline-flex;align-items:center;gap:5px;border-radius:999px;
    padding:6px 8px;font-size:9px;font-weight:900;white-space:nowrap;
}
.presence-working{background:#EAF6EC;color:#26713A}
.presence-paused{background:#FFF5DC;color:#8B6015}
.presence-off_duty{background:#EEEDEC;color:#686864}
.team-presence-since{
    grid-column:1/-1;border-top:1px solid var(--line);margin-top:11px;padding-top:9px;
    font-size:10px;color:var(--muted);font-weight:700;
}

.attendance-history-card{
    margin-top:18px;padding:22px;background:var(--surface);
    border:1px solid var(--line);border-radius:18px;
}
.attendance-history-head{
    display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
}
.attendance-history-head h2{margin-top:4px}
.attendance-history-head p{margin:5px 0 0;font-size:12px}
.presence-current-box{
    min-width:145px;display:grid;justify-items:end;gap:5px;
}
.presence-current-box small{font-size:10px;color:var(--muted);font-weight:700}

.attendance-history-toolbar{
    margin-top:18px;padding:12px;border:1px solid var(--line);border-radius:13px;
    display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;
    background:#FCFAF7;
}
.attendance-month-form{display:flex;align-items:end;gap:8px}
.attendance-month-form label{gap:5px}
.attendance-month-form label>span{
    font-size:8px;text-transform:uppercase;color:var(--muted);font-weight:900;letter-spacing:.05em
}
.attendance-month-form input{min-width:165px}
.attendance-export-actions{display:flex;gap:7px}

.attendance-summary-grid{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;
}
.attendance-summary-grid>div{
    border:1px solid var(--line);border-radius:13px;padding:15px;background:#fff;
    display:grid;gap:5px;
}
.attendance-summary-grid span{font-size:9px;color:var(--muted);font-weight:800}
.attendance-summary-grid strong{font-size:16px;color:var(--petroleum)}

.attendance-today{
    margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:16px;
}
.attendance-today h3{margin-bottom:11px}
.attendance-timeline{display:grid;gap:0}
.attendance-timeline-item{
    position:relative;display:grid;grid-template-columns:14px minmax(0,1fr) auto;
    gap:8px;align-items:center;padding:8px 0;font-size:11px;
}
.attendance-timeline-item i{
    width:8px;height:8px;border-radius:50%;background:#2F9E44;display:block;
}
.attendance-timeline-item strong{font-size:11px}
.attendance-month-history{margin-top:17px}
.attendance-table-wrap{overflow:auto;margin-top:10px;border:1px solid var(--line);border-radius:12px}
.attendance-table{min-width:720px}

@media(max-width:900px){
    .attendance-status-pill span:last-child{display:none}
    .attendance-status-pill{padding:8px}
    .attendance-history-head{display:grid}
    .presence-current-box{justify-items:start}
}
@media(max-width:700px){
    .attendance-history-toolbar{align-items:stretch}
    .attendance-month-form{width:100%}
    .attendance-month-form label{flex:1}
    .attendance-export-actions{width:100%}
    .attendance-export-actions a{flex:1;text-align:center}
    .attendance-summary-grid{grid-template-columns:1fr}
    .attendance-modal{grid-template-columns:1fr}
    .attendance-modal-actions{grid-column:1}
}


/* ==========================================================
   AC Control v1.4 · Jornada protegida + reporte mensual usuario
   ========================================================== */
.attendance-menu-action:disabled{
    opacity:.48;
    cursor:wait;
}
.user-work-report-card{
    margin-top:18px;
    padding:22px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:18px;
}
.user-work-summary-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:8px;
    margin-top:14px;
}
.user-work-summary-grid>div{
    border:1px solid var(--line);
    border-radius:12px;
    padding:13px 11px;
    background:#fff;
    display:grid;
    gap:5px;
    min-width:0;
}
.user-work-summary-grid span{
    font-size:8px;
    color:var(--muted);
    font-weight:800;
    line-height:1.25;
}
.user-work-summary-grid strong{
    font-size:17px;
    color:var(--petroleum);
}
.user-work-table{min-width:900px}
.mini-status-chip{
    display:inline-flex;
    margin-left:5px;
    padding:3px 6px;
    border-radius:999px;
    background:#FFF1DD;
    color:#8B6015;
    font-size:7px;
    font-weight:900;
}
@media(max-width:1200px){
    .user-work-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:700px){
    .user-work-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ==========================================================
   AC Control v1.5 · Reporte por periodo
   ========================================================== */
.period-export-control{position:relative}
.period-export-control>summary{
    list-style:none;
    cursor:pointer;
    user-select:none;
}
.period-export-control>summary::-webkit-details-marker{display:none}
.period-export-menu{
    position:absolute;
    right:0;
    top:calc(100% + 7px);
    z-index:70;
    min-width:150px;
    padding:7px;
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:11px;
    box-shadow:0 14px 30px rgba(32,34,37,.13);
}
.period-export-menu a{
    display:block;
    padding:9px 10px;
    border-radius:7px;
    text-decoration:none;
    color:var(--charcoal);
    font-size:10px;
    font-weight:850;
}
.period-export-menu a:hover{
    background:#F4F1EC;
    color:var(--petroleum);
}


/* ==========================================================
   AC Control v1.5.1 · Ajuste visual acciones del periodo
   ========================================================== */
.period-heading-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    flex-wrap:wrap;
}
.period-action-button{
    min-height:46px;
    height:46px;
    box-sizing:border-box;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 18px;
    white-space:nowrap;
    line-height:1;
}
.period-export-control{
    position:relative;
    display:inline-block;
    height:46px;
}
.period-export-summary{
    gap:9px;
    cursor:pointer;
}
.period-export-summary::-webkit-details-marker{
    display:none;
}
.period-export-summary::marker{
    content:"";
}
.period-export-caret{
    font-size:10px;
    transition:transform .15s ease;
}
.period-export-control[open] .period-export-caret{
    transform:rotate(180deg);
}
.period-export-menu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;
    z-index:100;
    width:210px;
    padding:7px;
    background:#FFFFFF;
    border:1px solid #E4E2DD;
    border-radius:12px;
    box-shadow:0 16px 34px rgba(32,34,37,.14);
}
.period-export-option{
    display:grid !important;
    grid-template-columns:30px minmax(0,1fr);
    gap:9px;
    align-items:center;
    padding:10px 9px !important;
    border-radius:8px;
    color:#202225 !important;
    text-decoration:none !important;
}
.period-export-option:hover{
    background:#F7F4EF !important;
    color:#12363C !important;
}
.period-export-option strong{
    display:block;
    font-size:10px;
    line-height:1.2;
}
.period-export-option small{
    display:block;
    margin-top:2px;
    font-size:8px;
    color:#6F7375;
    line-height:1.2;
    font-weight:600;
}
.period-export-icon{
    width:28px;
    height:28px;
    display:grid;
    place-items:center;
    border-radius:8px;
    background:#EEF4F3;
    color:#12363C;
    font-size:9px;
    font-weight:900;
}
@media(max-width:900px){
    .period-heading-actions{
        justify-content:flex-start;
    }
}

/* v1.7.3: Usuario conserva cuatro KPIs; el cuarto resume vencimientos de su cartera. */
.task-metric-grid.user-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.task-metric-grid.user-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.task-metric-grid.user-metrics{grid-template-columns:1fr}}

/* ==========================================================
   AC Control v1.7.2 · Mi trabajo operativo sin espacios muertos
   Solo cambia la experiencia del rol Usuario. Dashboard admin intacto.
   ========================================================== */
.my-upcoming-panel{min-height:0}
.my-upcoming-more{
    display:inline-flex;align-items:center;gap:5px;
    color:var(--petroleum);text-decoration:none;font-size:9px;font-weight:850;
}
.my-upcoming-more:hover{text-decoration:underline}
.my-upcoming-list{display:grid;margin-top:5px}
.my-upcoming-row{
    display:grid;grid-template-columns:54px minmax(0,1fr) 12px;
    align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line);
    text-decoration:none;color:inherit;
}
.my-upcoming-row:last-child{border-bottom:0}
.my-upcoming-row time{
    display:grid;place-items:center;min-height:34px;padding:7px 5px;
    background:#F1EEE8;border-radius:10px;color:var(--petroleum);
    font-size:10px;font-weight:900;
}
.my-upcoming-row>div{display:grid;gap:2px;min-width:0}
.my-upcoming-row strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.my-upcoming-row small{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.my-upcoming-arrow{font-size:18px;line-height:1;color:var(--petroleum);text-align:right}
.my-upcoming-empty{
    min-height:145px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;
    align-items:center;gap:13px;padding:16px 4px;
}
.my-upcoming-empty-icon,.user-work-empty-icon{
    width:38px;height:38px;border-radius:999px;display:grid;place-items:center;
    background:#EEF4F1;color:#2F745B;font-size:17px;font-weight:900;
}
.my-upcoming-empty>div:nth-child(2){display:grid;gap:4px}
.my-upcoming-empty strong{font-size:11px}
.my-upcoming-empty span{font-size:9px;color:var(--muted);line-height:1.45}
.my-upcoming-empty>a{font-size:9px;font-weight:850;color:var(--petroleum);text-decoration:none;white-space:nowrap}
.my-upcoming-empty>a:hover{text-decoration:underline}
.user-work-empty-card{margin-top:0}
.user-work-empty{
    min-height:86px;padding:21px 26px;display:flex;align-items:center;justify-content:center;
    gap:16px;text-align:left;
}
.user-work-empty h3{margin:0 0 5px;font-size:14px}
.user-work-empty p{margin:0}
@media(max-width:700px){
    .my-upcoming-empty{grid-template-columns:40px minmax(0,1fr)}
    .my-upcoming-empty>a{grid-column:2}
    .my-upcoming-row{grid-template-columns:50px minmax(0,1fr) 10px}
    .user-work-empty{justify-content:flex-start;padding:20px}
}


/* ==========================================================
   AC Control v1.7.3 · KPI funcional para Usuario
   Rellena el cuarto espacio con vencimientos próximos de su cartera.
   Dashboard de Administrador no cambia.
   ========================================================== */
.metric-foot-action{
    display:inline-flex;align-items:center;gap:5px;width:max-content;max-width:100%;
    color:var(--muted);text-decoration:none;font-size:11px;font-weight:700;
}
.metric-foot-action:hover{color:var(--petroleum);text-decoration:underline}
.user-upcoming-metric strong{color:var(--petroleum)}

/* v1.7.5 · sincronización automática de vencimientos */
.deadline-sync-fallback{margin-left:auto;text-align:right}
.deadline-sync-fallback summary{cursor:pointer;color:var(--muted);font-size:10px;font-weight:700;list-style:none}
.deadline-sync-fallback summary::-webkit-details-marker{display:none}
.deadline-sync-fallback[open] summary{margin-bottom:8px}
.deadline-sync-fallback form{display:flex;justify-content:flex-end}
@media (max-width:900px){
  .deadline-sync-fallback{margin-left:0;text-align:left}
  .deadline-sync-fallback form{justify-content:flex-start}
}


/* ==========================================================
   AC Control v1.7.8 · Periodos anticipados por extraordinarios
   ========================================================== */
.period-extraordinary-note{
    display:block;
    margin-top:3px;
    font-size:8px;
    font-weight:850;
    color:#9A5A22;
}
.period-extraordinary-panel{
    border:1px solid var(--line);
    border-radius:16px;
    background:#fff;
    padding:18px;
    margin-bottom:14px;
}
.period-extraordinary-list{display:grid;gap:8px}
.period-extraordinary-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:12px;
    padding:12px 14px;
    background:#fff;
}
.period-extraordinary-row.is-pending{border-left:4px solid var(--coral)}
.period-extraordinary-row.is-completed{background:#F7FAF8;border-left:4px solid #7CAA8E}
.period-extraordinary-main{display:grid;gap:5px}
.period-extraordinary-main h3{margin:0;font-size:12px}
.period-extraordinary-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.document-observation-note{
    display:grid;
    gap:3px;
    background:#FFF4EF;
    border:1px solid #F0C3B9;
    border-radius:9px;
    padding:8px 10px;
    color:var(--ink);
}
.document-observation-note strong{font-size:9px}
.document-observation-note span{font-size:8px;color:var(--muted)}
@media(max-width:760px){
    .period-extraordinary-row{grid-template-columns:1fr}
    .period-extraordinary-actions{justify-content:flex-start}
}


/* ==========================================================
   AC Control v1.7.8.1 · Pulido extraordinarios + observaciones
   ========================================================== */
.document-observation-form[hidden]{
    display:none!important;
}
.period-extraordinary-panel{
    padding:20px;
}
.period-extraordinary-summary{
    min-width:92px;
    display:grid;
    justify-items:end;
    gap:2px;
}
.period-extraordinary-summary strong{
    font-size:18px;
    line-height:1;
    color:var(--ink);
}
.period-extraordinary-summary span{
    font-size:8px;
    color:var(--muted);
    white-space:nowrap;
}
.period-extraordinary-list{
    gap:10px;
}
.period-extraordinary-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    padding:14px 16px;
    border-radius:13px;
    align-items:center;
}
.period-extraordinary-row.is-pending{
    border-left:4px solid var(--coral);
    background:#FFFDFC;
}
.period-extraordinary-main{
    gap:7px;
}
.period-extraordinary-main .deadline-row-labels{
    margin-bottom:1px;
}
.period-extraordinary-main h3{
    font-size:13px;
    line-height:1.25;
}
.period-extraordinary-main .deadline-meta{
    display:flex;
    gap:6px 12px;
    flex-wrap:wrap;
    align-items:center;
}
.period-extraordinary-main .deadline-meta span{
    font-size:8px;
    color:var(--muted);
}
.period-extraordinary-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
    min-width:132px;
    justify-items:stretch;
}
.period-extraordinary-actions form{
    margin:0;
}
.period-extraordinary-actions .compact-button{
    width:100%;
    justify-content:center;
    text-align:center;
    text-decoration:none;
}
.period-extraordinary-complete{
    background:var(--petroleum)!important;
    color:#fff!important;
    border-color:var(--petroleum)!important;
}
.period-extraordinary-view{
    background:#F7F4EE!important;
    border:1px solid var(--line)!important;
    color:var(--ink)!important;
}
.observe-toggle[aria-expanded="true"]{
    background:#F7F4EE;
}
@media(max-width:760px){
    .period-extraordinary-summary{justify-items:start}
    .period-extraordinary-actions{min-width:0;width:100%;grid-template-columns:1fr 1fr}
}

/* ==========================================================
   AC Control v1.7.9 · Supervisión + tareas extraordinarias
   ========================================================== */
.work-mode-switcher{
    display:inline-flex;
    gap:4px;
    padding:4px;
    margin:0 0 16px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#F3F0EA;
}
.work-mode-switcher a{
    text-decoration:none;
    color:var(--muted);
    font-size:10px;
    font-weight:900;
    padding:9px 14px;
    border-radius:9px;
}
.work-mode-switcher a.active{
    background:var(--petroleum);
    color:#fff;
    box-shadow:0 1px 4px rgba(0,0,0,.08);
}

.supervision-board{display:grid;gap:14px}
.supervision-board-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;padding:2px 2px 0}
.supervision-board-heading h2{margin:2px 0 5px;font-size:22px}
.supervision-board-heading p{margin:0}
.supervision-period-list{display:grid;gap:14px}
.supervision-period-card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:17px;
    padding:17px 18px;
    display:grid;
    gap:15px;
}
.supervision-period-card.needs-attention{border-left:4px solid var(--coral)}
.supervision-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.supervision-client-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.supervision-client-line>strong{font-size:13px}
.supervision-card-head h3{margin:0;font-size:21px}
.supervision-work-label{display:block;margin-top:3px;font-size:9px;color:var(--muted);font-weight:750}
.supervision-alert-badge{font-size:8px;font-weight:900;color:#8A2B22;background:#FCE5DF;border-radius:999px;padding:5px 7px}
.supervision-progress-row{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:12px}
.supervision-progress-copy{display:grid;min-width:138px}
.supervision-progress-copy strong{font-size:15px}
.supervision-progress-copy span{font-size:8px;color:var(--muted)}
.supervision-progress-row>.progress-track{margin:0}
.supervision-progress-row>strong{font-size:12px;color:var(--petroleum)}
.supervision-status-grid{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:7px;
}
.supervision-status-grid>div{background:#F8F6F2;border:1px solid #ECE7DF;border-radius:10px;padding:9px 10px;display:grid;gap:3px}
.supervision-status-grid span{font-size:7.5px;color:var(--muted);font-weight:800}
.supervision-status-grid strong{font-size:12px}
.supervision-status-grid .is-alert{background:#FFF1ED;border-color:#F2C4B9}
.supervision-status-grid .is-alert strong{color:#9A3227}
.supervision-team{border-top:1px solid var(--line);padding-top:11px;display:grid;gap:6px}
.supervision-team-title{font-size:8px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:1px}
.supervision-member-row{display:grid;grid-template-columns:minmax(160px,1fr) auto;gap:16px;align-items:center;padding:7px 8px;border-radius:9px}
.supervision-member-row:nth-child(even){background:#FAF8F4}
.supervision-member-person{display:flex;gap:7px;align-items:baseline;min-width:0}
.supervision-member-person strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.supervision-member-person span{font-size:8px;color:var(--muted)}
.supervision-member-stats{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;font-size:8px;color:var(--muted)}
.supervision-member-stats strong{color:var(--ink);font-size:9px}
.supervision-empty{padding:26px;text-align:center}

/* Tarea extraordinaria del periodo: jerarquía visual clara y acciones fijas. */
.period-extraordinary-row{
    grid-template-columns:minmax(0,1fr) 150px!important;
    gap:20px!important;
    align-items:stretch!important;
    padding:15px 16px!important;
    border:1px solid var(--line)!important;
    box-shadow:0 1px 2px rgba(18,54,60,.03);
}
.period-extraordinary-row.is-pending{background:#FFFCFA!important;border-left:4px solid var(--coral)!important}
.period-extraordinary-main{display:grid!important;align-content:start;gap:8px!important;min-width:0}
.period-extraordinary-main h3{font-size:14px!important;line-height:1.25!important;margin:0!important}
.period-extraordinary-meta-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(105px,1fr));
    gap:8px;
}
.period-extraordinary-meta-grid>div{background:#F7F5F1;border:1px solid #ECE8E1;border-radius:9px;padding:8px 9px;display:grid;gap:2px;min-width:0}
.period-extraordinary-meta-grid span{font-size:7px;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.period-extraordinary-meta-grid strong{font-size:9px;line-height:1.25;overflow-wrap:anywhere}
.period-extraordinary-meta-grid .period-extraordinary-reference{grid-column:1/-1}
.period-extraordinary-notes{margin:0!important;padding:8px 10px;background:#FBF8F3;border-radius:8px}
.period-extraordinary-actions{
    display:flex!important;
    flex-direction:column;
    justify-content:center;
    align-items:stretch!important;
    gap:8px!important;
    min-width:150px!important;
    padding-left:14px;
    border-left:1px solid var(--line);
}
.period-extraordinary-actions form{width:100%}
.period-extraordinary-actions .compact-button{width:100%!important;min-height:36px;display:flex;align-items:center;justify-content:center!important;text-align:center}

@media(max-width:1200px){
    .supervision-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .period-extraordinary-meta-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}
}
@media(max-width:760px){
    .supervision-card-head,.supervision-member-row{grid-template-columns:1fr;display:grid}
    .supervision-member-stats{justify-content:flex-start}
    .supervision-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .supervision-progress-row{grid-template-columns:1fr}
    .period-extraordinary-row{grid-template-columns:1fr!important}
    .period-extraordinary-actions{min-width:0!important;padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:10px;display:grid!important;grid-template-columns:1fr 1fr!important}
}

/* ==========================================================
   AC Control v1.7.9.1 · Tareas extraordinarias — tarjeta final
   ========================================================== */
.period-extraordinary-panel{
    margin-top:18px!important;
}
.period-extraordinary-panel .section-heading-row{
    align-items:start!important;
    margin-bottom:16px!important;
}
.period-extraordinary-panel .section-heading-row h2{
    margin-top:4px!important;
    margin-bottom:7px!important;
}
.period-extraordinary-panel .section-heading-row .muted{
    margin:0!important;
    max-width:780px;
}
.period-extraordinary-summary{
    display:flex!important;
    align-items:baseline!important;
    justify-content:flex-end!important;
    gap:5px!important;
    white-space:nowrap;
    padding-top:4px;
}
.period-extraordinary-summary strong{
    font-size:17px!important;
    line-height:1!important;
}
.period-extraordinary-summary span{
    font-size:11px!important;
    color:var(--ink)!important;
}
.period-extraordinary-list{
    display:grid!important;
    gap:14px!important;
}
.period-extraordinary-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 210px!important;
    gap:24px!important;
    align-items:stretch!important;
    padding:22px 24px!important;
    background:#FFFEFC!important;
    border:1px solid var(--line)!important;
    border-left:1px solid var(--line)!important;
    border-radius:16px!important;
    box-shadow:0 2px 7px rgba(18,54,60,.035)!important;
}
.period-extraordinary-row.is-pending{
    background:#FFFEFC!important;
    border-left:1px solid var(--line)!important;
}
.period-extraordinary-row.is-completed{
    background:#F9FBF9!important;
    border-left:1px solid var(--line)!important;
}
.period-extraordinary-main{
    display:grid!important;
    align-content:start!important;
    gap:12px!important;
    min-width:0!important;
}
.period-extraordinary-main .deadline-row-labels{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    margin:0!important;
}
.period-extraordinary-main .deadline-row-labels .deadline-entity,
.period-extraordinary-main .deadline-row-labels .mini-pill{
    display:inline-flex!important;
    align-items:center!important;
    min-height:26px!important;
    padding:5px 11px!important;
    border-radius:999px!important;
    font-size:9px!important;
    font-weight:850!important;
    line-height:1!important;
}
.period-extraordinary-main h3{
    margin:0!important;
    font-size:19px!important;
    line-height:1.25!important;
    letter-spacing:-.01em!important;
}
.period-extraordinary-meta-grid{
    display:grid!important;
    grid-template-columns:1.05fr 1.55fr .9fr .9fr!important;
    gap:0!important;
    padding-top:14px!important;
    margin-top:2px!important;
    border-top:1px solid var(--line)!important;
}
.period-extraordinary-meta-grid>div{
    display:grid!important;
    gap:5px!important;
    align-content:start!important;
    min-width:0!important;
    padding:4px 18px 4px 0!important;
    margin-right:18px!important;
    background:transparent!important;
    border:0!important;
    border-radius:0!important;
    border-right:1px solid var(--line)!important;
}
.period-extraordinary-meta-grid>div:last-child:not(.period-extraordinary-reference){
    border-right:0!important;
    margin-right:0!important;
    padding-right:0!important;
}
.period-extraordinary-meta-grid span{
    display:block!important;
    color:var(--muted)!important;
    font-size:10px!important;
    font-weight:650!important;
    line-height:1.15!important;
    text-transform:none!important;
    letter-spacing:0!important;
}
.period-extraordinary-meta-grid strong{
    display:block!important;
    color:var(--ink)!important;
    font-size:12px!important;
    font-weight:800!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
}
.period-extraordinary-meta-grid .period-extraordinary-reference{
    grid-column:1/-1!important;
    border-right:0!important;
    border-top:1px dashed var(--line)!important;
    margin:10px 0 0!important;
    padding:10px 0 0!important;
}
.period-extraordinary-notes{
    margin:0!important;
    padding:10px 12px!important;
    background:#FBF8F3!important;
    border-radius:9px!important;
    font-size:10px!important;
    line-height:1.45!important;
}
.period-extraordinary-actions{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:center!important;
    gap:10px!important;
    min-width:210px!important;
    padding-left:24px!important;
    border-left:1px solid var(--line)!important;
}
.period-extraordinary-actions form{
    width:100%!important;
    margin:0!important;
}
.period-extraordinary-actions .compact-button{
    width:100%!important;
    min-height:44px!important;
    padding:10px 14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    border-radius:11px!important;
    font-size:11px!important;
    font-weight:850!important;
    white-space:nowrap!important;
}
.period-extraordinary-actions .period-extraordinary-complete{
    background:var(--petroleum)!important;
    color:#fff!important;
    border-color:var(--petroleum)!important;
}
.period-extraordinary-actions .period-extraordinary-view{
    background:#FBF9F5!important;
    color:var(--ink)!important;
    border:1px solid var(--line)!important;
}
@media(max-width:1150px){
    .period-extraordinary-row{
        grid-template-columns:minmax(0,1fr) 180px!important;
        gap:18px!important;
        padding:18px!important;
    }
    .period-extraordinary-actions{
        min-width:180px!important;
        padding-left:18px!important;
    }
    .period-extraordinary-meta-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        row-gap:12px!important;
    }
    .period-extraordinary-meta-grid>div:nth-child(2){border-right:0!important;margin-right:0!important;padding-right:0!important}
}
@media(max-width:760px){
    .period-extraordinary-row{
        grid-template-columns:1fr!important;
    }
    .period-extraordinary-actions{
        min-width:0!important;
        padding-left:0!important;
        padding-top:16px!important;
        border-left:0!important;
        border-top:1px solid var(--line)!important;
        display:grid!important;
        grid-template-columns:1fr 1fr!important;
    }
    .period-extraordinary-meta-grid{
        grid-template-columns:1fr!important;
    }
    .period-extraordinary-meta-grid>div{
        border-right:0!important;
        border-bottom:1px solid var(--line)!important;
        margin-right:0!important;
        padding:0 0 10px!important;
    }
    .period-extraordinary-meta-grid>div:last-child{
        border-bottom:0!important;
    }
}

/* ==========================================================
   AC Control v1.7.10 · Supervisión visual optimizada
   ========================================================== */
.supervision-kpi-grid{gap:16px;margin-bottom:20px}
.supervision-kpi-card{
    min-height:128px;
    padding:18px 20px;
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    align-items:center;
    gap:15px;
    box-shadow:0 5px 16px rgba(18,54,60,.045);
}
.supervision-kpi-icon{
    width:48px;height:48px;border-radius:15px;
    display:grid;place-items:center;
    background:#EEF4F1;color:#3D8E72;
}
.supervision-kpi-icon svg{width:24px;height:24px}
.supervision-kpi-periods .supervision-kpi-icon{background:#EEF3F3;color:var(--petroleum)}
.supervision-kpi-attention .supervision-kpi-icon{background:#FFF4DA;color:#D69C23}
.supervision-kpi-review .supervision-kpi-icon{background:#FDE8E6;color:var(--coral)}
.supervision-kpi-copy{display:grid;gap:5px;min-width:0}
.supervision-kpi-copy .metric-label{font-size:10px;font-weight:900;color:var(--ink)}
.supervision-kpi-copy>strong{font-size:29px;line-height:1;color:var(--ink)}
.supervision-kpi-copy .metric-foot{font-size:9px;line-height:1.35;color:var(--muted);max-width:180px}

.supervision-board-v2{gap:12px}
.supervision-board-heading-v2{align-items:end}
.supervision-board-heading-v2>div:first-child{min-width:280px}
.supervision-board-heading-v2 h2{font-size:21px;margin:2px 0 4px}
.supervision-toolbar{
    margin-left:auto;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:9px;
    flex-wrap:wrap;
}
.supervision-search-box,
.supervision-period-filter{
    min-height:39px;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface);
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 11px;
}
.supervision-search-box{width:210px}
.supervision-search-box svg,
.supervision-period-filter svg{width:16px;height:16px;color:#7A7B78;flex:0 0 auto}
.supervision-search-box input{
    width:100%;border:0!important;background:transparent!important;padding:0!important;
    min-height:0!important;font-size:9px;outline:0;color:var(--ink);
}
.supervision-period-filter{width:185px}
.supervision-period-filter select{
    width:100%;border:0!important;background:transparent!important;padding:0 22px 0 0!important;
    min-height:0!important;font-size:9px;font-weight:800;color:var(--ink);outline:0;
}
.supervision-view-switcher{
    display:flex;align-items:center;background:#F0EEE9;border:1px solid var(--line);border-radius:10px;padding:3px;gap:2px
}
.supervision-view-switcher button{
    width:39px;height:32px;border:0;border-radius:8px;background:transparent;color:#7E817F;
    display:grid;place-items:center;cursor:pointer
}
.supervision-view-switcher button svg{width:16px;height:16px}
.supervision-view-switcher button.active{background:var(--petroleum);color:#fff;box-shadow:0 2px 5px rgba(18,54,60,.14)}

.supervision-period-list-v2{display:grid;gap:12px}
.supervision-period-card-v2{
    padding:0!important;
    overflow:hidden;
    border-radius:16px!important;
    box-shadow:0 4px 14px rgba(18,54,60,.045);
}
.supervision-period-card-v2.needs-attention{border-left:1px solid var(--line)!important}
.supervision-card-v2-grid{
    display:grid;
    grid-template-columns:minmax(210px,.92fr) 108px minmax(330px,1.35fr) minmax(360px,1.35fr);
    align-items:stretch;
    min-height:166px;
}
.supervision-card-identity,
.supervision-card-donut,
.supervision-card-metrics,
.supervision-card-side-v2{padding:17px 16px}
.supervision-card-identity{border-right:1px solid #EEEAE4;display:flex;flex-direction:column;min-width:0}
.supervision-client-line{margin-bottom:7px}
.supervision-client-line>strong{font-size:12px;letter-spacing:-.01em}
.supervision-card-identity h3{font-size:19px;margin:0 0 3px;line-height:1.12}
.supervision-card-identity .supervision-work-label{font-size:8px;margin-top:0;white-space:normal;line-height:1.35}
.supervision-regular-summary{display:flex;align-items:baseline;gap:5px;margin-top:auto;padding-top:16px}
.supervision-regular-summary strong{font-size:14px;color:var(--ink)}
.supervision-regular-summary span{font-size:7.5px;color:var(--muted)}
.supervision-regular-track{margin-top:8px;height:5px}

.supervision-card-donut{
    display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #EEEAE4;gap:6px
}
.ops-donut.supervision-donut{width:74px;height:74px;background:conic-gradient(var(--petroleum) calc(var(--ops-pct)*1%),#E9E7E2 0)}
.ops-donut.supervision-donut:after{inset:11px}
.ops-donut.supervision-donut strong{font-size:15px}
.supervision-card-donut>span{font-size:8px;font-weight:850;color:var(--muted)}

.supervision-card-metrics{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:7px;
    align-content:center;
    border-right:1px solid #EEEAE4;
}
.supervision-mini-stat{
    min-width:0;
    min-height:52px;
    border:1px solid #EEEAE4;
    border-radius:10px;
    background:#FBFAF8;
    padding:8px 9px;
    display:flex;
    align-items:center;
    gap:8px;
}
.supervision-mini-stat>div{display:grid;gap:2px;min-width:0}
.supervision-mini-stat>div>span{font-size:7px;color:var(--muted);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.supervision-mini-stat strong{font-size:12px;color:var(--ink);line-height:1}
.supervision-mini-icon{width:23px;height:23px;display:grid;place-items:center;flex:0 0 auto}
.supervision-mini-icon svg{width:20px;height:20px}
.stat-pending .supervision-mini-icon{color:#55789D}
.stat-review .supervision-mini-icon{color:#2A76C6}
.stat-approve .supervision-mini-icon{color:#2DAD72}
.stat-docs .supervision-mini-icon{color:#3E78B8}
.stat-observed .supervision-mini-icon{color:#E89A2C}
.stat-extra .supervision-mini-icon{color:#8852B9}
.supervision-mini-stat.is-alert{background:#FFF4F1;border-color:#F2C8BE}

.supervision-card-side-v2{display:grid;grid-template-rows:auto 1fr;gap:10px;min-width:0}
.supervision-side-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #EEEAE4;padding-bottom:10px}
.supervision-next-date{display:grid;gap:2px;position:relative;padding-left:17px}
.supervision-next-date:before{content:"";position:absolute;left:1px;top:3px;width:9px;height:9px;border:1.5px solid #888;border-radius:2px}
.supervision-next-date span{font-size:7px;color:var(--muted);font-weight:850}
.supervision-next-date strong{font-size:11px;color:var(--ink)}
.supervision-open-period{min-width:100px!important;justify-content:center!important;align-self:start}
.supervision-team-v2{display:grid;gap:4px;align-content:start}
.supervision-team-v2 .supervision-team-title{font-size:7.5px;margin:0 0 1px}
.supervision-team-head,
.supervision-member-row-v2{
    display:grid;
    grid-template-columns:minmax(150px,1fr) 52px 56px 54px;
    gap:5px;
    align-items:center;
}
.supervision-team-head{padding:0 8px;color:var(--muted);font-size:6px;text-align:center}
.supervision-team-head span:first-child{text-align:left}
.supervision-member-row-v2{
    position:relative;
    background:#F8F7F4;
    border-radius:9px;
    padding:6px 8px;
    min-height:38px;
}
.supervision-member-person-v2{display:flex;align-items:center;gap:7px;min-width:0}
.supervision-member-avatar{
    width:25px;height:25px;border-radius:50%;background:#E8E3DD;color:var(--petroleum);
    display:grid;place-items:center;font-size:7px;font-weight:950;flex:0 0 auto
}
.supervision-member-person-v2>div{display:grid;min-width:0}
.supervision-member-person-v2 strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.supervision-member-person-v2 span{font-size:6.5px;color:var(--muted)}
.supervision-member-row-v2>strong{text-align:center;font-size:9px;color:var(--ink)}
.supervision-member-extra{position:absolute;right:4px;top:2px;background:#EFE7F8;color:#704596;border-radius:999px;padding:1px 4px;font-size:5.5px;font-weight:900}

.supervision-no-results{padding:28px;text-align:center;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:10px}
.supervision-results-caption{text-align:center;margin:3px 0 0;font-size:8px;color:var(--muted)}

/* Vista compacta opcional. */
.supervision-period-list-v2.compact-mode .supervision-card-v2-grid{grid-template-columns:minmax(220px,.9fr) 82px minmax(300px,1.25fr) minmax(280px,1.1fr);min-height:138px}
.supervision-period-list-v2.compact-mode .supervision-card-identity,
.supervision-period-list-v2.compact-mode .supervision-card-donut,
.supervision-period-list-v2.compact-mode .supervision-card-metrics,
.supervision-period-list-v2.compact-mode .supervision-card-side-v2{padding:12px 13px}
.supervision-period-list-v2.compact-mode .ops-donut.supervision-donut{width:58px;height:58px}
.supervision-period-list-v2.compact-mode .ops-donut.supervision-donut:after{inset:9px}
.supervision-period-list-v2.compact-mode .supervision-mini-stat{min-height:43px;padding:6px 7px}
.supervision-period-list-v2.compact-mode .supervision-team-head{display:none}
.supervision-period-list-v2.compact-mode .supervision-member-row-v2{min-height:32px;padding:4px 7px}

@media(max-width:1350px){
    .supervision-card-v2-grid{grid-template-columns:minmax(200px,.9fr) 90px minmax(290px,1.2fr) minmax(320px,1.25fr)}
    .supervision-team-head,.supervision-member-row-v2{grid-template-columns:minmax(130px,1fr) 44px 48px 46px}
}
@media(max-width:1120px){
    .supervision-board-heading-v2{align-items:flex-start;flex-direction:column}
    .supervision-toolbar{margin-left:0;width:100%;justify-content:flex-start}
    .supervision-card-v2-grid{grid-template-columns:minmax(220px,.85fr) 95px minmax(320px,1.25fr)}
    .supervision-card-side-v2{grid-column:1/-1;border-top:1px solid #EEEAE4;grid-template-columns:180px 1fr;grid-template-rows:1fr}
    .supervision-side-top{border-bottom:0;border-right:1px solid #EEEAE4;padding-bottom:0;padding-right:12px;display:grid}
}
@media(max-width:820px){
    .supervision-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .supervision-card-v2-grid{grid-template-columns:1fr 95px}
    .supervision-card-metrics{grid-column:1/-1;border-right:0;border-top:1px solid #EEEAE4}
    .supervision-card-side-v2{grid-template-columns:1fr;}
    .supervision-side-top{border-right:0;border-bottom:1px solid #EEEAE4;padding-right:0;padding-bottom:10px;display:flex}
}
@media(max-width:600px){
    .supervision-kpi-grid{grid-template-columns:1fr}
    .supervision-kpi-card{grid-template-columns:48px 1fr;min-height:110px}
    .supervision-toolbar{display:grid;grid-template-columns:1fr auto}
    .supervision-search-box{width:auto;grid-column:1/-1}
    .supervision-period-filter{width:auto}
    .supervision-card-v2-grid{grid-template-columns:1fr}
    .supervision-card-identity,.supervision-card-donut,.supervision-card-metrics{border-right:0;border-bottom:1px solid #EEEAE4}
    .supervision-card-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .supervision-team-head,.supervision-member-row-v2{grid-template-columns:minmax(120px,1fr) 38px 42px 42px}
}

/* ==========================================================
   AC Control v1.7.11 · Jornada segura + corrección administrativa
   ========================================================== */
.attendance-correction-panel{
    margin-top:12px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#FCFAF7;
    overflow:hidden;
}
.attendance-correction-panel>summary{
    list-style:none;
    cursor:pointer;
    padding:12px 14px;
    font-size:11px;
    font-weight:900;
    color:var(--petroleum);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.attendance-correction-panel>summary::-webkit-details-marker{display:none}
.attendance-correction-panel>summary::after{content:'+';font-size:18px;line-height:1;color:var(--coral)}
.attendance-correction-panel[open]>summary::after{content:'−'}
.attendance-correction-panel[open]>summary{border-bottom:1px solid var(--line)}
.attendance-correction-body{padding:16px;display:grid;gap:14px}
.attendance-correction-body h3{margin:2px 0 5px;font-size:16px}
.attendance-correction-body p{margin:0;max-width:760px;font-size:11px;line-height:1.5}
.attendance-correction-form{
    display:grid;
    grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);
    gap:11px;
    align-items:end;
}
.attendance-correction-form label{display:grid;gap:6px;min-width:0}
.attendance-correction-form label>span{
    font-size:8px;
    text-transform:uppercase;
    color:var(--muted);
    font-weight:900;
    letter-spacing:.05em;
}
.attendance-correction-form select,
.attendance-correction-form input,
.attendance-correction-form textarea{width:100%;min-width:0}
.attendance-correction-wide{grid-column:1/-1}
.attendance-correction-actions{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}
.attendance-correction-actions .field-help{margin:0;max-width:540px}
.attendance-correction-badge{
    display:inline-flex;
    align-items:center;
    margin-left:6px;
    padding:2px 6px;
    border-radius:999px;
    background:#FFF0EE;
    color:var(--coral);
    font-size:8px;
    font-style:normal;
    font-weight:900;
    vertical-align:middle;
}
@media(max-width:700px){
    .attendance-correction-form{grid-template-columns:1fr}
    .attendance-correction-wide{grid-column:auto}
}


/* AC Control v1.7.11.1 · Jornada cerrada sin reapertura de usuario */
.attendance-closed-note{
    margin:4px 0 2px;
    padding:10px 11px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#F7F4EE;
    color:var(--muted);
    font-size:10px;
    line-height:1.45;
}

/* ==========================================================
   AC Control v1.7.12 · Asistencia legal / regularizaciones
   ========================================================== */
.attendance-schedule-mini{
    border-top:1px solid var(--line);margin-top:10px;padding-top:10px;display:grid;gap:3px;
}
.attendance-schedule-mini>span{font-size:8px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:900}
.attendance-schedule-mini>strong{font-size:11px;color:var(--petroleum)}
.attendance-schedule-mini>small{font-size:9px;color:var(--muted)}
.attendance-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.attendance-regularization-history{margin-top:14px}
.attendance-regularization-table{min-width:980px}
.attendance-original-badge,.attendance-regularization-badge,.attendance-regularized-original-badge{
    display:inline-flex;align-items:center;margin-left:6px;padding:2px 6px;border-radius:999px;
    font-size:8px;font-style:normal;font-weight:900;vertical-align:middle;
}
.attendance-original-badge{background:#F1F0ED;color:#5F625F}
.attendance-regularization-badge{background:#E8F2F6;color:#155B73}
.attendance-regularized-original-badge{background:#F3ECFF;color:#7441A5}
.attendance-admin-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:16px;margin-top:16px}
.attendance-admin-grid>.panel,.attendance-general-report-card{padding:20px}
.attendance-admin-grid h2,.attendance-general-report-card h2{margin:4px 0 5px}
.attendance-settings-form{display:grid;gap:14px;margin-top:15px}
.attendance-settings-form .form-actions{margin-top:0;padding-top:10px}
.attendance-schedule-subhead{font-size:11px;font-weight:900;color:var(--petroleum);padding-top:5px;border-top:1px solid var(--line)}
.attendance-workdays{display:flex;gap:8px;flex-wrap:wrap}
.attendance-workdays label{display:inline-flex;align-items:center;gap:5px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:10px;font-weight:800}
.attendance-workdays input{width:auto;min-height:0}
.attendance-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.attendance-toggle-row{display:flex!important;grid-template-columns:none!important;align-items:center;gap:8px!important;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fff}
.attendance-toggle-row input{width:auto!important}
.attendance-user-picker{margin:14px 0}
.attendance-user-picker label{display:grid;gap:6px}
.attendance-user-picker select{width:100%}
.compact-notice{padding:10px 12px;font-size:10px}
.attendance-report-warning{margin-top:12px}
.attendance-general-toolbar{margin-top:14px}
@media(max-width:980px){
    .attendance-admin-grid{grid-template-columns:1fr}
    .attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .attendance-summary-grid,.attendance-schedule-grid{grid-template-columns:1fr}
}

/* ==========================================================
   AC Control v1.7.14 · cierre visual MVP
   ========================================================== */
.document-admin-more{position:relative;margin:0}
.document-admin-more>summary{
    list-style:none;cursor:pointer;width:30px;height:30px;border-radius:9px;
    display:grid;place-items:center;border:1px solid var(--line);background:#f6f3ee;
    color:var(--muted);font-size:16px;font-weight:900;line-height:1;
}
.document-admin-more>summary::-webkit-details-marker{display:none}
.document-admin-more>form{
    position:absolute;right:0;top:36px;z-index:8;min-width:155px;
    border:1px solid var(--line);border-radius:12px;background:#fff;padding:8px;
    box-shadow:0 10px 28px rgba(18,54,60,.10)
}
.document-admin-more>form .mini-link{width:100%;text-align:left;padding:8px 9px;border-radius:8px}
.password-change-card{max-width:680px}
@media(max-width:980px){
    .document-admin-more>form{right:0}
}
.task-visual-progress{background:#E8F0EF;color:#174C50}
.task-visual-returned{background:#FFF0EE;color:#A52A25}

/* =========================================================
   AC Control v1.7.15 — Asistente AC + notificaciones internas
   ========================================================= */
.ac-assistant-root{position:relative;z-index:80}
.ac-assistant-fab{
    position:fixed;right:24px;bottom:24px;width:58px;height:58px;border:0;border-radius:50%;
    background:var(--petroleum);color:#fff;display:grid;place-items:center;cursor:pointer;
    box-shadow:0 16px 34px rgba(18,54,60,.24);z-index:82;transition:transform .18s ease,box-shadow .18s ease
}
.ac-assistant-fab:hover{transform:translateY(-2px);box-shadow:0 19px 38px rgba(18,54,60,.30)}
.ac-assistant-fab.has-unread{box-shadow:0 0 0 5px rgba(255,49,49,.10),0 16px 34px rgba(18,54,60,.24)}
.ac-assistant-monogram,.ac-assistant-mini,.ac-toast-icon{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;letter-spacing:-.05em}
.ac-assistant-monogram{font-size:22px;color:#fff}
.ac-assistant-count{position:absolute;top:-5px;right:-4px;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:var(--coral);color:#fff;border:3px solid var(--brand-bg);font-size:10px;font-weight:900;display:flex;align-items:center;justify-content:center}
.ac-assistant-count[hidden]{display:none}
.ac-assistant-panel{
    position:fixed;right:0;top:0;height:100vh;width:min(410px,94vw);background:#FFFDFC;border-left:1px solid var(--line);
    box-shadow:-20px 0 55px rgba(32,34,37,.13);z-index:90;display:flex;flex-direction:column;animation:acPanelIn .2s ease-out
}
.ac-assistant-panel[hidden]{display:none}
@keyframes acPanelIn{from{transform:translateX(20px);opacity:.5}to{transform:translateX(0);opacity:1}}
.ac-assistant-header{padding:20px 20px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}
.ac-assistant-brand{display:flex;align-items:center;gap:12px}
.ac-assistant-mini{width:44px;height:44px;border-radius:50%;background:var(--petroleum);color:var(--coral);display:grid;place-items:center;font-size:18px}
.ac-assistant-brand>div{display:grid;gap:3px}.ac-assistant-brand strong{font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:500}.ac-assistant-brand small{font-size:10px;color:var(--muted)}
.ac-assistant-brand small i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4AA06C;margin-right:5px}
.ac-assistant-close{border:0;background:transparent;font-size:25px;line-height:1;color:var(--charcoal);cursor:pointer;padding:6px}
.ac-assistant-tabs{display:grid;grid-template-columns:1fr 1fr;padding:10px 18px;border-bottom:1px solid var(--line);gap:6px}
.ac-assistant-tabs button{border:0;background:#F4F1EC;color:var(--muted);border-radius:10px;padding:10px;font-size:12px;font-weight:850;cursor:pointer}
.ac-assistant-tabs button.active{background:var(--petroleum);color:#fff}.ac-tab-bell{font-size:8px;color:var(--coral);margin-left:3px}
.ac-assistant-view{min-height:0;flex:1;display:flex;flex-direction:column}.ac-assistant-view[hidden]{display:none}
.ac-assistant-section-head{padding:17px 18px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.ac-assistant-section-head>div{display:grid;gap:4px}.ac-assistant-section-head strong{font-size:14px}.ac-assistant-section-head small{font-size:11px;color:var(--muted);line-height:1.4}.ac-assistant-section-head button{border:0;background:transparent;color:var(--petroleum);font-size:11px;font-weight:800;cursor:pointer;padding:2px}
.ac-notification-list{overflow:auto;padding:0 12px 18px;display:grid;gap:7px}
.ac-notification-item{width:100%;border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px;text-align:left;display:grid;grid-template-columns:9px 1fr;gap:10px;cursor:default;color:var(--charcoal)}
button.ac-notification-item{cursor:pointer}.ac-notification-item:hover{background:#FBF8F4}.ac-notification-item.is-unread{background:#FFF8F5;border-color:#F2C9BD}
.ac-notification-dot{width:8px;height:8px;border-radius:50%;background:#CFCBC4;margin-top:5px}.ac-notification-item.is-unread .ac-notification-dot{background:var(--coral)}
.ac-notification-copy{display:grid;gap:4px}.ac-notification-copy strong{font-size:12px}.ac-notification-copy span{font-size:11px;line-height:1.45;color:#4E5555}.ac-notification-copy small{font-size:10px;color:var(--muted)}
.ac-notification-empty{margin:auto;padding:40px 20px;text-align:center;display:grid;gap:7px;color:var(--muted)}.ac-notification-empty[hidden]{display:none}.ac-notification-empty span{margin:auto;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#EAF4EE;color:var(--success);font-weight:900}.ac-notification-empty strong{color:var(--charcoal)}.ac-notification-empty small{font-size:11px}
.ac-assistant-chat{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.ac-chat-row{display:flex;flex-direction:column;align-items:flex-start;gap:7px}.ac-chat-row.user{align-items:flex-end}.ac-chat-bubble{max-width:88%;padding:12px 13px;border-radius:14px;background:#FFF5F1;border:1px solid #F0C7BA;font-size:12px;line-height:1.55;white-space:pre-wrap}.ac-chat-row.user .ac-chat-bubble{background:var(--petroleum);border-color:var(--petroleum);color:#fff}.ac-chat-row.thinking{opacity:.66}
.ac-chat-actions{display:flex;flex-wrap:wrap;gap:6px}.ac-chat-action{font-size:11px;font-weight:800;text-decoration:none;padding:8px 10px;border-radius:9px;background:#E8EFED;color:var(--petroleum)}
.ac-quick-questions{display:flex;flex-wrap:wrap;gap:7px}.ac-quick-questions button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 10px;font-size:10px;color:var(--charcoal);cursor:pointer}.ac-quick-questions button:hover{border-color:#A8BDB9;color:var(--petroleum)}
.ac-assistant-form{padding:12px 14px 16px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 44px;gap:8px;background:#FFFDFC}.ac-assistant-form input{height:44px;background:#F7F3EE}.ac-assistant-form button{border:0;border-radius:12px;background:var(--coral);color:#fff;font-size:20px;cursor:pointer}
.ac-notification-toast{position:fixed;right:24px;bottom:94px;width:min(370px,calc(100vw - 30px));background:#FFFDFC;border:1px solid #EDC5BA;border-radius:16px;box-shadow:0 18px 45px rgba(32,34,37,.18);z-index:88;padding:14px 36px 14px 14px;display:grid;grid-template-columns:42px 1fr;gap:11px;opacity:0;transform:translateY(12px);transition:.2s ease}.ac-notification-toast[hidden]{display:none}.ac-notification-toast.show{opacity:1;transform:translateY(0)}
.ac-toast-icon{width:40px;height:40px;border-radius:50%;background:var(--petroleum);color:var(--coral);display:grid;place-items:center}.ac-toast-copy{display:grid;gap:4px}.ac-toast-copy strong{font-size:12px}.ac-toast-copy span{font-size:11px;line-height:1.45;color:#555}.ac-toast-copy button{justify-self:start;border:0;background:transparent;color:var(--petroleum);font-size:11px;font-weight:850;padding:3px 0;cursor:pointer}.ac-toast-close{position:absolute;right:8px;top:7px;border:0;background:transparent;cursor:pointer;color:var(--muted);font-size:18px}
.period-extraordinary-admin{max-width:210px}.period-extraordinary-admin .ac-admin-more-menu{right:0;left:auto;min-width:260px}
.ac-notification-sound-option{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:12px;padding:13px;background:#fff}.ac-notification-sound-option input{width:auto;margin-top:2px}.ac-notification-sound-option span{display:grid;gap:2px}.ac-notification-sound-option strong{font-size:12px}.ac-notification-sound-option small{font-size:11px;color:var(--muted);font-weight:400;line-height:1.4}
@media(max-width:680px){.ac-assistant-fab{right:16px;bottom:16px;width:54px;height:54px}.ac-notification-toast{right:15px;bottom:82px}.ac-assistant-panel{width:100vw}.ac-assistant-header{padding-top:16px}}
.ac-assistant-backdrop{position:fixed;inset:0;background:rgba(18,54,60,.18);backdrop-filter:blur(2px);z-index:89}.ac-assistant-backdrop[hidden]{display:none}

/* =========================================================
   AC Control v1.7.16 — cierre responsive + detalle de calendario
   ========================================================= */
body.ac-assistant-open,
body.deadline-day-modal-open{overflow:hidden}

/* El día y “+N más” abren un detalle completo sin saturar la grilla. */
.calendar-day-trigger,
.calendar-more{
    appearance:none;border:0;background:transparent;font:inherit;color:inherit;padding:0;margin:0;
    text-align:left;cursor:pointer
}
.calendar-day-trigger{align-self:flex-start;border-radius:999px;line-height:1}
.calendar-day-trigger:hover .calendar-day-number,
.calendar-day-trigger:focus-visible .calendar-day-number{text-decoration:underline;text-underline-offset:2px}
.calendar-more{
    font-size:8px;color:var(--petroleum);font-weight:850;border-radius:7px;padding:3px 4px;
    align-self:flex-start
}
.calendar-more:hover,.calendar-more:focus-visible{background:#EEF3F2;outline:none}
.deadline-day-modal-backdrop{
    position:fixed;inset:0;z-index:120;background:rgba(18,54,60,.28);backdrop-filter:blur(2px);
    display:grid;place-items:center;padding:22px
}
.deadline-day-modal-backdrop[hidden]{display:none}
.deadline-day-modal{
    width:min(560px,100%);max-height:min(76vh,720px);background:#FFFDFC;border:1px solid var(--line);
    border-radius:20px;box-shadow:0 24px 70px rgba(20,47,53,.22);display:flex;flex-direction:column;
    overflow:hidden
}
.deadline-day-modal-head{
    display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 20px 16px;
    border-bottom:1px solid var(--line);background:#FFFDFC
}
.deadline-day-modal-head>div{display:grid;gap:4px}.deadline-day-modal-head h2{font-size:22px}
.deadline-day-modal-head small{font-size:11px}
.deadline-day-modal-close{
    appearance:none;border:0;background:#F2EFEA;width:36px;height:36px;border-radius:50%;font-size:23px;
    line-height:1;color:var(--charcoal);cursor:pointer;display:grid;place-items:center;flex:0 0 auto
}
.deadline-day-modal-list{padding:10px 12px 14px;overflow:auto;display:grid;gap:7px}
.deadline-day-modal-item{
    display:grid;grid-template-columns:5px minmax(0,1fr) auto;gap:12px;align-items:center;text-decoration:none;
    color:inherit;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff
}
.deadline-day-modal-item:hover{border-color:#C9C3BA;background:#FCFAF7}
.deadline-day-modal-accent{width:5px;height:100%;min-height:52px;border-radius:999px;background:#D8D4CD}
.deadline-day-modal-accent.event-external{background:#F07B69}
.deadline-day-modal-accent.event-client{background:#E0B45F}
.deadline-day-modal-accent.event-internal{background:#83AD92}
.deadline-day-modal-copy{display:grid;gap:4px;min-width:0}
.deadline-day-modal-copy strong{font-size:13px;line-height:1.35}
.deadline-day-modal-copy small{font-size:10px;color:var(--muted);line-height:1.4}
.deadline-day-modal-labels{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.deadline-day-modal-labels b,.deadline-day-modal-labels span{
    font-size:8px;border-radius:999px;padding:4px 7px;background:#F1EEE8;color:#57534D;font-weight:850
}
.deadline-day-modal-open{font-size:10px;font-weight:900;color:var(--petroleum);white-space:nowrap}

/* Centro AC: viewport dinámico y safe area, especialmente Safari/iPhone. */
@supports(height:100dvh){
    .ac-assistant-panel{height:100dvh}
}
@media(max-width:680px){
    .ac-assistant-fab{
        right:max(14px,env(safe-area-inset-right));
        bottom:max(16px,calc(env(safe-area-inset-bottom) + 10px));
    }
    .ac-notification-toast{
        right:max(12px,env(safe-area-inset-right));
        bottom:max(82px,calc(env(safe-area-inset-bottom) + 76px));
        width:calc(100vw - 24px)
    }
    .ac-assistant-panel{
        top:var(--topbar-height) !important;bottom:0 !important;height:calc(100dvh - var(--topbar-height)) !important;
        max-height:calc(100dvh - var(--topbar-height)) !important;width:100vw !important;max-width:100vw !important;
        border-left:0;overflow:hidden
    }
    /* En móvil la cabecera global ya identifica usuario/app; liberamos altura útil. */
    .ac-assistant-header{display:none}
    .ac-assistant-tabs{flex:0 0 auto;padding:8px 9px;gap:6px;background:#FFFDFC}
    .ac-assistant-tabs button{padding:10px 8px}
    .ac-assistant-view{min-height:0;overflow:hidden}
    .ac-assistant-section-head{flex:0 0 auto;padding:14px 14px 10px}
    .ac-notification-list{
        min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 9px max(18px,env(safe-area-inset-bottom))
    }
    .ac-assistant-chat{
        min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 9px 14px
    }
    .ac-chat-bubble{max-width:92%}
    .ac-assistant-form{
        position:sticky;bottom:0;z-index:4;flex:0 0 auto;min-width:0;
        grid-template-columns:minmax(0,1fr) 44px;gap:7px;
        padding:9px max(9px,env(safe-area-inset-right)) max(12px,calc(env(safe-area-inset-bottom) + 8px)) max(9px,env(safe-area-inset-left));
        background:#FFFDFC;box-shadow:0 -8px 24px rgba(255,253,252,.96)
    }
    .ac-assistant-form input{
        min-width:0;width:100%;height:46px;font-size:16px !important;line-height:1.2;padding:11px 12px
    }
    .ac-assistant-form button{width:44px;height:46px;padding:0}
    .ac-assistant-backdrop{inset:var(--topbar-height) 0 0}
}

/* Detalle de fecha como bottom sheet en móvil. */
@media(max-width:680px){
    .deadline-day-modal-backdrop{place-items:end center;padding:0}
    .deadline-day-modal{
        width:100%;max-width:none;max-height:76dvh;border-radius:20px 20px 0 0;border-bottom:0;
        padding-bottom:env(safe-area-inset-bottom)
    }
    .deadline-day-modal-head{padding:16px 15px 13px}
    .deadline-day-modal-head h2{font-size:20px}
    .deadline-day-modal-list{padding:9px 9px 14px}
    .deadline-day-modal-item{grid-template-columns:5px minmax(0,1fr);padding:11px 10px}
    .deadline-day-modal-open{grid-column:2;justify-self:start}
    .calendar-more{font-size:7px;padding:2px 3px}
}
@media(max-width:600px){
    body[data-sidebar-default="collapsed"] .app-layout{width:100% !important;min-width:0 !important}
    body[data-sidebar-default="collapsed"] .main-content{
        width:100% !important;max-width:100% !important;min-width:0 !important;
        padding:14px 10px !important;overflow-x:hidden !important
    }
}


/* =========================================================
   AC Control v1.7.17 — corrección final de modo foco en móvil
   =========================================================
   Las páginas de tarea usan `sidebar-collapsed` como modo foco en escritorio.
   En móvil el sidebar es un drawer y esa clase no puede crear una columna 0px.
*/
@media(max-width:900px){
    body.sidebar-collapsed .app-layout,
    body[data-sidebar-default="collapsed"] .app-layout{
        display:grid !important;
        grid-template-columns:minmax(0,1fr) !important;
        width:100% !important;
        min-width:0 !important;
    }
    body.sidebar-collapsed .main-content,
    body[data-sidebar-default="collapsed"] .main-content{
        grid-column:1 !important;
        grid-row:1 !important;
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        margin:0 !important;
    }
    body.sidebar-collapsed .sidebar,
    body[data-sidebar-default="collapsed"] .sidebar{
        transform:translateX(-102%) !important;
        opacity:1 !important;
        pointer-events:auto !important;
    }
}

/* =========================================================
   AC Control v1.7.19 — consolidado tramo final UX operativa
   ========================================================= */

/* Asistente AC: burbuja propia, simple y reconocible. */
.ac-assistant-chatmark{
    position:relative;width:31px;height:24px;border-radius:13px 13px 13px 8px;
    background:#FFF9F0;display:flex;align-items:center;justify-content:center;gap:4px;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)
}
.ac-assistant-chatmark:after{
    content:"";position:absolute;left:4px;bottom:-4px;width:9px;height:9px;background:#FFF9F0;
    clip-path:polygon(0 0,100% 0,0 100%)
}
.ac-assistant-chatmark i{
    position:relative;z-index:1;display:block;width:4px;height:4px;border-radius:50%;background:var(--petroleum)
}
.ac-assistant-mini-chat{background:var(--petroleum);display:grid;place-items:center}
.ac-assistant-mini-chat .ac-assistant-chatmark{transform:scale(.73)}

/* Supervisión: una lectura por cliente/periodo, sin microtablas de equipo. */
.supervision-board-v2{margin-top:18px}
.supervision-board-heading-v2{align-items:end;gap:18px}
.supervision-kpi-grid{gap:14px}
.supervision-kpi-card{min-height:128px;padding:22px!important;box-shadow:none}
.supervision-kpi-card .supervision-kpi-icon{width:46px;height:46px}
.supervision-kpi-copy strong{font-size:29px}
.supervision-period-list-v2{gap:12px}
.supervision-period-card-v3{
    border:1px solid var(--line);border-radius:16px;background:#fff;display:grid;
    grid-template-columns:minmax(250px,1.15fr) minmax(340px,1.45fr) minmax(180px,.62fr);
    overflow:hidden;min-height:142px;transition:border-color .15s ease,box-shadow .15s ease
}
.supervision-period-card-v3:hover{border-color:#C9D8D5;box-shadow:0 8px 24px rgba(18,54,60,.05)}
.supervision-period-card-v3.needs-attention{border-color:#E8C6BC}
.supervision-simple-main{padding:19px 20px;display:grid;align-content:space-between;gap:20px;border-right:1px solid #EEEAE4}
.supervision-simple-identity{display:grid;gap:7px}.supervision-simple-identity h3{margin:0;font-size:19px}
.supervision-period-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.supervision-period-title>span{font-size:10px;color:var(--muted)}
.supervision-client-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.supervision-client-line>strong{font-size:12px}
.supervision-alert-badge{font-size:8px;padding:5px 8px;border-radius:999px;background:#FFF0EC;color:#A83A2F;font-weight:850}
.supervision-simple-progress{display:grid;gap:7px}.supervision-simple-progress-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.supervision-simple-progress-head strong{font-size:14px}.supervision-simple-progress-head span{font-size:9px;color:var(--muted)}
.supervision-simple-status{padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-content:center;border-right:1px solid #EEEAE4}
.supervision-simple-stat{min-height:56px;border:1px solid #ECE8E2;border-radius:12px;background:#FCFBF8;padding:10px 11px;display:grid;gap:4px;align-content:center}
.supervision-simple-stat span{font-size:8px;color:var(--muted);font-weight:800}.supervision-simple-stat strong{font-size:15px;color:var(--ink)}
.supervision-simple-stat.is-review{background:#F2F7FA;border-color:#D6E3EA}.supervision-simple-stat.is-alert{background:#FFF4F1;border-color:#F2C8BE}
.supervision-simple-actions{padding:18px 16px;display:grid;align-content:center;gap:14px}
.supervision-simple-actions .supervision-next-date{padding-left:0}.supervision-simple-actions .supervision-next-date:before{display:none}
.supervision-simple-actions .supervision-next-date span{font-size:8px}.supervision-simple-actions .supervision-next-date strong{font-size:14px}
.supervision-simple-actions .supervision-open-period{width:100%;min-width:0!important}

/* Nuevo cliente: controles compactos, sin cajas de correo estiradas. */
.client-contact-form,.ac-contact-form{align-items:start}
.client-contact-form>label,.ac-contact-form>label{align-self:start;height:auto}
.client-contact-form input,.ac-contact-form input{height:48px!important;min-height:48px!important;padding-top:0!important;padding-bottom:0!important}
.client-contact-form .inline-check,.ac-contact-form .inline-check{height:auto!important;min-height:0!important}

/* Información de cliente: lectura por bloques y solo datos útiles. */
.client-information-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important}
.client-information-grid-v2 .information-section-card{padding:18px;border-radius:16px;background:#fff;box-shadow:none}
.client-information-grid-v2 .info-company-card{padding:20px}
.client-info-group{display:grid;gap:11px;padding-top:15px;margin-top:15px;border-top:1px solid #EEEAE4}
.client-info-group:first-of-type{padding-top:4px;margin-top:2px;border-top:0}
.client-info-group-title{font-size:10px;letter-spacing:.02em;color:var(--ink)}
.client-info-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.client-info-tile{min-width:0;border:1px solid #ECE8E2;border-radius:11px;background:#FCFBF8;padding:10px 11px;display:grid;gap:4px;align-content:start}
.client-info-tile span,.client-info-wide span,.client-info-stack span{font-size:8px;color:var(--muted);font-weight:750}
.client-info-tile strong,.client-info-wide strong,.client-info-stack strong{font-size:10px;overflow-wrap:anywhere}
.client-info-wide{display:grid;gap:4px;padding:9px 1px;border-bottom:1px solid #F0ECE7}.client-info-wide:last-child{border-bottom:0}
.client-info-wide.subtle strong{font-weight:650}
.client-legal-rep-v2{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:11px 12px;border-radius:11px;background:#F7F4EF}
.client-legal-rep-v2 strong{font-size:10px}.client-legal-rep-v2 span{font-size:8px;color:var(--muted);text-align:right}
.contact-ac-primary{display:flex;align-items:center;gap:11px;padding:11px 0 14px;border-bottom:1px solid #EEEAE4;margin-bottom:5px}
.contact-ac-avatar{width:42px;height:42px;border-radius:50%;background:#E9F1EF;color:var(--petroleum);display:grid;place-items:center;font-weight:900}
.contact-ac-primary>div:last-child{display:grid;gap:3px}.contact-ac-primary strong{font-size:11px}.contact-ac-primary span{font-size:9px;color:var(--muted)}
.client-info-stack{display:grid}.client-info-stack>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #EEEAE4}.client-info-stack>div:last-child{border-bottom:0}

/* Auditoría: filtros alineados y legibles sin crear una sábana. */
.audit-filter-panel{padding:18px 20px}
.audit-filter-form-v12{grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px 14px;align-items:end}
.audit-filter-form-v12 label{gap:6px}.audit-filter-form-v12 label>span{font-size:8px;letter-spacing:.04em}
.audit-filter-form-v12 input,.audit-filter-form-v12 select{height:46px}
.audit-filter-form-v12 .audit-search-field{grid-column:span 2}
.audit-filter-form-v12 .audit-filter-actions{grid-column:span 2;justify-content:flex-end;align-self:end;margin:0}
.audit-timeline-panel{padding:20px 22px}.audit-event{padding:14px 4px;grid-template-columns:38px minmax(0,1fr) auto;gap:12px}

@media(max-width:1180px){
    .supervision-period-card-v3{grid-template-columns:minmax(230px,1fr) minmax(300px,1.2fr)}
    .supervision-simple-status{border-right:0}.supervision-simple-actions{grid-column:1/-1;border-top:1px solid #EEEAE4;grid-template-columns:1fr 150px;align-items:center}
    .client-info-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
    .supervision-period-card-v3{grid-template-columns:1fr}
    .supervision-simple-main,.supervision-simple-status{border-right:0;border-bottom:1px solid #EEEAE4}
    .supervision-simple-status{grid-template-columns:repeat(3,minmax(0,1fr))}
    .supervision-simple-actions{grid-column:auto;border-top:0;grid-template-columns:1fr 145px}
    .client-information-grid-v2{grid-template-columns:1fr}.client-information-grid-v2 .span-2{grid-column:auto}
    .audit-filter-form-v12{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-filter-form-v12 .audit-search-field,.audit-filter-form-v12 .audit-filter-actions{grid-column:span 2}
}
@media(max-width:560px){
    .supervision-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.supervision-kpi-card{min-height:105px;padding:14px!important;display:block}.supervision-kpi-icon{display:none!important}.supervision-kpi-copy strong{font-size:25px}
    .supervision-simple-status{grid-template-columns:repeat(2,minmax(0,1fr))}.supervision-simple-actions{grid-template-columns:1fr}.supervision-open-period{width:100%}
    .client-info-tile-grid{grid-template-columns:1fr}.client-legal-rep-v2{display:grid}.client-legal-rep-v2 span{text-align:left}
    .client-info-stack>div{display:grid;gap:3px}
    .audit-filter-form-v12{grid-template-columns:1fr}.audit-filter-form-v12 .audit-search-field,.audit-filter-form-v12 .audit-filter-actions{grid-column:auto}.audit-filter-form-v12 .audit-filter-actions>*{flex:1}
}

.ac-toast-icon .ac-assistant-chatmark{transform:scale(.68)}

/* =============================================================
   AC Control v1.7.19.2
   Mi trabajo > Supervisión · compactación visual SOLO PC
   - Mantiene intacto el responsive móvil aprobado (<= 820px).
   - Corrige el salto a dos filas que hacía demasiado altas las tarjetas
     en PC/portátiles de ancho medio.
   ============================================================= */
@media (min-width:821px){
    .supervision-period-list-v2{gap:10px}

    .supervision-period-card-v3{
        grid-template-columns:minmax(285px,1.22fr) minmax(300px,1fr) minmax(150px,.52fr);
        min-height:112px;
        border-radius:15px;
        align-items:stretch
    }

    .supervision-simple-main{
        padding:13px 16px;
        gap:10px;
        align-content:space-between;
        border-right:1px solid #EEEAE4;
        border-bottom:0
    }

    .supervision-simple-identity{gap:4px}
    .supervision-client-line{gap:7px;margin-bottom:0}
    .supervision-client-line>strong{font-size:11.5px}
    .supervision-alert-badge{font-size:7.5px;padding:4px 7px}

    .supervision-period-title{gap:8px}
    .supervision-period-title h3{font-size:17px;line-height:1.1}
    .supervision-period-title>span{font-size:9px}

    .supervision-simple-progress{gap:5px}
    .supervision-simple-progress-head{gap:8px}
    .supervision-simple-progress-head strong{font-size:13px}
    .supervision-simple-progress-head span{font-size:8.5px}
    .supervision-simple-progress .progress-track{height:5px}

    .supervision-simple-status{
        padding:12px;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:7px;
        align-content:center;
        border-right:1px solid #EEEAE4;
        border-bottom:0
    }

    .supervision-simple-stat{
        min-height:46px;
        padding:8px 9px;
        border-radius:10px;
        gap:3px
    }
    .supervision-simple-stat span{font-size:7.5px;line-height:1.15}
    .supervision-simple-stat strong{font-size:14px;line-height:1}

    .supervision-simple-actions{
        grid-column:auto;
        border-top:0;
        padding:12px 14px;
        display:flex;
        flex-direction:column;
        justify-content:center;
        gap:9px;
        min-width:0
    }

    .supervision-simple-actions .supervision-next-date{gap:2px}
    .supervision-simple-actions .supervision-next-date span{font-size:7.5px}
    .supervision-simple-actions .supervision-next-date strong{font-size:12.5px}
    .supervision-simple-actions .supervision-open-period{
        width:100%;
        min-width:0!important;
        min-height:38px;
        padding:8px 10px!important;
        justify-content:center!important
    }
}

/* Portátiles / PC estrecho: sigue compacto, sin convertir Acciones en una fila completa. */
@media (min-width:821px) and (max-width:1040px){
    .supervision-period-card-v3{
        grid-template-columns:minmax(245px,1.08fr) minmax(275px,1fr) minmax(140px,.52fr)
    }
    .supervision-simple-main{padding:12px 14px}
    .supervision-simple-status{padding:10px;gap:6px}
    .supervision-simple-stat{min-height:44px;padding:7px 8px}
    .supervision-simple-actions{padding:10px 11px}
}

/* =============================================================
   AC Control v1.7.19.3
   Mi trabajo > Supervisión · implementación del mockup aprobado PC
   - Título único: Clientes y periodos.
   - Búsqueda + filtro en la misma línea del encabezado.
   - Filas horizontales más compactas, con progreso en paralelo.
   - Móvil/iPhone <= 820 px conserva el responsive aprobado.
   ============================================================= */
@media (min-width:821px){
    .supervision-board-v2{
        margin-top:20px;
    }

    .supervision-board-heading-v2{
        display:grid;
        grid-template-columns:minmax(260px,1fr) auto;
        align-items:end;
        column-gap:22px;
        row-gap:8px;
        padding:0 2px 8px;
    }
    .supervision-section-copy{
        min-width:0;
    }
    .supervision-board-heading-v2 .supervision-section-copy h2{
        margin:0 0 4px;
        font-size:20px;
        line-height:1.15;
        letter-spacing:-.025em;
    }
    .supervision-board-heading-v2 .supervision-section-copy p{
        margin:0;
        font-size:12px;
        line-height:1.35;
        color:var(--muted);
    }
    .supervision-board-heading-v2 .supervision-toolbar{
        margin:0;
        justify-self:end;
        align-self:end;
        display:flex;
        align-items:center;
        gap:10px;
        flex-wrap:nowrap;
    }
    .supervision-board-heading-v2 .supervision-search-box{
        width:238px;
        min-width:238px;
        height:42px;
    }
    .supervision-board-heading-v2 .supervision-period-filter{
        width:218px;
        min-width:218px;
        height:42px;
    }
    .supervision-board-heading-v2 .supervision-search-box input,
    .supervision-board-heading-v2 .supervision-period-filter select{
        height:40px;
        min-height:40px;
        font-size:11px;
    }

    .supervision-period-list-v2{
        gap:8px;
    }
    .supervision-period-card-v3{
        grid-template-columns:minmax(440px,1.55fr) minmax(300px,.95fr) minmax(168px,.48fr);
        min-height:94px;
        border-radius:13px;
    }
    .supervision-simple-main{
        display:grid;
        grid-template-columns:minmax(180px,.84fr) minmax(190px,1fr);
        align-items:center;
        align-content:center;
        gap:18px;
        padding:11px 16px;
    }
    .supervision-simple-identity{
        align-self:center;
        gap:4px;
    }
    .supervision-client-line{
        gap:6px;
    }
    .supervision-client-line>strong{
        font-size:11px;
        line-height:1.2;
    }
    .supervision-client-line .mini-pill{
        font-size:7px;
        padding:4px 6px;
    }
    .supervision-alert-badge{
        font-size:7px;
        padding:4px 6px;
    }
    .supervision-period-title{
        gap:7px;
    }
    .supervision-period-title h3{
        font-size:16px;
        line-height:1.12;
    }
    .supervision-period-title>span{
        font-size:8.5px;
        line-height:1.2;
    }

    .supervision-simple-progress{
        align-self:center;
        gap:5px;
        min-width:0;
    }
    .supervision-simple-progress-head{
        gap:8px;
        align-items:baseline;
    }
    .supervision-simple-progress-head strong{
        font-size:13px;
        flex:0 0 auto;
    }
    .supervision-simple-progress-head span{
        font-size:8px;
        line-height:1.2;
        text-align:right;
    }
    .supervision-simple-progress .progress-track{
        height:5px;
    }

    .supervision-simple-status{
        padding:10px 11px;
        gap:7px;
        grid-template-columns:repeat(3,minmax(0,1fr));
        align-content:center;
    }
    .supervision-simple-stat{
        min-height:48px;
        padding:8px 9px;
        border-radius:10px;
        gap:3px;
    }
    .supervision-simple-stat span{
        font-size:7.2px;
        line-height:1.1;
    }
    .supervision-simple-stat strong{
        font-size:13.5px;
        line-height:1;
    }

    .supervision-simple-actions{
        padding:10px 12px;
        gap:7px;
        justify-content:center;
    }
    .supervision-simple-actions .supervision-next-date{
        display:grid;
        gap:1px;
    }
    .supervision-simple-actions .supervision-next-date span{
        font-size:7px;
    }
    .supervision-simple-actions .supervision-next-date strong{
        font-size:12px;
        line-height:1.05;
    }
    .supervision-simple-actions .supervision-open-period{
        min-height:34px;
        padding:7px 9px!important;
        border-radius:9px;
        font-size:10px!important;
    }
}

/* Escritorio medio: conserva el encabezado en una línea y las tarjetas compactas. */
@media (min-width:821px) and (max-width:1180px){
    .supervision-board-heading-v2{
        grid-template-columns:minmax(230px,1fr) auto;
        column-gap:14px;
    }
    .supervision-board-heading-v2 .supervision-search-box{
        width:205px;
        min-width:205px;
    }
    .supervision-board-heading-v2 .supervision-period-filter{
        width:190px;
        min-width:190px;
    }
    .supervision-period-card-v3{
        grid-template-columns:minmax(390px,1.45fr) minmax(270px,1fr) minmax(145px,.46fr);
    }
    .supervision-simple-main{
        grid-template-columns:minmax(165px,.82fr) minmax(175px,1fr);
        gap:13px;
        padding:10px 13px;
    }
    .supervision-simple-status{
        padding:9px;
        gap:5px;
    }
    .supervision-simple-stat{
        padding:7px;
    }
    .supervision-simple-actions{
        padding:9px 10px;
    }
}

/* En móvil se conserva el patrón aprobado: encabezado apilado y tarjetas responsivas. */
@media (max-width:820px){
    .supervision-section-copy h2{margin:0 0 4px}
    .supervision-section-copy p{margin:0}
}

/* AC Control v1.7.19.4 — Supervisión: respetar ocultamiento de filas filtradas.
   La vista usa display:grid en escritorio; por eso reforzamos [hidden]
   para que el buscador y el selector de periodo oculten realmente las filas. */
[data-supervision-card][hidden] {
    display: none !important;
}

/* ============================================================
   AC Control v1.7.19.9 — Mi trabajo · cartera por función
   Mockup aprobado: compacto, sin duplicar cronograma ni tareas.
   ============================================================ */
.role-work-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin:4px 0 28px;
}
.role-summary-card{
  min-height:122px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 24px;
  border:1px solid #e7e1dc;
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(18,55,61,.035);
}
.role-summary-card>div:last-child{display:grid;gap:2px}
.role-summary-card span{font-size:13px;font-weight:750;color:#4b5558}
.role-summary-card strong{font-size:30px;line-height:1.05;color:#102326}
.role-summary-card small{font-size:12px;color:#7d8587}
.role-summary-icon{
  width:54px;height:54px;flex:0 0 54px;border-radius:18px;
  display:grid;place-items:center;background:#eef7f5;color:#196f68;
}
.role-summary-icon svg{width:27px;height:27px}
.role-summary-icon-pending{background:#fff1ee;color:#e75949}
.role-summary-icon-review{background:#fff6e7;color:#c78324}

.role-client-board{
  border:0;
  background:transparent;
  margin-top:2px;
}
.role-client-board-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}
.role-client-board-head h2{margin:0 0 4px;font-size:22px;color:#142428}
.role-client-board-head p{margin:0;color:#7b8587;font-size:14px}
.role-client-toolbar{display:flex;align-items:center;gap:10px;min-width:min(480px,46vw)}
.role-client-search,.role-period-select{display:block;position:relative}
.role-client-search{flex:1}
.role-client-search>span{position:absolute;left:14px;top:50%;transform:translateY(-52%);font-size:22px;color:#778386;pointer-events:none}
.role-client-search input,.role-period-select select{
  width:100%;height:46px;border:1px solid #ddd8d3;border-radius:12px;background:#fff;
  padding:0 14px;font:inherit;color:#273638;outline:none;
}
.role-client-search input{padding-left:42px}
.role-period-select{width:190px}
.role-client-search input:focus,.role-period-select select:focus{border-color:#8faeaa;box-shadow:0 0 0 3px rgba(29,105,100,.08)}

.role-client-list{display:grid;gap:10px}
.role-client-row{
  display:grid;
  grid-template-columns:minmax(210px,1.35fr) minmax(185px,1.45fr) minmax(92px,.62fr) minmax(92px,.62fr) minmax(100px,.68fr) minmax(112px,.72fr);
  align-items:center;
  min-height:116px;
  padding:18px 18px 18px 20px;
  border:1px solid #e7e2dd;
  border-radius:17px;
  background:#fff;
  box-shadow:0 5px 16px rgba(18,55,61,.025);
}
.role-client-row[hidden]{display:none!important}
.role-client-row>div+div{border-left:1px solid #eee9e5;padding-left:18px}
.role-client-identity{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;row-gap:6px;padding-right:18px}
.role-client-identity>strong{grid-column:1/-1;font-size:17px;color:#133b42}
.role-client-identity>small{grid-column:1/-1;color:#6f7b7d;font-size:12px;line-height:1.35}
.role-client-badge{
  width:max-content;max-width:100%;padding:4px 9px;border-radius:7px;
  font-size:11px;font-weight:800;line-height:1.1;background:#f2f4f4;color:#4a585a;
}
.role-client-badge-encargado{background:#eaf6ed;color:#27733c}
.role-client-badge-revisor{background:#eef5ef;color:#397245}
.role-client-badge-colaborador{background:#f3eff8;color:#705a89}
.role-client-badge-administrador{background:#edf4f5;color:#315f65}
.role-client-period{position:relative;display:grid;gap:5px;padding-right:18px}
.role-client-period>strong{font-size:14px;color:#28383a}
.role-client-period>span{font-size:11px;color:#738083}
.role-progress-line{height:7px;border-radius:99px;background:#edf0ef;overflow:hidden;margin-top:4px}
.role-progress-line i{display:block;height:100%;border-radius:inherit;background:#4caa67}
.role-client-period>small{font-size:11px;color:#647173;justify-self:end;margin-top:-17px}
.role-client-stat,.role-client-due{display:grid;justify-items:center;gap:2px;text-align:center}
.role-client-stat span,.role-client-due span{font-size:11px;color:#59686b}
.role-client-stat strong,.role-client-due strong{font-size:22px;line-height:1.1;color:#173d43}
.role-client-stat small,.role-client-due small{font-size:11px;color:#818a8c}
.role-client-stat-review strong{color:#bd7618}
.role-client-due strong{font-size:17px;color:#df574b}
.role-client-action{display:flex;justify-content:flex-end}
.role-open-button{min-width:104px;justify-content:center;display:inline-flex;align-items:center;gap:12px;padding:11px 15px!important}
.role-open-button span{font-size:21px;line-height:1}
.role-client-empty,.role-client-no-results{
  padding:28px;border:1px dashed #d9d4cf;border-radius:16px;background:#fff;
  text-align:center;color:#728082;
}
.role-client-empty{display:grid;gap:5px}.role-client-empty strong{color:#243638}
.role-client-no-results{margin-top:10px}

.role-work-note{
  display:flex;align-items:center;gap:12px;max-width:1000px;margin:22px auto 0;
  padding:13px 16px;border:1px solid #d5e6e4;border-radius:13px;background:#f5faf9;color:#34595c;
}
.role-work-note-icon{width:24px;height:24px;border:2px solid #3f8c88;border-radius:50%;display:grid;place-items:center;flex:0 0 24px;font-size:13px;font-weight:900;color:#2b7a75}
.role-work-note>div{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:12px}.role-work-note strong{color:#244b4e}.role-work-note span{color:#677779}

@media (max-width:1180px){
  .role-client-row{grid-template-columns:minmax(200px,1.25fr) minmax(180px,1.3fr) repeat(2,minmax(82px,.55fr)) minmax(95px,.62fr)}
  .role-client-action{grid-column:1/-1;border-left:0!important;border-top:1px solid #eee9e5;margin-top:12px;padding:12px 0 0!important;justify-content:flex-end}
}
@media (max-width:900px){
  .role-work-summary{grid-template-columns:1fr;gap:10px}
  .role-summary-card{min-height:94px;padding:16px 18px}
  .role-client-board-head{align-items:stretch;flex-direction:column}
  .role-client-toolbar{min-width:0;width:100%}
  .role-client-row{grid-template-columns:1fr 1fr;gap:0;padding:16px}
  .role-client-row>div{padding:12px!important;border-left:0!important}
  .role-client-row>div:nth-child(even){border-left:1px solid #eee9e5!important}
  .role-client-identity,.role-client-period{border-bottom:1px solid #eee9e5}
  .role-client-action{grid-column:1/-1;border-left:0!important;border-top:1px solid #eee9e5;justify-content:stretch}
  .role-open-button{width:100%}
}
@media (max-width:620px){
  .role-client-toolbar{display:grid;grid-template-columns:1fr}
  .role-period-select{width:100%}
  .role-client-row{grid-template-columns:1fr}
  .role-client-row>div,.role-client-row>div:nth-child(even){border-left:0!important;border-bottom:1px solid #eee9e5!important;padding:12px 4px!important}
  .role-client-row>div:last-child{border-bottom:0!important}
  .role-client-stat,.role-client-due{justify-items:start;text-align:left;grid-template-columns:1fr auto;align-items:center}
  .role-client-stat small,.role-client-due small{grid-column:1/-1}
  .role-work-note{align-items:flex-start}
}


/* ============================================================
   AC Control v1.7.19.10 — Separación final Mi trabajo / Supervisión
   Mi trabajo vuelve a su vista operativa anterior.
   Supervisión adopta el mockup compacto por cliente y periodo.
   ============================================================ */
.supervision-role-summary{margin-top:4px}
.role-summary-icon-attention{background:#fff6e7;color:#c78324}
.supervision-role-board{margin-top:2px}
.supervision-role-row.needs-attention{border-color:#efc8c0}
.supervision-role-attention{
  width:max-content;padding:4px 8px;border-radius:7px;background:#fff0ed;color:#c94d40;
  font-size:10px;font-weight:850;line-height:1.1;
}
.supervision-role-row .role-client-period>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:900px){
  .supervision-role-row .role-client-identity{align-content:start}
}
