/* Shared mobile alignment for IQ pages. */
@media screen and (max-width:700px){
main,main :is(section,article,form,.card,.summary,.notice){min-width:0}
main :is(h1,h2,h3,p,pre){overflow-wrap:anywhere}
main :is(button:not(.link):not([aria-label]),a.button,a.action,input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){max-width:100%;box-sizing:border-box}
main :is(button:not(.link):not([aria-label]),a.button,a.action){width:100%;min-width:0;min-height:48px;white-space:normal;overflow-wrap:anywhere;line-height:1.3;text-align:center}
main :is(.actions,.toolbar,.help-actions,.filters){display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-items:stretch}
main :is(.actions,.toolbar,.help-actions)>:is(button,a.button,a.action){display:flex;align-items:center;justify-content:center;margin:0;height:100%}
main :is(.summary,.notice)>:is(button,a.button),main form>:is(button,a.button){display:flex;align-items:center;justify-content:center;margin-block:8px}
main .filters>:is(input,select){width:100%;min-width:0}
main :is(.tabs,.admin-tabs,.admin-sections){align-items:stretch;grid-auto-rows:minmax(52px,auto)}
main :is(.tabs,.admin-tabs,.admin-sections)>:is(button,a.button){height:100%;margin:0}
main img{max-width:100%}
.iq-live-launch{position:static!important;display:block;margin:12px auto;width:calc(100% - 28px);max-width:660px;box-sizing:border-box;text-align:center}
}

/* Plain information panels; preserve the functional status badges. */
main :is(.summary,.notice){border-left:0;border-radius:8px}
@media screen and (max-width:700px){
main :is(.summary,.notice){width:100%;margin:12px 0;padding:16px}
main :is(form,label,.part-search,.row){min-width:0;max-width:100%}
main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box}
main input:is([type=date],[type=time],[type=datetime-local]){appearance:none;-webkit-appearance:none;min-width:0;min-height:48px}
main input::-webkit-date-and-time-value{text-align:left;min-height:1.3em}
main .part-search{grid-template-columns:minmax(0,1fr);gap:8px}
main :is(.part-button,button:not(.link),a.button){width:100%;min-width:0;max-width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;white-space:normal;overflow-wrap:anywhere}
main .parts-grid:has(>p:only-child){margin:12px 0;grid-template-columns:minmax(0,1fr)}
}

.iq-admin-chat{width:min(680px,calc(100% - 24px));max-height:90dvh;overflow:auto;border:1px solid #dbe4da;border-radius:14px;padding:22px;background:#fff;color:#153b2e}
.iq-admin-chat::backdrop{background:#153b2e70}.iq-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.iq-chat-heading h2{margin:0;font-size:24px}.iq-chat-heading button{flex-shrink:0}
.iq-chat-messages{display:grid;gap:10px;margin:16px 0}.iq-chat-messages p{padding:12px;border-radius:8px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.iq-chat-question{background:#edf2eb}.iq-chat-answer{background:#f7f7f2}.iq-admin-chat .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.iq-admin-chat .actions button,#adminChatChoices button{width:100%;margin:4px 0}#adminChatSearch button{width:100%}.iq-admin-chat label{margin:12px 0 6px}.iq-admin-chat input,.iq-admin-chat textarea{width:100%;min-width:0;box-sizing:border-box;font-size:16px}.iq-admin-chat [hidden]{display:none!important}
@media(max-width:700px){.iq-admin-chat{padding:16px}.iq-admin-chat .actions{grid-template-columns:1fr}.iq-admin-chat button{min-height:48px;white-space:normal}.iq-chat-heading button{width:auto}}

.summary .filter-status{display:flex;align-items:center;gap:10px;padding:12px;border-radius:9px;box-sizing:border-box;width:100%;font-weight:700;line-height:1.4;background:#e2f3e7;color:#155b30}
.summary .filter-status .filter-status-dot{display:block;flex:0 0 14px;width:14px;height:14px;border-radius:50%;background:#139c42}
.summary .filter-status-soon{background:#fff0d2;color:#794600}
.summary .filter-status-soon .filter-status-dot{background:#ff9200}
.summary .filter-status-overdue{background:#ffe5e5;color:#a40000}
.summary .filter-status-overdue .filter-status-dot{background:#ff1616}
.summary .filter-status-history{background:#eef0ef;color:#52615a}
.summary .filter-status-history .filter-status-dot{background:#7a8881}

.iq-chat-presets{margin:12px 0;padding:12px;border:1px solid #dbe4da;border-radius:9px;background:#f7f7f2}.iq-chat-presets summary{cursor:pointer;font-weight:700}.iq-admin-chat select{width:100%;box-sizing:border-box;min-height:44px;padding:10px;font:inherit;border:1px solid #afc1b5;border-radius:7px;background:#fff;color:#153b2e}.iq-chat-presets button{width:100%;margin-top:12px}.iq-chat-table-wrap{overflow-x:auto;max-width:100%}.iq-chat-report{min-width:0;border:1px solid #dbe4da;border-radius:8px;padding:12px}.iq-chat-report h3{font-size:17px;margin:0 0 10px}.iq-chat-report table{border-collapse:collapse;font-size:14px;width:100%}.iq-chat-report :is(th,td){text-align:left;padding:8px;border-bottom:1px solid #dbe4da;vertical-align:top;min-width:80px}.iq-chat-report th{background:#edf2eb}

/* Customer machine cards keep model names and dates readable on phones. */
button.machine.iq-machine-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;text-align:left;gap:14px;padding:20px;width:100%;min-width:0;background:#fff;color:#153b2e;border:1px solid #dbe4da;border-radius:16px;box-shadow:0 3px 12px #153b2e08;white-space:normal}
.iq-machine-card-heading{display:flex;flex-direction:column;gap:10px;min-width:0}.iq-machine-card-heading>strong{font-size:20px;line-height:1.3;word-break:normal;overflow-wrap:normal;max-width:100%}
.iq-machine-health{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:650;line-height:1.4}.iq-machine-health i{flex:0 0 11px;height:11px;border-radius:50%;background:#89958f}.iq-machine-health[data-health=green] i{background:#248146}.iq-machine-health[data-health=orange] i{background:#de8a16}.iq-machine-health[data-health=red] i{background:#c73b36}
.iq-machine-card-company{font-size:14px;color:#5d6e65;font-weight:400}.iq-machine-card-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 0;border-block:1px solid #edf2eb}.iq-machine-card-dates>span{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:14px;font-weight:650}.iq-machine-card-dates small{font-size:12px;color:#5d6e65;font-weight:400}.iq-machine-card-identifiers{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5d6e65;overflow-wrap:anywhere;font-weight:400}.iq-machine-card-open{display:flex;justify-content:space-between;gap:12px;font-size:14px;font-weight:650}
@media(max-width:650px){button.machine.iq-machine-card{padding:18px}.iq-machine-card-heading>strong{font-size:18px}#screen .grid:has(>.iq-machine-card){grid-template-columns:minmax(0,1fr)}}

/* A visible round status light; its description remains accessible. */
button.machine.iq-machine-card .iq-machine-health{display:flex!important;justify-content:center;align-items:center;min-height:28px}
button.machine.iq-machine-card .iq-machine-health-dot{display:block!important;width:22px!important;height:22px!important;min-width:22px;flex:0 0 22px;border-radius:50%!important;padding:0!important;margin:0!important;background:#89958f;box-shadow:inset 0 2px 3px #ffffff60,0 0 0 4px #89958f18}
button.machine.iq-machine-card .iq-machine-health[data-health=green] .iq-machine-health-dot{background:#248146;box-shadow:inset 0 2px 3px #ffffff60,0 0 0 4px #24814618}
button.machine.iq-machine-card .iq-machine-health[data-health=orange] .iq-machine-health-dot{background:#de8a16;box-shadow:inset 0 2px 3px #ffffff60,0 0 0 4px #de8a1618}
button.machine.iq-machine-card .iq-machine-health[data-health=red] .iq-machine-health-dot{background:#c73b36;box-shadow:inset 0 2px 3px #ffffff60,0 0 0 4px #c73b3618}
button.machine.iq-machine-card .iq-machine-health-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.summary .filter-status{width:auto!important;align-self:flex-start;padding:4px!important;background:transparent!important}
.summary .filter-status .filter-status-dot{display:block!important;width:22px!important;height:22px!important;flex:0 0 22px;border-radius:50%!important;box-shadow:inset 0 2px 3px #ffffff60,0 0 0 4px #153b2e0a}
.summary .filter-status-ok .filter-status-dot{background:#248146}
.summary .filter-status-soon .filter-status-dot{background:#de8a16}
.summary .filter-status-overdue .filter-status-dot{background:#c73b36}
.summary .filter-status-label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

#invoicesList .iq-invoice-heading{display:flex!important;flex-direction:row!important;align-items:center;justify-content:space-between;gap:16px;width:100%}
#invoicesList .iq-invoice-dot{display:block!important;flex:0 0 22px;width:22px!important;height:22px!important;border-radius:50%!important;background:#89958f;box-shadow:inset 0 2px 3px #ffffff60,0 0 0 4px #153b2e0a}
#invoicesList .iq-invoice-dot[data-health=green]{background:#248146}
#invoicesList .iq-invoice-dot[data-health=orange]{background:#de8a16}
#invoicesList .iq-invoice-dot[data-health=red]{background:#c73b36}

.iq-invoice-payment{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:14px}.iq-pay-button{display:flex!important;align-items:center;justify-content:space-between;gap:18px;min-height:48px;background:#153b2e!important;color:#fff!important;padding:14px 20px;border-radius:10px;font-weight:700;text-decoration:none}.iq-payment-qr{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px;color:#5d6e65}.iq-payment-qr img{width:160px;height:160px;background:white;border:1px solid #dbe4da;border-radius:10px;padding:8px;box-sizing:border-box}@media(max-width:650px){.iq-invoice-payment{flex-direction:column;align-items:stretch}.iq-payment-qr{align-self:center}.iq-pay-button{width:100%;box-sizing:border-box}}

/* Stable mobile navigation geometry in Dutch and English. */
@media(max-width:700px){
 header .account-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;min-width:0;align-items:stretch}
 header .account-actions>.account{grid-column:1/-1;min-width:0}
 header .account-actions>.account-webshop{grid-column:1/-1}
 header .account-actions>a.button{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-width:0;min-height:48px;padding:12px 10px;box-sizing:border-box;text-align:center;white-space:normal;overflow-wrap:normal;line-height:1.3;margin:0}
 main .tabs{grid-auto-rows:64px!important}
 main .tabs>:is(button,a.button){height:64px!important;min-height:64px!important;max-height:64px;padding:10px 8px!important;display:flex;align-items:center;justify-content:center;line-height:1.3!important}
}

header .account-actions>a.button[hidden]{display:none!important}

/* Service selection remains readable on narrow customer screens. */
#serviceResults button.machine{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;width:100%;}
#serviceResults button.machine strong,#serviceResults button.machine span{width:100%;min-width:0;overflow-wrap:anywhere;}
#serviceResults button.machine strong{word-break:normal;}
#screen:has(#serviceForm) h2{scroll-margin-top:20px;}

.service-ticket-dialog{width:min(560px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:24px;border:1px solid #cbd8ce;border-radius:18px;color:#173c30;background:#fff;}
.service-ticket-dialog::backdrop{background:rgba(16,40,30,.55);}
.service-ticket-dialog .ticket-row{display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-align:left;width:100%;margin:8px 0;padding:12px 16px;}
.service-ticket-dialog .ticket-row span{font-size:.85em;font-weight:normal;}
.service-ticket-dialog form{margin-top:16px;}

/* Account controls stay at the top right without a separate header row. */
header.iq-compact-header{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 14px;padding-top:14px;padding-bottom:14px}
header.iq-compact-header .brand{grid-column:1;grid-row:1;min-width:0}
header.iq-compact-header .account-actions{display:contents!important}
header.iq-compact-header .account-actions>.account{grid-column:1;grid-row:2;max-width:100%;text-align:left;margin:0;align-self:center}
header.iq-compact-header .account-actions>.iq-language-switch{grid-column:2;grid-row:1;padding:0;align-self:start;justify-self:end;width:auto}
header.iq-compact-header .account-actions>a.button{grid-column:1;justify-self:start;width:auto!important;min-height:38px!important;padding:8px 10px!important;margin:0;font-size:13px;line-height:1.25!important}
header.iq-compact-header .account-actions>a.button.account-signout{grid-column:2;grid-row:2;justify-self:end;align-self:start;width:100%!important;min-height:38px!important}
header.iq-compact-header .iq-language-switch button{min-width:60px;min-height:38px;padding:7px 8px!important}
@media(max-width:700px){header.iq-compact-header{gap:7px 10px;padding:12px 15px}header.iq-compact-header .brand{font-size:17px}header.iq-compact-header .brand small{font-size:7px;letter-spacing:.1em}header.iq-compact-header .account{font-size:12px!important;line-height:1.45}header.iq-compact-header .iq-language-switch{gap:4px}header.iq-compact-header .iq-language-switch button{min-width:54px;font-size:12px!important;padding:6px!important}header.iq-compact-header .iq-language-switch button span{font-size:16px!important}}
