/* PGO|SN v5.13: shared sizing, readable operation and accessible feedback. */
:root{--pgo-body-size:1rem;--pgo-label-size:.875rem;--pgo-meta-size:.8125rem;--pgo-control-height:44px;--pgo-radius:12px;--pgo-radius-sm:9px;--portal-control:44px;--portal-radius:12px;--portal-shadow:0 2px 12px #18203308}
body{font-size:var(--pgo-body-size)}
.dashboard{padding-top:22px}.welcome-row,.installation-front-hero,.postit-front-page>header{min-height:82px}.welcome-row h1,.installation-front-hero h1,.postit-front-page h1{font-size:clamp(1.55rem,2.4vw,2rem);line-height:1.2;letter-spacing:-.025em;margin:10px 0 6px}
.welcome-row p,.installation-front-hero p,.postit-front-page p{font-size:.875rem;line-height:1.5}
.welcome-module-switch{flex-wrap:wrap;gap:8px}.welcome-module-switch button{min-height:44px;font-size:.875rem;letter-spacing:0;font-weight:750;padding:8px 12px;border-radius:8px}.welcome-module-switch button.active{background:var(--pgo-primary-soft,#efedff);color:var(--pgo-primary,#5b50c8)}.welcome-module-switch>span{display:none}
.stats-grid,.installation-front-stats{margin:16px 0;gap:12px}.stat-card,.installation-front-stats button{min-height:86px;padding:14px 16px;box-shadow:none}.stat-card strong,.installation-front-stats strong{font-size:1.75rem}.stat-card span,.stat-card small,.installation-front-stats button span{font-size:.875rem}.installation-front-stats button small{font-size:.8125rem}
.board-heading{padding:18px}.board-tools{gap:12px}.search-box input,.filter-tabs button,.network-period-filter select,.network-crew-filter select{font-size:.875rem}.filter-tabs{flex-wrap:wrap;height:auto}.filter-tabs button{min-height:40px}
.app-menu-label,.portal-section-kicker,.admin-workspace .dialog>header .eyebrow,.admin-sidebar small,.office-sidebar small{font-size:.8125rem;letter-spacing:.035em}
.primary-button,.secondary-button,.ghost-button,.danger-button,.new-task-button{min-height:44px;font-size:.875rem;border-radius:9px;line-height:1.3}.dialog label,.dialog input,.dialog textarea,.dialog select{font-size:.9375rem}.dialog input,.dialog select{min-height:44px}.dialog textarea{line-height:1.5}.dialog h2{line-height:1.2}.close-button{min-width:44px;min-height:44px}
.task-card h3,.task-title{font-size:1rem;line-height:1.4}.task-card small,.task-meta,.task-card .badge,.task-card .priority{font-size:.8125rem}.installation-front-list>button{padding:16px 20px;min-height:88px}.installation-front-list>button:hover{padding-left:20px}.installation-front-list small,.installation-front-list em{font-size:.8125rem}.installation-state{font-size:.875rem}.installation-front-list strong{font-size:1rem}
.admin-home-header,.office-home-header{min-height:110px;padding:22px!important}.admin-home-header h2{font-size:1.75rem}.office-home-menu .admin-menu-card{min-height:100px}
.pgo-confirm{width:min(480px,calc(100vw - 32px));padding:26px;border:1px solid var(--pgo-line,#dfe3ea);border-radius:16px;background:var(--pgo-surface,#fff);color:var(--pgo-ink,#1c2030);box-shadow:0 20px 80px #0004}.pgo-confirm::backdrop{background:#0b152299}.pgo-confirm h2{margin:0 0 12px;font-size:1.35rem}.pgo-confirm p{font-size:1rem;line-height:1.6;white-space:pre-line}.pgo-confirm textarea{box-sizing:border-box;width:100%;min-height:110px;padding:12px;border:1px solid var(--pgo-line,#ccc);border-radius:8px;color:inherit;background:inherit;font:inherit}.pgo-confirm footer{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.pgo-confirm button{padding:10px 16px;min-height:44px;border:1px solid var(--pgo-line,#ddd);border-radius:9px;font:inherit;cursor:pointer}.pgo-confirm .primary-button{background:#5b50c8;color:white}.pgo-confirm .danger-button{background:#a42d3e;color:white}
.pgo-save-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:100000;max-width:min(660px,calc(100vw - 32px));box-sizing:border-box;padding:12px 18px;border-radius:12px;background:#182638;color:#fff;box-shadow:0 8px 32px #0003;display:flex;gap:12px;align-items:center;font-size:.9375rem;line-height:1.45}.pgo-save-status.success{background:#146247}.pgo-save-status.error{background:#832f3f}.pgo-save-status button{font:inherit;white-space:nowrap;border:1px solid #ffffff80;background:transparent;color:inherit;border-radius:7px;padding:8px;cursor:pointer}
.pgo-attention-entry{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:14px 18px;margin:0 0 16px;border:1px solid var(--pgo-line,#dfe3ea);border-radius:12px;background:var(--pgo-surface,#fff);color:var(--pgo-ink,#1c2030);font:inherit;text-align:left;cursor:pointer}.pgo-attention-entry small{font-size:.875rem;color:var(--pgo-muted,#596579)}.attention-list{display:grid;gap:10px;padding:20px}.attention-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid var(--pgo-line,#dfe3ea);border-radius:10px;text-align:left;background:var(--pgo-surface,#fff);color:var(--pgo-ink,#1c2030);font:inherit;cursor:pointer}.attention-row span{display:grid;gap:5px;min-width:0}.attention-row strong{overflow-wrap:anywhere}.attention-row small{font-size:.875rem;color:var(--pgo-muted,#596579)}.attention-row b{font-size:.875rem;color:var(--pgo-primary,#5b50c8)}.attention-help{margin:0;padding:16px 20px;font-size:.875rem;line-height:1.5}.attention-filters{padding:0 20px;display:flex;gap:10px;flex-wrap:wrap}.attention-filters select{padding:10px;min-height:44px;font:inherit}
.command-warning{padding:12px 18px;color:#8b3c13;background:#fff3e6;font-size:.875rem}.command-palette input{font-size:1rem}.command-group h3,.command-group small{font-size:.8125rem}
.pgo-attention-entry>span:first-child{display:grid;gap:4px}.task-card h3{font-size:1rem!important}.task-card .task-address,.task-card .task-description,.task-card .task-number,.task-card footer,.task-card footer small{font-size:.8125rem;line-height:1.5}.stat-card .stat-info p,.stat-card p,.kanban-column>header h3,.task-list-item small{font-size:.8125rem}.task-card time{white-space:normal}.topbar [data-global-search]{min-width:64px;min-height:44px}
.health-incident{padding:16px;border:1px solid #385064;border-radius:10px;margin-bottom:12px}.health-incident h3{font-size:1rem;margin:0 0 8px}.health-incident p,.health-incident summary,.health-incident small{font-size:.875rem;line-height:1.5}.health-incident pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8125rem}.health-incident summary{cursor:pointer;padding:8px 0}
@media(max-width:700px){.dashboard{padding:16px 14px 48px}.welcome-row{align-items:flex-start;gap:12px;flex-wrap:wrap}.welcome-module-switch button{padding:8px;font-size:.875rem}.stats-grid,.installation-front-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.board-heading{padding:14px}.board-tools,.search-box{width:100%}.installation-front-board form{grid-template-columns:1fr!important}.pgo-attention-entry{align-items:flex-start}.pgo-attention-entry small{display:block;margin-top:4px}.attention-row{align-items:flex-start}.pgo-save-status{flex-direction:column;align-items:stretch;bottom:12px}.dialog{max-width:calc(100vw - 20px)}.pgo-confirm{padding:20px}.pgo-confirm footer{flex-wrap:wrap}.pgo-confirm button{flex:1}.installation-front-list>button{gap:10px;padding:14px}.installation-front-list>button>span{min-width:0;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.site-footer,.site-footer a{font-size:.8125rem}.brand-subtitle{font-size:.75rem}.tech-step-help,.tech-card small{font-size:.875rem}.pgo-confirm button:focus-visible{outline:3px solid #299ccc;outline-offset:3px}
.pgo-confirm label{display:grid;gap:6px;margin-top:14px;font-size:.875rem}.pgo-confirm input{min-height:44px;font:inherit;padding:10px;border:1px solid var(--pgo-line,#b7c5d5);border-radius:8px;color:inherit;background:inherit}.pgo-confirm [role=alert]{color:#b43d4b}
/* v5.15: identidad de red, filtros alineados y tarjetas legibles. */

.board-section .board-heading{display:flex;flex-direction:column;align-items:stretch;gap:20px;padding:24px;background:var(--pgo-surface);border-bottom:1px solid var(--pgo-line)}.board-heading .board-title{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%}.board-kicker{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--pgo-muted)}.board-heading h2{font-size:21px;letter-spacing:-.5px;margin:4px 0 0}.board-heading #total-caption{margin:0;font-size:12px;color:var(--pgo-muted);font-weight:400}.board-heading .board-tools{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr)) minmax(210px,1.5fr) minmax(150px,.8fr);align-items:start;gap:16px;width:100%;padding:18px 0 0;border-top:1px solid var(--pgo-line)}.module-general .board-heading .board-tools{grid-template-columns:minmax(170px,1fr) minmax(210px,2fr) minmax(150px,1fr)}.board-tools .network-crew-filter,.board-tools .network-period-filter,.board-status-filter{display:flex;flex-direction:column;align-items:stretch;gap:7px;margin:0;min-width:0;max-width:none;width:auto;flex-wrap:nowrap}.board-tools .network-crew-filter>span,.board-tools .network-period-filter>label,.board-status-filter>span{color:var(--pgo-muted);font-size:12px;font-weight:600;letter-spacing:0}.board-tools select{width:100%;min-width:0;max-width:none;box-sizing:border-box;height:44px;min-height:44px;padding:0 12px;border:1px solid var(--pgo-line);border-radius:8px;background:var(--pgo-surface);color:var(--pgo-ink);font-size:13px;font-weight:500;box-shadow:none}.board-tools #task-period-range{font-size:11px;line-height:1.4;white-space:normal;color:var(--pgo-muted)}.board-tools .search-box{margin-top:23px;min-width:0;width:100%;height:44px;box-sizing:border-box;border-radius:8px;background:var(--pgo-surface-subtle);padding:0 12px}.board-tools .search-box input{font-size:13px;font-weight:400;min-width:0;width:100%}.board-tools .custom-date-range:not(.hidden){display:flex;flex-wrap:wrap;width:100%;gap:6px}.board-tools .custom-date-range input{max-width:100%;min-width:0}.board-tools select:focus-visible,.board-tools input:focus-visible{outline:2px solid #288a9c;outline-offset:2px}
.board-section .task-card{border:1px solid var(--pgo-line);border-radius:13px;padding:18px;box-shadow:0 2px 5px #142c4305;background:var(--pgo-surface);transform:none;overflow:hidden}.board-section .task-card:before{display:none}.board-section .task-card:hover{border-color:#9daeba;box-shadow:0 5px 18px #142c4310;transform:none}.board-section .task-card h4{font-size:15px;line-height:1.45;font-weight:650;margin:15px 0 7px;letter-spacing:-.2px;overflow-wrap:anywhere}.board-section .task-number{font-size:11px;font-weight:600;letter-spacing:.05em;color:var(--pgo-muted)}.board-section .status-badge{font-size:10px;padding:5px 9px;font-weight:600}.board-section .task-card .address{font-size:11px;font-weight:400;line-height:1.6;color:var(--pgo-muted);margin:0 0 12px}.board-section .task-facts{display:flex;flex-direction:column;gap:7px;padding:12px 0;margin:0;border-top:1px solid var(--pgo-line);border-bottom:1px solid var(--pgo-line)}.board-section .task-facts>span{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;background:transparent;padding:0;border-radius:0}.board-section .task-facts small{font-size:11px;font-weight:400;text-transform:none;letter-spacing:0}.board-section .task-facts strong{font-size:11px;font-weight:600}.board-section .task-facts .task-fact-alert{color:#b43d4b}.board-section .task-description{font-size:12px;line-height:1.6;margin:12px 0;color:var(--pgo-muted)}.board-section .task-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;border:0;margin:14px 0;padding:0;font-size:11px}.board-section .task-meta>span{max-width:100%;gap:6px}.board-section .task-meta time{font-size:10px;text-align:left;color:var(--pgo-muted)}.board-section .task-card-bottom{margin-top:12px;padding-top:12px;gap:8px}.board-section .task-card .priority{font-size:10px;font-weight:600;text-transform:none;padding:5px 8px}.board-section .task-card .link-button{font-size:11px;min-height:36px;font-weight:600}.board-section .task-card.is-in-field{background:var(--pgo-surface);border-color:#66a784;box-shadow:inset 0 3px #66a784}
@media(max-width:1000px){.board-heading .board-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.module-general .board-heading .board-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.board-section .board-heading{padding:18px;gap:16px}.board-heading .board-title{align-items:flex-start;flex-direction:column;gap:8px}.board-heading .board-tools,.module-general .board-heading .board-tools{grid-template-columns:minmax(0,1fr)}.board-tools .search-box{margin-top:0}.board-section .task-card{padding:17px}}

.board-heading .board-tools:not(:has(.network-crew-filter)){grid-template-columns:minmax(170px,1fr) minmax(210px,2fr) minmax(150px,1fr)}
html[data-theme="dark"] .board-section .task-facts>span{background:transparent;border:0}html[data-theme="dark"] .board-section .task-facts .task-fact-alert{color:#ff9eaa}
@media(max-width:1000px){.board-heading .board-tools:not(:has(.network-crew-filter)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.board-heading .board-tools:not(:has(.network-crew-filter)){grid-template-columns:minmax(0,1fr)}}

/* v5.18: permisos explicados por acción y nivel de acceso. */
.permission-guide{display:grid;gap:5px;padding:15px 17px;border:1px solid var(--pgo-line,#dfe3ea);border-radius:12px;background:var(--pgo-surface-subtle,#f7f8fb)}
.permission-guide strong{font-size:1rem;color:var(--pgo-ink,#1c2030)}
.permission-guide span{font-size:.875rem;line-height:1.5;color:var(--pgo-muted,#596579)}
.role-permission-group .permission-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px}
.role-permission-group .permission-option{position:relative;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;min-height:68px;padding:13px}
.role-permission-group .permission-option input{margin-top:3px}
.role-permission-group .permission-option>span{display:grid;gap:4px}
.role-permission-group .permission-option b{font-size:.875rem;line-height:1.3;color:var(--pgo-ink,#1c2030)}
.role-permission-group .permission-option small{font-size:.75rem;line-height:1.4;color:var(--pgo-muted,#596579)}
.role-permission-group .permission-option em{padding:3px 6px;border-radius:999px;background:var(--pgo-surface-subtle,#f2f4f7);color:var(--pgo-muted,#596579);font-size:.6875rem;font-style:normal;font-weight:650}
.role-permission-group .permission-option:has(input:checked) em{background:var(--pgo-primary-soft,#efedff);color:var(--pgo-primary,#5b50c8)}
@media(max-width:760px){.role-permission-group .permission-grid{grid-template-columns:1fr}.role-permission-group .permission-option{grid-template-columns:22px minmax(0,1fr)}.role-permission-group .permission-option em{grid-column:2;justify-self:start}}

/* v5.17: logo compacto aprobado. */
.topbar .brand-meme-logo,.brand-toggle,.brand-static{width:auto;height:auto;min-width:129px;padding:0;background:transparent;border:0;transform:none}.topbar .brand{gap:0}.app-menu-brand{gap:0}.pgo-approved-logo{print-color-adjust:exact;-webkit-print-color-adjust:exact}
@media(max-width:420px){.topbar{gap:8px}.topbar-actions{gap:6px}.topbar [data-global-search]{min-width:44px;padding:8px}.app-menu-trigger{padding:8px}}
