.case-editor-modal{overflow-x:hidden}
.v11-case-grid{align-items:start}
.case-picker-field{display:flex;position:relative;min-width:0;flex-direction:column;gap:7px;color:#26394d;font-size:13px;font-weight:700}
.case-picker-label{line-height:1.2}
.popup-picker{position:relative;min-width:0}
.selection-trigger{display:flex;width:100%;min-height:43px;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #ced8e2;border-radius:9px;background:#fff;color:#19324d;text-align:left;font:inherit;cursor:pointer}
.selection-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.selection-trigger svg{width:16px;flex:0 0 16px}
.case-selection-popover{position:fixed;z-index:200;top:50%;left:50%;width:min(460px,calc(100vw - 48px));max-height:min(560px,75dvh);padding:16px;border:1px solid #c9d6e2;border-radius:14px;background:#fff;box-shadow:0 0 0 100vmax rgba(15,35,54,.48),0 22px 60px rgba(15,37,61,.35);overflow:auto;transform:translate(-50%,-50%)}
.case-selection-popover[hidden]{display:none!important}
.case-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.case-picker-head button{width:34px;height:34px;border:0;border-radius:50%;background:#edf3f7;color:#18334d;font-size:22px;cursor:pointer}
.popup-picker .multi-options{position:static;display:grid;max-height:none;padding:0;border:0;box-shadow:none;overflow:visible}
.case-picker-done{width:100%;margin-top:10px}
.master-comment-field textarea{min-height:220px;max-height:55dvh;resize:vertical;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}
.plain-description-field textarea{min-height:220px;max-height:55dvh;resize:vertical;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}
.case-description-block{margin-bottom:12px;padding:14px 16px;border:1px solid #d8e2e8;border-radius:10px;background:#f8fafb}.case-description-heading{display:flex;align-items:center;gap:9px;margin-bottom:10px}.case-description-heading>span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:#e4f0f4;color:#236f91}.case-description-heading .icon svg{width:16px;height:16px}.case-description-heading b,.case-description-heading small{display:block}.case-description-heading small{margin-top:1px;color:#758591;font-size:10px}.case-description-text{color:#334b5c;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}
.master-comment-text{margin-top:6px;color:#536578;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4}

.technician-calendar{width:100%;max-width:980px;margin:0 auto}
.technician-calendar .calendar-toolbar{margin-bottom:18px}
.technician-search{margin-bottom:12px}
.technician-status-filter{display:flex;max-width:420px;flex-direction:column;gap:6px;margin-bottom:12px;color:#34495e;font-size:13px;font-weight:700}
.technician-status-filter select{width:100%;min-height:44px}
.technician-date-control{display:grid;grid-template-columns:44px minmax(0,332px) 44px;gap:10px;align-items:center;margin-bottom:18px}
.technician-date-control input{width:100%;min-height:44px}
.technician-case-list{display:grid;gap:10px;min-width:0}
.technician-case-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;min-width:0;padding:15px;border:1px solid #d9e2ea;border-radius:12px;background:#fff;color:#172f49;text-align:left;cursor:pointer}
.technician-case-card>div{min-width:0}
.technician-case-card>div:first-child{display:flex;flex-direction:column;gap:3px}
.technician-case-card h3,.technician-case-card p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.technician-case-card h3{font-size:15px}.technician-case-card p,.technician-case-card small{display:block;margin-top:4px;color:#65768a}
.error-history-card{grid-column:1/-1;margin-top:18px}
.error-log-row{display:flex;align-items:start;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #e3e9ef}
.error-log-row>div{display:flex;min-width:0;flex-direction:column;gap:4px}.error-log-row b{overflow-wrap:anywhere}.error-log-row span,.error-log-row small{color:#66788a}.error-log-row code{flex:0 0 auto}
.v15-case-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.v15-case-grid .case-picker-field{gap:0;color:#4b6175;font:700 10px var(--font)}
.v15-case-grid .case-title-field{grid-column:1/-1}
.v15-case-grid .service-type-field{grid-column:1/span 3}
.v15-case-grid .service-appliance-picker,.v15-case-grid .installation-stock-picker{grid-column:4/span 3}
.v15-case-grid .service-type-field select,.v15-case-grid .selection-trigger{height:38px;min-height:38px}
.v15-case-grid .case-address-field{grid-column:1/span 3}.v15-case-grid .case-unit-field{grid-column:4/span 1}.v15-case-grid .case-date-field{grid-column:5/span 2}
.v15-case-grid .case-time-from-field{grid-column:1}.v15-case-grid .case-time-to-field{grid-column:2}.v15-case-grid .case-picker-field:has([data-open-case-picker="technician"]){grid-column:3/span 2}.v15-case-grid .case-contact-field{grid-column:5}.v15-case-grid .case-status-field{grid-column:6}
.v15-case-grid .case-customer-field{grid-column:1/span 3}
.master-description{margin-top:5px}.master-description summary{display:block}.master-description .comment-short{display:-webkit-box;max-height:4.7em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.master-description .comment-full{display:none}.master-description[open] .comment-full{display:block}.master-description[open] summary .comment-short{display:none}
.error-history-download{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.error-history-download h2{margin:0 0 5px}.error-history-download p{margin:0;color:#6d7f90;font-size:12px}

@media(max-width:900px){
  .v15-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v15-case-grid .case-title-field{grid-column:1/-1}.v15-case-grid .service-type-field,.v15-case-grid .service-appliance-picker,.v15-case-grid .installation-stock-picker{grid-column:span 1}
  .v15-case-grid .case-address-field{grid-column:1/-1}.v15-case-grid .case-unit-field,.v15-case-grid .case-date-field,.v15-case-grid .case-time-from-field,.v15-case-grid .case-time-to-field,.v15-case-grid .case-contact-field,.v15-case-grid .case-status-field{grid-column:span 1}
  .v15-case-grid .case-picker-field:has([data-open-case-picker="technician"]),.v15-case-grid .case-customer-field{grid-column:1/-1}
}

@media(max-width:720px){
  .case-selection-popover{inset:auto 12px max(12px,env(safe-area-inset-bottom)) 12px;width:auto;max-height:70dvh;border-radius:16px;transform:none}
  .master-comment-field textarea,.plain-description-field textarea{min-height:260px;max-height:none}
  .technician-calendar{padding-inline:12px;overflow-x:hidden}
  .technician-date-control{grid-template-columns:42px minmax(0,1fr) 42px;width:100%}
  .technician-case-card{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:12px}
  .technician-case-card>.status{grid-column:2;justify-self:start}
  .case-form-grid input,.case-form-grid select,.case-form-grid textarea{font-size:16px!important}
  .error-history-download{align-items:stretch;flex-direction:column}.error-history-download .btn{width:100%}
}

@media(max-width:560px){
  .v11-case-grid{grid-template-columns:minmax(0,1fr)}
  .v11-case-grid>.span-2,.v11-case-grid>.span-4,.v11-case-grid>label,.v11-case-grid>.case-picker-field{grid-column:1!important}
}
