/* UltraVision 4.2.0 - revisão de alinhamento, formulários e zonas */
:root{--uv-control-h:44px;--uv-control-bg:#192a3e;--uv-control-border:#29465e;--uv-focus:#31bfe8;--uv-gap:12px}
.uv-main,.enterprise-page{min-width:0}
.uv-main *,.enterprise-page *{box-sizing:border-box}
.uv-main .field{display:grid;gap:7px;min-width:0;align-content:start}
.uv-main .field+.field{margin-top:0}
.uv-main .field>label,.uv-main form>label{display:flex;align-items:center;min-height:17px;color:#dce9f1;font-size:10px;font-weight:800;line-height:1.25}
.uv-main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.uv-main select,.uv-main textarea{width:100%;max-width:100%;min-width:0;border:1px solid var(--uv-control-border);border-radius:8px;background:var(--uv-control-bg);color:#f2f8fb;outline:none;font:inherit}
.uv-main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.uv-main select{height:var(--uv-control-h);min-height:var(--uv-control-h);padding:0 12px}
.uv-main textarea{min-height:92px;padding:11px 12px;resize:vertical}
.uv-main input:focus,.uv-main select:focus,.uv-main textarea:focus{border-color:var(--uv-focus);box-shadow:0 0 0 3px rgba(49,191,232,.09)}
.uv-main input::placeholder,.uv-main textarea::placeholder{color:#68869a}
.uv-main .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--uv-gap);align-items:start}
.uv-main .form-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:14px}
.uv-main .form-actions>*{min-height:40px}
.uv-main .panel-title{gap:12px;flex-wrap:wrap}
.uv-main .panel-title>div{min-width:0}
.uv-main .panel-title h2{line-height:1.25}
.uv-main .enterprise-toolbar{display:grid;grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(150px,.7fr)) auto;gap:10px;align-items:end}
.uv-main .enterprise-toolbar>*{min-width:0}
.uv-main .inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.uv-main .table-wrap{overflow:auto;overscroll-behavior:contain}
.uv-main table{width:100%;border-collapse:collapse}
.uv-main th,.uv-main td{vertical-align:middle}
.uv-main .enterprise-actions,.uv-main .actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.uv-main .grid-2{align-items:start}
.uv-main .simple-card,.uv-main .panel{min-width:0}

/* Usuários */
.users-page .enterprise-lower-grid{grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);gap:16px;align-items:stretch}
.users-page .user-create-panel,.users-page .user-editor-panel{height:100%}
.users-page .user-create-panel form,.users-page .user-editor-panel>.user-edit-form{display:grid;align-content:start}
.users-page .user-create-panel .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.users-page .user-create-panel .field:nth-child(4),.users-page .user-create-panel .field:nth-child(5){grid-column:span 1}
.users-page .user-editor-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.users-page .account-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid #1d3549}
.users-page .account-control-card{display:grid;grid-template-rows:auto var(--uv-control-h) auto;gap:8px;align-content:start;padding:13px;border:1px solid #203a50;border-radius:9px;background:#0a1826}
.users-page .account-control-card.danger{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center}
.users-page .account-control-card.danger label{grid-column:1;grid-row:1}.users-page .account-control-card.danger p{grid-column:1;grid-row:2;margin:0;color:#718fa4;font-size:9px}.users-page .account-control-card.danger button{grid-column:2;grid-row:1/3;align-self:center}
.users-page .account-control-card button{width:100%;min-height:40px}
.users-page .user-editor-panel .panel-title a{white-space:nowrap}

/* Modais e cadastro de dispositivo */
.uv-modal-card{max-width:min(960px,calc(100vw - 32px));max-height:calc(100vh - 28px)}
.device-create-modal .device-form{display:grid;gap:14px}
.device-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.device-form-grid .field{min-width:0}
.device-form-grid .span-2{grid-column:1/-1}
.device-zone-field select{padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#91b4c9 50%),linear-gradient(135deg,#91b4c9 50%,transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;appearance:none}
.device-zone-hint{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:5px;color:#6f8da1;font-size:9px;line-height:1.4}
.device-zone-hint a{color:#52c9ed;text-decoration:none;font-weight:700}
.device-zone-hint a:hover{text-decoration:underline}

/* Zonas */
.uv-zone-create-field{position:relative}
.uv-zone-create-field:after{content:'Vinculada automaticamente aos dispositivos desta empresa';display:block;margin-top:6px;color:#628398;font-size:8px;line-height:1.4}
.uv-zones-panel{margin-top:0}
.uv-zones-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.uv-zones-head h2{margin:3px 0 0}
.uv-zones-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.uv-zone-list{display:grid;gap:8px;margin:0 0 12px}
.uv-zone-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #1d384d;border-radius:8px;background:#091827}
.uv-zone-main{min-width:0}.uv-zone-main strong{display:block;color:#edf7fb;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.uv-zone-main small{display:block;margin-top:4px;color:#68879b;font-size:8px}
.uv-zone-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.uv-zone-actions form{margin:0}
.uv-zone-create-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;padding-top:11px;border-top:1px solid #193147}
.uv-zone-create-form .field{margin:0}.uv-zone-create-form button{height:var(--uv-control-h)}
.uv-zone-status{display:inline-flex;margin-left:7px;padding:2px 6px;border-radius:999px;font-size:7px;font-weight:900;letter-spacing:.05em}.uv-zone-status.active{background:#0d4a37;color:#69efbb}.uv-zone-status.inactive{background:#412429;color:#ff9da5}
.uv-zone-required{color:#58ccee;font-weight:800}

/* Revisão responsiva geral */
@media(max-width:1180px){
  .uv-main .enterprise-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.uv-main .enterprise-toolbar button{width:100%}
  .users-page .enterprise-lower-grid{grid-template-columns:1fr}
}
@media(max-width:820px){
  .uv-main .form-grid,.users-page .user-create-panel .form-grid,.users-page .user-editor-panel .form-grid,.device-form-grid.two{grid-template-columns:1fr}
  .device-form-grid .span-2{grid-column:auto}
  .users-page .account-control-grid{grid-template-columns:1fr}
  .users-page .account-control-card.danger{grid-column:auto;grid-template-columns:1fr;grid-template-rows:auto auto auto}.users-page .account-control-card.danger label,.users-page .account-control-card.danger p,.users-page .account-control-card.danger button{grid-column:1;grid-row:auto}
  .uv-main .enterprise-toolbar{grid-template-columns:1fr}
  .uv-zone-create-form{grid-template-columns:1fr}.uv-zone-create-form button{width:100%}
}
@media(max-width:560px){
  .uv-main .panel{padding-left:14px;padding-right:14px}
  .uv-main .page-head{align-items:flex-start;flex-direction:column;gap:12px}
  .uv-main .head-actions{width:100%}.uv-main .head-actions>*{width:100%;justify-content:center}
  .uv-modal-card{max-width:calc(100vw - 12px);max-height:calc(100vh - 12px)}
  .uv-zone-row{grid-template-columns:1fr}.uv-zone-actions{justify-content:flex-start}
}

/* Portal do usuário: mantém o mesmo ritmo visual sem alterar funcionalidades */
.user-content *{box-sizing:border-box}
.user-content .field{display:grid;gap:7px;min-width:0}
.user-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.user-content select,.user-content textarea{width:100%;max-width:100%;min-width:0;border:1px solid var(--uv-control-border);border-radius:8px;background:var(--uv-control-bg);color:#f2f8fb;outline:none;font:inherit}
.user-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.user-content select{height:var(--uv-control-h);padding:0 12px}
.user-content textarea{min-height:92px;padding:11px 12px}
.user-content input:focus,.user-content select:focus,.user-content textarea:focus{border-color:var(--uv-focus);box-shadow:0 0 0 3px rgba(49,191,232,.09)}
.user-content .table-wrap{overflow:auto}
