/* Readability + stable layout overrides. Loaded after web_compact.css. */
body{font-size:15px;line-height:1.45}
small{font-size:12px}
button,.button-link,.btn{font-size:14px;min-height:38px;padding:8px 12px}
input,select,textarea{font-size:14px;min-height:38px;padding:9px 11px}
label{font-size:13px}
.admin-nav a,.customer-nav a{font-size:14px}
.admin-brand b,.customer-brand-copy b{font-size:16px}.admin-brand span,.customer-brand-copy small,.live-dot{font-size:11px}
.admin-topbar b,.topbar-title b{font-size:17px}
.admin-content,.customer-content{padding-top:18px}
.admin-panel,.panel-card,.device-card,.metric-card{border-radius:12px}
.panel-heading h2,.section-head h2{font-size:17px}
.metric-card{min-height:88px;padding:13px 14px}
.metric-card span,.metric-label{font-size:12px}
.metric-card strong,.metric-value{font-size:27px}
.metric-card small,.metric-note{font-size:11px}
.admin-table th,.activity-table th,.documents-table th{font-size:11px;letter-spacing:.03em}
.admin-table td,.activity-table td,.documents-table td{font-size:13px;line-height:1.4}
.admin-table th,.admin-table td{padding:10px 9px}
.activity-table th,.documents-table th{padding:9px 10px}
.activity-table td,.documents-table td{padding:10px}
.status-chip,.status-pill{font-size:11px;padding:5px 8px}
.client-title-row h2{font-size:18px}.client-kpis strong{font-size:20px}.client-kpis span{font-size:11px}.client-sub,.client-created{font-size:12px}
.credential-cell>span,.device-data-grid span{font-size:11px}.device-data-grid b,.device-data-grid code,.device-data-grid em{font-size:12px}
.device-primary strong{font-size:13px}.device-primary>span:last-child{font-size:12px}
.panel-card-header{min-height:48px;padding:11px 14px}.panel-card-header h2{font-size:14px}.panel-card-body{padding:13px 14px}
.device-card-title strong{font-size:13px}.device-card-title span{font-size:11px}.device-meta dt{font-size:11px}.device-meta dd{font-size:12px}
.field label{font-size:12px}.field input,.field select,.field textarea{font-size:13px}.ticket-item strong{font-size:13px}.ticket-item p{font-size:12px}
.small-link,.section-count{font-size:12px}
.endpoint-row b{font-size:12px}.http{font-size:11px}.code-example pre{font-size:12px;line-height:1.5}.api-rules span{font-size:11px}
.login-section-title{font-size:14px}.login-card h1{font-size:23px}
.section-anchor{scroll-margin-top:74px;padding-top:1px}

/* Admin partner forms: fixed grid, no nested form collisions. */
.partner-create-form{display:grid;grid-template-columns:minmax(260px,1.3fr) 150px minmax(260px,1fr) 130px;gap:12px;align-items:end}
.partner-create-form label{display:grid;gap:6px;min-width:0}
.partner-list{display:grid;gap:12px}
.partner-admin-card{border:1px solid var(--border);border-radius:12px;padding:14px;background:#fff}
.partner-admin-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}
.partner-admin-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.partner-admin-title strong{font-size:16px}.partner-admin-meta{font-size:12px;color:var(--muted)}
.partner-settings-form{display:grid;grid-template-columns:150px 170px minmax(240px,1fr) 120px;gap:10px;align-items:end;border-top:1px solid #edf1f5;padding-top:12px}
.partner-settings-form label{display:grid;gap:6px;min-width:0}.partner-settings-form button{width:100%}

/* Scanner model classifier. */
.scanner-profile-form{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(210px,1fr) minmax(300px,1.5fr) minmax(140px,.6fr) 120px;gap:10px;align-items:end}
.scanner-profile-form label,.scanner-profile-edit label{display:grid;gap:5px;min-width:0}
.scanner-profile-list{display:grid;gap:10px}
.scanner-profile-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;border:1px solid var(--border);border-radius:12px;padding:12px;background:#fff}
.scanner-profile-edit{display:grid;grid-template-columns:minmax(160px,.7fr) minmax(190px,.8fr) minmax(280px,1.5fr) minmax(130px,.5fr) 90px 110px;gap:9px;align-items:end}
.scanner-profile-edit .scanner-active{display:flex;align-items:center;gap:7px;min-height:38px}.scanner-profile-edit .scanner-active input{min-height:auto;width:auto;padding:0}
.scanner-state b,.scanner-state small{display:block}.scanner-state b{font-size:12px}.scanner-state small{font-size:10px;color:var(--muted);max-width:230px;overflow:hidden;text-overflow:ellipsis}

/* Support unread notification. */
.nav-with-badge{display:flex!important;align-items:center;justify-content:space-between;gap:8px}
.support-badge{display:none;min-width:22px;height:22px;border-radius:999px;background:#d33;color:#fff;font-size:11px;font-weight:800;align-items:center;justify-content:center;padding:0 6px}
.nav-with-badge.has-unread{background:#fff0f0!important;color:#a32626!important}
.nav-with-badge.has-unread .support-badge{display:inline-flex}
.support-toast{display:none;position:fixed;right:18px;top:70px;z-index:100;background:#fff;border:1px solid #efcaca;border-left:4px solid #d33;border-radius:10px;box-shadow:0 12px 34px rgba(20,40,60,.14);padding:11px 14px;font-size:13px;font-weight:700;cursor:pointer}
.support-toast.show{display:block}

/* Threaded support chat. */
.support-chat-list{display:grid;gap:12px}
.support-chat-card{border:1px solid var(--border);border-radius:12px;background:#fff;overflow:hidden;scroll-margin-top:76px}
.support-chat-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 14px;background:#fbfdff;cursor:pointer;list-style:none}
.support-chat-summary::-webkit-details-marker{display:none}.support-chat-summary strong{font-size:14px}.support-chat-summary small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.support-chat-body{border-top:1px solid var(--border);padding:12px 14px}
.chat-messages{display:grid;gap:8px;max-height:380px;overflow:auto;padding:2px 0 10px}
.chat-message{max-width:78%;padding:9px 11px;border-radius:12px;background:#f1f4f6;font-size:13px;white-space:pre-wrap;word-break:break-word}
.chat-message.admin{margin-left:auto;background:#eaf3fb;color:#173d5f}.chat-message.user{margin-right:auto;background:#f3f5f7}
.chat-message-meta{display:block;font-size:11px;color:#82909b;margin-bottom:3px}
.chat-reply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;border-top:1px solid #edf1f5;padding-top:10px}
.chat-reply textarea{min-height:64px;max-height:150px;resize:vertical}.chat-reply button{min-width:110px}
.support-toolbar{display:flex;gap:8px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:10px}.support-toolbar form{display:flex;gap:8px;align-items:end}

@media(max-width:1100px){
  .partner-create-form{grid-template-columns:1fr 1fr}.partner-create-form label:first-of-type{grid-column:1/-1}.partner-create-form button{width:100%}
  .partner-settings-form{grid-template-columns:1fr 1fr}.partner-settings-form label:nth-child(3){grid-column:1/-1}.partner-settings-form button{width:auto}
  .scanner-profile-form{grid-template-columns:1fr 1fr}.scanner-profile-form label:nth-child(3){grid-column:1/-1}.scanner-profile-edit{grid-template-columns:1fr 1fr}.scanner-profile-edit label:nth-child(3){grid-column:1/-1}
}
@media(max-width:720px){
  body{font-size:14px}.admin-nav a,.customer-nav a{font-size:13px}
  .partner-create-form,.partner-settings-form,.scanner-profile-form,.scanner-profile-edit,.scanner-profile-card{grid-template-columns:1fr}.partner-create-form label:first-of-type,.partner-settings-form label:nth-child(3),.scanner-profile-form label:nth-child(3),.scanner-profile-edit label:nth-child(3){grid-column:auto}
  .support-chat-summary{align-items:flex-start}.chat-message{max-width:92%}.chat-reply{grid-template-columns:1fr}.chat-reply button{width:100%}
  .support-toast{left:10px;right:10px;top:58px}
}
