@charset "UTF-8";
:root{--ink:#303236;--muted:#707173;--brand:#e53e16;--brand-dark:#b83212;--light:#fff3ee;--line:#e3e3e4;--bg:#f5f5f6;--white:#fff;--amber:#a86c12;--red:#ae4242;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ee7f00;outline-offset:3px}button:disabled{cursor:wait;opacity:.55}h1,h2,h3,p{margin-top:0}h1{font-size:30px;letter-spacing:-1px;margin-bottom:8px;line-height:1.2}h2{font-size:18px;letter-spacing:-.35px;margin-bottom:6px}h3{font-size:15px;margin-bottom:8px}p{line-height:1.65}.muted{color:var(--muted)}.small{font-size:12px}.sidebar{width:234px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column;z-index:2}.brand{display:flex;align-items:center;gap:12px;padding:0 8px;font-size:21px;font-weight:750;letter-spacing:1px}.brand-icon{width:38px;height:42px;border-radius:11px;background:var(--brand);color:white;display:grid;place-items:center;font-size:29px}.brand small{display:block;font-size:8px;letter-spacing:1.5px;color:var(--muted);margin-top:5px}.workspace{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:13px 10px;margin:35px 0 28px;font-size:12px;font-weight:600}.workspace small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.workspace-icon{background:#f2f2f3;border-radius:7px;padding:9px;color:var(--brand)}.nav-label{font-size:10px;color:#707173;letter-spacing:1.5px;margin:0 12px 14px}nav{display:grid;gap:7px}nav a{display:flex;gap:12px;align-items:center;padding:12px;border-radius:8px;color:#646569;font-size:13px}nav a>span:first-child{font-size:20px;width:20px;text-align:center}nav a.active{color:var(--brand-dark);background:var(--light);font-weight:650}.nav-count{margin-left:auto;background:white;border-radius:5px;padding:2px 6px;font-size:11px}.sidebar-foot{margin-top:auto;font-size:12px;color:var(--muted);padding:20px 10px 0;border-top:1px solid var(--line)}.sidebar-foot small{display:block;font-size:10px;margin:8px 0 0 13px;color:#85868a}.live-dot{display:inline-block;height:6px;width:6px;background:#ec7007;border-radius:50%;margin-right:7px}.shell{margin-left:234px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:73px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:12px;color:var(--muted);background:#fff}.topbar strong{font-weight:500;color:var(--ink)}.breadcrumb{margin:0 16px;color:#c7c8ca}.local-tag{font-size:9px;letter-spacing:1px;border:1px solid var(--line);border-radius:5px;padding:6px 9px;color:#707173}main{width:100%;max-width:1500px;margin:0 auto;padding:37px 38px 25px;flex:1}footer{padding:20px 38px;color:#707173;font-size:10px;display:flex;justify-content:space-between}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.7px;color:var(--brand);font-weight:700;margin-bottom:12px}.page-head p{margin-bottom:0;font-size:13px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:7px;padding:11px 16px;background:white;color:var(--ink);font-weight:600;font-size:12px;white-space:nowrap}.btn:hover{background:#f4f4f5}.btn.primary{background:var(--brand);border-color:var(--brand);color:white}.btn.primary:hover{background:var(--brand-dark)}.btn .plus{font-size:20px;line-height:12px;font-weight:400}.btn.small-btn{padding:8px 12px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px 21px}.stat-title{color:var(--muted);font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}.stat-icon{height:27px;width:27px;display:grid;place-items:center;border-radius:7px;background:#f3f3f4;color:#707173;font-size:16px}.stat-value{font-size:32px;font-weight:650;letter-spacing:-1px;margin:11px 0 8px}.stat-note{font-size:10px;color:var(--muted)}.stat.emphasis .stat-value{color:var(--brand)}.stat.alert .stat-value{color:var(--amber)}.panel{background:white;border:1px solid var(--line);border-radius:11px;margin-bottom:24px;overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px 18px}.panel-head p{font-size:12px;margin:5px 0 0;color:var(--muted)}.text-link{font-size:12px;color:var(--brand);font-weight:600;white-space:nowrap}.pipeline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:7px 24px 25px;gap:8px}.stage-tile{padding:13px 8px 11px;border:1px solid var(--line);border-radius:8px;background:#fafafa;text-align:left;min-width:0}.stage-tile:hover{border-color:var(--brand);background:var(--light)}.stage-tile .step{font-size:10px;color:#707173}.stage-tile strong{font-size:23px;display:block;margin:10px 0}.stage-tile .stage-name{font-size:10px;display:block;color:var(--muted);line-height:1.5;min-height:30px;overflow-wrap:anywhere}.stage-line{display:block;height:3px;background:#e3e3e4;margin-top:15px;border-radius:4px}.stage-tile.populated .stage-line{background:var(--brand)}.toolbar{display:flex;gap:12px;padding:0 24px 20px;align-items:center;flex-wrap:wrap}.search{flex:1;min-width:220px}.toolbar input,.toolbar select{padding:10px 12px;font-size:12px;background:#fafafa}.toolbar select{width:auto;max-width:270px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap}th{background:#f4f4f5;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#646569;font-size:9px;letter-spacing:1px;font-weight:600;padding:13px 24px}td{border-bottom:1px solid #ebebed;padding:17px 24px;font-size:12px}tr:last-child td{border-bottom:0}td .project{display:block;font-weight:600;color:var(--ink);margin-bottom:5px;max-width:280px;white-space:normal}td .sub{font-size:10px;color:var(--muted);max-width:280px;overflow:hidden;text-overflow:ellipsis}tbody tr:hover{background:#fafafa}.code{color:var(--brand);font-size:11px;font-weight:600}.badge{display:inline-block;font-size:10px;padding:5px 8px;border-radius:5px;background:var(--light);color:var(--brand-dark);line-height:1.3;max-width:240px;white-space:normal}.badge.neutral{background:#f3f3f4;color:#707173}.badge.amber{background:#fff3de;color:var(--amber)}.badge.red{background:#fceceb;color:var(--red)}.empty{text-align:center;padding:42px 24px 46px}.empty-icon{width:48px;height:48px;display:grid;place-items:center;background:var(--light);color:var(--brand);border-radius:14px;font-size:26px;margin:0 auto 17px}.empty h3{font-size:16px}.empty p{font-size:12px;color:var(--muted);max-width:420px;margin:0 auto 20px}.note-strip{border:1px solid #e3e3e4;background:#f3f3f4;border-radius:8px;padding:15px 18px;display:flex;gap:12px;font-size:12px;color:#646569;line-height:1.6}.note-strip strong{color:#505153}.back{display:inline-block;color:var(--muted);font-size:12px;margin-bottom:22px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:24px}.detail-grid .panel{margin-bottom:24px}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;padding:0 24px 25px}.datum dt{font-size:10px;color:var(--muted);margin-bottom:7px}.datum dd{margin:0;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.datum.wide{grid-column:1/-1}.stage-list{padding:0 24px 18px}.stage-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid #ebebed}.stage-row:last-child{border:0}.stage-number{height:30px;width:30px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--muted);font-size:11px}.stage-row.current .stage-number{background:var(--brand);color:white;border-color:var(--brand)}.stage-info{flex:1;min-width:0}.stage-info strong{font-size:12px;display:block;margin-bottom:5px}.stage-info span{display:block;color:var(--muted);font-size:11px;overflow-wrap:anywhere}.stage-edit{border:0;background:transparent;color:var(--brand);font-size:11px;padding:8px}.history{padding:0 24px 24px}.event{position:relative;border-left:1px solid #e3e3e4;margin-left:5px;padding:0 0 24px 20px}.event:last-child{padding-bottom:0}.event:before{content:"";position:absolute;left:-4px;top:4px;width:7px;height:7px;border-radius:50%;background:#ea620e;box-shadow:0 0 0 4px white}.event h3{font-size:12px;margin-bottom:7px}.event p{font-size:12px;margin:8px 0;white-space:pre-wrap;overflow-wrap:anywhere}.event small{color:var(--muted);font-size:10px;line-height:1.6}.changes{margin:9px 0;padding-left:16px;color:var(--muted);font-size:11px;line-height:1.7;overflow-wrap:anywhere}.guarantee{padding:0 24px 22px}.money-row{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}.guarantee p{font-size:11px;color:var(--muted);margin:15px 0 0}.stages-catalog{display:grid;grid-template-columns:1fr 1fr;gap:18px}.catalog-card{padding:24px;background:white;border:1px solid var(--line);border-radius:10px}.catalog-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}.catalog-card h2{font-size:15px;margin:0}.catalog-card ol{padding-left:20px;color:var(--muted);font-size:12px;line-height:1.9}.catalog-card p{font-size:12px;color:var(--muted);margin-bottom:0}dialog{border:1px solid var(--line);border-radius:14px;padding:0;width:min(720px,calc(100% - 32px));max-height:90vh;box-shadow:0 25px 100px #30323626;color:var(--ink)}dialog::backdrop{background:#30323666;backdrop-filter:blur(3px)}.modal-head{padding:24px 28px 18px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--line)}.modal-head h2{font-size:21px;margin-bottom:6px}.modal-head p{margin:0;color:var(--muted);font-size:12px}.close{background:none;border:0;font-size:25px;color:var(--muted);padding:0 5px}.form-body{padding:24px 28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px}.field{display:block;font-size:11px;font-weight:600;color:#505153}.field.full{grid-column:1/-1}.field span{display:block;margin-bottom:7px}.field small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:6px;line-height:1.5}input,select,textarea{display:block;width:100%;border:1px solid #d9dadd;border-radius:6px;padding:10px 11px;background:#fff;color:var(--ink);font-size:13px}textarea{resize:vertical;min-height:78px}input::placeholder,textarea::placeholder{color:#85868a;font-size:12px}.form-section{grid-column:1/-1;font-size:10px;letter-spacing:1.2px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:10px;margin-top:9px}.modal-actions{padding:18px 28px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#fafafa}.form-error{color:var(--red);font-size:12px;line-height:1.5;margin:15px 0 0}.inline-notice{font-size:11px;color:var(--muted);background:#f4f4f5;padding:12px;border-radius:6px;line-height:1.6;margin-bottom:20px}.loading{padding:70px 10px;text-align:center;color:var(--muted)}#toast{display:none;position:fixed;bottom:26px;left:calc(50% + 100px);transform:translateX(-50%);padding:14px 22px;background:#42464b;color:white;border-radius:9px;box-shadow:0 5px 25px #0002;font-size:12px;z-index:10;max-width:90vw}#toast.visible{display:block}.error-panel{padding:40px;border:1px solid #edd4d4;border-radius:10px;background:#fff}
@media(min-width:1600px){main{padding-top:46px}.pipeline{gap:12px}.stage-tile{padding:16px 13px}}
@media(max-width:1150px){.sidebar{width:200px;padding:28px 14px}.shell{margin-left:200px}main{padding:28px 24px}.topbar{padding:0 24px}.pipeline{grid-template-columns:repeat(4,1fr)}.stage-tile .stage-name{min-height:auto}.cards{gap:10px}.stat{padding:17px 15px}.detail-grid{grid-template-columns:1fr}.stage-tile strong{margin:5px 0}}
@media(max-width:720px){.sidebar{position:static;width:100%;padding:15px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:18px}.brand-icon{height:33px;width:30px;font-size:23px}.brand small{font-size:7px}.workspace,.nav-label,.sidebar-foot{display:none}nav{display:flex;gap:5px;margin-top:16px}nav a{padding:8px;font-size:11px;gap:5px}nav a>span:first-child{font-size:16px}.shell{margin-left:0}.topbar{height:50px;padding:0 20px;font-size:10px}.local-tag{font-size:8px}.breadcrumb{margin:0 8px}main{padding:25px 18px}.page-head{align-items:flex-start;gap:12px;flex-wrap:wrap}h1{font-size:25px}.page-head p{font-size:12px}.cards{grid-template-columns:1fr 1fr}.stat-value{font-size:27px}.stat-title{font-size:11px}.panel-head{padding:20px 18px}.pipeline{padding:0 18px 20px;gap:6px}.stage-tile{padding:10px 6px}.stage-tile .stage-name{font-size:9px}.toolbar{padding:0 18px 18px}.toolbar select{max-width:100%;width:100%}.search{min-width:0}.stages-catalog{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full,.form-section{grid-column:auto}.modal-head,.form-body{padding:20px}.modal-actions{padding:16px 20px}.data-grid{padding:0 18px 20px;gap:18px}.stage-list,.history{padding-left:18px;padding-right:18px}.note-strip{font-size:11px}footer{padding:15px 20px;gap:15px;font-size:9px}#toast{left:50%;width:max-content;max-width:90vw}.text-link{font-size:11px}.local-tag{white-space:nowrap}.topbar{gap:12px}}

/* Navegación por etapa: nombres completos, conteos y espacio para futuras subetapas. */
.sidebar{width:274px;overflow-y:auto;padding-top:24px;padding-bottom:20px}
.shell{margin-left:274px}
.workspace{margin-top:25px;margin-bottom:22px}
.stage-nav-label{margin-top:27px;margin-bottom:12px}
.stage-navigation{gap:5px;margin-bottom:24px}
.stage-navigation .stage-nav-item{gap:9px;padding:10px 9px;min-height:47px;align-items:center}
.stage-navigation .stage-nav-item .stage-nav-number{font-size:10px;width:24px;min-width:24px;height:24px;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;color:#707173}
.stage-navigation .stage-nav-name,.substage-navigation .stage-nav-name{font-size:11px;line-height:1.45;flex:1}
.stage-navigation .nav-count{font-size:10px;min-width:22px;text-align:center;background:#f3f3f4}
.stage-navigation .active .stage-nav-number{background:var(--brand);color:white;border-color:var(--brand)}
.stage-navigation .active .nav-count{background:white;color:var(--brand)}
.stage-nav-item:hover{background:#f4f4f5}
.sidebar-foot{flex-shrink:0}
.substage-placeholder{padding:0 24px 23px;font-size:12px;color:var(--muted);line-height:1.6}
@media(min-width:721px) and (max-width:1150px){.sidebar{width:246px}.shell{margin-left:246px}}
@media(max-width:720px){.sidebar{width:100%;padding:15px 18px;overflow:visible}.shell{margin-left:0}.stage-nav-label{display:block;margin:18px 8px 10px}.stage-navigation{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:4px}.stage-navigation .stage-nav-item{padding:8px 6px;gap:6px;min-height:49px}.stage-navigation .stage-nav-name,.substage-navigation .stage-nav-name{font-size:10px}.stage-navigation .stage-nav-item .stage-nav-number{width:21px;min-width:21px;height:21px;font-size:9px}.topbar{height:auto;min-height:50px;padding-top:10px;padding-bottom:10px}.substage-placeholder{padding-left:18px;padding-right:18px}}
.substage-navigation{margin:4px 0 10px 20px;padding-left:8px;border-left:1px solid #e3e3e4}
.substage-navigation[hidden]{display:none}
.special-nav-header{display:flex;align-items:center;gap:4px}
.special-nav-header>a{flex:1;min-width:0}
.special-nav-header>.nav-group-toggle{margin-right:4px}
.substage-navigation .substage-nav-item{padding:9px 6px;gap:7px;align-items:flex-start;margin:3px 0}
.substage-navigation .substage-nav-item .substage-number{font-size:10px;min-width:13px;width:13px;line-height:17px;color:var(--muted)}
.submenu-hint{display:block;font-size:9px;font-weight:400;color:var(--muted);margin-top:3px}
.substage-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 24px 24px}
.substage-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:8px;padding:15px;font-size:12px;line-height:1.5}
.substage-card:hover{background:var(--light);border-color:var(--brand)}
.substage-card strong{color:var(--brand);font-size:19px}
@media(max-width:720px){.stage-nav-group:has(.substage-navigation:not([hidden])){grid-column:1/-1}.substage-cards{grid-template-columns:1fr;padding:0 18px 20px}.substage-navigation{margin-left:15px}}
.stage-nav-header{display:flex;align-items:center;gap:3px}
.stage-navigation .stage-nav-header .stage-nav-item{flex:1;min-width:0;padding-right:5px;gap:7px}
.stage-toggle{display:grid;place-items:center;flex-shrink:0;width:28px;height:34px;padding:0;border:1px solid var(--line);border-radius:6px;color:var(--brand-dark);background:white;font-size:17px}
.stage-toggle:hover{background:var(--light);border-color:#ec7007}
.stage-toggle[aria-expanded="true"]{background:var(--light)}
.substage-pending{font-size:11px;color:var(--muted);padding:8px 5px;margin:0;line-height:1.5}
.management-nav-label{margin-top:4px}
.management-navigation{margin-bottom:24px}
@media(max-width:720px){.management-nav-label{display:block;margin:20px 8px 10px}.management-navigation{display:grid;grid-template-columns:1fr 1fr;margin-top:0;margin-bottom:0}}
/* Menú lateral compacto. */
.sidebar{padding-top:18px;padding-bottom:14px}
.workspace{margin-top:18px;margin-bottom:16px;padding:10px}
.nav-label{margin-bottom:8px}
.sidebar nav{gap:3px}
.sidebar nav>a{padding-top:8px;padding-bottom:8px}
.stage-nav-label{margin-top:18px;margin-bottom:8px}
.stage-navigation{margin-bottom:16px}
.stage-navigation .stage-nav-header .stage-nav-item{min-height:39px;padding-top:6px;padding-bottom:6px}
.stage-toggle{height:30px}
.substage-navigation{margin-top:2px;margin-bottom:6px}
.substage-navigation .substage-nav-item{padding-top:6px;padding-bottom:6px;margin:1px 0}
.substage-pending{padding-top:5px;padding-bottom:5px}
.management-navigation{margin-bottom:16px}
.sidebar-foot{padding-top:12px}
@media(max-width:720px){.sidebar{padding:12px 16px}.sidebar nav{margin-top:10px}.stage-navigation{margin-top:0!important}.management-nav-label{margin-top:14px;margin-bottom:6px}.management-navigation{margin-top:0!important;margin-bottom:0}}
.itos-table th,.itos-table td{padding:15px 18px}
.itos-table td{white-space:normal;overflow-wrap:anywhere}
.ito-actions{display:flex;gap:7px;flex-wrap:wrap}
.commune-options{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:320px;overflow-y:auto;margin:15px 0;padding:3px}
.commune-option{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:7px;padding:10px;cursor:pointer;min-width:0}
.commune-option:has(input:checked){background:var(--light);border-color:#ec7007}
.commune-option[hidden]{display:none}
.commune-option input{width:16px;height:16px;flex-shrink:0;margin:2px 0 0;accent-color:var(--brand)}
.commune-option strong{display:block;font-size:11px;line-height:1.6}
.commune-option small{display:block;font-size:10px;color:var(--muted);line-height:1.5}
.assignment-preview{background:#f4f4f5;border:1px solid var(--line);border-radius:7px;padding:13px;font-size:12px;line-height:1.6;margin-bottom:17px;max-height:180px;overflow-y:auto}
.assignment-preview p{margin:5px 0 0;color:var(--muted)}
.assignment-preview ul{padding-left:18px;margin-bottom:0}
input[readonly]{background:#f3f3f4;color:#505153}
@media(max-width:720px){.commune-options{grid-template-columns:1fr}.itos-table th,.itos-table td{padding:12px}}

.ensay-selection{margin:0;border:1px solid var(--line);border-radius:8px;padding:14px;min-width:0}
.ensay-selection legend{font-weight:600;padding:0 5px}
.ensay-options{display:grid;gap:8px;margin-top:12px}

.type-description{white-space:pre-wrap;overflow-wrap:anywhere}

.type-picker{position:relative;min-width:0}
.type-picker-toggle{display:flex;justify-content:space-between;gap:12px;align-items:center;width:100%;padding:11px 12px;background:white;border:1px solid var(--line);border-radius:7px;color:inherit;font:inherit;text-align:left;cursor:pointer}
.type-picker-toggle:focus-visible,.type-option:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.type-picker-panel{border:1px solid var(--line);border-radius:8px;background:white;padding:10px;box-shadow:0 8px 22px #3032361a}
.type-picker-panel[hidden]{display:none}
.type-picker-options{max-height:210px;overflow:auto;margin:8px 0}
.type-option{display:block;width:100%;border:0;background:white;text-align:left;padding:10px;border-radius:4px;font:inherit;font-size:12px;cursor:pointer;overflow-wrap:anywhere}
.type-option:hover,.type-option[aria-pressed="true"]{background:var(--light);color:var(--brand)}

/* El expediente aprovecha el ancho de escritorio; otros diálogos conservan su tamaño. */
dialog.permit-modal{width:min(1160px,calc(100% - 40px));max-height:94vh}
.permit-modal .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px}
.permit-modal .field{min-width:0}
.permit-modal .field.full,.permit-modal .form-section{grid-column:1/-1}
.permit-modal .field:has(#field-project),.permit-modal .field:has(#field-address),.permit-modal .type-picker{grid-column:span 2}
.permit-modal .ensay-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.permit-modal .ensay-selection{padding:10px 12px}
.permit-modal .form-section{margin-top:3px;padding-bottom:7px}
.permit-modal textarea{min-height:64px}
.permit-modal .modal-head{padding:18px 24px 14px}
.permit-modal .form-body{padding:18px 24px}
.permit-modal .modal-actions{padding:12px 24px;position:sticky;bottom:0;z-index:1}
@media(max-width:900px){
 .permit-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .permit-modal .type-picker{grid-column:1/-1}
}
@media(max-width:600px){
 dialog.permit-modal{width:calc(100% - 20px)}
 .permit-modal .form-grid,.permit-modal .ensay-options{grid-template-columns:minmax(0,1fr)}
 .permit-modal .field:has(#field-project),.permit-modal .field:has(#field-address),.permit-modal .type-picker{grid-column:1/-1}
 .permit-modal .modal-head,.permit-modal .form-body{padding:14px}
 .permit-modal .modal-actions{padding:12px 14px}
}

@media(min-width:601px) and (max-width:900px){.permit-modal .field:has(#field-project){grid-column:span 1}}

.permit-field-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;min-width:0}
.permit-field-row.two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.permit-field-row,.permit-field-row.two-fields{grid-template-columns:minmax(0,1fr)}}

.payment-request-table th{white-space:normal}.payment-request-table td:nth-child(8){min-width:180px;white-space:normal}.payment-request-table td:nth-child(10){text-align:right;white-space:nowrap}
.software-brand{align-items:center;flex-direction:column;gap:10px;letter-spacing:0}
.company-logo{display:block;width:100%;max-width:180px;height:auto;object-fit:contain}
.software-title{display:block;width:100%;font-family:"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.45;font-weight:600;letter-spacing:.15px;text-align:center;color:#42464b}
.payment-request-table th{font-size:8px}
.payment-request-table td{font-size:11px}
.payment-request-table th:nth-child(10),.payment-request-table td:nth-child(10){text-align:right}
.payment-request-table td:nth-child(10){text-align:center;font-variant-numeric:tabular-nums}

.row-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.icon-action{min-width:36px;min-height:36px;padding:8px}.icon-action svg{display:block;flex-shrink:0}

/* Compact payment columns reserve a single row for the action buttons. */
.payment-request-table th:nth-child(2),.payment-request-table td:nth-child(2),
.payment-request-table th:nth-child(9),.payment-request-table td:nth-child(9),
.payment-request-table th:nth-child(10),.payment-request-table td:nth-child(10){padding-left:10px;padding-right:10px}
.payment-request-table th:nth-child(2){width:96px;max-width:96px}
.payment-request-table th:nth-child(9){width:108px;max-width:108px}
.payment-request-table th:nth-child(10){width:112px;max-width:112px}
.payment-request-table th:nth-child(2),.payment-request-table th:nth-child(9),.payment-request-table th:nth-child(10){letter-spacing:.3px;line-height:1.4}
.payment-request-table th:last-child,.payment-request-table td:last-child{width:1%;padding-left:10px;padding-right:10px}
.payment-request-table .row-actions{gap:4px;flex-wrap:nowrap}
.row-actions .btn.icon-action{min-width:30px;min-height:30px;width:30px;height:30px;padding:6px;border-radius:6px}
.row-actions .icon-action svg{width:16px;height:16px}
.table-wrap .btn:not([data-fund-recipient]),.row-actions .btn.icon-action:not([data-fund-recipient]){background:#707173;border-color:#707173;color:#fff}
.table-wrap .btn:not([data-fund-recipient]):hover,.row-actions .btn.icon-action:not([data-fund-recipient]):hover{background:#707173;border-color:#505153;box-shadow:0 0 0 1px #505153}
.row-actions .btn[data-fund-recipient]{background:#e53e16;border-color:#e53e16;color:#fff}
.row-actions .btn[data-fund-recipient]:hover{background:#e53e16;border-color:#b83212;box-shadow:0 0 0 1px #b83212}

dialog.permit-detail-modal{width:min(1200px,calc(100% - 32px));max-height:94vh}
.permit-detail-modal .modal-head{position:sticky;top:0;background:white;z-index:2}
.permit-detail-modal .modal-actions{position:sticky;bottom:0;z-index:2}
.permit-popup-content{background:var(--bg,#f5f5f6)}
@media(max-width:800px){.permit-detail-modal .detail-grid{grid-template-columns:1fr}}

.permit-tab-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}
.permit-tab-list{display:grid;gap:6px}
.permit-tab-list [role="tab"]{text-align:left;white-space:normal;padding:12px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);font-size:12px;line-height:1.5}
.permit-tab-list [aria-selected="true"]{background:var(--light);border-color:var(--brand);color:var(--brand);font-weight:700}
.permit-tab-panels{min-width:0}.permit-tab-panels [hidden]{display:none}
.permit-tab-panels .panel-head{flex-wrap:wrap}
@media(max-width:720px){.permit-tab-layout{grid-template-columns:minmax(0,1fr)}.permit-tab-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.permit-tab-list [role="tab"]{padding:9px;font-size:11px}}

.permit-tab-panels .datum dd{min-height:1.4em}

.fund-bulk{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 24px;border-bottom:1px solid var(--line)}
.fund-bulk span{font-size:12px;color:var(--muted)}
dialog.fund-modal{width:min(1100px,calc(100% - 32px))}
.payment-request-table input[type="checkbox"]{width:17px;height:17px;accent-color:var(--brand)}
tfoot th{border-top:1px solid var(--line);padding:14px;text-align:left}

.receipt-date-field{position:relative;min-width:0}
.receipt-date-label{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.receipt-help{display:inline-flex;flex-shrink:0}
.info-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid var(--brand);border-radius:50%;background:var(--light);color:var(--brand);font-family:Georgia,serif;font-size:16px;font-weight:700;padding:0}
.receipt-help-content{position:absolute;z-index:5;top:30px;left:0;width:min(440px,100%);padding:12px;background:white;border:1px solid var(--line);border-radius:9px;box-shadow:0 8px 25px #30323633;max-height:55vh;overflow:auto}
.receipt-help-content[hidden]{display:none}
.receipt-help-content table{width:100%;min-width:0;border-collapse:collapse;margin:0 0 12px;table-layout:fixed}
.receipt-help-content table:last-child{margin-bottom:0}
.receipt-help-content th,.receipt-help-content td{padding:7px 8px;border:1px solid var(--line);white-space:normal;font-size:11px;line-height:1.4;text-align:left;letter-spacing:0;text-transform:none}
.receipt-help-content thead th{background:var(--light);color:var(--brand-dark);font-weight:700}
.receipt-help-content tbody th{font-weight:500;background:white}

.receipt-help{padding-bottom:8px;margin-bottom:-8px}

.permit-modal #type-picker{grid-column:1/-1}

/* Identidad Dextra: RGB del manual; neutros predominantes y acentos contenidos. */
:root{--brand-gray:#707173;--brand-orange:#ee7f00;--brand-orange-mid:#ec7007;--brand-orange-deep:#ea620e;--brand-orange-red:#e75113}
h1,h2,h3{color:var(--ink)}
h1{font-weight:600;letter-spacing:-.6px}
.topbar{border-top:3px solid var(--brand);background:#fff}
.sidebar{border-right-color:var(--line)}
.workspace{background:#fafafa}
.workspace-icon{color:var(--brand-gray);background:#eeeef0}
.panel,.stat,.catalog-card{box-shadow:0 2px 10px #30323605}
.eyebrow,.text-link,.stage-edit,.substage-card strong{color:var(--brand-dark)}
nav a.active{background:var(--light);color:var(--brand-dark);box-shadow:inset 3px 0 0 var(--brand)}
.stage-navigation .active .nav-count{color:var(--brand-dark)}
.stage-navigation .stage-nav-item .stage-nav-number{color:var(--brand-gray)}
.stage-navigation .active .stage-nav-number{color:#fff}
.stage-toggle{color:var(--brand-gray)}
.stage-toggle[aria-expanded="true"]{color:var(--brand-dark);border-color:#efc6b9}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}
.type-option:hover,.type-option[aria-pressed="true"]{color:var(--brand-dark)}
.stat.emphasis .stat-value{color:var(--ink)}
.stat.emphasis{border-top:3px solid var(--brand)}
.stage-tile.populated .stage-line{background:var(--brand-orange-mid)}
.form-section{color:#505153;letter-spacing:1px}
input:focus,select:focus,textarea:focus{border-color:var(--brand-orange)}
tbody tr:hover td{background:#fafafa}
.row-actions .btn.icon-action:focus-visible{outline-color:var(--brand-orange);outline-offset:3px}

dialog.document-library{width:min(1100px,calc(100% - 32px));max-height:92vh}
.document-library .modal-head{position:sticky;top:0;background:#fff;z-index:2}
.document-library .modal-actions{position:sticky;bottom:0;z-index:2}
.document-library input[hidden]{display:none}
.document-library .form-body>.field{margin-bottom:12px}
.library-table{white-space:normal}
.library-table thead th{background:var(--brand-gray);color:#fff;font-size:11px;letter-spacing:0;padding:12px}
.library-table tbody th{width:33%;background:#f7f7f8;color:var(--ink);font-size:12px;font-weight:500;letter-spacing:0;vertical-align:top;line-height:1.5;padding:12px;border:1px solid var(--line)}
.library-table td{padding:10px 12px;vertical-align:top;font-size:12px;border:1px solid var(--line);overflow-wrap:anywhere}
.library-table td:nth-last-child(2){width:175px}
.library-table td:last-child{width:70px}
.library-upload{display:flex;margin-top:8px;padding:5px 9px!important;font-size:11px}
.library-download{color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px}
.library-table td small{display:block;margin-top:4px}

@media(max-width:600px){.library-table{min-width:640px}.document-library .form-body{padding:14px}}
.initial-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.permit-attachments input[type="file"]{font-size:11px;padding:7px;min-width:0}
.permit-attachments input::file-selector-button{background:var(--brand-gray);color:white;border:0;border-radius:4px;padding:7px 9px;margin-right:8px;cursor:pointer}
.permit-attachments [data-initial-file-status]:empty{display:none}
@media(max-width:600px){.initial-file-grid{grid-template-columns:minmax(0,1fr)}}
.fund-permits-row[hidden]{display:none}
.fund-permits-row>td{padding:14px;background:var(--bg)}
.fund-permits-content{min-width:0;border:1px solid var(--line);border-radius:8px;background:white;overflow:hidden}
.fund-permits-content h3{margin:0;padding:12px 16px;font-size:13px;color:var(--ink)}
.fund-permits-content .table-wrap{margin:0}
.fund-permits-content .payment-request-table [hidden]{display:none}
.fund-requests-table{table-layout:fixed;width:100%;min-width:800px}
.fund-requests-table>thead>tr>th,.fund-requests-table>tbody>tr:not(.fund-permits-row)>td{white-space:normal;overflow-wrap:anywhere;padding:14px 10px}
.fund-receipt-today{color:#237a3b;font-weight:600}
.fund-receipt-overdue{color:#c62828;font-weight:600}
.fund-request-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.table-wrap .btn[data-approve-fund]{background:#e53e16;border-color:#e53e16;color:#fff;white-space:normal;font-size:11px;line-height:1.3}
.table-wrap .btn[data-approve-fund]:hover{background:#b83212;border-color:#b83212;color:#fff}
.table-wrap .btn[data-edit-fund]{background:#e53e16;border-color:#e53e16;color:#fff;white-space:normal;font-size:11px;line-height:1.3}
.table-wrap .btn[data-edit-fund]:hover{background:#b83212;border-color:#b83212;color:#fff}
.edit-fund-permits input[type="number"]{min-width:0;width:100px;padding:7px 8px;text-align:center}
.edit-fund-permits th:nth-child(6),.edit-fund-permits td:nth-child(6){width:120px;white-space:normal;text-align:center}
.edit-fund-permits .edit-fund-permit-type{min-width:160px;max-width:230px;white-space:normal;overflow-wrap:break-word}
.edit-fund-permits th,.edit-fund-permits td{padding:10px;font-size:11px}
.edit-fund-permits tr[hidden]{display:none}
.table-wrap .btn.icon-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;min-width:30px;min-height:30px;width:30px;height:30px;padding:6px;border-radius:6px}
.table-wrap .btn.icon-action svg{width:16px;height:16px}
.table-wrap .btn[data-ticketing-fund]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .btn[data-ticketing-fund]:hover{background:#b83212;border-color:#b83212;color:#fff}

.table-wrap .btn[data-transfer-fund]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .btn[data-transfer-fund]:hover{background:#b83212;border-color:#b83212;color:#fff}

.table-wrap .btn[data-treasury-fund] { background:rgb(229,62,22); color:white; border-color:rgb(229,62,22); }
.table-wrap .btn[data-treasury-fund]:hover { background:#b83212; }

.table-wrap .btn[data-payment-receipt]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .btn[data-payment-receipt]:hover{background:#b83212;border-color:#b83212;color:#fff}

.table-wrap .btn[data-rendition-fund]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .btn[data-rendition-fund]:hover{background:#b83212;border-color:#b83212;color:#fff}

button[data-emission-request] { background: rgb(229,62,22); border-color: rgb(229,62,22); color: white; }
.table-wrap .btn[data-emission-request]{background:#e53e16;border-color:#e53e16;color:#fff}.table-wrap .btn[data-emission-request]:hover{background:#b83212;border-color:#b83212;color:#fff}

.table-wrap .row-actions .btn.icon-action[data-emission-receive],.table-wrap .row-actions .btn.icon-action[data-emission-observe]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-emission-receive]:hover,.table-wrap .row-actions .btn.icon-action[data-emission-observe]:hover{background:#e53e16;border-color:#b83212;color:#fff;box-shadow:0 0 0 1px #b83212}

/* Keep each permit's date and two attachments visible without horizontal scrolling. */
dialog.emission-progress-modal{width:min(1440px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:94vh}
.emission-progress-modal .table-wrap table{width:100%;min-width:0;table-layout:fixed}
.emission-progress-modal th,.emission-progress-modal td{white-space:normal;overflow-wrap:anywhere;padding:12px 10px}
.emission-progress-modal th:nth-child(1){width:10%}
.emission-progress-modal th:nth-child(2){width:22%}
.emission-progress-modal th:nth-child(3){width:16%}
.emission-progress-modal input,.emission-progress-modal textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
@media(max-width:700px){
 .emission-progress-modal .form-body{padding:16px}
 .emission-progress-modal table,.emission-progress-modal tbody,.emission-progress-modal tr,.emission-progress-modal td{display:block;width:100%}
 .emission-progress-modal thead{display:none}
 .emission-progress-modal tr{border-bottom:1px solid var(--line);padding:10px 0}
 .emission-progress-modal td::before{display:block;font-weight:600;margin-bottom:6px}
 .emission-progress-modal td:nth-child(1)::before{content:'N° permiso'}
 .emission-progress-modal td:nth-child(2)::before{content:'Proyecto / Comuna'}
 .emission-progress-modal td:nth-child(3)::before{content:'Fecha'}
 .emission-progress-modal td:nth-child(4)::before{content:'Croquis firmado / Motivo observación'}
 .emission-progress-modal td:nth-child(5)::before{content:'Carátula Actualizada'}
}

.table-wrap .row-actions .btn.icon-action[data-dispatch-permit]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-dispatch-permit]:hover{background:#e53e16;border-color:#b83212;color:#fff}
.ito-sort-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  padding: 4px 0;
  cursor: pointer;
  white-space: nowrap;
}
.ito-sort-button:hover { text-decoration: underline; }
.ito-sort-button:focus-visible { outline: 2px solid #707173; outline-offset: 3px; }
#app:has(.starts-pending-table){
  max-width:none;
  padding-inline:clamp(6px, .6vw, 12px);
}
.starts-pending-table :is(th,td){
  padding:8px 6px;
  white-space:nowrap;
}
.starts-pending-table :is(th,td):is(:nth-child(3),:nth-child(5)){
  max-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}
.starts-pending-table :is(th,td):nth-child(3){width:13%}
.starts-pending-table :is(th,td):nth-child(5){width:23%}
.starts-pending-table .badge{white-space:nowrap}
.table-wrap .btn.start-report-action{background:#e53e16;border-color:#e53e16;color:#fff;width:30px;height:30px;padding:6px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:4px}
.starts-pending-table th:first-child,.starts-pending-table td:first-child{width:32px;padding:8px}
.starts-pending-table input[type="checkbox"]{width:17px;height:17px;accent-color:var(--brand)}
.start-permit-actions{display:flex;align-items:center;gap:4px;flex-wrap:nowrap}
.start-permit-actions .row-actions{flex-wrap:nowrap}
.table-wrap .start-permit-actions .start-report-action{flex-shrink:0;margin-bottom:0}
.starts-pending-table td:nth-child(9) .badge {
  display: block;
  width: fit-content;
}
.starts-pending-table td:nth-child(9) .badge + .badge {
  margin-top: 5px;
}
.start-report-history{width:100%;min-width:0;table-layout:fixed}
.start-report-history th,.start-report-history td{white-space:normal;overflow-wrap:break-word}
.stage-start-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

#end-sketch-by[hidden], #end-cad[hidden] { display: none; }

#contractor-end-form .end-sketch-toggle{display:flex;align-items:center;gap:8px;margin:16px 0;cursor:pointer}
#contractor-end-form .end-sketch-toggle input[type="checkbox"]{width:17px;height:17px;min-width:17px;flex:0 0 17px;margin:0;padding:0;accent-color:var(--brand)}

.emergency-documents{list-style:none;margin:0;padding:0;display:grid;gap:5px;min-width:220px;font-size:11px;line-height:1.4}
.emergency-documents li{padding:3px 7px;border-radius:4px;white-space:normal}
.emergency-documents .document-available{color:#206b35;background:#edf7ef}
.emergency-documents .document-missing{color:#ad2525;background:#fff0f0}
.emergency-documents .document-not_required{color:#707173;background:#f1f1f2}

#emergency-documents-form .end-sketch-toggle{display:flex;align-items:center;gap:8px;margin:12px 0;cursor:pointer}
#emergency-documents-form .end-sketch-toggle input{width:17px;height:17px;flex:0 0 17px;margin:0;padding:0;accent-color:var(--brand)}
.emergency-documents .document-not_required{color:#303236;background:#f1f1f2}
.table-wrap .row-actions .btn.icon-action[data-emergency-documents]{background:rgb(229,62,22);border-color:rgb(229,62,22);color:#fff}
.table-wrap .row-actions .btn.icon-action[data-emergency-documents]:hover{background:rgb(229,62,22);border-color:#b83212;color:#fff;box-shadow:0 0 0 1px #b83212}

.sketch-requirement-controls{padding:0 24px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.sketch-requirement-toggle{display:flex;align-items:center;gap:8px;font-size:13px}.sketch-requirement-toggle input{width:17px;height:17px;flex:0 0 17px;padding:0;margin:0;accent-color:var(--brand)}

.documentation-summary{font-weight:600;white-space:nowrap}.documentation-summary.incomplete{color:#ad2525}.documentation-summary.complete{color:#206b35}

.table-wrap .row-actions .btn.icon-action[data-end-go]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-end-go]:hover{background:#e53e16;border-color:#b83212;color:#fff;box-shadow:0 0 0 1px #b83212}

.table-wrap .row-actions .btn.icon-action[data-sketch-review],.table-wrap .row-actions .btn.icon-action[data-sketch-review]:hover{background:#e53e16;border-color:#e53e16;color:white}

.table-wrap .row-actions .btn.icon-action[data-sketch-modification],.table-wrap .row-actions .btn.icon-action[data-sketch-modification]:hover{background:#e53e16;border-color:#e53e16;color:white}

.table-wrap .row-actions .btn.icon-action[data-sketch-submission],.table-wrap .row-actions .btn.icon-action[data-sketch-submission]:hover{background:#e53e16;border-color:#e53e16;color:#fff}
[data-select-sketch-submission],#select-all-sketch-submissions{width:17px;height:17px;accent-color:var(--brand)}

.table-wrap .row-actions .btn.icon-action[data-end-report]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-end-report]:disabled{opacity:.35;cursor:not-allowed}

.table-wrap .row-actions .btn.icon-action[data-end-book-review],.table-wrap .row-actions .btn.icon-action[data-end-book-review]:hover{background:#e53e16;border-color:#e53e16;color:#fff}

.table-wrap .row-actions .btn.icon-action[data-sketch-dispatch],.table-wrap .row-actions .btn.icon-action[data-sketch-dispatch]:hover{background:#e53e16;border-color:#e53e16;color:#fff}
[data-select-sketch-dispatch],#select-all-sketch-dispatches{width:17px;height:17px;accent-color:var(--brand)}

#emergency-documents-form .end-document-upload{padding:14px 0;border-bottom:1px solid var(--border,#ddd)}
#emergency-documents-form .end-document-upload [hidden]{display:none}


.stage-detail-editor form{padding:0 24px 20px}
.stage-detail-editor h3{margin:20px 0 12px}
.stage-detail-editor .stage-edit-check{display:flex;align-items:center;gap:8px;margin:10px 0}
.stage-detail-editor .stage-edit-check input{width:17px;height:17px;flex:0 0 17px;margin:0;padding:0}
.stage-detail-editor [data-edit-error]{color:#b42318}

#permit-form .permit-number-control{display:flex;align-items:center;gap:6px}
#permit-form .permit-number-control input{min-width:0;flex:1}
#permit-form .permit-number-consult{display:flex;flex:0 0 auto;margin:0}
#permit-form .permit-number-consult .icon-action{width:32px;height:32px;min-width:32px;padding:0;background:rgb(112,113,115);color:#fff;border-color:rgb(112,113,115)}

#fund-request-form .fund-export-actions,#edit-fund-form .fund-export-actions{display:flex;justify-content:flex-start;margin:14px 0}
/* Acciones dentro de formularios: naranjo corporativo. El pie conserva su estilo. */
#modal form .form-body .btn:not(.modal-actions .btn),
.stage-detail-editor form .btn:not(.modal-actions .btn){background:rgb(229,62,22);border-color:rgb(229,62,22);color:#fff}
#modal form .form-body .btn:not(.modal-actions .btn):hover:not(:disabled),
.stage-detail-editor form .btn:not(.modal-actions .btn):hover:not(:disabled){background:#b83212;border-color:#b83212;color:#fff}
#modal form .form-body input[type="file"]::file-selector-button{background:rgb(229,62,22);border:1px solid rgb(229,62,22);color:#fff;border-radius:5px;padding:6px 10px;margin-right:8px;cursor:pointer}
#modal form .form-body input[type="file"]:disabled::file-selector-button{opacity:.45;cursor:not-allowed}

.table-wrap .btn.icon-action[data-delete-fund],#delete-fund-form .modal-actions button[type="submit"]{background:#c62828;border-color:#c62828;color:#fff}
.table-wrap .btn.icon-action[data-delete-fund]:hover,#delete-fund-form .modal-actions button[type="submit"]:hover{background:#9e2020;border-color:#9e2020;color:#fff}

.emission-progress-modal:has([name="serviu_date_0"]) th:nth-child(2){width:18%}
.emission-progress-modal:has([name="serviu_date_0"]) th:nth-child(3),
.emission-progress-modal:has([name="serviu_date_0"]) th:nth-child(4){width:15%}
@media(max-width:700px){
 .emission-progress-modal:has([name="serviu_date_0"]) td:nth-child(3)::before{content:'Fecha de emisión'}
 .emission-progress-modal:has([name="serviu_date_0"]) td:nth-child(4)::before{content:'Fecha permiso SERVIU'}
 .emission-progress-modal:has([name="serviu_date_0"]) td:nth-child(5)::before{content:'Croquis firmado'}
 .emission-progress-modal:has([name="serviu_date_0"]) td:nth-child(6)::before{content:'Carátula Actualizada'}
}

#contractor-end-form .end-document-choice{display:flex;align-items:center;gap:12px;min-width:0}
#contractor-end-form .end-document-choice[hidden]{display:none}
#contractor-end-form .end-document-choice>.field{flex:1;min-width:0}
#contractor-end-form .end-document-choice>.end-sketch-toggle{flex-shrink:0;margin:0;white-space:nowrap}

.table-wrap .row-actions .btn.icon-action[data-end-referral]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-end-referral]:hover{background:#b83212;border-color:#b83212;color:#fff}

#end-referral-form .end-sketch-toggle{display:flex;align-items:center;gap:8px;margin:14px 0;cursor:pointer}
#end-referral-form .end-sketch-toggle input{width:17px;height:17px;min-width:17px;flex:0 0 17px;margin:0;padding:0;accent-color:var(--brand)}
#end-referral-form [data-dextra-actions]{margin-top:20px;padding:16px;border:1px solid var(--line)}
#end-referral-form [data-dextra-actions][hidden]{display:none}

.referral-advances{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:3px 0}
.referral-advance{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid;border-radius:8px;font-size:12px;font-weight:600;line-height:1.35;letter-spacing:.1px}
.referral-status-icon{display:inline-flex;align-items:center;justify-content:center;width:19px;height:19px;flex:0 0 19px;border-radius:50%;font-size:12px;font-weight:700;background:rgba(255,255,255,.8)}
.referral-advance.pending{color:#b42318;background:#fff2f0;border-color:#f3c6c1;box-shadow:0 2px 5px rgba(180,35,24,.10)}
.referral-advance.complete{color:#187337;background:#edf8f0;border-color:#bfe1c9;box-shadow:0 2px 5px rgba(24,115,55,.10)}
.referral-advance.not_required{color:#000;background:#f3f4f5;border-color:#dfe1e4;box-shadow:0 2px 4px rgba(0,0,0,.05)}

.referral-advance .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.table-wrap .row-actions .btn.icon-action[data-contractor-response]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-contractor-response]:hover{background:#b83212;border-color:#b83212;color:#fff}

#end-referral-form [data-contractor-email]{margin-top:20px;padding:16px;border:1px solid var(--line)}
#end-referral-form [data-contractor-email][hidden]{display:none}

#permit-form .serviu-import-status{display:block;white-space:normal;margin-top:8px;line-height:1.5}

.table-wrap .row-actions .btn.icon-action[data-end-resolution]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-end-resolution]:hover{background:#b83212;border-color:#b83212;color:#fff}

.provisional-documents .emergency-documents .document-not_required{color:#000}

/* Mostrar u ocultar la navegación sin perder el acceso para restaurarla. */
.sidebar-controls{display:flex;justify-content:flex-end;margin-bottom:14px}
.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:6px;padding:8px 10px;background:#707173;color:#fff;font-size:11px;font-weight:600;white-space:nowrap}
.sidebar-toggle:hover{background:#565759}
.sidebar-toggle span{font-size:16px;line-height:1}
.sidebar[hidden],.sidebar-toggle[hidden]{display:none}
.topbar-navigation{display:flex;align-items:center;gap:16px;min-width:0}
body.sidebar-collapsed .shell{margin-left:0}
body.sidebar-collapsed #toast{left:50%}
@media(max-width:720px){.topbar-navigation{flex-wrap:wrap;gap:8px}.sidebar-controls{margin-bottom:10px}}
.delivery-status-label{display:block;font-size:10px;font-weight:400;margin-top:2px}
.table-wrap .row-actions .btn.icon-action[data-laboratory-delivery]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-laboratory-delivery]:hover{background:#b83212;border-color:#b83212}

/* Grupos del menú lateral: controles independientes y persistentes. */
.sidebar .nav-group-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px;flex-shrink:0}
.nav-group-toggle{display:grid;place-items:center;flex-shrink:0;width:24px;height:24px;padding:0;border:0;border-radius:5px;background:#707173;color:#fff}
.nav-group-toggle:hover{background:#565759}
.nav-group-toggle[aria-expanded="false"] svg{transform:rotate(-90deg)}
.sidebar nav[hidden]{display:none}

/* Controles discretos para mostrar y contraer la navegación. */
.sidebar-toggle,.nav-group-toggle{background:rgba(112,113,115,.07);color:#707173;border:0;box-shadow:none;transition:background-color .15s ease,color .15s ease}
.sidebar-toggle:hover,.nav-group-toggle:hover{background:rgba(112,113,115,.15);color:#303236}
.sidebar-toggle:focus-visible,.nav-group-toggle:focus-visible{outline:2px solid #707173;outline-offset:2px}

/* Separación uniforme entre encabezados de grupos, incluso contraídos. */
.sidebar .nav-group-heading{margin:4px 12px 8px}
.documentation-summary.prepare{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;color:#206b35;background:#edf7ef;border:1px solid #cde5d3;box-shadow:0 2px 4px rgba(32,107,53,.08);font-weight:600;line-height:1.4}
.documentation-summary.incomplete{display:inline-flex;align-items:center;padding:4px 9px;border-radius:6px;color:#ad2525;background:#fff0f0;border:1px solid #f0cccc;box-shadow:0 2px 4px rgba(173,37,37,.08);font-weight:600;line-height:1.4}
#rp-entry-review-form table{table-layout:fixed;width:100%}
#rp-entry-review-form th:nth-child(1){width:28%}
#rp-entry-review-form th:nth-child(2){width:24%}
#rp-entry-review-form select,#rp-entry-review-form textarea{width:100%;min-width:0}
#rp-entry-review-form td{vertical-align:top}
.table-wrap .row-actions .btn.icon-action[data-rp-siscorr]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-rp-siscorr]:hover{background:#b83212;border-color:#b83212;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-rp-certificate]{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-rp-certificate]:hover{background:#b83212;border-color:#b83212;color:#fff}
#rp-certificate-form .rp-scores-table{table-layout:fixed;width:100%}
#rp-certificate-form .rp-scores-table input{min-width:0;width:100%}
#rp-certificate-form .permit-attachments{margin-top:16px}
.referral-advance.appeal{color:#855b00;background:#fff7d6;border-color:#e9cf77;box-shadow:0 2px 5px rgba(133,91,0,.12)}
#rp-certificate-form .rp-score-low,.datum .rp-score-low{color:#ad2525;background:#fff0f0;border-color:#e5aaaa;font-weight:700}
.rp-appeal-alert{color:#ad2525;background:#fff0f0;border:1px solid #f0cccc;border-radius:6px;padding:10px 12px;font-weight:600}
.rp-appeal-alert[hidden]{display:none}
.rp-evaluations-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}
.rp-evaluation-section{min-width:0;border:1px solid #dedfe2;border-radius:9px;overflow:hidden;background:#fff}
.rp-evaluation-section h3{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:0;padding:12px;background:#f4f4f5;font-size:13px;color:#303236}
.rp-evaluation-section h3 span{font-size:11px;font-weight:500;color:#707173;white-space:nowrap}
.rp-evaluations-table{width:100%;min-width:0;table-layout:fixed;font-size:12px}
.rp-evaluations-table th,.rp-evaluations-table td{padding:9px 10px;white-space:normal}
.rp-evaluations-table th:nth-child(2),.rp-evaluations-table td:nth-child(2){width:64px;text-align:center}
.rp-evaluations-table th:nth-child(3),.rp-evaluations-table td:nth-child(3){width:90px;text-align:center}
.rp-evaluations-table input{width:100%;min-width:0;text-align:center;padding:7px}
.rp-evaluations-table tfoot{background:#f4f4f5;font-weight:700}
.rp-evaluations-table input:disabled{background:#f5f5f6;color:#707173}
#rp-certificate-form .rp-scores-table input[readonly]{background:#f4f4f5;font-weight:700}
#rp-certificate-form .rp-scores-table input.rp-score-low{background:#fff0f0;color:#ad2525}
@media(max-width:850px){.rp-evaluations-grid{grid-template-columns:1fr}}
.provisional-choice{display:flex;align-items:center;gap:8px;margin:10px 0;cursor:pointer;font-size:12px;font-weight:400}
.provisional-choice input[type="checkbox"]{width:17px;height:17px;flex:0 0 17px;margin:0;padding:0;accent-color:var(--brand)}
.provisional-choice span{margin:0}
.provisional-document-list{display:grid;gap:14px}
.provisional-document{border:1px solid var(--line);border-radius:8px;padding:14px}
.provisional-document-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px}
.provisional-document-heading .provisional-choice{flex-shrink:0;margin:0}
.table-wrap .row-actions .btn.icon-action[data-provisional-prepare],.table-wrap .row-actions .btn.icon-action[data-provisional-documents]{background:#e53e16;border-color:#e53e16;color:white}
.table-wrap .row-actions .btn.icon-action[data-provisional-prepare]:hover,.table-wrap .row-actions .btn.icon-action[data-provisional-documents]:hover{background:#b83212;border-color:#b83212}

/* Impresión individual de RP Preparadas. */
.table-wrap .row-actions .btn.icon-action[data-rp-package],
.table-wrap .row-actions .btn.icon-action[data-rp-package]:hover{background:#e53e16;border-color:#e53e16;color:#fff}
.table-wrap .row-actions .btn.icon-action[data-rp-package]:hover{box-shadow:0 0 0 1px #b83212}

.row-actions .icon-action[data-rp-reentry]{background:#e53e16;border-color:#e53e16;color:#fff}
.row-actions .icon-action[data-rp-reentry]:hover{background:#ca3512;border-color:#ca3512}

button.btn.icon-action[data-rp-reentry],#rp-reentry-form [data-generate-reentry]{background:#e53e16!important;border-color:#e53e16!important;color:#fff!important}

.row-actions .rd-survey-action { background: #e53e16 !important; border-color: #e53e16 !important; color: #fff !important; }
.table-wrap .row-actions .btn.icon-action[data-rd-prepare]{background:#e53e16!important;border-color:#e53e16!important;color:#fff!important}
.table-wrap .row-actions .btn.icon-action[data-rd-prepare]:hover{background:#b83212!important;border-color:#b83212!important}

.site-visits-table{width:100%;table-layout:fixed;min-width:1120px}
.site-visits-table th,.site-visits-table td{padding:10px 9px;min-width:0}
.site-visits-table th{white-space:normal;overflow-wrap:break-word}
.site-visits-table .visit-wrap,.site-visits-table .visit-notes{white-space:normal;overflow-wrap:anywhere;line-height:1.5}
.site-visits-table .visit-notes{white-space:pre-wrap}
.site-visits-table .visit-permit,.site-visits-table .visit-date{white-space:nowrap}


.substage-navigation .nav-count{font-size:10px;min-width:22px;text-align:center;background:#f3f3f4}
.substage-navigation .active .nav-count{background:white;color:var(--brand-dark)}

.row-actions .visit-assign-action{background:#e53e16!important;border-color:#e53e16!important;color:white!important}
dialog:has(#visit-assignment-form){width:min(1000px,calc(100% - 32px))}
.visit-assignment-table{width:100%;table-layout:fixed}
.visit-assignment-table th,.visit-assignment-table td{white-space:normal;overflow-wrap:anywhere;padding:10px}
.visit-assignment-table th:first-child{width:17%}
.visit-assignment-table th:nth-child(2){width:35%}
.visit-assignment-table input{min-width:0;width:100%}

.site-visits-table .visit-select{width:1%;padding-left:7px;padding-right:7px;white-space:nowrap;text-align:center}
.site-visits-table .visit-select input{width:14px;height:14px;margin:0 auto;padding:0}
.site-visits-table .visit-compact,.site-visits-table .visit-permit,.site-visits-table .visit-commune,.site-visits-table .visit-date{width:1%;white-space:nowrap;padding-left:7px;padding-right:7px}
.site-visits-table .visit-wrap{max-width:240px}
.site-visits-table .visit-notes{max-width:360px}

.site-visits-table .visit-col-select{width:30px}
.site-visits-table .visit-col-permit{width:86px}
.site-visits-table .visit-col-project{width:130px}
.site-visits-table .visit-col-address{width:180px}
.site-visits-table .visit-col-commune{width:116px}
.site-visits-table .visit-col-source{width:145px}
.site-visits-table .visit-col-date{width:98px}
.site-visits-table .visit-col-actions{width:190px}
.site-visits-table .visit-commune{white-space:normal;overflow-wrap:anywhere}

.site-visits-table .visit-col-assignee{width:140px}
.site-visits-table .visit-col-coordinates{width:150px}

.site-visits-table .visit-col-reason{width:220px}

.site-visits-assigned-table .visit-col-assignee{width:110px}
.site-visits-assigned-table .visit-col-coordinates{width:180px}
.site-visits-assigned-table .visit-col-actions{width:210px}
.site-visits-assigned-table .row-actions{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px}
.site-visits-assigned-table .row-actions .icon-action{flex-shrink:0}

.row-actions .visit-photos-action{background:#e53e16!important;border-color:#e53e16!important;color:white!important}
.visit-photo-reason{white-space:pre-wrap}

.library-table .library-download-all{display:flex;margin-top:6px}

.badge.survey-completed{background:#e8f5ec;color:#237342;border:1px solid #bbdfc6}

.row-actions .rd-photo-review-action{background:#e53e16!important;border-color:#e53e16!important;color:white!important}
#rd-photo-review-form .field{margin-bottom:16px}
#rd-photo-review-form [hidden]{display:none!important}

.site-visits-observed-table .visit-col-notes{width:280px}
.site-visits-observed-table .visit-notes{white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top}
.site-visits-observed-table .visit-col-actions{width:230px}
.site-visits-observed-table .row-actions{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px}
.site-visits-observed-table .row-actions .icon-action{flex-shrink:0}

.site-visits-executed-table{table-layout:auto;min-width:0}
.site-visits-executed-table col{width:auto}
.site-visits-executed-table .visit-col-permit,.site-visits-executed-table .visit-col-commune,.site-visits-executed-table .visit-col-date,.site-visits-executed-table .visit-col-actions{width:1%}
.site-visits-executed-table th,.site-visits-executed-table td{padding:9px 7px}
.site-visits-executed-table .visit-wrap{max-width:240px}
.site-visits-executed-table .row-actions{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px}
.site-visits-executed-table .row-actions .icon-action{flex-shrink:0}

.site-visits-executed-table .visit-compact,.site-visits-executed-table .visit-execution-heading{white-space:nowrap}
.site-visits-executed-table .visit-project{white-space:nowrap;max-width:none;width:1%}
.site-visits-executed-table .visit-address{width:120px;max-width:120px;white-space:normal;overflow-wrap:anywhere}
.site-visits-executed-table .visit-source{width:75px;max-width:75px;white-space:normal;overflow-wrap:anywhere}
.site-visits-executed-table .visit-commune{width:10ch;min-width:10ch;max-width:10ch;white-space:normal;overflow-wrap:break-word}
.site-visits-executed-table .visit-col-address{width:120px}
.site-visits-executed-table .visit-col-source{width:75px}
.site-visits-executed-table .visit-col-commune{width:10ch}

/* Levantamientos ejecutados: solo Dirección admite varias líneas. */
.site-visits-executed-table th,.site-visits-executed-table td{white-space:nowrap;overflow-wrap:normal}
.site-visits-executed-table col{width:auto}
.site-visits-executed-table .visit-source,.site-visits-executed-table .visit-commune,.site-visits-executed-table .visit-project{width:1%;min-width:0;max-width:none;white-space:nowrap;overflow-wrap:normal}
.site-visits-executed-table .visit-address{width:auto;min-width:90px;max-width:220px;white-space:normal;overflow-wrap:anywhere}
.site-visits-executed-table .visit-col-address{width:auto}
.site-visits-executed-table .visit-col-source,.site-visits-executed-table .visit-col-commune,.site-visits-executed-table .visit-col-project,.site-visits-executed-table .visit-col-permit,.site-visits-executed-table .visit-col-date,.site-visits-executed-table .visit-col-actions{width:1%}

.table-wrap .row-actions .btn.icon-action.rd-entry-action{background:#e53e16!important;border-color:#e53e16!important;color:#fff!important}
.table-wrap .row-actions .btn.icon-action.rd-entry-action:hover{background:#b83212!important;border-color:#b83212!important}

.table-wrap .row-actions .btn.icon-action.rd-review-action{background:#e53e16!important;border-color:#e53e16!important;color:#fff!important}
.table-wrap .row-actions .btn.icon-action.rd-review-action:hover{background:#b83212!important;border-color:#b83212!important}

.table-wrap .row-actions .btn.icon-action[data-referral-rd="true"]{background:#e53e16!important;border-color:#e53e16!important;color:#fff!important}

.table-wrap .row-actions .btn.icon-action[data-response-rd="true"]{background:#e53e16!important;border-color:#e53e16!important;color:#fff!important}
#rd-review-form [hidden]{display:none!important}

.siscorr-shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
#siscorr-select-form [hidden]{display:none!important}
#siscorr-select-form .row-actions .btn.icon-action{background:#e53e16!important;border-color:#e53e16!important;color:#fff!important}

/* Filas compactas del historial SISCORR. */
.siscorr-history-table th{padding:9px 10px;font-size:10px;line-height:1.3;letter-spacing:.25px;white-space:normal}
.siscorr-history-table td{padding:6px 10px;font-size:11px;line-height:1.35;vertical-align:middle}
.siscorr-history-table td:nth-child(1),.siscorr-history-table td:nth-child(4),.siscorr-history-table td:nth-child(5){white-space:nowrap}
.siscorr-history-table td:nth-child(7){width:300px;min-width:220px;max-width:300px;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}
.siscorr-history-table .row-actions{flex-wrap:nowrap;gap:4px}
.siscorr-history-table .row-actions .btn.icon-action{width:28px;height:28px;min-width:28px;min-height:28px;padding:5px}

/* Etiquetas de los cinco grupos principales del menú lateral. */
.sidebar .nav-group-heading{background:#ededee;color:#454649;border-radius:6px;padding:5px 8px;margin:4px 4px 8px;font-weight:700;letter-spacing:.8px;min-height:32px}
.sidebar .nav-group-heading>.nav-group-toggle{background:transparent;color:#606164}
.sidebar .nav-group-heading>.nav-group-toggle:hover{background:rgba(112,113,115,.12);color:#303236}

/* Identidad fija arriba; solo las opciones del menú se desplazan. */
.sidebar{height:100dvh;overflow:hidden;padding-top:8px;padding-bottom:0}
.sidebar-header{position:relative;flex:0 0 auto;padding:24px 0 12px;background:#fff}
.sidebar-header .sidebar-controls{position:absolute;top:0;right:0;margin:0}
.sidebar-header .sidebar-toggle{padding:5px 8px}
.sidebar-header .software-brand{gap:6px}
.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:14px;overscroll-behavior:contain}
@media(max-width:720px){.sidebar{height:auto;max-height:80dvh}.sidebar-scroll{max-height:50dvh}}

/* Antecedentes del permiso seleccionado para anulación. */
.cancellation-permit-summary{margin:12px 0 18px;padding:14px;background:#f6f6f7;border:1px solid var(--line);border-radius:8px}
.cancellation-permit-summary[hidden]{display:none}
.cancellation-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 22px}
.cancellation-summary-item{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}
.cancellation-summary-item strong{padding:3px 10px;border-radius:12px;font-size:11px;white-space:nowrap}
.cancellation-summary-item .summary-yes{color:#21643e;background:#e5f3e9}
.cancellation-summary-item .summary-warning{color:#a62828;background:#fbe9e9}
.cancellation-summary-item .summary-no{color:#606164;background:#e9e9eb}
@media(max-width:540px){.cancellation-summary-grid{grid-template-columns:1fr}}

.row-actions .cancellation-survey-action{background:#e53e16!important;color:#fff!important;border-color:#e53e16!important}
#cancellation-survey-form [hidden]{display:none!important}

/* Acciones de nuevas solicitudes de levantamiento, siempre en una fila. */
.site-visits-pending-table .visit-col-actions{width:230px}
.site-visits-pending-table td:last-child{white-space:nowrap}
.site-visits-pending-table .row-actions{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:6px;width:max-content}
.site-visits-pending-table .row-actions .icon-action{flex-shrink:0}

#cancellation-photo-review-form [hidden]{display:none!important}

#cancellation-result-form [hidden]{display:none!important}

/* Convenios: contenido compacto sin saltos de línea. */
.guarantee-agreements-table{table-layout:auto;width:100%}
.guarantee-agreements-table th,.guarantee-agreements-table td{white-space:nowrap;overflow-wrap:normal;padding:8px;font-size:11px;line-height:1.35}
.guarantee-agreements-table th{font-size:10px;letter-spacing:.25px}
.guarantee-agreements-table > :is(thead,tbody) > tr > td:nth-child(n+6):nth-child(-n+10){text-align:right;font-variant-numeric:tabular-nums}
.guarantee-agreements-table > :is(thead,tbody) > tr > th:nth-child(n+4),.guarantee-agreements-table > :is(thead,tbody) > tr > td:nth-child(n+4){width:1%}
.guarantee-agreements-table .agreement-bank{font-size:10px;color:var(--muted)}

.guarantee-agreements-table .row-actions{flex-wrap:nowrap;width:max-content}
.guarantee-agreements-table .row-actions .icon-action{flex-shrink:0}

main:has(.guarantee-detail){max-width:none;padding-inline:clamp(10px,1vw,20px)}
.guarantee-detail{container:guarantees / inline-size}
.agreement-sort{border:0;padding:2px 0;background:transparent;color:inherit;font:inherit;white-space:inherit;text-align:inherit}
.agreement-sort:hover,.guarantee-agreements-table th[aria-sort] .agreement-sort{color:var(--brand-dark)}
@container guarantees (max-width:1150px){
  .guarantee-detail .guarantee-agreements-table > thead{display:block;position:static;clip-path:none;width:auto;height:auto;overflow:visible}
  .guarantee-agreements-table > thead > tr{display:flex;flex-wrap:wrap;background:#f4f4f5;padding:5px}
  .guarantee-detail .guarantee-agreements-table > thead > tr > th{width:auto;border:0}
  .guarantee-agreements-table > thead > tr > th:last-child{display:none}
}
.bond-expiry-expired{color:#b42332}
.bond-expiry-soon{color:#826000}
.bond-expiry-current{color:#000}
.guarantee-detail .bond-history-row[hidden]{display:none}
.guarantee-agreements-table > tbody > .bond-history-row > td[colspan]{max-width:none;width:auto;padding:8px 10px;background:#fafafa}
[data-bond-history][aria-expanded="true"] span{transform:rotate(180deg)}
.guarantee-detail :is(th,td){padding:7px 5px;font-size:11px;letter-spacing:normal}
.guarantee-detail th{font-size:10px}
.guarantee-detail :is(.row-actions,.fund-request-actions){flex-wrap:nowrap;gap:4px}
.guarantee-detail :is(.guarantee-agreements-table > :is(thead,tbody) > tr > td:nth-child(-n+2),.registered-bonds-table td:nth-child(9)){
  max-width:15vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
@container guarantees (max-width:1150px){
  .guarantee-detail table,.guarantee-detail tbody{display:block;width:100%;min-width:0}
  .guarantee-detail thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .guarantee-detail tbody tr{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(155px,100%),1fr));gap:9px 12px;padding:12px;border-top:1px solid var(--line)}
  .guarantee-detail table tbody tr td{width:auto;min-width:0;max-width:none;border:0;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .guarantee-detail td[data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;font-size:10px;font-weight:600;color:var(--muted)}
  .guarantee-detail td[colspan]{grid-column:1/-1}
}

.pending-contractor-start-table th,.pending-contractor-start-table td{padding:9px;font-size:11px}
.pending-contractor-start-table td:first-child,.pending-contractor-start-table td:nth-child(6),.pending-contractor-start-table td:nth-child(7){white-space:nowrap}
.pending-contractor-start-table .report-address{white-space:normal;min-width:160px;max-width:280px;overflow-wrap:anywhere}
.pending-contractor-start-table .row-actions{flex-wrap:nowrap;width:max-content}
.pending-contractor-start-table .row-actions .icon-action{flex-shrink:0}
[hidden], [data-consultation-hidden] { display: none !important; }
.auth-page { display:flex; justify-content:center; align-items:flex-start; min-height:100vh; padding:40px 18px; background:#f4f4f5; }
.auth-card { width:100%; max-width:460px; padding:30px; background:white; border:1px solid #dedee0; border-radius:16px; box-shadow:0 8px 32px #00000008; }
.auth-logo { display:block; width:180px; margin:0 auto 20px; }
.auth-card h1 { font-size:20px; text-align:center; color:#414244; margin-bottom:28px; }
.auth-card h2 { font-size:20px; }
.auth-card .field { margin:14px 0; }
.auth-card input { width:100%; }
.auth-card #auth-submit { width:100%; margin-top:8px; }
.session-toolbar { display:flex; align-items:center; justify-content:flex-end; gap:14px; font-size:12px; flex-wrap:wrap; }
.session-toolbar a { color:#525355; }
.users-panel { padding:24px; }
.user-active { display:flex; align-items:center; gap:8px; margin:18px 0; }
.user-active input { width:auto; }
.audit-panel { margin-top:20px; }
.audit-filters { display:flex; gap:12px; flex-wrap:wrap; align-items:flex-end; padding:0 20px 16px; }
.audit-filters .field { flex:1 1 150px; }
.audit-caption { padding:0 20px; font-size:12px; color:#707173; }
.audit-pages { display:flex; justify-content:flex-end; gap:10px; padding:16px 20px; }
.audit-table { table-layout:fixed; width:100%; font-size:12px; }
.audit-table td { white-space:pre-wrap; overflow-wrap:anywhere; vertical-align:top; }
.audit-table small { display:block; color:#707173; margin-bottom:5px; }
.audit-table th:first-child { width:145px; }
.audit-table th:last-child { width:95px; }

/* Keep row actions together inside the table's horizontal scroll area. */
td :is(.row-actions, .fund-request-actions, .ito-actions, .start-permit-actions){
  flex-flow:row nowrap;
  align-items:center;
  width:max-content;
}
td :is(.row-actions, .fund-request-actions, .ito-actions, .start-permit-actions) > *{
  flex-shrink:0;
}
.payment-stage-view :is(.row-actions, .fund-request-actions){gap:4px}
.table-wrap .row-actions .btn.icon-action[data-stage-cancellation]{
  background:#bd2636;
  border-color:#bd2636;
  color:#fff;
}
.table-wrap .row-actions .btn.icon-action[data-stage-cancellation]:enabled:hover{
  background:#991e2b;
  border-color:#991e2b;
}
.icon-action svg{
  filter:drop-shadow(0 1px 1px rgba(30,41,52,.36));
}
.icon-action svg[stroke="currentColor"]{
  stroke-linecap:round;
  stroke-linejoin:round;
}
.table-wrap .btn.icon-action svg.illustrated-action,
.btn.icon-action svg.illustrated-action{
  width:20px;
  height:20px;
}

/* A light frame identifies the action even when its illustration is multicolored. */
:is(#app, dialog) table .btn.icon-action{
  --action-ink:#b7411f;
  --action-edge:#e8b09e;
  --action-hover:#fff1ea;
  background:transparent!important;
  border-color:var(--action-edge)!important;
  color:var(--action-ink)!important;
  box-shadow:none!important;
}
:is(#app, dialog) table .icon-action:is(.permanent-action,[data-view-permit],[data-view-history],[data-permit-library],[data-view-fund],[data-guarantee-detail]){
  --action-ink:#555b62;
  --action-edge:#d3d6d9;
  --action-hover:#f0f1f3;
}
:is(#app, dialog) table .icon-action:is([data-stage-cancellation],[data-delete-fund],[data-library-remove]){
  --action-ink:#ae253a;
  --action-edge:#df9ea9;
  --action-hover:#fceef1;
}
:is(#app, dialog) table .btn.icon-action:not(:disabled):is(:hover,:focus-visible){
  background:var(--action-hover)!important;
  border-color:var(--action-ink)!important;
}
:is(#app, dialog) table .icon-action svg{filter:none}

.permit-detail-links{display:inline-flex;gap:4px;align-items:center}
.permit-detail-modal .permit-detail-links .btn.icon-action{background:transparent;border-color:#d3d6d9;color:#555b62}
.permit-detail-modal .permit-detail-links .btn.icon-action:hover{background:#f0f1f3;border-color:#555b62;box-shadow:none}
.permit-tab-panels .panel-head > .row-actions{margin-inline-start:auto;justify-content:flex-end}
#guarantee-form .field[hidden]{display:none}
