.kid-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:14px 0}
.kid-card{background:var(--colorbackbody,#fff);border:1px solid rgba(128,128,128,.25);border-left:5px solid #2e7d32;padding:16px;min-height:76px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.kid-card strong{display:block;font-size:28px;line-height:1.1}.kid-card span{display:block;margin-top:6px;font-weight:600}.kid-card small{display:block;margin-top:4px;opacity:.7}
.kid-dashboard{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:16px}.kid-panel{border:1px solid rgba(128,128,128,.25);background:var(--colorbackbody,#fff);padding:12px}
.kid-panel-title{font-weight:700;font-size:16px;margin-bottom:10px;border-bottom:1px solid rgba(128,128,128,.2);padding-bottom:8px}
.kid-live-item{display:grid;grid-template-columns:58px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid rgba(128,128,128,.18)}
.kid-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid rgba(128,128,128,.25);background:#ddd}
.kid-ok{color:#208038}.kid-error{color:#c62828}.kid-warn{color:#bf7500}.kid-info{color:#1565c0}.kid-neutral{color:#666}
.kid-clear{clear:both;width:100%}
.kid-people-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);gap:18px;align-items:start;margin:14px 0 22px;clear:both}
.kid-section{min-width:0;border:1px solid rgba(128,128,128,.25);border-radius:6px;background:var(--colorbackbody,#fff);overflow:hidden;box-shadow:0 2px 7px rgba(0,0,0,.04)}
.kid-section table{margin:0}.kid-section .center{padding:12px}
.kid-section input,.kid-section select{max-width:100%;box-sizing:border-box}
.kid-face-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:16px;align-items:start;width:100%;clear:both}
.kid-person{min-width:0;border:1px solid rgba(128,128,128,.26);border-radius:8px;padding:14px;display:grid;grid-template-columns:104px minmax(0,1fr);gap:14px;background:var(--colorbackbody,#fff);box-shadow:0 2px 8px rgba(0,0,0,.05);overflow:hidden}
.kid-person-photo{min-width:0;text-align:center}.kid-person-body{min-width:0;overflow-wrap:anywhere}
.kid-person .kid-avatar{display:block;width:96px;height:118px;margin:0 auto 6px;border-radius:8px;object-fit:cover}
.kid-person h3{margin:0 0 6px;font-size:16px;line-height:1.25;overflow-wrap:anywhere}
.kid-person details{margin-top:8px;border-top:1px solid rgba(128,128,128,.18);padding-top:7px}
.kid-person summary{cursor:pointer;font-weight:600;line-height:1.35}
.kid-person details form{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.kid-person details input:not([type=hidden]):not([type=file]),.kid-person details select{min-width:150px;max-width:100%;flex:1 1 170px;box-sizing:border-box}
.kid-person details input[type=file]{width:100%;max-width:100%;box-sizing:border-box}
.kid-person .kid-actions{grid-column:1/-1;margin-top:10px;padding-top:10px;border-top:1px solid rgba(128,128,128,.18)}
.kid-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;align-items:center}
.kid-actions form{margin:0}
.kid-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:10px 0}.kid-tabs a{padding:8px 12px;border:1px solid rgba(128,128,128,.3);text-decoration:none}.kid-tabs a.active{background:#263238;color:#fff}
.kid-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.kid-field label{display:block;font-weight:600;margin-bottom:3px}.kid-field input,.kid-field select,.kid-field textarea{width:100%;box-sizing:border-box}
.kid-code{font-family:monospace;white-space:pre-wrap;word-break:break-word;background:rgba(128,128,128,.08);padding:10px;max-height:420px;overflow:auto}
.kid-chart{width:100%;height:280px}.kid-chart line{stroke:rgba(128,128,128,.25);stroke-width:1}.kid-chart .authorized{fill:none;stroke:#2fb344;stroke-width:3}.kid-chart .denied{fill:none;stroke:#d63939;stroke-width:2}.kid-chart .unknown{fill:none;stroke:#777;stroke-width:2}
.kid-badge{display:inline-block;padding:3px 7px;border-radius:12px;font-size:12px;background:#eee}.kid-badge.online{background:#d9f2df;color:#176b2c}.kid-badge.offline{background:#fde0e0;color:#9d1c1c}
.kid-warning{padding:10px;border-left:4px solid #ef9b0f;background:#fff5d8;margin:10px 0}.kid-danger{padding:10px;border-left:4px solid #c62828;background:#fee;margin:10px 0}
@media(max-width:1050px){.kid-people-tools{grid-template-columns:1fr}.kid-face-grid{grid-template-columns:repeat(auto-fit,minmax(380px,1fr))}}
@media(max-width:900px){.kid-dashboard{grid-template-columns:1fr}.kid-person{grid-template-columns:82px minmax(0,1fr)}.kid-person .kid-avatar{width:76px;height:94px}}
@media(max-width:620px){.kid-face-grid{grid-template-columns:1fr}.kid-person{grid-template-columns:1fr}.kid-person-photo{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center;text-align:left}.kid-person .kid-avatar{width:82px;height:100px;margin:0}.kid-person .kid-actions{grid-column:1}.kid-section td{display:block;width:auto}.kid-section td.titlefield{width:auto}.kid-section input,.kid-section select{width:100%}}

.kid-inline-item{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(128,128,128,.15)}

/* IDSecure management suite */
.ids-form-grid,.ids-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;margin:10px 0}
.ids-form-grid label,.ids-settings-grid label,.ids-link-grid label{display:flex;flex-direction:column;gap:4px;font-weight:600;min-width:0}
.ids-form-grid input,.ids-form-grid select,.ids-form-grid textarea,.ids-settings-grid input,.ids-link-grid select{width:100%;max-width:100%;box-sizing:border-box}
.ids-flags{display:flex;flex-wrap:wrap;gap:12px;margin:10px 0;padding:8px;border:1px solid rgba(128,128,128,.18);background:rgba(128,128,128,.04)}
.ids-flags label{white-space:nowrap}
.ids-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.ids-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:10px 0}
.ids-link-grid select{min-height:145px}
.ids-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(128,128,128,.16)}
.ids-checklist{line-height:1.9}.ids-checklist br:before{content:'✓ '}
.ids-settings-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
@media(max-width:1100px){.ids-three{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ids-three{grid-template-columns:1fr}.ids-form-grid,.ids-settings-grid,.ids-link-grid{grid-template-columns:1fr}.tabs{overflow-x:auto;white-space:nowrap;display:block}.tabs .tab{display:inline-block}}

/* KSecure 3.0: telas operacionais e tabelas responsivas */
.inline-block{display:inline-block;margin:2px 0}.kid-panel form+form{margin-top:8px}
.kid-panel input[type=number],.kid-panel input[type=text],.kid-panel select{max-width:100%;box-sizing:border-box}
.ids-schedule-preview{margin-top:6px;padding:8px;border-left:3px solid #607d8b;background:rgba(96,125,139,.08);font-size:12px;line-height:1.45}
.kid-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:12px 0}
.kid-status-box{border:1px solid rgba(128,128,128,.25);border-radius:7px;padding:12px;background:var(--colorbackbody,#fff)}
.kid-status-box strong{display:block;font-size:22px;margin-bottom:3px}
.kid-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.kid-table-wrap table{min-width:760px}
.kid-badge.pending{background:#fff0c7;color:#805300}.kid-badge.running{background:#dbeafe;color:#174ea6}.kid-badge.failed{background:#fde0e0;color:#9d1c1c}.kid-badge.done{background:#d9f2df;color:#176b2c}.kid-badge.cancelled{background:#ececec;color:#555}
.kid-card{min-width:0}.kid-card strong,.kid-card span,.kid-card small{overflow-wrap:anywhere}
.kid-panel,.kid-section{min-width:0}
@media(max-width:900px){
  .fichecenter .fichehalfleft,.fichecenter .fichehalfright{float:none;width:100%;padding:0;margin:0 0 14px}
  table.centpercent{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.centpercent tbody{min-width:720px}
  .kid-actions .button,.kid-actions button{white-space:normal}
}
@media(max-width:620px){
  .kid-grid{grid-template-columns:1fr}
  .kid-dashboard{display:block}.kid-dashboard>.kid-panel{margin-bottom:12px}
  .kid-actions{align-items:stretch}.kid-actions>a,.kid-actions>form,.kid-actions button{width:100%;box-sizing:border-box;text-align:center}
  .ids-flags label{white-space:normal}
}

/* KSecure 3.1: horário e vínculos de equipamento no cadastro mestre */
.ids-grid-full{grid-column:1/-1;min-width:0}
.ids-access-assignment{margin:4px 0 2px;padding:12px;border:1px solid rgba(128,128,128,.22);border-radius:7px;background:rgba(128,128,128,.035)}
.ids-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:14px;align-items:start}
.ids-choice-block{display:flex!important;flex-direction:column;gap:5px;min-width:0;font-weight:600}
.ids-choice-block>span{font-size:14px}
.ids-choice-block>small{font-weight:400;line-height:1.35;opacity:.72}
.ids-choice-block select{width:100%!important;min-width:0!important;min-height:132px;box-sizing:border-box}
.ids-access-assignment .ids-schedule-preview{margin:12px 0 0;max-height:160px;overflow:auto}
.ksecure-discovery-status{display:inline-flex;align-items:center;gap:6px}
.ksecure-discovery-status:before{content:'';width:9px;height:9px;border-radius:50%;background:#999}
.ksecure-discovery-status.ok:before{background:#208038}.ksecure-discovery-status.warn:before{background:#bf7500}.ksecure-discovery-status.error:before{background:#c62828}
@media(max-width:760px){.ids-assignment-grid{grid-template-columns:1fr}}
