.service-board{margin:12px 0;border-top:1px solid #ddd;padding-top:10px}
.service-board h3{margin:0;font-size:16px}.service-board h3 span{display:block;font-size:12px;color:#62626a;font-weight:400;margin-top:4px}
.service-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:7px;max-height:310px;overflow:auto;padding:3px}
.service-table{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:3px;min-height:88px;border-left:5px solid #2563eb;background:#eff6ff;overflow-wrap:anywhere}
.service-table small{font-size:12px}.service-table span{font-size:13px}
.service-ready{border-left-color:#17844a;background:#f0fdf4}.service-dirty{border-left-color:#b45309;background:#fffbeb}.service-cleaning{border-left-color:#7e22ce;background:#faf5ff}.service-blocked{border-left-color:#b91c1c;background:#fef2f2}
#serviceError,.service-alert{color:#991b1b;font-weight:600}
#serviceDialog{width:min(540px,calc(100% - 20px));max-height:90dvh;overflow:auto;border:1px solid #ccc;border-radius:16px;padding:20px;color:#18181b;background:white}
#serviceDialog::backdrop{background:#0008}.service-head{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-20px;background:#fff;padding:12px 0;z-index:1}
#serviceDialog h2{font-size:19px;margin:0}#serviceDialog h3{font-size:15px;margin:16px 0 8px}
#serviceDialog button,#serviceDialog input,#serviceDialog textarea{min-height:44px;font:inherit}
#serviceDialog input,#serviceDialog textarea{width:100%;padding:10px;border:1px solid #bbb;border-radius:8px;box-sizing:border-box}
#serviceDialog label{display:block;font-weight:600;font-size:14px;margin:10px 0 6px}
#serviceDialog fieldset{border:0;margin:0;padding:0;min-width:0}#serviceDialog legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.service-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:8px 0}.service-buttons button{padding:8px 5px;overflow-wrap:anywhere}
.service-buttons [aria-pressed=true]{background:#173d2a;color:white;border-color:#173d2a}.service-timers{display:flex;flex-wrap:wrap;gap:8px;font-size:13px}.service-timers span{background:#f4f4f5;padding:8px;border-radius:6px}.service-timers b{display:block}
.service-server{display:flex;gap:8px}.service-server input{min-width:0}.service-server button{flex-shrink:0}#serviceUndo{margin:12px 0;width:100%}#serviceHistory{border-top:1px solid #ddd;padding-top:12px}#serviceHistory summary{cursor:pointer;min-height:44px}
#serviceMessage{margin:10px 0;color:#174c32}#serviceHistoryRows{font-size:13px;overflow-wrap:anywhere}#serviceDialog [hidden]{display:none!important}
.mobile-nav{display:none}.mobile-table-picker{margin:10px 0}.mobile-table-picker summary{min-height:44px;padding:12px;cursor:pointer}#mobileTableList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto}#mobileTableList button{min-height:44px;text-align:left}
@media(max-width:1240px){header{position:static}.mobile-nav{display:flex;position:sticky;top:0;z-index:25;background:white;padding:8px;gap:8px;border-bottom:1px solid #ddd}.mobile-nav a{flex:1;text-align:center;text-decoration:none;color:#222;border:1px solid #ddd;padding:12px 6px;border-radius:8px;font-weight:600}.panel{scroll-margin-top:70px}.res,.wt{flex-wrap:wrap}.actions{flex-wrap:wrap}button,button.sm,select.srv{min-height:44px}select.srv{font-size:16px}.toasts{left:12px;right:12px;max-width:calc(100vw - 24px)}#joinbar{flex-wrap:wrap;max-width:calc(100vw - 24px);width:max-content}.row{min-width:0}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){#serviceDialog{padding:14px}.service-head{top:-14px}.service-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}
