:root{--ink:#24372c;--text:#465b4d;--muted:#718577;--green:#1d6042;--green2:#164932;--wash:#edf4ee;--line:#dfe8df;--bg:#f5f7f4;--white:#fff;--red:#944439;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #91bda1;outline-offset:2px}button:disabled{opacity:.5;cursor:default}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.6rem,3vw,2.05rem);line-height:1.2;letter-spacing:-.035em;margin-bottom:8px}h2{font-size:1.08rem;letter-spacing:-.015em;margin:0 0 16px}p{margin-bottom:10px}.small,small{font-size:12px}.muted{color:var(--muted)}.top{min-height:74px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px clamp(14px,3vw,38px)}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none}.brand img{border-radius:11px}.brand strong{font-size:16px;display:block;letter-spacing:-.035em}.brand small{color:var(--muted);display:block;font-size:10px}.account{display:flex;align-items:center;gap:16px}.account span{display:block;text-align:right}.account b{display:block;font-size:13px}.account small{display:block;color:var(--muted);font-size:11px}.plain{background:none;border:none;color:var(--green);font-weight:650}.shell{display:grid;grid-template-columns:225px minmax(0,1fr);min-height:calc(100dvh - 74px)}.sidebar{background:#fbfcfa;border-right:1px solid var(--line);padding:23px 13px;display:flex;flex-direction:column;gap:5px}.nav{display:flex;align-items:center;gap:12px;padding:12px 14px;font-size:13px;border-radius:10px;color:#4f6657;font-weight:620;white-space:nowrap}.nav:hover{background:#f0f5f0;text-decoration:none}.nav.current{background:#e8f1e9;color:var(--green)}.navicon{font-size:19px;width:23px;text-align:center;font-weight:450;line-height:1}.main{padding:34px clamp(16px,4vw,52px) 90px;min-width:0;max-width:1450px;width:100%;margin:0 auto}.title{margin-bottom:25px}.title p{color:var(--muted);font-size:13px}.panel,.tile,.auth-card{background:var(--white);border:1px solid var(--line);border-radius:15px;box-shadow:0 3px 18px #203a2308}.panel{padding:24px;margin-bottom:20px}.narrow{max-width:740px}.maxwide{max-width:720px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:15px}.tile{padding:24px;min-height:182px;color:var(--ink);display:flex;align-items:flex-start;flex-direction:column;gap:9px}.tile:hover{text-decoration:none;border-color:#acc7af;transform:translateY(-1px)}.tileicon{display:grid;place-items:center;background:var(--wash);height:44px;width:44px;border-radius:12px;font-size:23px;color:var(--green)}.tile strong{font-size:16px}.tile p{font-size:13px;color:var(--muted);margin:0}.tilelink{color:var(--green);font-size:13px;font-weight:650;margin-top:auto}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:11px;min-height:43px;padding:10px 17px;font-size:13px;font-weight:700;gap:7px;text-align:center;white-space:normal}.btn-primary{background:var(--green);color:white}.btn-primary:hover{background:var(--green2)}.btn-soft{background:var(--wash);color:var(--green);border-color:#d0dfd2}.btn-outline{background:white;color:var(--green);border-color:#ccdcd1}.btn.big{min-height:62px;font-size:16px;width:100%}.auth-wrap{min-height:100dvh;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center}.auth-card{padding:clamp(22px,5vw,36px);width:min(460px,100%)}.auth-brand{text-align:center;margin-bottom:28px}.auth-brand img{width:130px;height:110px;object-fit:contain}.auth-brand h1{font-size:25px}.auth-brand p{color:var(--muted)}input,select,textarea{display:block;width:100%;max-width:100%;background:white;border:1px solid #cfdfd3;color:var(--ink);border-radius:10px;min-height:44px;padding:10px 12px}textarea{min-height:95px;resize:vertical}.stack{display:flex;flex-direction:column;gap:11px}.stack>.btn{margin-top:9px}.stack label,.filters label, .panel label{font-size:13px;font-weight:660}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:13px;align-items:end}.filters>div{min-width:0}.filterbutton{display:flex;align-items:end}.filterbutton>.btn{width:100%}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline-form select{width:auto;max-width:100%;flex:1}.inline-form label{white-space:nowrap}.password{position:relative}.password input{padding-right:53px}.reveal{position:absolute;right:5px;top:3px;border:none;border-radius:9px;width:38px;height:38px;background:transparent;color:var(--muted);font-size:19px}.reveal:hover{background:var(--wash)}.notice{padding:12px 16px;border:1px solid;border-radius:11px;margin-bottom:18px;font-size:13px}.notice.success{color:#205c36;background:#e8f4ea;border-color:#b7dabd}.notice.error{color:#823e34;background:#fff1ed;border-color:#eec5bd}.punch-status{margin:22px 0;padding:22px;background:var(--bg);border-radius:13px;display:flex;flex-wrap:wrap;align-items:center;gap:9px}.punch-status strong{font-size:12px;color:var(--muted);width:100%;font-weight:550}.statusdot{width:10px;height:10px;border-radius:50%;background:#a3b4a7}.statusdot.on{background:#18854f}.punch-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:12px;margin:22px 0}.r{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:13px 1px}.r:last-child{border-bottom:0}.r strong{white-space:nowrap}.r small{display:block;color:var(--muted)}.tablewrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th{font-weight:750;font-size:12px;color:#516b59;background:#f5f8f4}td,th{border-bottom:1px solid var(--line);padding:13px 12px;vertical-align:middle}td small{display:block;font-size:11px;color:var(--muted)}td form{margin:0}.summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:22px 0 10px}.summary b{padding:9px 12px;background:var(--wash);border-radius:9px}.tag{display:inline-block;border-radius:999px;background:#e7f2e9;color:#256441;padding:5px 9px;font-size:11px;white-space:nowrap}.tag.warn{background:#fff1dc;color:#916315}.decision{display:flex;gap:7px;flex-wrap:wrap}.decision input{width:160px;min-height:39px}.decision .btn{min-height:39px}.twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.support-item{display:flex;gap:20px;align-items:start;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line)}.support-item p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:6px}.auth-wrap .notice{width:min(460px,100%)}@media(max-width:850px){.shell{display:block}.sidebar{position:sticky;top:0;z-index:10;background:var(--white);flex-direction:row;overflow-x:auto;scrollbar-width:none;padding:8px 12px;border-right:0;border-bottom:1px solid var(--line)}.sidebar::-webkit-scrollbar{display:none}.nav{padding:10px 12px;font-size:12px}.main{padding:22px 15px 95px}.top{min-height:67px}.brand small{font-size:9px}.account{gap:7px}.account b{font-size:12px}.account small{font-size:10px}.panel{padding:17px}.tiles{gap:11px}.tile{padding:18px;min-height:158px}.punch-actions{grid-template-columns:1fr 1fr}}@media(max-width:450px){.account span{display:block}.account small{display:none}.account b{font-size:11px}.brand small{display:none}.punch-actions{grid-template-columns:1fr}.top{padding-left:13px;padding-right:13px}.twocol{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.summary{gap:7px}.brand strong{font-size:14px}.panel{padding:15px}.punch-status{padding:15px}.title{margin-bottom:18px}}@media(display-mode:standalone){.top{padding-top:max(13px,env(safe-area-inset-top))}.main{padding-bottom:max(90px,env(safe-area-inset-bottom))}}@media print{body{background:white}.top,.sidebar,.no-print,.btn,.inline-form{display:none!important}.shell{display:block}.main{padding:0;max-width:100%}.panel{box-shadow:none;border:0;padding:0}.title{margin-bottom:12px}td,th{padding:8px}a{color:#222}}
/* RH 1.1 — ausências, comprovativos, calendário */
.spacer-top{margin-top:14px}.doc-list{display:flex;flex-direction:column;gap:6px;min-width:150px}.doc-list a{display:block;font-size:12px;overflow-wrap:anywhere}.panel.info-panel{background:#f0f6f1}.panel.info-panel p{margin:0;font-size:13px}.tag-danger{background:#fbe9e6;color:#99453d}.tag-other{background:#ececf7;color:#514b81}.calendar{margin-top:20px}.calendar-weekday{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;gap:4px;margin-bottom:5px;color:var(--muted);font-size:12px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-day,.calendar-empty{min-width:0;min-height:100px;background:#f6f9f5;border:1px solid var(--line);border-radius:10px;padding:7px;overflow:hidden}.calendar-day strong{display:block;margin-bottom:6px;font-size:12px}.calendar-event{font-size:10px;line-height:1.25;border-radius:5px;padding:5px;margin-bottom:4px;overflow-wrap:anywhere}.calendar-event.holiday{background:#d9efde;color:#24643e}.calendar-event.other{background:#ececf6;color:#5a5582}.decision input{min-width:165px}.tablewrap details{max-width:220px}.tablewrap details form{margin:10px 0}.tablewrap details .btn{width:100%}
@media(max-width:800px){.calendar-day{min-height:63px;padding:3px}.calendar-event{font-size:9px;padding:3px}.calendar-weekday{gap:2px}}
@media(max-width:450px){.calendar-grid{gap:2px}.calendar-day,.calendar-empty{min-height:47px;border-radius:5px}.calendar-event{font-size:8px;letter-spacing:-.02em}.calendar-day strong{font-size:10px}.tablewrap td,.tablewrap th{padding:11px 9px}.sidebar .nav{min-width:max-content}}
@media print{.calendar-day{min-height:95px;border:1px solid #aaa}.calendar-event{print-color-adjust:exact;-webkit-print-color-adjust:exact}.calendar-grid{gap:3px} .calendar-weekday{font-size:12px}}

/* v1.1.1 — Parecer operacional e decisão RH em ações distintas */
.decision-separator{height:1px;background:var(--line);margin:12px 0}
.decision{align-items:end}
.decision label{width:100%;margin-bottom:0;color:var(--muted);font-size:11px}
.decision input{flex:1 1 145px;max-width:100%}
@media(max-width:600px){.decision .btn{min-height:44px}.decision input{width:100%;flex-basis:100%}}

/* Equipa+ RH 1.2 — perfis, histórico e acções de contacto */
.kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px}.kpi{background:var(--wash);border:1px solid var(--line);border-radius:12px;padding:17px}.kpi small{display:block;color:var(--muted);margin-bottom:6px}.kpi strong{font-size:18px;line-height:1.25}.checkbox-row{display:flex;align-items:center;gap:9px}.checkbox-row input{width:18px;min-height:18px;accent-color:var(--green)}.contact-actions{font-size:11px;white-space:nowrap;margin-top:4px}.contact-actions a{font-weight:650}details{margin:5px 0}details>summary{cursor:pointer;color:var(--green);font-weight:650}details .stack{padding:12px;border:1px solid var(--line);border-radius:9px;min-width:230px;margin-top:8px}@media(max-width:600px){.kpi-grid{grid-template-columns:1fr}.kpi{padding:12px}.kpi strong{font-size:16px}}

/* Equipa+ RH v1.2.3 — navegação organizada e edição de pessoas */
.nav-toggle{display:none;border:1px solid var(--line);background:var(--wash);color:var(--green);padding:10px 14px;border-radius:11px;font-weight:750}
.side-nav-content{display:flex;flex-direction:column;gap:7px;min-width:0}
.nav-group{margin:0;border-radius:12px;border:1px solid transparent}
.nav-group[open]{background:#f1f6f1;border-color:#e2ebe2}
.nav-group>summary{padding:12px 14px;color:#526759;font-size:12px;font-weight:770;display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;min-height:44px}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary:after{content:'⌄';font-size:15px;color:#63846d;transform-origin:center;transition:transform .15s ease}
.nav-group[open]>summary:after{transform:rotate(180deg)}
.nav-group-links{padding:0 5px 7px}
.nav-group .nav{white-space:normal;line-height:1.35;padding:10px 12px;font-weight:580}
.nav-primary{font-weight:750;background:#f5f8f4}
.people-add-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:end}
.people-add-grid>div,.schedule-pick>div{min-width:0}
.person-add-submit .btn{width:100%}
.person-tools{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 19px}
.people-list{display:flex;flex-direction:column;gap:12px}
.person-card{border:1px solid var(--line);border-radius:14px;padding:16px 17px;background:#fff;min-width:0}
.person-card-summary{display:flex;justify-content:space-between;align-items:start;gap:16px;flex-wrap:wrap}
.person-ident{display:flex;align-items:start;gap:13px;min-width:0;flex:1}
.person-ident>div:last-child{min-width:0}
.avatar{display:grid;place-items:center;flex:none;background:var(--wash);color:var(--green);width:43px;height:43px;border-radius:12px;font-weight:750;font-size:18px}
.person-ident h3{font-size:15px;margin:0 0 3px;overflow-wrap:anywhere}
.person-ident p{margin:0 0 4px}
.person-company{font-size:12px;color:#607465;overflow-wrap:anywhere}
.person-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.person-actions form{margin:0}
.person-actions .btn{min-height:36px;padding:7px 11px;font-size:12px}
.person-editor{max-width:none!important;margin:14px 0 0!important;border-top:1px solid var(--line)}
.person-editor>summary{margin-top:12px;display:inline-flex;align-items:center;gap:7px;font-size:13px;padding:6px 0}
.person-editor .person-edit-body{padding:15px 0 1px}
.person-edit-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.person-edit-head strong{font-size:15px}
.person-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.person-form{background:#f8faf7;border:1px solid var(--line);border-radius:12px;padding:15px;min-width:0;gap:8px}
.person-form h4{margin:0 0 2px;font-size:13px}
.person-form p{margin:0}
.person-form .btn{align-self:start}
.person-form label{font-size:12px}
.schedule-pick{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end;max-width:780px}
.schedule-pick label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.schedule-grid>div{min-width:0}
.form-actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:1100px){.people-add-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){
 .sidebar{position:relative;display:block;overflow:visible;padding:10px 15px;border-bottom:1px solid var(--line)}
 .nav-toggle{display:inline-flex;gap:8px;align-items:center}
 .side-nav-content{display:none;padding-top:9px}
 .sidebar.menu-open .side-nav-content{display:flex}
 .sidebar .nav{min-width:0;white-space:normal}
 .nav-group>summary{min-height:44px}
}
@media(max-width:620px){
 .people-add-grid,.person-form-grid,.schedule-pick,.schedule-grid{grid-template-columns:1fr}
 .person-card{padding:13px}
 .person-card-summary{gap:11px}
 .person-actions{padding-left:56px}
 .person-form{padding:13px}
 .person-form .btn{width:100%}
 .form-actions .btn{width:100%}
 .person-tools .btn{flex:1 1 100%}
}
@media print{.nav-toggle,.person-tools,.person-editor,.person-actions,.people-add-grid,.schedule-pick{display:none!important}}

/* Equipa+ RH 1.3 — validação e auditoria */
.inline-approve{display:flex;gap:7px;align-items:center;flex-wrap:wrap;min-width:180px}.inline-approve input{flex:1 1 120px;min-width:120px;max-width:200px}.inline-approve button{white-space:nowrap}.audit-detail{min-width:260px;max-width:520px;white-space:normal;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:11px}.nav-group .nav.current{background:#e5efe6;border-radius:9px}.person-editor{max-width:100%;overflow:visible}.person-card .person-form-grid input,.person-card .person-form-grid select{width:100%;box-sizing:border-box}
@media(max-width:650px){.inline-approve{flex-direction:column;align-items:stretch}.inline-approve input{max-width:none}.audit-detail{min-width:180px}.sidebar{top:env(safe-area-inset-top,0px)}}

/* Equipa+ RH 1.3.1 — horários num único painel semanal */
.schedule-editor{max-width:960px;padding:clamp(16px,2.5vw,28px)}
.schedule-person-picker{display:flex;align-items:end;gap:12px;max-width:650px;margin:0}
.schedule-person-picker label{font-size:12px;font-weight:750;min-width:90px;padding-bottom:14px}
.schedule-person-picker select{flex:1;min-width:0}
.schedule-picker-fallback{display:none}
.schedule-company{margin:10px 0 20px;padding-left:102px}
.schedule-week-days{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}
.schedule-day{margin:0;border-bottom:1px solid var(--line)}
.schedule-day:last-child{border-bottom:0}
.schedule-day>summary{display:grid;grid-template-columns:minmax(130px,1fr) minmax(210px,1.8fr) auto;align-items:center;gap:12px;padding:15px 17px;list-style:none;cursor:pointer;min-height:56px;color:var(--ink)}
.schedule-day>summary::-webkit-details-marker{display:none}
.schedule-day>summary:hover{background:#f8fbf7}
.schedule-day[open]>summary{background:var(--wash)}
.schedule-day-title{font-weight:750;font-size:13px}
.schedule-day-info{font-size:13px;color:var(--text)}
.schedule-day-edit{font-size:12px;font-weight:700;color:var(--green);white-space:nowrap}
.schedule-day-edit span{display:inline-block;transition:transform .15s ease}
.schedule-day[open] .schedule-day-edit span{transform:rotate(180deg)}
.schedule-day-body{padding:13px 18px 19px;background:#fbfcfa;border-top:1px solid var(--line)}
.schedule-status-label{display:block;margin-bottom:6px;font-size:12px;font-weight:700}
.schedule-day-body>select{width:220px;max-width:100%;margin-bottom:15px}
.schedule-day-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}
.schedule-times-head{grid-column:span 2;color:var(--green);font-weight:750;font-size:12px;margin-bottom:-4px}
.schedule-time{min-width:0}
.schedule-time label{display:block;font-size:12px;color:var(--text);font-weight:650;margin:0 0 5px}
.schedule-time input{width:100%;min-width:0}
.schedule-day[data-current-state="off"] [data-schedule-times],
.schedule-day[data-current-state="unset"] [data-schedule-times]{display:none}
.schedule-unset-explain{display:none}
.schedule-day[data-current-state="unset"] .schedule-unset-explain{display:block;margin:0}
.schedule-weekend{margin:15px 0 0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.schedule-weekend>summary{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;padding:13px 16px;background:#f8faf7;font-size:13px;font-weight:750;cursor:pointer}
.schedule-weekend>summary span{color:var(--muted);font-size:12px;font-weight:450}
.schedule-weekend>.schedule-week-days{border:0;border-radius:0}
.schedule-help{margin:17px 0}
.schedule-bottom{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.schedule-toolbar{display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.schedule-back{font-size:13px;font-weight:650}
.schedule-save{min-width:160px}
@media(min-width:900px){.schedule-picker-fallback{display:none}}
@media(max-width:650px){
 .schedule-person-picker{display:block}.schedule-person-picker label{display:block;padding:0;margin-bottom:5px}
 .schedule-person-picker select{width:100%}.schedule-company{padding:0;margin:8px 0 15px}
 .schedule-day>summary{grid-template-columns:1fr auto;gap:4px 7px;padding:13px 12px}
 .schedule-day-info{grid-row:2;grid-column:1/-1;font-size:12px}
 .schedule-day-edit{grid-row:1;grid-column:2}.schedule-day-body{padding:13px}
 .schedule-day-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .schedule-bottom,.schedule-toolbar{align-items:stretch;flex-direction:column}
 .schedule-toolbar .btn,.schedule-save{width:100%}.schedule-back{text-align:center}
}
@media print{.schedule-day-body,.schedule-bottom,.schedule-person-picker{display:none!important}.schedule-week-days,.schedule-day{border:1px solid #ccc}.schedule-day>summary{padding:9px}.schedule-weekend{display:none}}

/* Períodos alinhados, sem campos escondidos fora do respetivo grupo */
.schedule-day-times{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.schedule-period{min-width:0}.schedule-period>strong{display:block;font-size:12px;color:var(--green);margin:0 0 7px}
.schedule-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:650px){.schedule-day-times{grid-template-columns:1fr;gap:13px}}

/* Equipa+ RH 1.4.1 — ficha de pessoa e ações diretas */
.people-toolbar{display:grid;grid-template-columns:minmax(0,2fr) minmax(180px,1fr);align-items:end;gap:12px;margin-bottom:15px}
.people-toolbar>div{min-width:0}.people-toolbar label{display:block;font-size:12px;font-weight:700;margin-bottom:5px}
.people-toolbar input,.people-toolbar select{width:100%;background:#fff}
.people-create{padding:0!important;overflow:hidden}.people-create>summary{list-style:none;cursor:pointer;padding:17px 21px;color:var(--green);font-weight:750;font-size:14px}
.people-create>summary::-webkit-details-marker{display:none}.people-create[open]>summary{border-bottom:1px solid var(--line);background:#f7faf7}
.people-create-body{padding:21px}.people-import{margin:0 0 16px;font-size:12px}.people-import a{text-decoration:underline;text-underline-offset:3px}
.people-title{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:15px}.people-title h2{margin:0}
.person-card{padding:0;overflow:visible}.person-card-summary{padding:15px 17px}.person-editor{margin:0!important;padding:0 17px 10px;border-top:1px solid var(--line)}
.person-editor>summary{display:flex;justify-content:space-between;width:100%;min-height:41px;align-items:center;list-style:none;cursor:pointer;font-weight:700;color:var(--green);padding:9px 0}
.person-editor>summary::-webkit-details-marker{display:none}.person-expand-hint{font-size:11px;font-weight:500;color:var(--muted)}.person-editor[open] .person-expand-hint{display:none}
.person-editor .person-edit-body{padding:13px 0 5px}.person-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.person-section{background:#f8faf7;border:1px solid var(--line);border-radius:12px;padding:17px;min-width:0}
.person-section h4{margin:0 0 10px;font-size:14px}.person-section p{margin:0 0 11px}.person-section label{font-size:12px;font-weight:650}.person-section input,.person-section select{width:100%;min-width:0}
.person-section .btn{align-self:start}.person-small-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.person-small-form label{flex:0 0 100%;margin:0}.person-small-form select{flex:1 1 150px;width:auto}.person-small-form .btn{flex:0 0 auto}
.person-access-list{display:flex;flex-direction:column;gap:0;margin:0 0 13px}.person-access-row{display:flex;gap:9px;justify-content:space-between;align-items:center;min-height:43px;border-bottom:1px solid var(--line);padding:6px 0}
.person-access-name{font-size:13px;font-weight:650}.person-access-row .btn{min-height:32px}.btn-xs{min-height:31px!important;padding:5px 10px!important;font-size:11px!important}
.person-temp-code{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.person-section .stack{gap:8px}
.person-editor summary:focus-visible,.people-create summary:focus-visible{outline:3px solid #91bda1;outline-offset:3px}
.person-card[hidden]{display:none!important}.people-list{gap:10px}.people-title .muted{font-weight:400}
@media(max-width:880px){.person-edit-grid{grid-template-columns:1fr}}
@media(max-width:640px){.people-toolbar{grid-template-columns:1fr}.person-card-summary{padding:13px}.person-editor{padding:0 13px 8px}.person-section{padding:13px}.person-small-form{display:block}.person-small-form label{display:block;margin:0 0 5px}.person-small-form select{width:100%;margin-bottom:10px}.person-small-form .btn{width:100%}.person-access-row .btn{width:auto}}
@media print{.people-toolbar,.people-create,.person-editor,.people-import{display:none!important}}
/* Afinamento visual após revisão real a 390px */
.person-edit-grid{align-items:start}
.person-section .checkbox-row{display:flex;align-items:center;justify-content:flex-start;gap:9px;width:100%;text-align:left}
.person-section .checkbox-row input[type="checkbox"]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0}
@media(max-width:640px){
 .person-card-summary{display:flex;flex-direction:column;align-items:stretch}
 .person-ident{flex:0 0 auto;width:100%;min-width:0}
 .person-ident>div:last-child{flex:1;min-width:0}
 .person-ident h3,.person-ident p{overflow-wrap:break-word;word-break:normal}
 .person-actions{padding:7px 0 0;width:100%;justify-content:flex-end}
 .person-edit-grid{gap:10px}
 .person-section .stack{border:0;padding:0;min-width:0;margin:0}
}
