:root{
  --bg:#f3f5f7; --panel:#fff; --text:#1f2933; --muted:#74808b; --line:#e2e7eb;
  --accent:#e36b2c; --accent-dark:#bb4f19; --dark:#202a33; --green:#2f9d63; --red:#d34d4d; --yellow:#d9a21b; --blue:#4b84d8;
  --radius:14px; --shadow:0 8px 24px rgba(25,38,50,.06);
}
*{box-sizing:border-box} body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)} button,input,select,textarea{font:inherit} button{cursor:pointer}
.app-shell{min-height:100vh;display:grid;grid-template-columns:238px 1fr}.sidebar{background:#17212a;color:#d9e0e6;padding:18px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:11px;padding:8px 8px 22px;font-family:Segoe UI,Arial,sans-serif;font-weight:800}.brand-mark{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#d61f26,#a9131a);color:#ffffff;box-shadow:0 6px 18px rgba(214,31,38,.22);display:grid;place-items:center;font-size:1.1rem;font-weight:900}.brand-copy{display:flex;flex-direction:column;line-height:1.05;gap:3px}.brand-title{font-size:1rem;font-weight:800;letter-spacing:.01em;color:#fff}.brand-subtitle{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#97a3af}.nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;color:#b8c4cd;text-align:left;padding:11px 12px;border-radius:9px;display:flex;gap:11px;align-items:center;font-weight:600}.nav-item:hover,.nav-item.active{background:#24313c;color:#fff}.nav-item.active{box-shadow:inset 3px 0 0 var(--accent)}.sidebar-bottom{margin-top:auto}.main{min-width:0}.topbar{height:70px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:0 28px;position:sticky;top:0;z-index:20}.search-wrap{position:relative;max-width:620px;flex:1}.search-wrap input{width:100%;border:1px solid var(--line);background:#f8fafb;border-radius:10px;padding:11px 14px 11px 38px;outline:none}.search-wrap input:focus{border-color:#b8c3cb;box-shadow:0 0 0 3px rgba(227,107,44,.08)}.search-icon{position:absolute;left:13px;top:9px;color:var(--muted);font-size:22px}.search-results{position:absolute;top:48px;left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;z-index:40}.search-results button{display:block;width:100%;border:0;background:#fff;text-align:left;padding:10px;border-radius:7px}.search-results button:hover{background:#f6f7f8}.top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.icon-button{border:0;background:transparent;padding:8px;border-radius:8px}.icon-button:hover{background:#f0f2f4}.user-chip{padding:8px 11px;border-radius:9px;background:#f2f4f6;font-weight:700}.content{padding:30px}.view{display:none}.active-view{display:block}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.page-heading h1{margin:0 0 5px;font-size:29px}.muted{margin:0;color:var(--muted)}.primary-actions{display:flex;gap:10px}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:800}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-dark{background:var(--dark);color:#fff}.full{width:100%}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px}.summary-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;box-shadow:var(--shadow)}.clickable:hover{border-color:#cad1d7;transform:translateY(-1px)}.summary-label{text-transform:uppercase;font-size:12px;font-weight:800;color:var(--muted);letter-spacing:.06em}.summary-value{font-size:28px;font-weight:850;margin:7px 0}.summary-value span{font-size:14px;font-weight:700;color:var(--muted)}.summary-value.warning{color:var(--red)}.summary-meta{font-size:13px;color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.panel-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.panel-head h2{font-size:18px;margin:0 0 4px}.panel-head p{font-size:13px;color:var(--muted);margin:0}.link-button{border:0;background:transparent;color:var(--accent-dark);font-weight:800;padding:4px}.attention-list{display:flex;flex-direction:column}.attention-row{display:grid;grid-template-columns:14px 1fr auto 16px;gap:12px;align-items:center;width:100%;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;padding:14px 4px}.attention-row:first-child{border-top:0}.attention-row:hover{background:#fafbfc}.status-dot{width:9px;height:9px;border-radius:50%}.red{background:var(--red)}.yellow{background:var(--yellow)}.attention-main{display:flex;flex-direction:column;gap:3px}.attention-main small{color:var(--muted)}.attention-time{font-size:13px;font-weight:700}.red-text{color:var(--red)}.chevron{font-size:22px;color:#a1abb3}.visit-card{padding:6px 2px}.visit-title{font-size:20px;font-weight:800}.visit-meta{color:var(--muted);font-size:13px;margin:4px 0 17px}.progress{height:8px;background:#edf0f2;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:var(--accent)}.progress-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin:7px 0 17px}.case-table{display:flex;flex-direction:column}.case-row{display:grid;grid-template-columns:1.1fr 1.3fr 1.5fr 1fr 1fr;gap:12px;align-items:center;border:0;border-top:1px solid var(--line);background:#fff;padding:13px 6px;text-align:left}.case-row:not(.case-head):hover{background:#fafbfc}.case-head{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;border-top:0}.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px}.badge.blue{background:#eaf2ff;color:#2e65b2}.badge.amber{background:#fff4d6;color:#8e6711}.badge.green{background:#e9f7ef;color:#247a4b}.toolbar{margin-bottom:12px}.field{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;background:#fff;outline:none}.field:focus{border-color:#b9c3ca;box-shadow:0 0 0 3px rgba(227,107,44,.08)}.client-list{display:flex;flex-direction:column}.client-row{display:grid;grid-template-columns:1.6fr 1fr .8fr .8fr 30px;gap:12px;align-items:center;border:0;border-top:1px solid var(--line);background:#fff;text-align:left;padding:14px 8px}.client-row:hover{background:#fafbfc}.client-row small{color:var(--muted)}.back-button{border:0;background:transparent;color:var(--muted);padding:0 0 7px;font-weight:700}.client-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.meta-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:5px}.meta-card span,.meta-card small{color:var(--muted);font-size:12px}.meta-card strong{font-size:18px}.green-text{color:var(--green)}.compact label{padding:8px 0}.checklist{display:flex;flex-direction:column;gap:8px}.checklist label{display:flex;gap:10px;align-items:center}.device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.device-card{border:1px solid var(--line);border-radius:10px;padding:14px;background:#fafbfc}.device-card strong{display:block}.device-card small{color:var(--muted)}.placeholder{color:var(--muted);margin:0}.filter-pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.filter-pills button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px}.filter-pills button.active{background:var(--dark);color:#fff}.modal{position:fixed;inset:0;display:none;z-index:100}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(13,21,28,.58)}.modal-card{position:relative;background:#fff;margin:4vh auto;max-height:92vh;overflow:auto;width:min(680px,calc(100% - 30px));border-radius:16px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.modal-card.large{width:min(900px,calc(100% - 30px))}.modal-head{position:sticky;top:0;background:#fff;z-index:2;padding:20px 22px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start}.modal-head h2{margin:0 0 4px}.modal-head p{margin:0;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px 22px}.form-grid label,.modal-section>label{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:700}.duration-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.duration-row button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px 12px}.duration-row button.selected,.duration-row button:hover{background:var(--dark);color:#fff;border-color:var(--dark)}.modal-section{padding:18px 22px;border-top:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;gap:14px;margin-bottom:12px}.section-title h3{margin:0 0 4px;font-size:16px}.section-title p{margin:0;color:var(--muted);font-size:12px}.visit-devices{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.device-progress{border:1px solid var(--line);background:#fff;border-radius:9px;padding:11px;display:grid;grid-template-columns:24px 1fr auto;gap:6px;text-align:left;align-items:center}.device-progress.done{border-color:#b7dec9;background:#f7fcf9}.device-progress.current{border-color:#efc3a9;background:#fffaf7}.device-progress small{color:var(--muted)}.chip-checks{display:flex;flex-wrap:wrap;gap:8px}.chip-checks label{border:1px solid var(--line);border-radius:999px;padding:8px 11px}.modal-foot{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:16px 22px;display:flex;justify-content:flex-end;gap:9px;align-items:center}.autosave{margin-right:auto;color:var(--muted);font-size:12px}.hidden{display:none!important}.mt-8{margin-top:8px}.mobile-only{display:none}
@media(max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-250px;z-index:60;width:238px;transition:.2s}.sidebar.open{left:0}.mobile-only{display:inline-block}.topbar{padding:0 14px}.top-actions .user-chip{display:none}.content{padding:18px}.summary-grid,.dashboard-grid,.client-meta-grid{grid-template-columns:1fr}.span-2,.span-3{grid-column:span 1}.device-grid{grid-template-columns:1fr 1fr}.case-row{grid-template-columns:1fr 1fr}.case-row>*:nth-child(n+3){display:none}.case-head{display:none}.primary-actions{width:100%;flex-direction:column}.page-heading{flex-direction:column}.primary-actions .btn{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.visit-devices{grid-template-columns:1fr}.modal-foot{flex-wrap:wrap}.autosave{width:100%;margin-right:0}.modal-foot .btn{flex:1}.search-wrap{max-width:none}.top-actions{gap:2px}}
@media(max-width:560px){.top-actions .icon-button:nth-child(1),.top-actions .icon-button:nth-child(2){display:none}.content{padding:14px}.summary-grid{gap:10px}.panel{padding:15px}.device-grid{grid-template-columns:1fr}.attention-row{grid-template-columns:12px 1fr 16px}.attention-time{grid-column:2}.modal-card,.modal-card.large{width:100%;height:100%;max-height:100%;margin:0;border-radius:0}.modal-head,.modal-foot{position:sticky}.duration-row button{flex:1 0 22%}}

/* v0.2 – rychlé typy servisu */
.service-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.service-type{min-height:48px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;text-align:left;font-weight:750;color:var(--text);transition:.15s ease}
.service-type:hover{border-color:#b7c1c9;background:#fafbfc}
.service-type.selected{background:var(--dark);border-color:var(--dark);color:#fff;box-shadow:0 4px 14px rgba(25,34,41,.12)}
.reinstall-data{margin-top:16px;padding:14px;border-radius:10px;background:#f8fafb;border:1px solid var(--line)}
.radio-stack{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.radio-stack label{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}
.deadline-preview{margin-top:9px;color:var(--muted);font-size:13px;font-weight:650}
.optional-check-info{display:flex;gap:7px;flex-direction:column;background:#fafbfc;color:var(--muted);font-size:13px}
.optional-check-info strong{color:var(--text)}
@media(max-width:700px){.service-type-grid{grid-template-columns:1fr 1fr}.service-type{min-height:56px}}
@media(max-width:430px){.service-type-grid{grid-template-columns:1fr}}

/* v1.0 databázová verze */
a{text-decoration:none;color:inherit}.install-body{min-height:100vh;display:grid;place-items:center;background:#eef1f3;padding:24px}.install-card{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 20px 60px rgba(20,30,38,.10)}.install-brand{margin-bottom:24px}.install-card h1{margin:0 0 8px}.install-card label{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;font-weight:700;font-size:13px}.install-card input,.install-card select,.install-card textarea,.field,select,input,textarea{font:inherit}.alert{padding:12px 14px;border-radius:10px;margin-bottom:18px}.alert.danger{background:#fff0f0;border:1px solid #f0bbbb;color:#9e2828}.brand{color:inherit}.nav-item{display:flex}.summary-card{display:block}.summary-card span{display:block}.summary-card strong{display:block;font-size:1.65rem;margin-top:4px}.summary-card strong small{font-size:.9rem;font-weight:700;color:var(--muted)}.summary-card em{display:block;color:var(--muted);font-size:.82rem;font-style:normal;margin-top:5px}.attention-row{display:grid}.attention-row small,.client-row small,.device-card small,.task-row small,.visit-card small,.search-result-row small{display:block;color:var(--muted);margin-top:3px}.client-row{display:grid;grid-template-columns:minmax(180px,1.5fr) .5fr .7fr .6fr 20px;gap:12px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--line)}.client-row:hover,.search-result-row:hover{background:#fafbfc}.client-row:last-child{border-bottom:0}.task-row{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);margin:0}.task-row.done{opacity:.55;text-decoration:line-through}.task-check{width:34px;height:34px;min-width:34px;border-radius:50%;padding:0;background:#fff}.detail-list{display:grid;grid-template-columns:160px 1fr;gap:10px 20px}.detail-list dt{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800}.detail-list dd{margin:0}.photo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.photo-grid img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;border:1px solid var(--line)}.search-result-row{display:flex;flex-direction:column;padding:12px;border-bottom:1px solid var(--line)}.empty-state{color:var(--muted);padding:12px 0}.field-label{display:block;font-size:13px;font-weight:800;margin-bottom:8px}.check-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.check-grid label,.deadline-row label{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13px;font-weight:650}.service-type{display:flex;align-items:center;gap:8px}.service-type input{width:auto}.reinstall-data label{display:flex;align-items:center;gap:8px;margin-top:8px}.deadline-row{display:flex;gap:8px;flex-wrap:wrap}.optional-note{padding:12px 14px;background:#fafbfc;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;gap:3px}.optional-note span{font-size:13px;color:var(--muted)}hr{border:0;border-top:1px solid var(--line);margin:18px 0}.back-button{display:inline-block;margin-bottom:8px;color:var(--muted);font-weight:700}.green-text{color:#26845a}.red-text{color:#bd3434}
@media(max-width:760px){.client-row{grid-template-columns:1fr 20px}.client-row>span:nth-child(n+2){display:none}.detail-list{grid-template-columns:1fr;gap:4px}.detail-list dd{margin-bottom:10px}.photo-grid{grid-template-columns:repeat(3,1fr)}}

/* v1.1 – editace, větší ikony, telefon a dotykové checkboxy */
.search-icon{width:24px;height:24px;display:grid;place-items:center;flex:0 0 24px;color:#687680}
.search-icon svg,.logout-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.logout-button{width:42px!important;height:42px!important;display:grid!important;place-items:center!important;padding:0!important}
.top-actions{align-items:center}
.user-chip{min-height:42px;display:inline-flex;align-items:center}
.phone-field{display:flex;width:100%;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}
.phone-prefix{display:flex;align-items:center;gap:6px;padding:0 11px;background:#f5f7f8;border-right:1px solid var(--line);white-space:nowrap;color:#46545e}
.phone-field input{border:0!important;border-radius:0!important;box-shadow:none!important;min-width:0;flex:1}
.task-row{display:grid!important;grid-template-columns:34px minmax(0,1fr) 38px;gap:12px;align-items:center!important}
.task-checkbox{appearance:none;-webkit-appearance:none;width:25px;height:25px;min-width:25px;border:2px solid #9ca8b0;border-radius:5px;background:#fff;display:grid;place-content:center;cursor:pointer;margin:0}
.task-checkbox::before{content:'✓';font-size:18px;font-weight:900;line-height:1;color:#fff;transform:scale(0);transition:.1s ease}
.task-checkbox:checked{background:#2e8b62;border-color:#2e8b62}.task-checkbox:checked::before{transform:scale(1)}
.task-checkbox:disabled{opacity:.55;cursor:wait}
.task-row.done{opacity:.62;text-decoration:none!important}.task-row.done .task-copy{text-decoration:line-through}
.task-copy{min-width:0}
.row-edit{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#fff;color:#60707b;justify-self:end;flex:0 0 36px}
.row-edit:hover{border-color:#aeb9c0;background:#f7f9fa;color:#1d2a32}.row-edit svg{width:18px;height:18px;fill:currentColor}
.row-main{min-width:0;display:block}.client-row .row-main{grid-column:1}.client-row{grid-template-columns:minmax(180px,1.5fr) .5fr .7fr .6fr 38px!important}
.device-card{display:flex!important;justify-content:space-between;gap:10px;align-items:center}.device-card>div{min-width:0}
.case-row-actions,.case-head{grid-template-columns:1fr 1.2fr 1.2fr .8fr .8fr 42px!important}.case-head{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800;background:#fafbfc}
.visit-table{display:flex;flex-direction:column}.visit-row{display:grid;grid-template-columns:1fr 1.45fr .8fr .8fr .9fr 42px;gap:12px;align-items:center;padding:13px 8px;border-bottom:1px solid var(--line)}.visit-head{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:800;background:#fafbfc;border-radius:9px 9px 0 0}
.form-page{max-width:920px}.form-page .modal-foot{position:static;padding-left:0;padding-right:0;padding-bottom:0}
.inline-select-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.inline-select-action .btn{white-space:nowrap}
@media(max-width:900px){.visit-row{grid-template-columns:1fr 1fr 42px}.visit-row>*:nth-child(3),.visit-row>*:nth-child(4),.visit-row>*:nth-child(5){display:none}.visit-head>*:nth-child(3),.visit-head>*:nth-child(4),.visit-head>*:nth-child(5){display:none}.case-row-actions,.case-head{grid-template-columns:1fr 1fr 42px!important}.case-row-actions>*:nth-child(3),.case-row-actions>*:nth-child(4),.case-row-actions>*:nth-child(5),.case-head>*:nth-child(3),.case-head>*:nth-child(4),.case-head>*:nth-child(5){display:none!important}}
@media(max-width:560px){.task-checkbox{width:29px;height:29px;min-width:29px}.task-row{grid-template-columns:32px minmax(0,1fr) 40px}.row-edit{width:40px;height:40px}.phone-prefix{padding:0 9px}.inline-select-action{grid-template-columns:1fr}.client-row{grid-template-columns:1fr 40px!important}.client-row>span{display:none!important}}

/* v1.2 – rozšířená evidence klientů a zařízení */
.map-link{color:inherit;text-decoration:none}.map-link:hover{text-decoration:underline}
.device-card-main{min-width:0;flex:1;color:inherit;text-decoration:none}.device-card-main>div{display:flex;flex-direction:column;gap:3px}.device-card-main small{color:var(--muted)}
.form-section{border:1px solid var(--line);border-radius:14px;padding:16px;background:#f8fafc}.form-section h3{margin:0 0 12px;font-size:1rem}.subgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.subgrid .span-2{grid-column:1/-1}
.dynamic-list{display:grid;gap:9px;margin-bottom:10px}.dynamic-row{display:grid;gap:8px;align-items:center}.storage-row{grid-template-columns:.85fr .9fr .85fr 1.5fr 36px}.card-row,.peripheral-row{grid-template-columns:1fr 2fr 36px}.software-row{grid-template-columns:1.4fr .7fr 1.6fr 36px}.dynamic-row input,.dynamic-row select{width:100%;min-width:0}.mini-remove{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:9px;cursor:pointer;font-size:1.2rem;color:#64748b}.mini-remove:hover{color:#b91c1c;border-color:#fecaca;background:#fff7f7}.btn-small{padding:7px 10px;font-size:.85rem}
.spec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.spec-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.spec-grid span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:3px}.spec-grid strong{display:block;overflow-wrap:anywhere}.simple-list{display:grid;gap:8px}.simple-list>div{display:grid;grid-template-columns:minmax(150px,.7fr) 2fr;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}.simple-list span{color:#5e6875}.block-muted{display:block;color:var(--muted);margin-top:4px}.phone-prefix{min-width:91px}.phone-smart{min-width:0}
@media(max-width:1050px){.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.storage-row{grid-template-columns:1fr 1fr}.storage-row .mini-remove{grid-column:2;justify-self:end}.software-row{grid-template-columns:1fr 1fr}.software-row .mini-remove{grid-column:2;justify-self:end}}
@media(max-width:650px){.subgrid,.spec-grid{grid-template-columns:1fr}.subgrid .span-2{grid-column:auto}.dynamic-row,.storage-row,.card-row,.peripheral-row,.software-row{grid-template-columns:1fr 42px}.dynamic-row input,.dynamic-row select{grid-column:1}.dynamic-row .mini-remove{grid-column:2;grid-row:1;align-self:start}.simple-list>div{grid-template-columns:1fr}.form-section{padding:13px}.phone-prefix{min-width:86px}}
.flag{display:inline-block;width:22px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(15,23,42,.12);background-size:100% 100%;background-repeat:no-repeat;flex:0 0 auto}
.flag-cz{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='10' fill='%23fff'/%3E%3Crect y='10' width='30' height='10' fill='%23d7141a'/%3E%3Cpath d='M0 0 13 10 0 20Z' fill='%2311457e'/%3E%3C/svg%3E")}
.flag-sk{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='6.67' fill='%23fff'/%3E%3Crect y='6.67' width='30' height='6.67' fill='%230b4ea2'/%3E%3Crect y='13.34' width='30' height='6.66' fill='%23ee1c25'/%3E%3Cpath d='M8 5.5h6v6.1c0 2.4-3 3.6-3 3.6s-3-1.2-3-3.6z' fill='%23fff' stroke='%23ee1c25' stroke-width='1'/%3E%3Cpath d='M9.2 9h3.6M11 7.3v5' stroke='%230b4ea2' stroke-width='.9'/%3E%3C/svg%3E")}

/* v1.3 – servisní list, materiál, aktivita, řazení */
.invoice-ok{display:inline-block;margin-left:7px;color:var(--ok);font-weight:800;font-size:.75rem}
.sort-head{color:inherit;text-decoration:none;font-weight:inherit}.sort-head:hover{color:var(--accent)}
.activity-list{display:flex;flex-direction:column}.activity-row{display:grid;grid-template-columns:120px 90px minmax(180px,1fr) minmax(200px,1.4fr);gap:14px;align-items:center;padding:13px 4px;border-top:1px solid var(--line)}.activity-row:first-child{border-top:0}.activity-row:hover{background:rgba(255,255,255,.025)}.activity-row small{display:block;color:var(--muted)}.activity-kind{font-weight:800;color:var(--muted)}.activity-date{font-weight:800}.activity-detail{color:var(--muted)}
.inline-work-form{display:grid;grid-template-columns:190px minmax(220px,1fr) 110px auto;gap:8px;margin-top:15px}.mini-form{display:grid;grid-template-columns:minmax(140px,1fr) 70px 130px 100px auto;gap:8px;margin-top:14px}.inline-work-form input,.inline-work-form select,.mini-form input,.mini-form select,.inline-add-check input,.close-case-form input,.close-case-form select,.close-case-form textarea{width:100%}
.simple-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.simple-list>div>span small{display:block;color:var(--muted)}
.checklist-case{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.case-check-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#10161d;cursor:pointer}.case-check-row input{width:20px;height:20px;accent-color:var(--ok)}.case-check-row.done{opacity:.68}.case-check-row.done span{text-decoration:line-through}.inline-add-check{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.close-case-form{display:grid;gap:12px}.invoice-check{padding:10px 0}.disk-role{display:flex;align-items:center;color:var(--muted);font-size:.82rem;font-weight:800;min-width:110px}.storage-row{grid-template-columns:110px 110px 1fr 1.4fr auto!important}
#caseNewDeviceFields.hidden{display:none!important}
@media(max-width:900px){.activity-row{grid-template-columns:100px 80px 1fr}.activity-detail{grid-column:3}.inline-work-form,.mini-form{grid-template-columns:1fr 1fr}.inline-work-form .btn,.mini-form .btn{width:100%}.checklist-case{grid-template-columns:1fr}}
@media(max-width:580px){.activity-row{grid-template-columns:80px 1fr;gap:8px}.activity-kind{grid-column:2}.activity-detail{grid-column:2}.inline-work-form,.mini-form{grid-template-columns:1fr}.case-check-row{min-height:48px}.storage-row{grid-template-columns:1fr!important}.disk-role{min-width:0}}

/* v1.4 – materiál servisního listu */
.material-panel{overflow-x:auto}.material-table{min-width:1120px;display:grid;gap:7px}.material-row{display:grid;grid-template-columns:80px minmax(220px,1.65fr) 135px minmax(190px,1.25fr) 125px 125px 78px 105px;gap:8px;align-items:center}.material-head{padding:0 4px 5px;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.material-edit-row,.material-add-row{padding:8px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}.material-add-row{background:#fff}.material-row input,.material-row select{width:100%;min-width:0}.material-vat-check{display:flex!important;align-items:center!important;justify-content:center;gap:5px;margin:0!important}.material-vat-check input{width:20px;height:20px;accent-color:var(--red)}.material-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.material-summary{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:14px}.material-summary>span{min-width:155px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;text-align:right}.material-summary small{display:block;color:var(--muted);font-size:.74rem}.material-summary strong{display:block;margin-top:3px}.material-note{margin:10px 0 0;font-size:.82rem}
@media(max-width:700px){.material-panel{padding-bottom:18px}.material-summary{justify-content:stretch}.material-summary>span{flex:1 1 145px}}


/* v1.4.2 – destruktivní akce */
.btn-danger{background:#fff0f0;border-color:#e4a2a2;color:#a41318}.btn-danger:hover{background:#ffe3e3;border-color:#d97878;color:#8e0f14}
.delete-form{display:inline-flex;margin:0}

/* v1.5 */
.status-dot.orange{background:#ef8c2f}.status-dot.gray{background:#a8b0b7}.status-dot.green{background:var(--green)}
.check-inline{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;min-height:40px;padding-top:21px;font-weight:700}.check-inline input{width:22px!important;height:22px!important;min-width:22px;accent-color:var(--accent);margin:0}.check-inline span{line-height:1.2}
.task-row-v15{grid-template-columns:34px 12px minmax(0,1fr) 38px!important}.task-row-v15>.status-dot{align-self:center}
.device-table .device-row-list,.device-table .case-head{grid-template-columns:1.35fr .75fr 1.25fr 1.35fr 1fr 74px!important}.device-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.remote-ready{width:11px;height:11px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(38,132,90,.12);display:inline-block;flex:0 0 auto}.device-table a:hover strong{text-decoration:underline}
@media(max-width:900px){.device-table .device-row-list,.device-table .case-head{grid-template-columns:1fr .75fr 1fr 74px!important}.device-table .device-row-list>*:nth-child(4),.device-table .device-row-list>*:nth-child(5),.device-table .case-head>*:nth-child(4),.device-table .case-head>*:nth-child(5){display:none!important}.task-row-v15{grid-template-columns:32px 12px minmax(0,1fr) 40px!important}.check-inline{padding-top:4px}}

/* v1.6 */
.client-table .client-row{grid-template-columns:minmax(190px,1.5fr) minmax(150px,1fr) minmax(130px,.9fr) .65fr .55fr 44px!important}.client-head{font-size:11px;color:var(--muted);font-weight:800;text-transform:uppercase;border-top:0!important;background:#fff!important}.client-head .sort-head{white-space:nowrap}.audit-inline-form{margin:0}.audit-file-btn{display:inline-flex;align-items:center;cursor:pointer}.audit-file-btn input{display:none}.notebook-gpu-row{grid-template-columns:160px 1.5fr .7fr 38px!important}.storage-row{grid-template-columns:110px 100px 105px 130px 1.5fr 38px!important}.spec-grid small{display:block;color:var(--muted);margin-top:4px;font-weight:500}.form-section h4{margin:18px 0 4px}
@media(max-width:900px){.client-table .client-row{grid-template-columns:1fr 1fr 44px!important}.client-table .client-row>*:nth-child(3),.client-table .client-row>*:nth-child(4),.client-table .client-row>*:nth-child(5){display:none!important}.storage-row,.notebook-gpu-row{grid-template-columns:1fr!important}}

/* v1.7.1 – zarovnání checklistu návštěvy */
.visit-check-summary{display:flex;flex-direction:column;gap:3px;margin:8px 0 14px}
.visit-check-summary span{color:var(--muted);font-size:.82rem;font-weight:500}
.visit-checklist{display:grid;gap:8px}
.visit-check-row{display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;align-items:center!important;gap:10px!important;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;font-weight:700}
.visit-check-row:hover{background:#fafbfc;border-color:#cbd3d9}
.visit-check-row input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:23px!important;height:23px!important;min-width:23px;margin:0!important;border:2px solid #9ca8b0;border-radius:5px;background:#fff;display:grid;place-content:center;cursor:pointer}
.visit-check-row input[type="checkbox"]::before{content:'✓';font-size:17px;font-weight:900;line-height:1;color:#fff;transform:scale(0)}
.visit-check-row input[type="checkbox"]:checked{background:#2e8b62;border-color:#2e8b62}
.visit-check-row input[type="checkbox"]:checked::before{transform:scale(1)}
.visit-check-row span{display:block;line-height:1.3;min-width:0}

/* v1.8 – doporučení v návštěvě */
.recommendation-save-top{display:flex;justify-content:flex-end;margin:14px 0 8px}
.recommendation-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:18px 0 8px}.recommendation-head h4{margin:0}.recommendation-head small{color:var(--muted)}
.recommendation-list{display:grid;gap:9px}.recommendation-row{display:grid;grid-template-columns:minmax(240px,1.6fr) minmax(420px,1fr);gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}.recommendation-task-options{display:grid;grid-template-columns:145px 140px minmax(145px,1fr) auto;gap:8px;align-items:center}.rec-visible{display:flex!important;flex-direction:row!important;align-items:center!important;gap:7px!important;margin:0!important;font-size:.8rem}.rec-visible input{width:20px!important;height:20px!important;margin:0!important}.task-created{font-weight:800;color:var(--green);grid-column:1/-1}.save-before-recommendations{margin-top:6px}
@media(max-width:950px){.recommendation-row{grid-template-columns:1fr}.recommendation-task-options{grid-template-columns:1fr 1fr}.recommendation-task-options .btn{width:100%}}
@media(max-width:560px){.recommendation-head{align-items:stretch;flex-direction:column}.recommendation-task-options{grid-template-columns:1fr}.recommendation-save-top{justify-content:stretch}.recommendation-save-top .btn{width:100%}}

/* v1.8 – podpis klienta */
.signature-panel{margin-bottom:16px}.signature-canvas-wrap{border:1px dashed #aeb7bf;border-radius:10px;background:#fff;overflow:hidden;touch-action:none}.signature-canvas-wrap canvas{display:block;width:100%;height:150px;touch-action:none;cursor:crosshair}.signature-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:9px}
.visit-check-row span small{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.35}

/* v1.9 – provozní opravy, ceny práce, ARES a dokončení servisu */
.field-with-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.field-with-action>*{min-width:0}.js-ares-status{display:block;margin-top:4px}.js-ares-status.ok{color:var(--green);font-weight:700}.js-ares-status.error{color:#a41318;font-weight:700}
.subgrid label.check{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;min-height:42px;padding-top:20px}.subgrid label.check input[type="checkbox"]{width:22px!important;height:22px!important;min-width:22px;margin:0!important;accent-color:var(--accent)}
.case-check-row{background:#fff!important;color:var(--text)!important}.case-check-row:hover{background:#fafbfc!important;border-color:#cbd3d9}.case-check-row span{color:inherit!important}
.dashboard-service-table .dashboard-case-row{grid-template-columns:.8fr 1.05fr 1.15fr 2fr .8fr .9fr!important}.dashboard-service-table .dashboard-case-row>*{min-width:0}
.visit-row{grid-template-columns:.9fr 1.2fr 1.65fr .65fr .75fr .85fr 42px!important}.visit-row>*{min-width:0}.visit-row>span:nth-child(3){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.recommendation-row{grid-template-columns:minmax(0,1fr)!important}.recommendation-task-options{grid-template-columns:145px 150px minmax(0,1fr) auto!important;min-width:0}.recommendation-task-options>*{min-width:0}
.work-panel{overflow-x:auto}.work-table{min-width:1000px;display:grid;gap:7px}.work-row{display:grid;grid-template-columns:175px minmax(250px,1.5fr) 100px 110px 115px 78px 110px;gap:8px;align-items:center}.work-head{padding:0 4px 5px;color:var(--muted);font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.work-row:not(.work-head){padding:8px;border:1px solid var(--line);border-radius:10px;background:#fafbfd}.work-add-row{background:#fff!important}.work-row input,.work-row select{width:100%;min-width:0}.work-vat-check{display:flex!important;align-items:center!important;justify-content:center;gap:5px;margin:0!important}.work-vat-check input{width:20px!important;height:20px!important;accent-color:var(--red)}.work-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px}.work-summary{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:14px}.work-summary>span{min-width:155px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;text-align:right}.work-summary small{display:block;color:var(--muted);font-size:.74rem}.work-summary strong{display:block;margin-top:3px}
.price-total-panel{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.price-total-panel>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc}.price-total-panel span{display:block;color:var(--muted);font-size:.76rem;font-weight:700}.price-total-panel strong{display:block;margin-top:5px;font-size:1.05rem}.price-total-panel .grand-total{background:#fff6f4;border-color:#e7aaa5}.price-total-panel .grand-total strong{font-size:1.18rem;color:var(--accent)}
.completion-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:4px solid var(--green)}.completion-panel>div:first-child{display:grid;gap:4px}.completion-panel>div:first-child strong{font-size:1.02rem}.completion-panel>div:first-child span{color:var(--muted)}.completion-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.completion-actions form{margin:0}
.backup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.backup-stat{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fafbfd}.backup-stat small{display:block;color:var(--muted)}.backup-stat strong{display:block;margin-top:4px}.cron-url{font-family:Consolas,monospace;font-size:.8rem;word-break:break-all;background:#f3f5f7;border:1px solid var(--line);border-radius:8px;padding:10px}.backup-table{margin-top:12px}.backup-row{display:grid;grid-template-columns:100px minmax(0,1fr) 110px 150px;gap:10px;padding:8px 4px;border-top:1px solid var(--line);align-items:center}.backup-row:first-child{border-top:0}
@media(max-width:1000px){.dashboard-service-table .dashboard-case-row{grid-template-columns:.8fr 1.2fr 1.5fr .85fr!important}.dashboard-service-table .dashboard-case-row>*:nth-child(3){display:none}.dashboard-service-table .dashboard-case-row>*:nth-child(6){display:none}.price-total-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.completion-panel{align-items:flex-start;flex-direction:column}.backup-grid{grid-template-columns:1fr}.recommendation-task-options{grid-template-columns:1fr 1fr!important}}
@media(max-width:900px){.visit-row{grid-template-columns:1fr 1.3fr 1.5fr 42px!important}.visit-row>*:nth-child(4),.visit-row>*:nth-child(5),.visit-row>*:nth-child(6){display:none!important}.visit-head>*:nth-child(4),.visit-head>*:nth-child(5),.visit-head>*:nth-child(6){display:none!important}.work-panel{padding-bottom:18px}.work-summary{justify-content:stretch}.work-summary>span{flex:1 1 145px}.backup-row{grid-template-columns:85px 1fr}.backup-row>*:nth-child(3),.backup-row>*:nth-child(4){display:none}}
@media(max-width:600px){.recommendation-task-options{grid-template-columns:1fr!important}.price-total-panel{grid-template-columns:1fr}.completion-actions{width:100%;display:grid}.completion-actions .btn,.completion-actions form,.completion-actions form button{width:100%}.field-with-action{grid-template-columns:1fr}.backup-row{grid-template-columns:1fr}}
