/* El portal conserva la paleta, las superficies y la tipografía de Territorio. */
:root{--portal-warning-bg:#fdf0dc;--portal-warning:#95671e;--portal-danger-bg:#fbe9e5;--portal-danger:#a44e40;--portal-surface:#f8faf7;--portal-control:#f0f4f1}
.portal-demo{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-bottom:24px;border:1px solid var(--line);border-radius:12px;background:#edf3ee;color:#536e60;font-size:11px}.portal-demo>span{display:flex;align-items:center;gap:8px}.portal-demo svg{width:16px;height:16px}.portal-demo .textbtn{padding:0;white-space:nowrap}.company-dashboard{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:24px}.company-hero{min-height:220px;padding:28px 32px}.company-hero h2{font-size:38px;max-width:none;font-variant-numeric:tabular-nums;letter-spacing:-1.5px}.company-hero p{font-size:13px}.company-actions{display:flex;gap:12px;flex-wrap:wrap}.hero .hero-secondary{background:transparent;color:#e5f0e7;border-color:#ffffff38}.company-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 28px}.company-summary>div{display:flex;align-items:center;gap:12px;padding:18px;background:white;border:1px solid var(--line);border-radius:16px}.company-summary svg{color:var(--green);width:19px}.company-summary span{font-size:11px;color:#6c8075}.company-summary strong{display:block;font-family:Outfit,system-ui,sans-serif;font-size:25px;color:var(--ink);margin-top:4px}.obligation-main{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.obligation-main h3{font-size:15px}.obligation-main p{font-size:11px;color:#74867b;margin:5px 0 16px}.obligation-main>strong{font-size:19px;white-space:nowrap;font-family:Outfit,system-ui,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.obligation-date{display:flex;align-items:center;gap:7px;color:#74867b;font-size:11px;flex-wrap:wrap}.obligation-date svg{width:15px;height:15px}.obligation-date b{font-weight:500;color:#476351}.deadline{margin-left:auto;font-size:10px;color:var(--portal-warning);background:var(--portal-warning-bg);padding:4px 7px;border-radius:5px}.deadline.late{color:var(--portal-danger);background:var(--portal-danger-bg)}.portal-help{display:flex;gap:16px;margin-top:24px}.portal-help .iconbox{flex-shrink:0}.portal-help h3{font-size:14px}.portal-help p,.portal-copy{font-size:12px;color:#667e70;line-height:1.8}.portal-help p{margin:6px 0}.portal-mini-message{display:flex;align-items:flex-start;gap:12px;text-align:left;width:100%;padding:18px 0;border-bottom:1px solid var(--line)}.portal-mini-message>.iconbox{flex-shrink:0;width:35px;height:35px;border-radius:10px}.portal-mini-message>.iconbox svg{width:17px;height:17px}.portal-mini-message>svg{width:15px;height:15px;margin-left:auto;color:var(--muted);margin-top:4px}.portal-mini-message b{display:block;font-size:12px;line-height:1.6;margin-bottom:5px}.portal-mini-message small{display:block;font-size:11px;color:#6e8376;line-height:1.7}.portal-aside-title{font-size:22px!important;margin-top:16px;line-height:1.5}.reference-chain{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:24px 0}.reference-chain>span{display:flex;align-items:center;flex-direction:column;gap:9px;font-size:10px;color:var(--green)}.reference-chain>span svg{width:22px;height:22px}.reference-chain>svg{width:14px;color:#a4b6aa}.company-app .desktopnav{overflow-x:auto}.company-app .desktopnav button{white-space:nowrap}.company-app .bottomnav .fab{background:transparent;color:inherit;border:0;box-shadow:none;margin:0}.company-app .bottomnav .fab span{position:static}.company-app .sectionhead{gap:12px;flex-wrap:wrap}.company-app .sectionhead>.portal-copy{margin:0}.bancard-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}.provider-name{font-family:Outfit,system-ui,sans-serif;font-weight:800;font-size:25px;color:var(--ink);letter-spacing:-1px}.provider-name small{font-size:13px;letter-spacing:0;font-weight:500}.checkout-preview{padding:24px;background:var(--portal-control);border:1px dashed #aec6b4;border-radius:15px;text-align:center}.checkout-preview>svg{width:28px;height:28px;color:var(--green);margin-bottom:12px}.checkout-preview h3{font-size:15px}.checkout-preview p{font-size:12px;line-height:1.8;color:#667e70;margin-bottom:0}.checkout-error{padding:14px;background:var(--portal-danger-bg);color:var(--portal-danger);border-radius:10px;font-size:12px;line-height:1.7}.receipt-total{font-size:32px;font-family:Outfit,system-ui,sans-serif;letter-spacing:-1px}.receipt-success{padding-top:8px}.keyvals b{overflow-wrap:anywhere}.payments-summary{display:flex;gap:16px;align-items:center}.payments-summary h2{font-size:28px;margin-top:5px}.payments-summary small,.payments-summary p{color:#6e8376;font-size:11px}.payments-summary p{margin-bottom:0}.payments-summary>.btn{margin-left:auto}.payment-row{display:flex;align-items:center;gap:16px}.payment-row>.iconbox{flex-shrink:0}.payment-row h3{font-size:14px}.payment-row p{font-size:10px;color:#6e8376;margin:5px 0}.payment-row small{font-size:10px;color:#6e8376;overflow-wrap:anywhere}.payment-row>strong{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.payment-row>.iconbtn{flex-shrink:0}.reminder-options{display:grid;gap:16px;margin:20px 0 24px}.reminder-options label{display:flex;align-items:center;gap:10px;font-size:12px;cursor:pointer}.reminder-options input{width:18px;height:18px;accent-color:var(--green)}.clock-options{display:flex;gap:8px;margin:20px 0}.clock-options .btn{flex:1}.request-reply{padding:18px;background:#eef5ee;border:1px solid #dce8df;border-radius:12px;color:#45644e;font-size:12px}.request-reply p{line-height:1.8}.request-reply small{font-size:10px}.pre-line{white-space:pre-line}.company-desk .hint{margin:4px 0 0}.company-desk>.btn{margin-top:16px}.company-app .field input{background:var(--portal-surface)}.company-app .btn:hover,.company-app .iconbtn:hover{filter:brightness(.96)}.company-app .btn:active{transform:translateY(1px)}
/* Leaflet dimensiona sus SVG por atributos; no heredan el tamaño de los íconos. */
.team-map .leaflet-overlay-pane svg{width:revert;height:revert;max-width:none}
/* Supervisión de campo y comisiones. */
.supervisor-hero{display:flex;justify-content:space-between;align-items:center;gap:24px}.supervisor-hero h2{font-size:29px;max-width:600px}.supervisor-hero>div{position:relative;z-index:1}.supervisor-hero .hero-figure{font-size:40px;font-weight:700;color:var(--lime);font-family:Outfit,system-ui,sans-serif;text-align:right;flex-shrink:0}.hero-figure small{font-size:11px;display:block;font-weight:400;color:#b7cebf}.supervisor-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,1fr);gap:24px}.team-map{height:430px;border-radius:14px;background:#edf1e9;position:relative;isolation:isolate;border:1px solid var(--line);overflow:hidden}.team-map .leaflet-container{height:100%;width:100%;font-family:'Public Sans',system-ui,sans-serif}.team-map svg{max-width:100%}.map-placeholder{display:grid;place-items:center;align-content:center;height:100%;padding:24px;text-align:center;gap:12px;color:#68816e;font-size:12px}.map-placeholder svg{width:32px;height:32px}.map-fallback{height:100%;padding:20px}.map-fallback>svg{width:100%;height:calc(100% - 36px);stroke:none}.map-fallback p{font-size:11px;color:#637a6b;text-align:center}.map-fallback circle,.map-fallback text{cursor:pointer}.map-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;color:#6b8071;font-size:10px}.map-legend span{display:flex;align-items:center;gap:6px}.map-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--green)}.map-dot.example{background:#be923b}.map-dot.recorded{background:#18675b}.field-person{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:16px 0;border-bottom:1px solid var(--line)}.field-person:last-child{border-bottom:0}.field-person.active{color:var(--green)}.field-person .avatar{flex-shrink:0}.field-person h3{font-size:13px;margin-bottom:4px}.field-person p{margin:0;font-size:10px;color:#6d8273}.field-person>svg{margin-left:auto;width:15px}.field-point{font-size:11px;border-bottom:1px solid var(--line);padding:14px 0}.field-point:last-child{border-bottom:0}.field-point b{display:block;margin-bottom:6px}.field-point p{color:#6b8071;margin:4px 0;line-height:1.7}.field-point .textbtn{font-size:10px}.map-toolbar{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;align-items:center;margin-bottom:18px}.map-toolbar .chips{margin:0}.commission-table-wrap{overflow-x:auto}.commission-table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}.commission-table th{text-align:left;color:#7b8e82;font-size:10px;font-weight:500;padding:12px 14px;border-bottom:1px solid var(--line)}.commission-table td{padding:16px 14px;border-bottom:1px solid var(--line)}.commission-table td.numeric{text-align:right;font-variant-numeric:tabular-nums}.commission-table td small{display:block;color:#7b8e82;font-size:10px;margin-top:5px}.commission-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0}.commission-totals>div{background:white;border:1px solid var(--line);border-radius:16px;padding:20px}.commission-totals small{font-size:11px;color:#74867b}.commission-totals strong{display:block;font-family:Outfit,system-ui,sans-serif;font-size:24px;margin:12px 0 6px;letter-spacing:-1px}.commission-totals p{font-size:10px;color:#74867b;margin:0}.leaflet-popup-content{font-family:'Public Sans',system-ui,sans-serif;font-size:12px;line-height:1.8}.leaflet-popup-content small{font-size:10px}.team-map .leaflet-control-attribution{font-size:10px}.mobile-company-desk{display:none}
@media(max-width:1000px){.company-dashboard,.supervisor-layout{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:18px}.company-hero h2{font-size:32px}.company-summary>div{padding:15px 12px;gap:8px}.company-summary svg{width:16px}.company-actions .btn{font-size:11px}.obligation-main>strong{font-size:17px}.company-app .desktopnav button{padding:11px 13px}.commission-totals strong{font-size:20px}}
@media(max-width:700px){.company-dashboard,.supervisor-layout{display:flex;flex-direction:column;gap:0}.company-dashboard aside{display:block}.company-dashboard aside .panel{margin-top:4px}.portal-demo{padding:12px;font-size:10px;gap:6px;align-items:flex-start}.portal-demo>span{gap:5px;flex-wrap:wrap;line-height:1.5}.demo-explanation{display:none}.portal-demo .textbtn{font-size:10px;white-space:normal;text-align:right}.company-hero{padding:25px;min-height:220px}.company-hero h2{font-size:33px;max-width:none}.company-hero p{font-size:11px}.company-actions{gap:8px}.company-actions .btn{font-size:10px}.company-summary{gap:8px;margin:14px 0 26px}.company-summary>div{padding:15px 10px;gap:7px;align-items:flex-start}.company-summary svg{width:15px;height:15px;margin-top:1px}.company-summary span{font-size:9px}.company-summary strong{font-size:23px;margin-top:8px}.obligation-main{gap:10px}.obligation-main h3{font-size:14px;line-height:1.6}.obligation-main>strong{font-size:16px;margin-top:4px}.obligation-main p{font-size:10px}.obligation-date{font-size:10px}.deadline{font-size:9px}.company-app .bottomnav button{min-width:0;flex:1;font-size:8px}.company-app .bottomnav svg{width:21px;height:21px}.company-app .sectionhead .btn{font-size:10px;min-height:38px;padding:9px 12px}.portal-aside-title{font-size:20px!important}.portal-help h3{line-height:1.6}.payments-summary{flex-wrap:wrap;gap:12px}.payments-summary>.btn{margin-left:0;width:100%;margin-top:8px}.payments-summary h2{font-size:26px}.payment-row{flex-wrap:wrap;gap:12px;padding:18px}.payment-row>.iconbox{display:none}.payment-row>div{flex-basis:calc(100% - 55px);order:0}.payment-row>.iconbtn{order:1;margin-left:auto}.payment-row>strong{order:2;margin-left:0;font-size:18px}.payment-row p{line-height:1.8}.sheetactions .btn{font-size:11px;padding:12px 10px}.bancard-heading .tag{font-size:8px}.provider-name{font-size:23px}.supervisor-hero{display:block}.supervisor-hero h2{font-size:25px}.supervisor-hero .hero-figure{text-align:left;margin-top:24px;font-size:30px}.supervisor-layout>aside{margin-top:0}.team-map{height:330px}.map-toolbar .chips{max-width:100%}.map-toolbar .chip{padding:9px 12px;font-size:10px}.commission-totals{gap:8px}.commission-totals>div{padding:16px 10px;border-radius:14px}.commission-totals strong{font-size:16px;letter-spacing:-.6px}.commission-totals small{font-size:9px}.commission-totals p{font-size:8px}.mobile-company-desk{display:block}.mobile-company-desk .company-desk{margin-top:20px}.map-legend{font-size:9px;gap:12px}}
