:root{
  --bg:#f3f6fb;--surface:#fff;--surface-2:#f8fafc;--text:#172033;--text-2:#344054;--muted:#667085;
  --nav:#101828;--nav-2:#17213a;--primary:#155eef;--primary-2:#004eeb;--primary-soft:#eef4ff;
  --success:#067647;--success-soft:#ecfdf3;--warning:#b54708;--warning-soft:#fffaeb;--danger:#b42318;--danger-soft:#fef3f2;
  --border:#e4e7ec;--border-strong:#d0d5dd;--shadow-sm:0 1px 2px rgba(16,24,40,.04);--shadow:0 12px 34px rgba(16,24,40,.08);
  --radius:16px;--radius-sm:10px;--sidebar:272px;--topbar:76px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);font-size:14px;line-height:1.5}a{color:inherit}button,input,select,textarea{font:inherit}img,svg{display:block}.ui-icon{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;flex:0 0 auto}.ui-icon svg{width:100%;height:100%;fill:currentColor}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.align-right{text-align:right!important}.section-anchor{scroll-margin-top:95px}code{padding:3px 7px;border-radius:7px;background:#eef2f6;color:#344054;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 16px;border:1px solid transparent;border-radius:10px;text-decoration:none;font-weight:750;line-height:1;cursor:pointer;transition:.18s ease;white-space:nowrap}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 8px 18px rgba(21,94,239,.2)}.btn-primary:hover{box-shadow:0 11px 24px rgba(21,94,239,.27)}.btn-secondary{background:var(--primary-soft);border-color:#d6e4ff;color:#1849a9}.btn-secondary:hover{background:#e0ebff}.btn-dark{background:#1d2939;color:#fff}.btn-dark:hover{background:#101828}.btn-ghost{background:#fff;border-color:var(--border-strong);color:var(--text-2);box-shadow:var(--shadow-sm)}.btn-ghost:hover{border-color:#98a2b3;background:#f9fafb}.btn-large{width:100%;min-height:52px;padding:14px 20px;font-size:15px}

/* Alerts */
.alert{margin:0 0 20px;padding:14px 16px;border:1px solid;border-radius:12px;font-size:14px}.alert strong{display:block;margin-bottom:4px}.alert ul{margin:8px 0 0;padding-left:20px}.alert-success{background:var(--success-soft);border-color:#abefc6;color:var(--success)}.alert-error{background:var(--danger-soft);border-color:#fecdca;color:var(--danger)}.alert-warning{background:var(--warning-soft);border-color:#fedf89;color:var(--warning)}.alert-info{background:var(--primary-soft);border-color:#b2ccff;color:#1849a9}

/* Login */
.ask-login{min-height:100vh;padding:0;background:#eef2f7}.login-layout{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(440px,.92fr);min-height:100vh}.login-showcase{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:48px clamp(42px,6vw,96px);color:#fff;background:radial-gradient(circle at 18% 12%,rgba(47,128,255,.38),transparent 28%),radial-gradient(circle at 86% 82%,rgba(20,184,166,.14),transparent 30%),linear-gradient(145deg,#0b1220,#15213a 55%,#0b1730)}.login-showcase:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,black,transparent 80%);pointer-events:none}.platform-brand,.showcase-content,.showcase-footer{position:relative;z-index:1}.platform-brand{display:flex;align-items:center;gap:15px}.platform-logo{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(145deg,#2e7cff,#0f55d9);font-size:23px;font-weight:900;letter-spacing:1.2px;box-shadow:0 20px 42px rgba(0,69,180,.38),inset 0 1px 0 rgba(255,255,255,.3)}.platform-name,.platform-tagline{display:block}.platform-name{font-size:20px;font-weight:850}.platform-tagline{margin-top:4px;color:#9fb0ca;font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.showcase-content{max-width:720px;margin:90px 0}.showcase-badge{display:inline-flex;padding:7px 12px;border:1px solid rgba(128,175,255,.35);border-radius:999px;background:rgba(21,94,239,.17);color:#c4d8ff;font-size:11px;font-weight:850;letter-spacing:1.4px}.showcase-content h1{max-width:720px;margin:24px 0 18px;font-size:clamp(40px,5vw,72px);line-height:1.01;letter-spacing:-2.8px}.showcase-content p{max-width:620px;margin:0;color:#b8c4d6;font-size:17px;line-height:1.75}.showcase-footer{color:#8391a7;font-size:12px}.login-panel-wrap{display:grid;place-items:center;padding:48px clamp(24px,5vw,74px);background:radial-gradient(circle at 100% 0,rgba(21,94,239,.08),transparent 32%),#f6f8fc}.login-card{width:min(470px,100%);padding:42px;border:1px solid rgba(208,213,221,.9);border-radius:24px;background:#fff;box-shadow:0 28px 70px rgba(16,24,40,.13)}.login-card:before{content:"";display:block;width:60px;height:5px;margin-bottom:28px;border-radius:99px;background:linear-gradient(90deg,#155eef,#53a0ff)}.admin-card:before{background:linear-gradient(90deg,#155eef,#0e9384)}.login-card-head{margin-bottom:26px}.login-eyebrow{display:block;margin-bottom:10px;color:#155eef;font-size:11px;font-weight:900;letter-spacing:1.5px}.admin-card .login-eyebrow{color:#0e8075}.login-card-head h2{margin:0;font-size:32px;line-height:1.15;letter-spacing:-.8px}.login-card-head p{margin:10px 0 0;color:var(--muted);line-height:1.65}.login-form{display:grid;gap:18px}.login-field{display:grid;gap:8px;color:#344054;font-size:13px;font-weight:750}.login-field input{min-height:52px;padding:13px 15px;border:1px solid #cfd6e2;border-radius:12px;background:#fbfcfe;outline:none;transition:.16s}.login-field input:hover{border-color:#98a2b3}.login-field input:focus{border-color:#155eef;background:#fff;box-shadow:0 0 0 4px rgba(21,94,239,.11)}.login-submit{margin-top:4px;border:0;background:linear-gradient(135deg,#155eef,#004eeb);color:#fff;box-shadow:0 13px 27px rgba(21,94,239,.24)}.admin-card .login-submit{background:linear-gradient(135deg,#155eef,#087c76)}.login-card-footer{display:flex;justify-content:space-between;gap:16px;margin-top:28px;padding-top:20px;border-top:1px solid #eaecf0;color:#98a2b3;font-size:12px}.login-card-footer a{text-decoration:none;color:#475467;font-weight:750}.login-card-footer a:hover{color:#155eef}.login-card-footer-single{justify-content:center;text-align:center}

/* App shell */
.app-body{min-height:100vh;background:var(--bg)}.sidebar{position:fixed;z-index:50;inset:0 auto 0 0;width:var(--sidebar);display:flex;flex-direction:column;padding:24px 18px 18px;color:#fff;background:radial-gradient(circle at 0 0,rgba(46,124,255,.16),transparent 30%),linear-gradient(180deg,#101828,#111b31 74%,#0d1628);box-shadow:12px 0 36px rgba(16,24,40,.08)}.sidebar-brand{display:flex;align-items:center;gap:13px;padding:0 8px 22px;border-bottom:1px solid rgba(255,255,255,.09)}.sidebar-logo{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#2e7cff,#0f55d9);font-size:17px;font-weight:900;letter-spacing:1px;box-shadow:0 10px 24px rgba(0,69,180,.32)}.sidebar-brand-copy strong,.sidebar-brand-copy span{display:block}.sidebar-brand-copy strong{font-size:16px;letter-spacing:.1px}.sidebar-brand-copy span{margin-top:2px;color:#9eacc2;font-size:12px}.sidebar-context{margin:18px 4px 8px;padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:12px;background:rgba(255,255,255,.04)}.sidebar-context-label{display:block;margin-bottom:6px;color:#7f8da5;font-size:9px;font-weight:850;letter-spacing:1.5px}.sidebar-context strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.sidebar-context small{display:block;margin-top:3px;color:#8493aa;font-size:11px;text-transform:uppercase}.sidebar-nav{display:grid;gap:5px;margin-top:14px}.sidebar-link{position:relative;display:flex;align-items:center;gap:12px;min-height:45px;padding:10px 12px;border-radius:10px;color:#b8c3d4;text-decoration:none;font-size:13px;font-weight:650;transition:.16s}.sidebar-link .ui-icon{width:19px;height:19px}.sidebar-link:hover{color:#fff;background:rgba(255,255,255,.065)}.sidebar-link.active{color:#fff;background:linear-gradient(90deg,rgba(46,124,255,.22),rgba(46,124,255,.09));box-shadow:inset 3px 0 #4386ff}.sidebar-link em{margin-left:auto;padding:3px 6px;border-radius:5px;background:rgba(255,255,255,.06);color:#66758d;font-size:8px;font-style:normal;font-weight:850;letter-spacing:.6px}.sidebar-link.is-disabled{cursor:not-allowed;opacity:.72}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px}.sidebar-user>div{min-width:0}.sidebar-user strong,.sidebar-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user strong{font-size:12px}.sidebar-user small{margin-top:2px;color:#8190a8;font-size:10px}.sidebar-logout{display:flex;align-items:center;gap:10px;margin-top:6px;padding:10px 11px;border-radius:9px;color:#aab7c9;text-decoration:none;font-size:12px;font-weight:700}.sidebar-logout:hover{color:#fff;background:rgba(255,255,255,.06)}.app-shell{min-height:100vh;margin-left:var(--sidebar)}.app-topbar{position:sticky;z-index:30;top:0;height:var(--topbar);display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid rgba(228,231,236,.9);background:rgba(255,255,255,.93);backdrop-filter:blur(16px)}.topbar-product{display:flex;align-items:center;gap:9px;color:#344054;font-weight:800}.topbar-product small{padding-left:9px;border-left:1px solid #d0d5dd;color:#667085;font-weight:650}.status-dot{width:9px;height:9px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.12)}.topbar-right{display:flex;align-items:center;gap:18px}.version-pill{padding:6px 9px;border:1px solid #d0d5dd;border-radius:999px;background:#f9fafb;color:#667085;font-size:10px;font-weight:850}.topbar-user{display:flex;align-items:center;gap:10px}.topbar-user strong,.topbar-user small{display:block}.topbar-user strong{font-size:12px}.topbar-user small{color:#667085;font-size:10px}.avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(145deg,#e7efff,#d6e4ff);color:#1849a9;font-size:12px;font-weight:850}.avatar-small{width:34px;height:34px;background:rgba(46,124,255,.18);color:#d9e6ff}.icon-button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--border);border-radius:10px;background:#fff;color:#344054;cursor:pointer}.mobile-menu{display:none}.app-content{padding:28px 30px 56px}.content-container{width:min(1560px,100%);margin:0 auto}.sidebar-backdrop{display:none}

/* Headings and navigation */
.breadcrumbs{display:flex;align-items:center;gap:8px;margin:0 0 18px;color:#98a2b3;font-size:12px}.breadcrumbs a{text-decoration:none;color:#667085}.breadcrumbs a:hover{color:#155eef}.breadcrumbs strong{color:#344054}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}.page-eyebrow,.panel-kicker{display:block;color:#155eef;font-size:10px;font-weight:900;letter-spacing:1.45px}.page-heading h1{margin:7px 0 6px;font-size:30px;line-height:1.2;letter-spacing:-.8px}.page-heading p{max-width:760px;margin:0;color:#667085;font-size:14px}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* Panels */
.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #eaecf0}.panel-heading.compact{align-items:center;padding:19px 22px}.panel-heading h2{margin:5px 0 3px;font-size:18px;letter-spacing:-.25px}.panel-heading p{margin:0;color:var(--muted);font-size:12px}.data-panel{margin-top:20px}.filter-panel{margin-bottom:20px}.form-panel{overflow:hidden}.form-panel+.form-panel{margin-top:18px}

/* Metrics */
.metric-grid{display:grid;gap:16px;margin-bottom:20px}.metric-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{position:relative;overflow:hidden;min-height:124px;padding:20px 21px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.metric-card:after{content:"";position:absolute;right:-26px;bottom:-34px;width:92px;height:92px;border-radius:50%;background:rgba(21,94,239,.055)}.metric-label{display:block;color:#667085;font-size:12px;font-weight:700}.metric-card strong{display:block;margin-top:9px;font-size:32px;line-height:1;letter-spacing:-1px}.metric-card small{display:block;margin-top:10px;color:#98a2b3;font-size:11px}.accent-success{border-top:3px solid #12b76a}.accent-muted{border-top:3px solid #98a2b3}.accent-blue{border-top:3px solid #2e90fa}.order-new{border-top:3px solid #2e90fa}.order-route{border-top:3px solid #7a5af8}.order-progress{border-top:3px solid #f79009}.order-done{border-top:3px solid #12b76a}

/* Filters */
.filter-form{display:grid;grid-template-columns:minmax(300px,1fr) 190px 170px auto;align-items:end;gap:14px;padding:18px}.filter-form label{display:grid;gap:7px;color:#475467;font-size:11px;font-weight:750}.filter-search{position:relative}.filter-search>span.ui-icon{position:absolute;left:13px;bottom:13px;width:18px;height:18px;color:#98a2b3}.filter-search input{padding-left:42px}.filter-actions{display:flex;gap:8px}

/* Forms */
input,select,textarea{width:100%;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text);outline:none;transition:.16s}input,select{min-height:44px;padding:10px 12px}textarea{padding:11px 12px;resize:vertical;line-height:1.55}input::placeholder,textarea::placeholder{color:#98a2b3}input:hover,select:hover,textarea:hover{border-color:#98a2b3}input:focus,select:focus,textarea:focus{border-color:#155eef;box-shadow:0 0 0 4px rgba(21,94,239,.10)}.form-layout{display:grid;gap:0}.form-grid{display:grid;gap:17px;padding:22px 24px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;align-content:start;gap:7px;color:#344054;font-size:12px;font-weight:700}.field>b,.field span b{color:#d92d20}.field small{color:#98a2b3;font-size:10px;font-weight:500}.field-span-2{grid-column:span 2}.field-span-3{grid-column:span 3}.switch-stack{display:grid;gap:14px;padding:0 24px 24px}.switch-field{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--border);border-radius:12px;background:#fafbfc;cursor:pointer}.switch-field input{position:absolute;opacity:0;pointer-events:none}.switch{position:relative;flex:0 0 40px;width:40px;height:22px;border-radius:99px;background:#d0d5dd;transition:.2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.22);transition:.2s}.switch-field input:checked+.switch{background:#155eef}.switch-field input:checked+.switch:after{transform:translateX(18px)}.switch-field>span:last-child strong,.switch-field>span:last-child small{display:block}.switch-field>span:last-child strong{font-size:12px}.switch-field>span:last-child small{margin-top:3px;color:#667085;font-size:11px;font-weight:500}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.sticky-actions{position:sticky;z-index:20;bottom:14px;padding:14px;border:1px solid rgba(208,213,221,.9);border-radius:14px;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 15px 36px rgba(16,24,40,.11)}

/* Tables and lists */
.table-responsive{width:100%;overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:14px 16px;border-bottom:1px solid #eaecf0;text-align:left;vertical-align:middle}.data-table th{background:#f9fafb;color:#667085;font-size:10px;font-weight:850;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfcfe}.entity-cell{display:flex;align-items:center;gap:11px;text-decoration:none;min-width:230px}.entity-cell>span:last-child{min-width:0}.entity-cell strong,.entity-cell small{display:block}.entity-cell strong{overflow:hidden;text-overflow:ellipsis;color:#101828;font-size:13px;white-space:nowrap}.entity-cell small{margin-top:3px;color:#667085;font-size:10px}.entity-avatar{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#edf4ff,#dbe9ff);color:#1849a9;font-size:11px;font-weight:850}.entity-avatar.small{flex-basis:34px;width:34px;height:34px;border-radius:10px}.entity-avatar .ui-icon{width:18px;height:18px}.stacked-cell span,.stacked-cell small{display:block}.stacked-cell small{margin-top:3px;color:#98a2b3;font-size:10px}.count-chip{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:8px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:800}.status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:25px;padding:4px 9px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:9px;font-weight:850;letter-spacing:.35px;text-transform:uppercase;white-space:nowrap}.status-active{background:#ecfdf3;color:#067647}.status-inactive{background:#f2f4f7;color:#667085}.status-danger{background:#fef3f2;color:#b42318}.row-actions{display:flex;justify-content:flex-end;gap:5px}.icon-action{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:#fff;color:#475467;text-decoration:none}.icon-action:hover{border-color:#b2ccff;background:#f5f8ff;color:#155eef}.icon-action .ui-icon{width:17px;height:17px}.mobile-entity-list{display:none}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #eaecf0;color:#667085;font-size:11px}.pagination a{padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:#fff;text-decoration:none;font-weight:700}.compact-list{display:grid}.compact-row{display:flex;align-items:center;gap:11px;padding:14px 18px;border-bottom:1px solid #eaecf0}.compact-row:last-child{border-bottom:0}.compact-row>div{min-width:0;flex:1}.compact-row strong,.compact-row small{display:block}.compact-row strong{overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.compact-row small{margin-top:3px;color:#667085;font-size:10px}.compact-row.linked{text-decoration:none}.compact-row.linked:hover{background:#f9fbff}.row-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#f2f4f7;color:#475467}.row-icon .ui-icon{width:18px;height:18px}.text-link{color:#155eef;text-decoration:none;font-size:11px;font-weight:750}.tag{display:inline-flex;padding:4px 7px;border-radius:6px;font-size:8px;font-weight:900;letter-spacing:.55px}.tag-primary{background:#eef4ff;color:#1849a9}

/* Empty state */
.empty-state{display:grid;justify-items:center;padding:48px 24px;text-align:center}.empty-state-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:#f2f4f7;color:#667085}.empty-state-icon .ui-icon{width:27px;height:27px}.empty-state h3{margin:15px 0 6px;font-size:15px}.empty-state p{max-width:520px;margin:0;color:#667085;font-size:12px}.empty-state-action{margin-top:18px}

/* Client profile */
.profile-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:25px 27px;border:1px solid #d6e4ff;border-radius:18px;background:radial-gradient(circle at 90% 10%,rgba(46,124,255,.11),transparent 30%),linear-gradient(135deg,#fff,#f7faff);box-shadow:var(--shadow-sm)}.profile-main{display:flex;align-items:center;gap:16px;min-width:0}.profile-avatar{display:grid;place-items:center;flex:0 0 68px;width:68px;height:68px;border-radius:18px;background:linear-gradient(145deg,#2e7cff,#0f55d9);color:#fff;font-size:20px;font-weight:900;box-shadow:0 13px 26px rgba(21,94,239,.23)}.profile-avatar.square .ui-icon{width:30px;height:30px}.profile-main>div{min-width:0}.profile-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.profile-title-row h2{margin:0;font-size:23px;letter-spacing:-.5px}.profile-main p{margin:5px 0 0;color:#667085}.profile-contact-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:9px}.profile-contact-row a,.profile-contact-row span{display:inline-flex;align-items:center;gap:6px;color:#475467;text-decoration:none;font-size:11px;font-weight:650}.profile-contact-row a:hover{color:#155eef}.profile-contact-row .ui-icon{width:15px;height:15px}.profile-metrics{display:flex;align-items:stretch;border:1px solid #e4e7ec;border-radius:12px;background:rgba(255,255,255,.88);overflow:hidden}.profile-metrics div{min-width:92px;padding:13px 15px;border-right:1px solid #eaecf0;text-align:center}.profile-metrics div:last-child{border-right:0}.profile-metrics strong,.profile-metrics span{display:block}.profile-metrics strong{font-size:20px}.profile-metrics span{margin-top:2px;color:#667085;font-size:9px;text-transform:uppercase}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.detail-card{overflow:hidden}.detail-list{margin:0;padding:6px 20px 18px}.detail-list div{display:flex;justify-content:space-between;gap:20px;padding:11px 2px;border-bottom:1px solid #eaecf0}.detail-list div:last-child{border-bottom:0}.detail-list dt{color:#667085;font-size:11px}.detail-list dd{margin:0;color:#344054;font-size:11px;font-weight:700;text-align:right}.prose-box{min-height:150px;padding:18px 22px;color:#475467;line-height:1.7}.note-block{padding:14px 20px;border-bottom:1px solid #eaecf0}.note-block:last-child{border-bottom:0}.note-block strong{font-size:11px}.note-block p{margin:6px 0 0;color:#667085;font-size:11px;line-height:1.6}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px}.contact-card{overflow:hidden;border:1px solid var(--border);border-radius:13px;background:#fff}.contact-card.is-inactive{opacity:.62}.contact-card-head{display:flex;align-items:center;gap:10px;padding:15px}.contact-card-head>div{min-width:0;flex:1}.contact-card-head strong,.contact-card-head small{display:block}.contact-card-head strong{font-size:12px}.contact-card-head small{margin-top:2px;color:#667085;font-size:10px}.contact-card-body{display:grid;gap:8px;padding:13px 15px;border-top:1px solid #eaecf0;background:#fafbfc}.contact-card-body span{display:flex;align-items:center;gap:7px;color:#475467;font-size:10px}.contact-card-body .ui-icon{width:14px;height:14px}.card-link{display:flex;align-items:center;justify-content:space-between;padding:12px 15px;border-top:1px solid #eaecf0;color:#155eef;text-decoration:none;font-size:10px;font-weight:750}.card-link .ui-icon{width:14px;height:14px}.object-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:18px}.object-card{display:block;padding:17px;border:1px solid var(--border);border-radius:14px;background:#fff;text-decoration:none;transition:.17s}.object-card:hover{transform:translateY(-2px);border-color:#b2ccff;box-shadow:0 12px 28px rgba(16,24,40,.08)}.object-card-top{display:flex;align-items:center;justify-content:space-between}.object-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eef4ff;color:#155eef}.object-icon .ui-icon{width:21px;height:21px}.object-card h3{margin:14px 0 5px;font-size:14px}.object-card p{min-height:35px;margin:0;color:#667085;font-size:11px}.object-card-stats{display:flex;gap:12px;margin:14px 0 4px;padding-top:12px;border-top:1px solid #eaecf0;color:#667085;font-size:9px}.object-card-stats b{color:#344054}.two-column-sections{display:grid;grid-template-columns:1fr 1fr;gap:20px}.record-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;padding:18px}.record-card{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}.record-card-head{display:flex;align-items:center;justify-content:space-between;padding:15px 15px 0}.record-card h3{margin:12px 15px 4px;font-size:14px}.record-card>p{margin:0 15px 12px;color:#667085;font-size:10px}.record-card dl{margin:0;padding:0 15px 14px}.record-card dl div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #eaecf0}.record-card dl div:last-child{border-bottom:0}.record-card dt{color:#667085;font-size:9px}.record-card dd{margin:0;color:#344054;font-size:9px;font-weight:700;text-align:right}

/* Dashboard */
.welcome-banner{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:20px;padding:26px 28px;border-radius:18px;color:#fff;background:radial-gradient(circle at 80% 10%,rgba(76,139,255,.35),transparent 32%),linear-gradient(135deg,#101828,#172a52);box-shadow:0 16px 36px rgba(16,24,40,.15)}.welcome-badge{font-size:9px;font-weight:900;letter-spacing:1.4px;color:#bcd3ff}.welcome-banner h2{margin:8px 0 6px;font-size:24px;letter-spacing:-.5px}.welcome-banner p{max-width:730px;margin:0;color:#b8c4d6;font-size:12px}.welcome-version{flex:0 0 180px;padding:16px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:rgba(255,255,255,.055)}.welcome-version span,.welcome-version strong,.welcome-version small{display:block}.welcome-version span{color:#8fa3c1;font-size:8px;font-weight:850;letter-spacing:1px}.welcome-version strong{margin-top:5px;font-size:17px}.welcome-version small{margin-top:3px;color:#8fa3c1;font-size:9px}.dashboard-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:20px}.dashboard-main-panel{overflow:hidden}.module-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:18px}.module-summary-card{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--border);border-radius:12px;background:#fff;text-decoration:none}.module-summary-card:hover:not(.is-static){border-color:#b2ccff;background:#f8faff}.module-summary-card>div{flex:1}.module-summary-card strong,.module-summary-card span{display:block}.module-summary-card strong{font-size:18px}.module-summary-card>div span{color:#667085;font-size:10px}.summary-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#eef4ff;color:#155eef}.summary-icon .ui-icon{width:20px;height:20px}.module-summary-card>.ui-icon{width:16px;height:16px;color:#98a2b3}.roadmap-panel{overflow:hidden}.roadmap-list{list-style:none;margin:0;padding:12px 18px 18px}.roadmap-list li{position:relative;display:flex;gap:11px;padding:10px 0}.roadmap-list li:not(:last-child):after{content:"";position:absolute;left:13px;top:37px;bottom:-6px;width:1px;background:#e4e7ec}.roadmap-list li>span{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border:1px solid #d0d5dd;border-radius:50%;background:#fff;color:#667085;font-size:9px;font-weight:850}.roadmap-list li.done>span{border-color:#abefc6;background:#ecfdf3;color:#067647}.roadmap-list li.active>span{border-color:#b2ccff;background:#eef4ff;color:#155eef}.roadmap-list strong,.roadmap-list small{display:block}.roadmap-list strong{font-size:11px}.roadmap-list small{margin-top:2px;color:#667085;font-size:9px}.dashboard-lists{margin-top:20px}

/* Legacy installer and superadmin dashboard */
.installer-body{padding:32px 18px;background:linear-gradient(135deg,#eef4ff,#f8fafc 55%,#eef7f4)}.installer-wrap{max-width:980px;margin:0 auto}.brand-card{display:flex;gap:18px;align-items:center;margin-bottom:22px}.brand-card h1{margin:0}.brand-card p{margin:5px 0 0;color:var(--muted)}.brand-mark{display:grid;place-items:center;width:66px;height:66px;border-radius:18px;background:#155eef;color:#fff;font-weight:900;font-size:24px;box-shadow:var(--shadow)}.card{padding:24px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.center-card{text-align:center;max-width:720px;margin:35px auto}.success-card{border-color:#abefc6}.platform-body .sidebar{width:242px}.platform-body .sidebar-brand{display:block}.platform-body .sidebar-brand span{display:block;font-size:28px;font-weight:900}.platform-body .sidebar-brand small{color:#aeb9cc}.platform-body .sidebar nav{display:grid;gap:5px;margin-top:24px}.platform-body .sidebar nav a,.logout-link{padding:11px 13px;border-radius:9px;color:#cbd5e1;text-decoration:none}.platform-body .sidebar nav a:hover,.platform-body .sidebar nav a.active{background:rgba(255,255,255,.1);color:#fff}.logout-link{margin-top:auto}.app-main{min-height:100vh;margin-left:242px;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:20px 24px;border:1px solid var(--border);border-radius:16px;background:#fff}.topbar h1{margin:0 0 5px;font-size:25px}.topbar p{margin:0;color:var(--muted)}.version{padding:8px 12px;border-radius:999px;background:#eef2f8;font-size:12px;font-weight:800}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat{padding:20px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--shadow-sm)}.stat span{display:block;color:var(--muted);font-weight:700}.stat strong{display:block;margin-top:9px;font-size:34px}.table-wrap{overflow:auto}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:900}.badge-ok{background:#dcfae6;color:#067647}.badge-off{background:#f2f4f7;color:#475467}

@media(max-width:1240px){.metric-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid,.object-grid,.record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-form{grid-template-columns:minmax(260px,1fr) 170px 150px}.filter-actions{grid-column:1/-1;justify-content:flex-end}.profile-hero{align-items:flex-start;flex-direction:column}.profile-metrics{width:100%}.profile-metrics div{flex:1}.dashboard-layout{grid-template-columns:1fr}.roadmap-list{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.roadmap-list li{padding:0}.roadmap-list li:not(:last-child):after{display:none}}
@media(max-width:1000px){:root{--sidebar:250px}.topbar-user>div{display:none}.two-column-sections,.detail-grid{grid-template-columns:1fr}.login-layout{grid-template-columns:1fr}.login-showcase{min-height:auto;padding:28px 24px 34px}.showcase-content{margin:52px 0 24px}.showcase-content h1{font-size:clamp(36px,8vw,54px);letter-spacing:-1.8px}.showcase-content p{font-size:15px}.showcase-footer{display:none}.login-panel-wrap{min-height:auto;padding:38px 18px 52px}}
@media(max-width:820px){.sidebar{transform:translateX(-105%);transition:.22s ease}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-backdrop{position:fixed;z-index:45;inset:0;background:rgba(16,24,40,.52);backdrop-filter:blur(2px)}.sidebar-open .sidebar-backdrop{display:block}.app-shell{margin-left:0}.mobile-menu{display:grid}.app-topbar{height:68px;padding:0 16px}.topbar-product small{display:none}.version-pill{display:none}.app-content{padding:20px 15px 45px}.page-heading{align-items:flex-start;flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.filter-form{grid-template-columns:1fr 1fr}.filter-search{grid-column:1/-1}.filter-actions{grid-column:1/-1}.desktop-table{display:none}.mobile-entity-list{display:grid;gap:11px;padding:14px}.mobile-entity-card{display:block;padding:15px;border:1px solid var(--border);border-radius:13px;background:#fff;text-decoration:none}.mobile-entity-head{display:flex;align-items:center;gap:10px}.mobile-entity-head>div{min-width:0;flex:1}.mobile-entity-head strong,.mobile-entity-head small{display:block}.mobile-entity-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-entity-head small{margin-top:2px;color:#667085;font-size:10px}.mobile-entity-head>.ui-icon{width:16px;height:16px;color:#98a2b3}.mobile-entity-meta{display:grid;gap:6px;margin-top:13px;padding-top:11px;border-top:1px solid #eaecf0}.mobile-entity-meta span{display:flex;align-items:center;gap:7px;color:#667085;font-size:10px}.mobile-entity-meta .ui-icon{width:14px;height:14px}.mobile-entity-footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;color:#667085;font-size:9px}.mobile-entity-footer .status-badge{margin-left:auto}.form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.field-span-3{grid-column:span 2}.contact-grid,.object-grid,.record-grid{grid-template-columns:1fr}.welcome-banner{align-items:flex-start;flex-direction:column}.welcome-version{width:100%;flex-basis:auto}.roadmap-list{grid-template-columns:repeat(2,1fr)}.platform-body .sidebar{transform:none;position:static;width:100%;min-height:auto}.platform-body .app-main{margin-left:0}.platform-body .stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){body{font-size:13px}.login-card{padding:30px 22px;border-radius:20px}.platform-logo{width:56px;height:56px;border-radius:15px;font-size:20px}.showcase-content h1{font-size:36px}.login-card-footer{flex-direction:column;gap:8px}.page-heading h1{font-size:25px}.metric-grid-4{grid-template-columns:1fr 1fr;gap:10px}.metric-card{min-height:112px;padding:16px}.metric-card strong{font-size:27px}.filter-form{grid-template-columns:1fr}.filter-search,.filter-actions{grid-column:auto}.filter-actions .btn{flex:1}.form-grid,.form-grid-2,.form-grid-3{grid-template-columns:1fr;padding:18px}.field-span-2,.field-span-3{grid-column:auto}.panel-heading{align-items:flex-start;flex-direction:column;padding:18px}.panel-heading>.btn{width:100%}.sticky-actions{bottom:8px}.sticky-actions .btn{flex:1}.profile-hero{padding:19px}.profile-main{align-items:flex-start}.profile-avatar{flex-basis:54px;width:54px;height:54px;border-radius:15px}.profile-title-row h2{font-size:19px}.profile-metrics{display:grid;grid-template-columns:repeat(2,1fr)}.profile-metrics div{min-width:0;border-right:1px solid #eaecf0;border-bottom:1px solid #eaecf0}.profile-metrics div:nth-child(2n){border-right:0}.profile-metrics div:nth-last-child(-n+2){border-bottom:0}.contact-grid,.object-grid,.record-grid{padding:13px}.module-summary-grid{grid-template-columns:1fr}.roadmap-list{grid-template-columns:1fr}.topbar-product>span:not(.status-dot){font-size:12px}.topbar-right{gap:8px}.topbar-user .avatar{width:34px;height:34px}.app-content{padding:17px 10px 40px}.breadcrumbs{padding:0 2px;overflow:auto;white-space:nowrap}.stat-grid{grid-template-columns:1fr 1fr}.platform-body .app-main{padding:14px}.topbar{align-items:flex-start;gap:12px}.button-row{flex-direction:column}.button-row .btn{width:100%}}

/* V0.4.0 DEV — Zlecenia i dyspozytornia */
.btn-danger{background:linear-gradient(135deg,#d92d20,#b42318);color:#fff;box-shadow:0 8px 18px rgba(180,35,24,.2)}.btn-danger:hover{box-shadow:0 11px 24px rgba(180,35,24,.27)}.btn-block{width:100%}.welcome-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.welcome-actions .btn-secondary{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.09);color:#fff}.welcome-actions .btn-secondary:hover{background:rgba(255,255,255,.16)}
.metric-grid-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:20px}.metric-grid-5 .metric-card{text-decoration:none}.accent-warning{border-top-color:#f79009!important}.order-metrics .metric-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,24,40,.09)}
.order-filter-form{grid-template-columns:minmax(260px,1.5fr) repeat(4,minmax(140px,.65fr)) auto}.order-number-cell{display:grid;gap:2px;min-width:230px;text-decoration:none}.order-number-cell strong{color:#155eef;font-size:11px;letter-spacing:.2px}.order-number-cell span{color:#172033;font-weight:750}.order-number-cell small{color:#667085}.order-table td{vertical-align:middle}.process-note{display:block;margin-top:5px;color:#667085;font-size:9px;font-weight:750}.priority-badge,.process-badge,.order-label{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.2px;white-space:nowrap}.priority-low{background:#f2f4f7;color:#475467}.priority-normal{background:#eef4ff;color:#1849a9}.priority-high{background:#fff6ed;color:#b93815}.priority-urgent{background:#fff1f3;color:#c01048}.priority-critical{background:#fef3f2;color:#b42318;box-shadow:inset 0 0 0 1px #fecdca}.process-badge{background:#f2f4f7;color:#475467}.order-label{background:#fffaeb;color:#b54708}.order-status-new{background:#eef4ff!important;color:#1849a9!important}.order-status-route{background:#f4f3ff!important;color:#5925dc!important}.order-status-progress{background:#fff6ed!important;color:#b93815!important}.order-status-done{background:#ecfdf3!important;color:#067647!important}.row-status-dot{display:block;flex:0 0 10px;width:10px;height:10px;border-radius:50%;padding:0}.row-status-dot.order-status-new{background:#2e7cff!important}.row-status-dot.order-status-route{background:#7a5af8!important}.row-status-dot.order-status-progress{background:#f79009!important}.row-status-dot.order-status-done{background:#12b76a!important}
.mobile-order-list{display:none}.mobile-order-card{display:grid;gap:8px;padding:16px;border:1px solid var(--border);border-radius:14px;background:#fff;text-decoration:none;box-shadow:var(--shadow-sm)}.mobile-order-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mobile-order-card>strong{color:#155eef;font-size:10px;letter-spacing:.25px}.mobile-order-card h3{margin:0;font-size:15px;line-height:1.35}.mobile-order-meta{display:grid;gap:6px;margin-top:3px;padding-top:10px;border-top:1px solid #eaecf0}.mobile-order-meta span{display:flex;align-items:center;gap:7px;color:#667085;font-size:10px}.mobile-order-meta .ui-icon{width:14px;height:14px}
.location-preview{display:flex;align-items:center;gap:12px;margin:0 22px 22px;padding:14px 16px;border:1px solid #d6e4ff;border-radius:12px;background:#f5f8ff;color:#1849a9}.location-preview>.ui-icon{width:24px;height:24px}.location-preview strong,.location-preview span{display:block}.location-preview strong{font-size:11px}.location-preview span{margin-top:2px;color:#475467;font-size:11px}.support-selector{display:grid;gap:8px;max-height:240px;overflow:auto;padding:2px}.check-card{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #e4e7ec;border-radius:10px;background:#fff;cursor:pointer}.check-card:hover{border-color:#b2ccff;background:#f8faff}.check-card input{width:17px;height:17px;accent-color:#155eef}.check-card span{display:block;font-weight:700}.check-card small{display:block;margin-top:2px;color:#667085;font-size:9px;font-weight:500}.check-card.is-disabled{opacity:.45;cursor:not-allowed;background:#f2f4f7}
.order-hero{display:flex;align-items:stretch;justify-content:space-between;gap:26px;margin-bottom:20px;padding:26px 28px;background:radial-gradient(circle at 85% 0,rgba(21,94,239,.08),transparent 32%),#fff}.order-hero-main{min-width:0;flex:1}.order-hero-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.order-hero h2{margin:16px 0 7px;font-size:25px;letter-spacing:-.5px}.order-hero p{max-width:900px;margin:0;color:#475467;line-height:1.7}.order-hero-side{display:flex;flex:0 0 230px;flex-direction:column;justify-content:center;padding:18px 20px;border-left:1px solid #e4e7ec}.order-hero-side span{color:#667085;font-size:9px;font-weight:850;letter-spacing:1.1px}.order-hero-side strong{margin-top:7px;font-size:17px}.order-hero-side small{margin-top:4px;color:#667085;font-size:10px}.order-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.72fr);gap:20px}.order-detail-main,.order-detail-side{display:grid;align-content:start;gap:20px}.detail-panel{overflow:hidden}.detail-panel>.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0}.detail-panel>.detail-grid>div{padding:18px 22px;border-top:1px solid #eaecf0}.detail-panel>.detail-grid>div:nth-child(odd){border-right:1px solid #eaecf0}.detail-panel>.detail-grid span,.detail-panel>.detail-grid strong,.detail-panel>.detail-grid small{display:block}.detail-panel>.detail-grid span{color:#667085;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.detail-panel>.detail-grid strong{margin-top:5px}.detail-panel>.detail-grid small{margin-top:3px;color:#667085;font-size:10px}.instruction-box{display:grid;grid-template-columns:1fr 1fr;gap:1px;border-top:1px solid #eaecf0;background:#eaecf0}.instruction-box>div{padding:18px 22px;background:#fffcf5}.instruction-box span{color:#b54708;font-size:9px;font-weight:850;letter-spacing:.8px}.instruction-box p{margin:7px 0 0;color:#475467;line-height:1.65}.side-panel{overflow:hidden}.assigned-person{display:flex;align-items:center;gap:11px;padding:14px 18px;border-top:1px solid #eaecf0}.assigned-person.primary{background:#f8faff}.assigned-person>div{min-width:0}.assigned-person strong,.assigned-person small,.assigned-person div>span{display:block}.assigned-person strong{font-size:12px}.assigned-person small{margin-top:2px;color:#155eef;font-size:9px;font-weight:750}.assigned-person div>span{margin-top:3px;color:#667085;font-size:9px}.support-list{border-top:1px solid #eaecf0}.support-list>span{display:block;padding:12px 18px 0;color:#667085;font-size:8px;font-weight:900;letter-spacing:1px}.support-list .assigned-person{border-top:0;padding-top:10px;padding-bottom:10px}.unassigned-box{padding:18px}.unassigned-box strong{color:#b54708}.unassigned-box p{margin:5px 0 0;color:#667085;font-size:11px}.side-details{margin:0;padding:0 18px 16px}.side-details div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #eaecf0}.side-details div:last-child{border-bottom:0}.side-details dt{color:#667085;font-size:10px}.side-details dd{margin:0;text-align:right;font-size:10px;font-weight:750}.side-action-form{display:grid;gap:12px;padding:0 18px 18px}.side-action-form .field{padding:0}.danger-details{margin:0 18px 18px;border:1px solid #fecdca;border-radius:10px;background:#fffafa}.danger-details summary{padding:12px;color:#b42318;font-size:10px;font-weight:800;cursor:pointer}.danger-details form{display:grid;gap:10px;padding:0 12px 12px}.danger-details .field{padding:0}.internal-note{padding:18px;border-color:#fedf89;background:#fffcf5}.internal-note>span{color:#b54708;font-size:9px;font-weight:900;letter-spacing:.9px}.internal-note p{margin:8px 0 0;color:#475467}.timeline{padding:0 22px 20px}.timeline article{position:relative;display:flex;gap:14px;padding:14px 0 14px 5px}.timeline article:not(:last-child):after{content:"";position:absolute;left:10px;top:30px;bottom:-4px;width:1px;background:#d0d5dd}.timeline-dot{position:relative;z-index:1;flex:0 0 11px;width:11px;height:11px;margin-top:4px;border:3px solid #d6e4ff;border-radius:50%;background:#155eef}.timeline strong,.timeline small{display:block}.timeline p{margin:4px 0;color:#475467}.timeline small{color:#667085;font-size:9px}.quick-note-form{display:grid;grid-template-columns:180px minmax(0,1fr) auto;gap:10px;padding:0 18px 18px}.quick-note-form select,.quick-note-form textarea{width:100%;border:1px solid #d0d5dd;border-radius:10px;padding:10px 12px;background:#fff}.notes-list{display:grid;gap:0;border-top:1px solid #eaecf0}.notes-list article{padding:15px 20px;border-bottom:1px solid #eaecf0}.notes-list article:last-child{border-bottom:0}.notes-list article>div{display:flex;align-items:center;gap:8px}.notes-list article>div span{padding:3px 7px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:8px;font-weight:800}.notes-list p{margin:7px 0;color:#475467}.notes-list small{color:#667085;font-size:9px}.order-compact-list .compact-row>.status-badge{margin-left:auto}

@media(max-width:1320px){.metric-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}.order-filter-form{grid-template-columns:minmax(260px,1fr) repeat(2,minmax(150px,.6fr))}.order-filter-form .filter-actions{grid-column:auto}.order-detail-grid{grid-template-columns:minmax(0,1.45fr) minmax(290px,.75fr)}}
@media(max-width:1000px){.metric-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.order-detail-grid{grid-template-columns:1fr}.order-detail-side{grid-template-columns:repeat(2,minmax(0,1fr))}.action-panel,.internal-note{grid-column:1/-1}.quick-note-form{grid-template-columns:1fr 1fr}.quick-note-form textarea{grid-column:1/-1}.quick-note-form button{justify-self:end}}
@media(max-width:820px){.order-filter-form{grid-template-columns:1fr 1fr}.order-filter-form .filter-search{grid-column:1/-1}.order-filter-form .filter-actions{grid-column:1/-1}.mobile-order-list{display:grid;gap:11px;padding:14px}.order-hero{align-items:flex-start;flex-direction:column}.order-hero-side{width:100%;flex-basis:auto;border-top:1px solid #e4e7ec;border-left:0;padding:16px 0 0}.detail-panel>.detail-grid,.instruction-box{grid-template-columns:1fr}.detail-panel>.detail-grid>div:nth-child(odd){border-right:0}.order-detail-side{grid-template-columns:1fr}.quick-note-form{grid-template-columns:1fr}.quick-note-form textarea{grid-column:auto}.quick-note-form button{justify-self:stretch}.metric-grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.metric-grid-5{grid-template-columns:1fr 1fr;gap:10px}.order-filter-form{grid-template-columns:1fr}.order-filter-form .filter-search,.order-filter-form .filter-actions{grid-column:auto}.order-hero{padding:20px}.order-hero h2{font-size:21px}.order-hero-badges{gap:5px}.location-preview{margin:0 18px 18px}.welcome-actions{flex-direction:column}.welcome-actions .btn{width:100%}.order-detail-grid{gap:14px}.order-detail-main,.order-detail-side{gap:14px}}

/* ========================================================================== */
/* Mobilny panel serwisanta — V0.5.0 DEV                                      */
/* ========================================================================== */
.tech-login-body,.tech-app-body{min-height:100vh;background:#eef2f7;color:#172033}.tech-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(320px,.78fr) minmax(420px,1.22fr);background:radial-gradient(circle at 20% 10%,rgba(46,124,255,.25),transparent 28%),linear-gradient(145deg,#09111f,#111d33 56%,#0b1730)}.tech-login-brand{display:flex;align-items:flex-start;gap:14px;padding:42px;color:#fff}.tech-brand-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,#2e7cff,#0f55d9);font-size:20px;font-weight:900;letter-spacing:1px;box-shadow:0 18px 36px rgba(0,69,180,.36)}.tech-login-brand strong,.tech-login-brand span{display:block}.tech-login-brand strong{margin-top:5px;font-size:19px}.tech-login-brand span{margin-top:3px;color:#95a4bc;font-size:11px;text-transform:uppercase;letter-spacing:1.2px}.tech-login-card{align-self:center;width:min(520px,calc(100% - 42px));margin:36px auto;padding:42px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:rgba(255,255,255,.97);box-shadow:0 32px 90px rgba(0,0,0,.28)}.tech-login-icon{display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;border-radius:16px;background:#eef4ff;color:#155eef;font-size:26px;font-weight:900}.tech-login-kicker,.tech-kicker{display:block;color:#155eef;font-size:10px;font-weight:900;letter-spacing:1.5px}.tech-login-card h1{margin:11px 0 14px;font-size:38px;line-height:1.05;letter-spacing:-1.3px}.tech-login-card>p{margin:0 0 25px;color:#667085;line-height:1.7}.tech-login-form{display:grid;gap:16px}.tech-login-form label,.tech-form-body label,.tech-exception-section label{display:grid;gap:7px}.tech-login-form label>span,.tech-form-body label>span,.tech-exception-section label>span,.tech-eta-form label>span{color:#475467;font-size:11px;font-weight:800}.tech-login-form input,.tech-form-body input,.tech-form-body select,.tech-form-body textarea,.tech-exception-section textarea,.tech-eta-form input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #d0d5dd;border-radius:12px;background:#fff;color:#172033;outline:none}.tech-form-body textarea,.tech-exception-section textarea{min-height:90px;resize:vertical}.tech-login-form input:focus,.tech-form-body input:focus,.tech-form-body select:focus,.tech-form-body textarea:focus,.tech-exception-section textarea:focus,.tech-eta-form input:focus{border-color:#155eef;box-shadow:0 0 0 4px rgba(21,94,239,.1)}.tech-primary-button,.tech-secondary-button,.tech-warning-button,.tech-danger-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:13px 17px;border:0;border-radius:12px;font-weight:850;cursor:pointer}.tech-primary-button{background:linear-gradient(135deg,#155eef,#004eeb);color:#fff;box-shadow:0 12px 26px rgba(21,94,239,.23)}.tech-secondary-button{background:#eef4ff;color:#1849a9}.tech-warning-button{background:#fff6ed;color:#b93815}.tech-danger-button{background:#fef3f2;color:#b42318}.tech-login-foot{display:block;margin-top:24px;color:#98a2b3;text-align:center}.tech-app-body{padding-bottom:92px}.tech-topbar,.tech-order-topbar{position:sticky;z-index:40;top:0;display:flex;align-items:center;justify-content:space-between;min-height:70px;padding:12px max(18px,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.08);background:rgba(10,18,32,.96);color:#fff;backdrop-filter:blur(16px)}.tech-topbar-brand{display:flex;align-items:center;gap:11px}.tech-topbar-brand>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#2e7cff,#0f55d9);font-size:14px;font-weight:900}.tech-topbar-brand strong,.tech-topbar-brand small{display:block}.tech-topbar-brand strong{font-size:13px}.tech-topbar-brand small{margin-top:2px;color:#91a0b7;font-size:9px}.tech-profile,.tech-avatar{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:50%;background:#1b2942;color:#fff;text-decoration:none;font-size:12px;font-weight:900}.tech-main{width:min(760px,100%);margin:0 auto;padding:22px 16px 30px}.tech-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:10px 2px 20px}.tech-welcome span{color:#667085;font-size:9px;font-weight:900;letter-spacing:1.4px}.tech-welcome h1{margin:4px 0 2px;font-size:25px;letter-spacing:-.6px}.tech-welcome p{margin:0;color:#667085;font-size:11px}.tech-live{display:flex;align-items:center;gap:7px;margin-top:5px;padding:7px 10px;border-radius:999px;background:#ecfdf3;color:#067647;font-size:9px;font-weight:850}.tech-live i{width:7px;height:7px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 4px rgba(18,183,106,.11)}.tech-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:25px}.tech-stats>div{padding:16px 14px;border:1px solid #e4e7ec;border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(16,24,40,.04)}.tech-stats strong,.tech-stats span{display:block}.tech-stats strong{font-size:24px}.tech-stats span{margin-top:2px;color:#667085;font-size:9px;font-weight:750}.tech-section-title{display:flex;align-items:end;justify-content:space-between;margin:0 2px 12px}.tech-section-title span{color:#155eef;font-size:9px;font-weight:900;letter-spacing:1.2px}.tech-section-title h2{margin:4px 0 0;font-size:18px}.tech-section-title>strong{display:grid;place-items:center;min-width:34px;height:34px;border-radius:11px;background:#fff;color:#155eef;box-shadow:0 4px 14px rgba(16,24,40,.06)}.tech-order-list{display:grid;gap:12px}.tech-order-card{position:relative;display:block;padding:17px 48px 17px 17px;border:1px solid #e4e7ec;border-radius:17px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 7px 22px rgba(16,24,40,.055)}.tech-order-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.tech-status,.tech-priority{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:8px;font-weight:900;letter-spacing:.35px}.tech-status-new{background:#eef4ff;color:#1849a9}.tech-status-route{background:#f4f3ff;color:#5925dc}.tech-status-work{background:#fff6ed;color:#b93815}.tech-status-done{background:#ecfdf3;color:#067647}.tech-priority-low{background:#f2f4f7;color:#475467}.tech-priority-normal{background:#eef4ff;color:#1849a9}.tech-priority-high{background:#fff6ed;color:#b93815}.tech-priority-urgent{background:#fff1f3;color:#c01048}.tech-priority-critical{background:#fef3f2;color:#b42318}.tech-order-card>small{display:block;margin-top:12px;color:#155eef;font-size:9px;font-weight:850}.tech-order-card h3{margin:5px 0 10px;font-size:16px;line-height:1.35}.tech-order-client strong,.tech-order-client span{display:block}.tech-order-client strong{font-size:11px}.tech-order-client span{margin-top:2px;color:#667085;font-size:9px}.tech-order-meta{display:grid;gap:5px;margin-top:12px;padding-top:11px;border-top:1px solid #eaecf0}.tech-order-meta span{color:#667085;font-size:9px}.tech-support-label,.tech-unconfirmed{margin-top:11px;padding:7px 9px;border-radius:8px;font-size:8px;font-weight:850}.tech-support-label{background:#f4f3ff;color:#5925dc}.tech-unconfirmed{background:#fffaeb;color:#b54708}.tech-card-arrow{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:#98a2b3;font-size:30px}.tech-empty{padding:42px 24px;border:1px dashed #cfd6e2;border-radius:18px;background:#fff;text-align:center}.tech-empty>div{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 15px;border-radius:50%;background:#ecfdf3;color:#067647;font-size:22px;font-weight:900}.tech-empty h2{margin:0;font-size:18px}.tech-empty p{max-width:460px;margin:8px auto 0;color:#667085;font-size:11px;line-height:1.65}.tech-bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);min-height:72px;padding:7px max(12px,env(safe-area-inset-right)) max(7px,env(safe-area-inset-bottom));border-top:1px solid #e4e7ec;background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.tech-bottom-nav a,.tech-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:#667085;text-decoration:none;font-size:9px;font-weight:750}.tech-bottom-nav span{font-size:18px}.tech-bottom-nav .active{color:#155eef}.tech-order-topbar{justify-content:flex-start;gap:13px}.tech-order-topbar>a{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.07);color:#fff;text-decoration:none;font-size:30px;line-height:1}.tech-order-topbar>div{min-width:0;flex:1}.tech-order-topbar strong,.tech-order-topbar small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tech-order-topbar strong{font-size:12px}.tech-order-topbar small{margin-top:2px;color:#91a0b7;font-size:9px}.tech-order-main{padding-top:16px}.tech-order-hero{padding:20px;border:1px solid #e4e7ec;border-radius:18px;background:radial-gradient(circle at 100% 0,rgba(21,94,239,.08),transparent 35%),#fff;box-shadow:0 9px 26px rgba(16,24,40,.06)}.tech-order-hero>small{display:block;margin-top:14px;color:#155eef;font-size:9px;font-weight:850}.tech-order-hero h1{margin:5px 0 9px;font-size:22px;line-height:1.22;letter-spacing:-.5px}.tech-order-hero>p{margin:0;color:#475467;font-size:11px;line-height:1.65}.tech-support-banner{display:grid;gap:3px;margin-top:15px;padding:11px 12px;border:1px solid #d9d6fe;border-radius:11px;background:#f4f3ff;color:#5925dc}.tech-support-banner strong{font-size:9px}.tech-support-banner span{font-size:9px;line-height:1.5}.tech-progress{display:flex;align-items:flex-start;margin:18px 4px}.tech-progress>div{display:grid;justify-items:center;gap:5px;min-width:58px;color:#98a2b3}.tech-progress i{display:grid;place-items:center;width:29px;height:29px;border:2px solid #d0d5dd;border-radius:50%;background:#fff;font-size:9px;font-style:normal;font-weight:900}.tech-progress span{font-size:8px;font-weight:800}.tech-progress b{flex:1;height:2px;margin-top:14px;background:#e4e7ec}.tech-progress>div.done{color:#155eef}.tech-progress>div.done i{border-color:#155eef;background:#155eef;color:#fff}.tech-progress>div.done+b{background:#b2ccff}.tech-quick-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}.tech-quick-actions a{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;padding:13px;border:1px solid #e4e7ec;border-radius:14px;background:#fff;color:inherit;text-decoration:none}.tech-quick-actions a>span{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eef4ff;color:#155eef;font-size:17px}.tech-quick-actions strong{font-size:10px}.tech-quick-actions small{color:#667085;font-size:8px}.tech-attention{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px;padding:14px;border:1px solid #fedf89;border-radius:14px;background:#fffaeb}.tech-attention strong{font-size:11px}.tech-attention p{margin:3px 0 0;color:#7a2e0e;font-size:8px}.tech-attention button{padding:9px 12px;border:0;border-radius:9px;background:#b54708;color:#fff;font-size:9px;font-weight:850}.tech-info-card,.tech-form-card,.tech-info-details,.tech-exception-section details{margin-bottom:14px;border:1px solid #e4e7ec;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(16,24,40,.04)}.tech-info-card>header{display:flex;align-items:end;justify-content:space-between;gap:15px;padding:15px 17px;border-bottom:1px solid #eaecf0}.tech-info-card>header span{color:#667085;font-size:8px;font-weight:900;letter-spacing:1px}.tech-info-card>header strong{font-size:13px}.tech-info-row{display:flex;align-items:center;gap:12px;padding:15px 17px}.tech-info-row>i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#f2f4f7;color:#475467;font-style:normal}.tech-info-row strong,.tech-info-row span{display:block}.tech-info-row strong{font-size:11px}.tech-info-row span{margin-top:2px;color:#667085;font-size:9px}.tech-eta-display{display:flex;align-items:center;justify-content:space-between;padding:12px 17px;border-top:1px solid #eaecf0;background:#f8faff}.tech-eta-display span{color:#475467;font-size:9px}.tech-eta-display strong{color:#155eef;font-size:15px}.tech-action-section{margin-top:22px}.tech-action-section>.tech-kicker{margin:0 3px 10px}.tech-action-stack{display:grid;gap:10px}.tech-action-stack form{margin:0}.tech-action-button{display:flex;align-items:center;gap:13px;width:100%;min-height:66px;padding:13px 15px;border:1px solid #d0d5dd;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.tech-action-button>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#eef4ff;color:#155eef;font-size:20px;font-weight:900}.tech-action-button strong,.tech-action-button small{display:block}.tech-action-button strong{font-size:12px}.tech-action-button small{margin-top:3px;color:#667085;font-size:8px}.tech-action-button.primary{border-color:#155eef;background:linear-gradient(135deg,#155eef,#004eeb);color:#fff;box-shadow:0 12px 24px rgba(21,94,239,.19)}.tech-action-button.primary>span{background:rgba(255,255,255,.14);color:#fff}.tech-action-button.primary small{color:#d6e4ff}.tech-eta-form{display:flex;align-items:end;gap:10px;margin-bottom:10px;padding:14px;border:1px solid #d9d6fe;border-radius:14px;background:#f9f8ff}.tech-eta-form label{flex:1}.tech-eta-form label>div{position:relative}.tech-eta-form input{padding-right:50px}.tech-eta-form b{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#667085;font-size:10px}.tech-eta-form button{min-height:48px;padding:12px;border:0;border-radius:11px;background:#5925dc;color:#fff;font-size:9px;font-weight:850}.tech-form-card{overflow:hidden}.tech-form-card>summary,.tech-info-details>summary{display:flex;align-items:center;gap:11px;padding:15px 17px;cursor:pointer;list-style:none}.tech-form-card>summary::-webkit-details-marker,.tech-info-details>summary::-webkit-details-marker{display:none}.tech-form-card>summary>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:#eef4ff;color:#155eef;font-size:10px;font-weight:900}.tech-form-card>summary>div{min-width:0;flex:1}.tech-form-card>summary strong,.tech-form-card>summary small{display:block}.tech-form-card>summary strong{font-size:11px}.tech-form-card>summary small{margin-top:2px;color:#667085;font-size:8px}.tech-form-body{display:grid;gap:13px;padding:0 16px 17px;border-top:1px solid #eaecf0;padding-top:16px}.tech-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tech-file-field input{position:absolute;opacity:0;pointer-events:none}.tech-file-field>span{display:grid;place-items:center;min-height:88px;border:1px dashed #98a2b3;border-radius:13px;background:#f8fafc;color:#475467;font-size:10px;font-weight:850}.tech-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 16px 16px}.tech-photo-grid figure{position:relative;overflow:hidden;aspect-ratio:1;margin:0;border-radius:10px;background:#f2f4f7}.tech-photo-grid img{width:100%;height:100%;object-fit:cover}.tech-photo-grid figcaption{position:absolute;left:5px;right:5px;bottom:5px;padding:4px;border-radius:6px;background:rgba(16,24,40,.76);color:#fff;text-align:center;font-size:7px;font-weight:800}.tech-material-list,.tech-note-list{border-top:1px solid #eaecf0}.tech-material-list>div,.tech-note-list>article{padding:12px 16px;border-bottom:1px solid #eaecf0}.tech-material-list>div:last-child,.tech-note-list>article:last-child{border-bottom:0}.tech-material-list strong,.tech-material-list span,.tech-material-list small{display:block}.tech-material-list strong{font-size:10px}.tech-material-list span{margin-top:2px;color:#155eef;font-size:9px;font-weight:800}.tech-material-list small{margin-top:3px;color:#667085;font-size:8px}.tech-signature-wrap{position:relative;overflow:hidden;border:1px solid #d0d5dd;border-radius:13px;background:#fff}.tech-signature-wrap canvas{display:block;width:100%;height:190px;touch-action:none}.tech-signature-wrap>span{position:absolute;left:0;right:0;bottom:7px;color:#98a2b3;text-align:center;font-size:8px;pointer-events:none}.tech-link-button{justify-self:start;border:0;background:transparent;color:#155eef;font-size:9px;font-weight:800;cursor:pointer}.tech-signature-saved{margin:0 16px 16px;padding:10px;border-radius:10px;background:#ecfdf3;color:#067647;font-size:9px;font-weight:800}.tech-finish-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:17px;border:1px solid #abefc6;border-radius:16px;background:#ecfdf3}.tech-finish-card strong{font-size:12px}.tech-finish-card p{margin:4px 0 0;color:#067647;font-size:8px;line-height:1.5}.tech-finish-card button{flex:0 0 auto;padding:11px 13px;border:0;border-radius:10px;background:#067647;color:#fff;font-size:9px;font-weight:850}.tech-info-details>summary{justify-content:space-between;font-size:11px;font-weight:800}.tech-info-details>summary>span{color:#98a2b3}.tech-info-details>div{padding:0 16px 16px;border-top:1px solid #eaecf0}.tech-info-details dl{display:grid;grid-template-columns:90px 1fr;margin:0}.tech-info-details dt,.tech-info-details dd{padding:11px 0;border-bottom:1px solid #eaecf0}.tech-info-details dt{color:#667085;font-size:8px}.tech-info-details dd{margin:0;font-size:9px;font-weight:750}.tech-info-details dd small{display:block;margin-top:2px;color:#667085;font-size:8px;font-weight:500}.tech-info-details article{margin-top:12px;padding:12px;border-radius:11px;background:#f8fafc}.tech-info-details article strong{font-size:9px}.tech-info-details article p{margin:5px 0 0;color:#475467;font-size:9px;line-height:1.55}.tech-note-list article strong{font-size:9px}.tech-note-list article p{margin:5px 0;color:#475467;font-size:9px}.tech-note-list article small{color:#98a2b3;font-size:7px}.tech-exception-section{margin-top:24px}.tech-exception-section details>summary{padding:14px 16px;color:#b54708;font-size:9px;font-weight:850;cursor:pointer}.tech-exception-section details>div{display:grid;gap:18px;padding:0 16px 16px;border-top:1px solid #fedf89}.tech-exception-section form{display:grid;gap:10px;padding-top:15px}.tech-order-page{padding-bottom:25px}
@media(max-width:760px){.tech-login-shell{display:block;padding-top:max(22px,env(safe-area-inset-top))}.tech-login-brand{padding:22px 22px 8px}.tech-login-card{margin:20px auto;padding:28px 22px;border-radius:23px}.tech-login-card h1{font-size:31px}.tech-main{padding-left:13px;padding-right:13px}.tech-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:430px){.tech-welcome{align-items:center}.tech-live{font-size:8px}.tech-stats{gap:7px}.tech-stats>div{padding:13px 10px}.tech-order-card{padding-left:14px}.tech-two-fields{grid-template-columns:1fr}.tech-eta-form{align-items:stretch;flex-direction:column}.tech-eta-form button{width:100%}.tech-finish-card{align-items:stretch;flex-direction:column}.tech-finish-card button{width:100%}.tech-photo-grid{grid-template-columns:repeat(2,1fr)}}

/* Dokumentacja serwisanta w panelu dyspozytora */
.realization-review{overflow:hidden}.realization-summary{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(250px,.7fr);gap:18px;padding:0 20px 20px}.realization-report{padding:18px;border:1px solid #e4e7ec;border-radius:13px;background:#f8fafc}.realization-report>span{color:#155eef;font-size:9px;font-weight:900;letter-spacing:1px}.realization-report h3{margin:5px 0 14px;font-size:16px}.realization-report strong{display:block;margin-top:12px;font-size:10px}.realization-report p{margin:4px 0 0;color:#475467;line-height:1.65}.realization-report small{display:block;margin-top:15px;color:#667085;font-size:9px}.realization-counters{display:grid;grid-template-columns:1fr 1fr;gap:9px}.realization-counters>div{padding:16px;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.realization-counters strong,.realization-counters span{display:block}.realization-counters strong{font-size:23px}.realization-counters span{margin-top:2px;color:#667085;font-size:9px}.dispatcher-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 20px 20px}.dispatcher-photo-grid figure{overflow:hidden;margin:0;border:1px solid #e4e7ec;border-radius:12px;background:#fff}.dispatcher-photo-grid a{display:block;aspect-ratio:4/3;background:#f2f4f7}.dispatcher-photo-grid img{width:100%;height:100%;object-fit:cover}.dispatcher-photo-grid figcaption{padding:9px 10px}.dispatcher-photo-grid figcaption strong,.dispatcher-photo-grid figcaption span{display:block}.dispatcher-photo-grid figcaption strong{font-size:9px}.dispatcher-photo-grid figcaption span{margin-top:2px;color:#667085;font-size:8px}.dispatcher-materials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0 20px 20px;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden}.dispatcher-materials>div{padding:12px 14px;border-bottom:1px solid #e4e7ec}.dispatcher-materials>div:nth-child(odd){border-right:1px solid #e4e7ec}.dispatcher-materials strong,.dispatcher-materials span,.dispatcher-materials small{display:block}.dispatcher-materials strong{font-size:10px}.dispatcher-materials span{margin-top:2px;color:#155eef;font-size:9px;font-weight:800}.dispatcher-materials small{margin-top:3px;color:#667085;font-size:8px}.dispatcher-signatures{display:grid;gap:10px;padding:0 20px 20px}.dispatcher-signatures article{display:grid;grid-template-columns:minmax(170px,.45fr) 1fr;gap:18px;align-items:center;padding:14px;border:1px solid #e4e7ec;border-radius:12px}.dispatcher-signatures span,.dispatcher-signatures strong,.dispatcher-signatures small{display:block}.dispatcher-signatures span{color:#667085;font-size:8px;font-weight:900}.dispatcher-signatures strong{margin-top:4px}.dispatcher-signatures small{margin-top:3px;color:#667085;font-size:8px}.dispatcher-signatures img{max-width:360px;width:100%;max-height:120px;object-fit:contain;border:1px solid #eaecf0;border-radius:8px;background:#fff}@media(max-width:900px){.realization-summary{grid-template-columns:1fr}.dispatcher-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.dispatcher-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dispatcher-materials{grid-template-columns:1fr}.dispatcher-materials>div:nth-child(odd){border-right:0}.dispatcher-signatures article{grid-template-columns:1fr}}
.dispatcher-work-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 20px 20px}.dispatcher-work-list>div{padding:11px 13px;border:1px solid #e4e7ec;border-radius:10px;background:#f8fafc}.dispatcher-work-list strong,.dispatcher-work-list span,.dispatcher-work-list small{display:block}.dispatcher-work-list strong{font-size:10px}.dispatcher-work-list span{margin-top:2px;color:#155eef;font-size:8px;font-weight:850}.dispatcher-work-list small{margin-top:3px;color:#667085;font-size:8px}@media(max-width:600px){.dispatcher-work-list{grid-template-columns:1fr}}

/* ========================================================================== */
/* V0.6.0 — DOSTĘP QR + PIN I PANEL KLIENTA                                  */
/* ========================================================================== */
.access-info-card{display:flex;align-items:center;gap:15px;padding:17px 18px;border:1px solid #c7d7fe;border-radius:14px;background:linear-gradient(135deg,#f5f8ff,#eef4ff)}.access-info-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:13px;background:#155eef;color:#fff;font-size:13px;font-weight:950;letter-spacing:1px}.access-info-card strong,.access-info-card p{display:block;margin:0}.access-info-card strong{font-size:12px}.access-info-card p{margin-top:4px;color:#475467;font-size:10px;line-height:1.55}.access-layout{display:grid;grid-template-columns:minmax(260px,.65fr) minmax(420px,1.35fr);gap:18px;margin-bottom:18px}.access-card{min-height:410px;padding:24px}.access-identity{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;background:radial-gradient(circle at 50% 0,#1d2939 0,#101828 52%,#07111f 100%);color:#fff}.access-avatar{display:grid;place-items:center;width:88px;height:88px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(145deg,#155eef,#004eeb);box-shadow:0 18px 42px rgba(21,94,239,.28);font-size:28px;font-weight:900}.access-identity>span{margin-top:18px;color:#84adff;font-size:9px;font-weight:900;letter-spacing:1.8px}.access-identity h2{margin:7px 0 4px;font-size:23px}.access-identity p{margin:0;color:#98a2b3;font-size:10px}.access-state{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:9px 13px;border-radius:999px;font-size:9px;font-weight:900;letter-spacing:.5px}.access-state i{width:8px;height:8px;border-radius:50%}.access-state.is-active{background:rgba(5,150,105,.16);color:#6ce9a6}.access-state.is-active i{background:#12b76a;box-shadow:0 0 0 5px rgba(18,183,106,.12)}.access-state.is-off{background:rgba(240,68,56,.12);color:#fda29b}.access-state.is-off i{background:#f04438}.access-credential{display:grid;place-items:center}.credential-reveal,.credential-hidden{width:100%;text-align:center}.credential-kicker{display:block;margin-bottom:13px;color:#155eef;font-size:9px;font-weight:950;letter-spacing:1.4px}.qr-box{display:grid;place-items:center;width:274px;height:274px;margin:0 auto;padding:12px;border:1px solid #d0d5dd;border-radius:22px;background:#fff;box-shadow:0 16px 38px rgba(16,24,40,.12)}.qr-box svg{max-width:100%;height:auto}.credential-url{overflow:hidden;max-width:520px;margin:12px auto 0;padding:9px 12px;border-radius:9px;background:#f2f4f7;color:#667085;text-overflow:ellipsis;white-space:nowrap;font:8px/1.4 monospace}.pin-display{margin:17px auto;padding:16px;border:1px solid #b2ccff;border-radius:15px;background:#eff4ff}.pin-display span,.pin-display strong,.pin-display small{display:block}.pin-display span{color:#155eef;font-size:9px;font-weight:900;letter-spacing:1px}.pin-display strong{margin:4px 0;font-size:36px;letter-spacing:10px}.pin-display small{color:#475467;font-size:9px}.credential-hidden .qr-placeholder{display:grid;place-items:center;width:150px;height:150px;margin:0 auto;border:2px dashed #98a2b3;border-radius:24px;background:#f8fafc;color:#667085;font-size:30px;font-weight:950}.credential-hidden h3{margin:20px 0 7px;font-size:18px}.credential-hidden p{max-width:430px;margin:0 auto;color:#667085;font-size:10px;line-height:1.65}.access-actions-panel{margin-bottom:18px}.access-actions{display:flex;flex-wrap:wrap;gap:9px;padding:0 20px 20px}.access-actions form{margin:0}.btn-danger-soft{border:1px solid #fecdca!important;background:#fff5f4!important;color:#b42318!important}.status-warning{background:#fffaeb;color:#b54708}.table-actions{display:flex;justify-content:flex-end;gap:6px}.pin-login-form .pin-input{text-align:center;font-size:27px;font-weight:900;letter-spacing:12px}.qr-login-icon{font-size:13px!important;font-weight:950;letter-spacing:1px}.qr-login-instruction{display:grid;grid-template-columns:34px 1fr;gap:9px 11px;margin-top:22px;padding:16px;border-radius:14px;background:#f8fafc}.qr-login-instruction span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#155eef;color:#fff;font-size:11px;font-weight:900}.qr-login-instruction p{align-self:center;margin:0;color:#344054;font-size:10px;font-weight:750}

.client-login-body,.client-panel-body{margin:0;background:#f2f5fa;color:#101828;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.client-login-body{min-height:100vh;background:radial-gradient(circle at 18% 16%,rgba(21,94,239,.24),transparent 32%),linear-gradient(145deg,#06101e 0,#0d2039 56%,#102a4b 100%)}.client-login-shell{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);min-height:100vh;max-width:1180px;margin:auto;padding:42px}.client-login-brand{display:flex;align-items:flex-start;gap:13px;padding:18px;color:#fff}.client-logo{display:grid;place-items:center;width:55px;height:55px;border-radius:17px;background:#155eef;box-shadow:0 14px 28px rgba(21,94,239,.32);font-size:18px;font-weight:950}.client-login-brand strong,.client-login-brand span{display:block}.client-login-brand strong{margin-top:6px;font-size:14px}.client-login-brand span{margin-top:2px;color:#84adff;font-size:10px}.client-login-card{align-self:center;max-width:590px;padding:50px;border:1px solid rgba(255,255,255,.14);border-radius:30px;background:rgba(255,255,255,.97);box-shadow:0 34px 90px rgba(0,0,0,.32)}.client-login-kicker{color:#155eef;font-size:9px;font-weight:950;letter-spacing:1.7px}.client-login-card h1{margin:12px 0 13px;font-size:42px;line-height:1.06;letter-spacing:-1.7px}.client-login-card>p{max-width:470px;margin:0 0 25px;color:#667085;font-size:12px;line-height:1.7}.client-phone-form{display:grid;gap:14px}.client-phone-form label>span{display:block;margin-bottom:7px;color:#344054;font-size:10px;font-weight:850}.phone-input-wrap{display:flex;align-items:center;overflow:hidden;border:1px solid #d0d5dd;border-radius:14px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.05)}.phone-input-wrap:focus-within{border-color:#84adff;box-shadow:0 0 0 4px #eef4ff}.phone-input-wrap b{padding:0 13px;border-right:1px solid #eaecf0;color:#475467;font-size:12px}.phone-input-wrap input{width:100%;min-height:54px;padding:12px 15px;border:0;outline:0;font-size:16px;font-weight:700}.client-phone-form button{min-height:54px;border:0;border-radius:14px;background:linear-gradient(135deg,#155eef,#004eeb);color:#fff;box-shadow:0 12px 24px rgba(21,94,239,.22);font-size:11px;font-weight:900;cursor:pointer}.client-login-features{display:flex;flex-wrap:wrap;gap:8px;margin-top:21px}.client-login-features span{padding:7px 10px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:8px;font-weight:800}.client-login-card>small{display:block;margin-top:22px;color:#98a2b3;font-size:8px}.client-topbar{display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:0 34px;background:#081525;color:#fff;box-shadow:0 4px 18px rgba(16,24,40,.13)}.client-topbar-brand{display:flex;align-items:center;gap:11px}.client-topbar-brand>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#155eef;font-size:13px}.client-topbar-brand strong,.client-topbar-brand span{display:block}.client-topbar-brand strong{font-size:12px}.client-topbar-brand span{margin-top:2px;color:#84adff;font-size:8px}.client-topbar-user{display:flex;align-items:center;gap:13px}.client-topbar-user span{font-size:9px;font-weight:800}.client-topbar-user a,.client-back{padding:8px 11px;border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#d0d5dd;text-decoration:none;font-size:8px;font-weight:850}.client-panel-main{max-width:1180px;margin:auto;padding:38px 26px 56px}.client-welcome>span,.client-section-heading span,.client-order-heading>div>span{color:#155eef;font-size:9px;font-weight:950;letter-spacing:1.5px}.client-welcome h1{margin:8px 0 6px;font-size:34px;letter-spacing:-1px}.client-welcome p{margin:0;color:#667085;font-size:11px}.client-summary{display:grid;grid-template-columns:220px minmax(260px,1fr);gap:14px;margin:26px 0}.client-summary article{padding:20px;border:1px solid #e4e7ec;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(16,24,40,.05)}.client-summary span,.client-summary strong,.client-summary small{display:block}.client-summary span{color:#667085;font-size:8px;font-weight:900;letter-spacing:1px}.client-summary strong{margin:7px 0 2px;font-size:24px}.client-summary small{color:#98a2b3;font-size:8px}.client-section{margin-top:31px}.client-section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:12px}.client-section-heading h2{margin:4px 0 0;font-size:20px}.client-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.client-order-card{display:block;padding:21px;border:1px solid #e4e7ec;border-radius:17px;background:#fff;color:inherit;text-decoration:none;box-shadow:0 7px 20px rgba(16,24,40,.05);transition:.18s ease}.client-order-card:hover{transform:translateY(-2px);border-color:#b2ccff;box-shadow:0 13px 28px rgba(16,24,40,.09)}.client-order-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.client-order-top small{overflow:hidden;color:#667085;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.client-status{padding:6px 9px;border-radius:999px;background:#eef4ff;color:#155eef;font-size:8px;font-weight:900}.client-status-w-drodze{background:#f4f3ff;color:#5925dc}.client-status-w-realizacji{background:#fffaeb;color:#b54708}.client-status-zakonczone{background:#ecfdf3;color:#067647}.client-order-card h3{margin:16px 0 5px;font-size:16px}.client-order-card>p{margin:0;color:#667085;font-size:9px}.client-order-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #eaecf0}.client-order-meta span{font-size:9px;font-weight:750}.client-order-meta b{display:block;margin-bottom:3px;color:#98a2b3;font-size:7px;letter-spacing:.5px}.client-order-action{display:flex;align-items:center;justify-content:space-between;margin-top:17px;color:#155eef;font-size:9px;font-weight:900}.client-empty{grid-column:1/-1;padding:45px;border:1px dashed #b2ccff;border-radius:17px;background:#f8faff;text-align:center}.client-empty>div{display:grid;place-items:center;width:48px;height:48px;margin:auto;border-radius:50%;background:#dcfae6;color:#067647;font-size:20px}.client-empty h3{margin:13px 0 5px}.client-empty p{margin:0;color:#667085;font-size:10px}.client-history-list{overflow:hidden;border:1px solid #e4e7ec;border-radius:15px;background:#fff}.client-history-list a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 17px;border-bottom:1px solid #eaecf0;color:inherit;text-decoration:none}.client-history-list a:last-child{border-bottom:0}.client-history-list strong,.client-history-list small{display:block}.client-history-list strong{font-size:10px}.client-history-list small{margin-top:3px;color:#667085;font-size:8px}.client-history-list>a>span{color:#475467;font-size:8px;font-weight:850}.client-footer{padding:20px;text-align:center;color:#98a2b3;font-size:8px}.client-order-page{max-width:1240px}.client-order-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.client-order-heading h1{margin:7px 0 5px;font-size:29px}.client-order-heading p{margin:0;color:#667085;font-size:10px}.client-current-status{display:flex;align-items:center;gap:9px;padding:11px 14px;border:1px solid #abefc6;border-radius:999px;background:#ecfdf3;color:#067647;font-size:9px;font-weight:900}.client-current-status i{width:9px;height:9px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 5px rgba(18,183,106,.12)}.journey-card{overflow:hidden;margin-top:22px;border:1px solid #d0d5dd;border-radius:23px;background:#fff;box-shadow:0 18px 44px rgba(16,24,40,.09)}.journey-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 27px 18px}.journey-heading>div>span{color:#155eef;font-size:8px;font-weight:950;letter-spacing:1.4px}.journey-heading h2{margin:5px 0 4px;font-size:22px}.journey-heading p{margin:0;color:#667085;font-size:9px}.queue-pill{display:flex;align-items:center;gap:10px;padding:10px 13px;border-radius:13px;background:#eef4ff;color:#155eef}.queue-pill strong{font-size:23px}.queue-pill span{max-width:82px;font-size:8px;font-weight:850;line-height:1.3}.journey-scene{position:relative;overflow:hidden;height:300px;background:linear-gradient(#dff2ff 0 55%,#b8d996 55% 69%,#4b5565 69% 91%,#8cc66c 91%)}.journey-sky span{position:absolute;border-radius:999px;background:rgba(255,255,255,.86);filter:blur(.2px)}.journey-sky span:nth-child(1){top:39px;left:19%;width:83px;height:18px}.journey-sky span:nth-child(2){top:74px;right:23%;width:105px;height:20px}.journey-sky span:nth-child(3){top:25px;right:7%;width:52px;height:13px}.journey-road{position:absolute;left:0;right:0;top:69%;height:22%;background:#414b59;box-shadow:inset 0 6px 0 rgba(0,0,0,.08)}.road-line{position:absolute;top:50%;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,#fff 0 35px,transparent 35px 62px);opacity:.7}.journey-tree{position:absolute;left:2.8%;bottom:22px;width:88px;z-index:3}.journey-tree svg{width:100%;filter:drop-shadow(0 10px 8px rgba(16,24,40,.2));fill:#755231}.journey-tree circle{fill:#3f9d59}.journey-house{position:absolute;right:2.5%;bottom:19px;width:112px;z-index:3;text-align:center}.journey-house svg{width:100%;filter:drop-shadow(0 10px 8px rgba(16,24,40,.2))}.journey-house .roof{fill:#b42318}.journey-house .house{fill:#fff5e8}.journey-house .door{fill:#7a5b42}.journey-house .window{fill:#84caff}.journey-house span{display:block;margin-top:-5px;color:#344054;font-size:7px;font-weight:950;letter-spacing:1px}.journey-car{position:absolute;left:clamp(96px,calc(var(--car-position) - 60px),calc(100% - 174px));bottom:42px;width:142px;z-index:5;transition:left 1.2s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 12px 8px rgba(16,24,40,.28));text-align:center}.journey-car svg{width:100%;overflow:visible}.journey-car svg path,.journey-car svg rect{fill:#155eef}.journey-car .car-window{fill:#d1e9ff}.journey-car .wheel{fill:#101828;stroke:#d0d5dd;stroke-width:4}.journey-car .car-mark{fill:#fff}.journey-car span{display:inline-block;margin-top:-7px;padding:3px 7px;border-radius:999px;background:#07111f;color:#fff;font-size:6px;font-weight:950;letter-spacing:.5px}.journey-car.is-driving{animation:car-bob .7s ease-in-out infinite alternate}.journey-car.is-driving:after{content:"";position:absolute;left:-24px;bottom:24px;width:28px;height:3px;background:linear-gradient(90deg,transparent,#fff);box-shadow:-10px 8px 0 rgba(255,255,255,.7)}@keyframes car-bob{to{transform:translateY(-3px)}}.journey-scale{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:11px 25px;background:#081525;color:#d0d5dd;font-size:8px}.journey-scale strong{color:#84adff;font-size:12px}.journey-scale span:last-child{text-align:right}.client-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:16px}.client-detail-card{padding:18px;border:1px solid #e4e7ec;border-radius:15px;background:#fff}.client-detail-card span,.client-detail-card strong,.client-detail-card small{display:block}.client-detail-card span{color:#667085;font-size:8px;font-weight:900;letter-spacing:.9px}.client-detail-card strong{margin:7px 0 3px;font-size:16px}.client-detail-card small{color:#98a2b3;font-size:8px;line-height:1.45}.client-info-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:25px;margin-top:16px;padding:23px;border:1px solid #e4e7ec;border-radius:16px;background:#fff}.client-info-panel>div>span{color:#155eef;font-size:8px;font-weight:950;letter-spacing:1px}.client-info-panel h2{margin:7px 0 0;font-size:14px;line-height:1.55}.client-info-panel dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}.client-info-panel dl>div{padding:10px;border-radius:10px;background:#f8fafc}.client-info-panel dt{color:#667085;font-size:7px}.client-info-panel dd{margin:3px 0 0;font-size:9px;font-weight:800}.client-review-message{display:flex;align-items:center;gap:15px;margin-top:16px;padding:18px;border:1px solid #abefc6;border-radius:15px;background:#ecfdf3}.client-review-message>div:first-child{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#12b76a;color:#fff;font-size:18px}.client-review-message strong{font-size:11px}.client-review-message p{margin:4px 0 0;color:#067647;font-size:9px}
@media(max-width:820px){.access-layout{grid-template-columns:1fr}.access-card{min-height:auto}.client-login-shell{display:block;padding:22px}.client-login-brand{padding:8px 2px 24px}.client-login-card{margin:auto;padding:34px 25px}.client-login-card h1{font-size:34px}.client-order-grid{grid-template-columns:1fr}.client-detail-grid{grid-template-columns:1fr}.client-info-panel{grid-template-columns:1fr}.journey-heading{align-items:flex-start;flex-direction:column}.journey-scene{height:255px}.journey-tree{width:70px}.journey-house{width:88px}.journey-car{width:110px;left:clamp(74px,calc(var(--car-position) - 48px),calc(100% - 136px));bottom:39px}}
@media(max-width:520px){.client-topbar{min-height:65px;padding:0 15px}.client-topbar-user span{display:none}.client-panel-main{padding:26px 13px 42px}.client-welcome h1{font-size:28px}.client-summary{grid-template-columns:1fr 1fr;gap:8px}.client-summary article{padding:15px}.client-summary strong{font-size:17px}.client-order-heading{align-items:flex-start;flex-direction:column}.client-current-status{align-self:stretch}.journey-heading{padding:20px 18px 14px}.journey-heading h2{font-size:18px}.journey-scene{height:220px}.journey-tree{left:1%;width:61px}.journey-house{right:1%;width:76px}.journey-car{width:92px;left:clamp(58px,calc(var(--car-position) - 40px),calc(100% - 105px));bottom:35px}.journey-scale{padding:10px 14px}.client-info-panel dl{grid-template-columns:1fr}.access-actions{display:grid}.access-actions form,.access-actions button{width:100%}.qr-box{width:238px;height:238px}.pin-display strong{font-size:31px}}
@media print{body.app-body{background:#fff}.sidebar,.app-topbar,.breadcrumbs,.page-heading,.access-actions-panel,.data-panel,.print-access{display:none!important}.app-shell,.app-content,.content-container{margin:0!important;padding:0!important;max-width:none!important}.access-layout{display:block;margin:0}.access-identity{min-height:auto;border-radius:0 0 18px 18px;padding:20px}.access-credential{border:0;box-shadow:none;padding:15px}.credential-url{font-size:7px}.qr-box{box-shadow:none}.pin-display{break-inside:avoid}}


/* ===== V0.7.0 — weryfikacja i protokoły ===== */
.review-count-pill{display:inline-flex;align-items:center;padding:10px 16px;border-radius:999px;background:#fff7ed;color:#9a3412;font-weight:800;border:1px solid #fed7aa}.review-toolbar{padding:18px;margin-bottom:20px}.review-toolbar form{display:flex;gap:12px;align-items:center}.review-toolbar .search-box{flex:1}.review-toolbar select{min-height:46px;border:1px solid #dbe3ef;border-radius:12px;padding:0 14px;background:#fff}.review-list{display:grid}.review-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto 22px;gap:22px;align-items:center;padding:18px 22px;border-top:1px solid #edf1f7;color:inherit;text-decoration:none;transition:.18s}.review-row:hover{background:#f8fafc}.review-order-number{display:block;color:#0f5bd8;font-weight:800;font-size:12px;letter-spacing:.06em}.review-row-main strong{display:block;margin:4px 0}.review-row-main small,.review-row-status small{color:#64748b}.review-evidence{display:flex;gap:8px}.review-evidence span{padding:7px 10px;border-radius:9px;font-size:12px;font-weight:800}.review-evidence .ok{background:#ecfdf5;color:#047857}.review-evidence .missing{background:#fff1f2;color:#be123c}.review-row-status{text-align:right}.review-hero{display:flex;justify-content:space-between;gap:28px;padding:28px;margin-bottom:22px}.review-hero h2{margin:12px 0 8px;font-size:28px}.review-hero p{margin:0;color:#475569;max-width:850px}.review-readiness{min-width:240px;border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:center}.review-readiness span{font-size:11px;font-weight:900;letter-spacing:.08em}.review-readiness strong{margin-top:5px}.review-readiness.is-ready{background:#ecfdf5;color:#047857}.review-readiness.is-incomplete{background:#fff7ed;color:#9a3412}.review-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px}.review-detail-grid>div{display:grid;gap:22px}.review-checklist,.review-report,.review-decision{padding:22px}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.checklist-grid>div{display:flex;gap:12px;align-items:center;padding:16px;border-radius:14px}.checklist-grid b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%}.checklist-grid span{display:grid}.checklist-grid small{margin-top:3px}.checklist-grid .ok{background:#f0fdf4}.checklist-grid .ok b{background:#16a34a;color:#fff}.checklist-grid .missing{background:#fff1f2}.checklist-grid .missing b{background:#e11d48;color:#fff}.review-report dl{display:grid;gap:16px}.review-report dl div{padding:16px;border-radius:14px;background:#f8fafc}.review-report dt{font-size:11px;font-weight:900;color:#64748b;letter-spacing:.08em}.review-report dd{margin:7px 0 0;line-height:1.65}.decision-form{display:grid;gap:14px}.decision-separator{display:flex;align-items:center;gap:10px;margin:18px 0;color:#94a3b8;font-size:12px}.decision-separator:before,.decision-separator:after{content:"";height:1px;flex:1;background:#e2e8f0}.btn-success{background:#15803d;color:#fff}.btn-warning{background:#f59e0b;color:#1f2937}.btn:disabled{opacity:.45;cursor:not-allowed}.form-warning{display:block;color:#b45309;line-height:1.45}.decision-complete{text-align:center;padding:20px}.decision-complete b{display:grid;place-items:center;margin:0 auto 12px;width:54px;height:54px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:26px}.verification-history{display:grid;gap:10px}.verification-history article{padding:15px;border:1px solid #e2e8f0;border-radius:13px}.verification-history span{font-size:11px;font-weight:900;color:#0f5bd8}.verification-history strong{display:block;margin:4px 0}.verification-history p{margin:0 0 6px}.verification-history small{color:#64748b}.verification-pending,.verification-approved{text-align:center}.verification-pending>b,.verification-approved>b{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;margin:0 auto 10px}.verification-pending>b{background:#ffedd5;color:#c2410c}.verification-approved>b{background:#dcfce7;color:#15803d}.verification-pending strong,.verification-approved strong{display:block}.verification-pending p,.verification-approved p{color:#64748b;font-size:13px}.protocol-list{display:grid}.protocol-row{display:grid;grid-template-columns:54px minmax(0,1fr) auto 22px;align-items:center;gap:18px;padding:18px 22px;border-top:1px solid #edf1f7;text-decoration:none;color:inherit}.protocol-row:hover{background:#f8fafc}.protocol-file-icon{display:grid;place-items:center;width:50px;height:58px;border-radius:10px;background:#fee2e2;color:#b91c1c;font-weight:900;font-size:12px}.protocol-row>div:nth-child(2){display:grid;gap:3px}.protocol-row>div:nth-child(2) span,.protocol-row small{color:#64748b}.protocol-row>div:nth-child(3){text-align:right}.protocol-page{margin:0;background:#e9eef5;color:#172033;font-family:Inter,Arial,sans-serif}.protocol-toolbar{position:sticky;top:0;z-index:20;display:flex;gap:10px;justify-content:center;padding:14px;background:rgba(15,23,42,.94);backdrop-filter:blur(12px)}.protocol-document{width:min(210mm,calc(100% - 32px));min-height:297mm;margin:28px auto;background:#fff;padding:18mm 16mm;box-shadow:0 18px 60px rgba(15,23,42,.18);box-sizing:border-box}.protocol-head{display:flex;justify-content:space-between;gap:28px;padding-bottom:18px;border-bottom:3px solid #0f172a}.protocol-brand{display:flex;gap:14px;align-items:flex-start}.protocol-brand>b{display:grid;place-items:center;width:58px;height:58px;border-radius:14px;background:#0f172a;color:#fff;font-size:22px}.protocol-brand div{display:grid;gap:3px}.protocol-brand span,.protocol-brand small{color:#64748b}.protocol-number{text-align:right;display:grid;gap:3px}.protocol-number span{font-size:11px;font-weight:900;letter-spacing:.1em;color:#64748b}.protocol-number strong{font-size:20px}.protocol-title{padding:25px 0}.protocol-title span{font-size:11px;font-weight:900;letter-spacing:.1em;color:#0f5bd8}.protocol-title h1{margin:7px 0;font-size:28px}.protocol-title p{margin:0;color:#64748b}.protocol-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}.protocol-two-cols>div,.protocol-section{border:1px solid #dfe6ef;border-radius:13px;padding:16px;margin-bottom:16px}.protocol-document h2{font-size:15px;margin:0 0 13px}.protocol-document h3{font-size:12px;margin:14px 0 5px;color:#475569;text-transform:uppercase;letter-spacing:.05em}.protocol-document p{line-height:1.55;margin:0 0 10px}.protocol-document dl{display:grid;gap:7px;margin:0}.protocol-document dl div{display:grid;grid-template-columns:105px 1fr;gap:10px}.protocol-document dt{color:#64748b}.protocol-document dd{margin:0;font-weight:700}.protocol-result{display:inline-flex;gap:10px;align-items:center;padding:9px 12px;border-radius:9px;background:#ecfdf5;color:#047857}.protocol-result span{font-size:10px;font-weight:900}.protocol-document table{width:100%;border-collapse:collapse;font-size:12px}.protocol-document th,.protocol-document td{text-align:left;padding:9px;border-bottom:1px solid #e2e8f0}.protocol-document th{background:#f8fafc}.protocol-photos>div{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.protocol-photos figure{margin:0;border:1px solid #e2e8f0;border-radius:9px;overflow:hidden}.protocol-photos img{display:block;width:100%;height:120px;object-fit:cover}.protocol-photos figcaption{padding:7px;font-size:10px}.protocol-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.protocol-signatures>div{min-height:120px;border-top:1px solid #0f172a;padding-top:10px;display:flex;flex-direction:column}.protocol-signatures span{font-size:10px;font-weight:900;color:#64748b;letter-spacing:.06em}.protocol-signatures strong{margin-top:10px}.protocol-signatures small{color:#64748b}.protocol-signatures img{max-width:170px;max-height:65px;object-fit:contain;margin-top:6px}.protocol-footer{display:flex;justify-content:space-between;margin-top:24px;padding-top:10px;border-top:1px solid #cbd5e1;color:#64748b;font-size:10px}.client-documents-panel{margin-top:20px;background:#fff;border-radius:24px;padding:22px;display:grid;grid-template-columns:1fr 1.3fr;gap:20px;box-shadow:0 12px 35px rgba(15,23,42,.08)}.client-documents-panel>div:first-child span{font-size:11px;font-weight:900;color:#0f5bd8;letter-spacing:.08em}.client-documents-panel h2{margin:5px 0}.client-documents-panel p{color:#64748b}.client-documents-panel>div:last-child{display:grid;gap:10px}.client-documents-panel a{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;padding:13px;border-radius:14px;background:#f8fafc;text-decoration:none;color:inherit}.client-documents-panel a>b{display:grid;place-items:center;width:42px;height:46px;border-radius:9px;background:#fee2e2;color:#b91c1c;font-size:11px}.client-documents-panel a span{display:grid}.client-documents-panel a small{color:#64748b}.client-documents-panel a em{font-style:normal;color:#0f5bd8;font-weight:800;font-size:12px}
@media(max-width:900px){.review-row{grid-template-columns:1fr}.review-evidence{flex-wrap:wrap}.review-row-status{text-align:left}.review-detail-grid{grid-template-columns:1fr}.review-hero{flex-direction:column}.checklist-grid{grid-template-columns:1fr}.client-documents-panel{grid-template-columns:1fr}.protocol-document{width:100%;margin:0;padding:18px;box-shadow:none}.protocol-two-cols,.protocol-signatures{grid-template-columns:1fr}.protocol-head{flex-direction:column}.protocol-number{text-align:left}.protocol-photos>div{grid-template-columns:repeat(2,1fr)}}
@media print{.protocol-toolbar{display:none!important}.protocol-page{background:#fff}.protocol-document{width:100%;min-height:auto;margin:0;padding:8mm;box-shadow:none}.protocol-section,.protocol-two-cols>div{break-inside:avoid}.protocol-photos figure{break-inside:avoid}@page{size:A4;margin:8mm}}

/* ===== V0.8.0 — skaner QR w panelu i ręczny PIN ===== */
.scanner-login-shell{grid-template-columns:minmax(330px,.8fr) minmax(520px,1.2fr);overflow:hidden}.scanner-brand-panel{position:relative;flex-wrap:wrap;align-content:flex-start}.scanner-brand-copy{align-self:center;width:min(430px,100%);margin:auto 0 10vh;padding-left:72px}.scanner-brand-copy>span{color:#6ea8ff;font-size:10px!important;font-weight:900;letter-spacing:1.7px}.scanner-brand-copy h2{margin:14px 0 17px;color:#fff;font-size:46px;line-height:1.02;letter-spacing:-1.8px}.scanner-brand-copy p{max-width:390px;margin:0;color:#9aacbf;line-height:1.75;font-size:13px}.scanner-login-card{width:min(620px,calc(100% - 42px));padding:34px 38px}.scanner-card-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.scanner-card-head .tech-login-icon{margin:0;flex:0 0 auto}.scanner-card-head small{display:block;margin-top:5px;color:#98a2b3;font-size:9px;font-weight:850;letter-spacing:.8px}.scanner-login-card>h1{font-size:34px}.ask-scanner{display:grid;gap:13px}.ask-scanner-window{position:relative;overflow:hidden;aspect-ratio:4/3;border:1px solid #d9e2ef;border-radius:22px;background:linear-gradient(145deg,#0b1423,#111f36);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 18px 45px rgba(15,23,42,.16)}.ask-scanner-window video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s}.ask-scanner.is-running .ask-scanner-window video{opacity:1}.ask-scanner-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;padding:25px;text-align:center;color:#fff;background:radial-gradient(circle at 50% 30%,rgba(46,124,255,.25),transparent 36%)}.ask-scanner.is-running .ask-scanner-placeholder{opacity:0;pointer-events:none}.ask-scanner-placeholder strong{margin-top:15px;font-size:16px}.ask-scanner-placeholder span{max-width:300px;margin-top:7px;color:#93a4bb;font-size:10px;line-height:1.55}.scanner-camera-icon{position:relative;display:grid;place-items:center;width:68px;height:68px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:rgba(255,255,255,.08)}.scanner-camera-icon:before{content:"";width:32px;height:23px;border:3px solid #fff;border-radius:7px}.scanner-camera-icon:after{content:"";position:absolute;width:8px;height:8px;border:3px solid #6ea8ff;border-radius:50%}.scanner-camera-icon i{position:absolute;top:18px;width:15px;height:5px;border-radius:4px 4px 0 0;background:#fff}.ask-scanner-overlay{position:absolute;inset:13%;pointer-events:none}.ask-scanner-overlay .corner{position:absolute;width:38px;height:38px;border-color:#fff;border-style:solid;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.corner-a{left:0;top:0;border-width:4px 0 0 4px;border-radius:12px 0 0}.corner-b{right:0;top:0;border-width:4px 4px 0 0;border-radius:0 12px 0 0}.corner-c{left:0;bottom:0;border-width:0 0 4px 4px;border-radius:0 0 0 12px}.corner-d{right:0;bottom:0;border-width:0 4px 4px 0;border-radius:0 0 12px}.scanner-laser{position:absolute;left:7px;right:7px;top:12%;height:2px;border-radius:4px;background:linear-gradient(90deg,transparent,#5da1ff 18%,#fff 50%,#5da1ff 82%,transparent);box-shadow:0 0 14px rgba(74,145,255,.95);opacity:0}.ask-scanner.is-running .scanner-laser{opacity:1;animation:askScannerLaser 2.2s ease-in-out infinite}.scanner-secure-badge{position:absolute;left:16px;bottom:14px;display:flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(7,17,31,.72);color:#d9e8ff;font-size:8px;font-weight:900;letter-spacing:.7px;backdrop-filter:blur(10px)}.scanner-secure-badge i{width:7px;height:7px;border-radius:50%;background:#32d583;box-shadow:0 0 0 4px rgba(50,213,131,.15)}.ask-scanner-status{min-height:40px;display:flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:11px;background:#f2f4f7;color:#475467;text-align:center;font-size:10px;font-weight:800}.ask-scanner-status.is-working{background:#eef4ff;color:#1849a9}.ask-scanner-status.is-ready{background:#ecfdf3;color:#067647}.ask-scanner-status.is-success{background:#dcfae6;color:#05603a}.ask-scanner-status.is-error{background:#fef3f2;color:#b42318}.ask-scanner.has-error .ask-scanner-window{animation:scannerShake .35s linear}.ask-scanner.is-detected .ask-scanner-window:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;background:rgba(5,96,58,.84);color:#fff;font-size:76px;font-weight:900}.ask-scanner-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.ask-scanner-actions button,.scanner-file-action{min-height:43px;display:flex;align-items:center;justify-content:center;border-radius:11px;font-size:9px;font-weight:850;cursor:pointer;text-align:center}.scanner-action-primary{border:0;background:#155eef;color:#fff}.scanner-action-secondary{border:1px solid #d0d5dd;background:#fff;color:#344054}.scanner-file-action{border:1px solid #d0d5dd;background:#f8fafc;color:#344054}.scanner-file-action input{position:absolute;opacity:0;width:1px;height:1px}.scanner-help-row{display:grid;grid-template-columns:28px auto 1fr 28px auto 1fr 28px auto;align-items:center;gap:7px;margin-top:17px;padding:12px 14px;border-radius:13px;background:#f8fafc}.scanner-help-row span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eaf2ff;color:#155eef;font-size:10px;font-weight:900}.scanner-help-row p{margin:0!important;color:#475467!important;font-size:9px!important;font-weight:800}.scanner-help-row i{height:1px;background:#d8e1ec}.scanner-reset-link{display:block;margin-top:14px;color:#155eef;text-align:center;text-decoration:none;font-size:10px;font-weight:800}.pin-step-card{max-width:520px}.pin-step-card .pin-input{font-size:28px;letter-spacing:14px;text-align:center;padding-left:28px}.credential-scanner-note{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0 14px;padding:10px;border-radius:11px;background:#eef4ff;color:#1849a9}.credential-scanner-note b{font-size:10px}.credential-scanner-note span{font-size:9px}.pin-editor-panel{padding:22px;margin-bottom:22px}.pin-editor-form{display:grid;grid-template-columns:minmax(250px,1fr) auto;align-items:end;gap:14px}.pin-editor-form .btn{min-height:48px}.pin-editor-form .field small,.access-complete-form label span{display:block;margin-top:6px;color:#667085;font-size:9px}.access-actions-extended{align-items:end}.access-complete-form{display:grid;grid-template-columns:minmax(180px,230px) auto;gap:10px;align-items:end}.access-complete-form label{display:grid;gap:6px}.access-complete-form input{min-height:44px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:11px;outline:none}.access-complete-form input:focus{border-color:#155eef;box-shadow:0 0 0 4px rgba(21,94,239,.1)}
@keyframes askScannerLaser{0%,100%{top:10%;opacity:.55}50%{top:88%;opacity:1}}@keyframes scannerShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@media(max-width:980px){.scanner-login-shell{grid-template-columns:1fr}.scanner-brand-panel{min-height:auto;padding:22px 24px}.scanner-brand-copy{display:none}.scanner-login-card{margin:18px auto 35px}.ask-scanner-window{aspect-ratio:1/1}.scanner-help-row{grid-template-columns:28px 1fr 28px 1fr 28px 1fr}.scanner-help-row i{display:none}.pin-editor-form{grid-template-columns:1fr}.access-complete-form{grid-template-columns:1fr}.access-actions-extended{display:grid;grid-template-columns:1fr}.access-actions-extended form,.access-actions-extended .btn{width:100%}}
@media(max-width:560px){.scanner-login-card{width:calc(100% - 24px);padding:24px 18px;border-radius:22px}.scanner-login-card>h1{font-size:29px}.ask-scanner-actions{grid-template-columns:1fr 1fr}.scanner-file-action{grid-column:1/-1}.scanner-help-row{padding:9px;gap:5px}.scanner-help-row p{font-size:8px!important}.scanner-login-brand{padding:18px}.scanner-login-shell .tech-brand-mark{width:48px;height:48px}.ask-scanner-overlay{inset:11%}.scanner-secure-badge{font-size:7px}.pin-step-card .pin-input{font-size:24px;letter-spacing:10px}}
@media print{.credential-scanner-note{border:1px solid #d0d5dd;background:#fff;color:#172033}.pin-editor-panel,.access-actions-panel{display:none!important}}

/* ========================================================================== 
   V0.9.0 DEV — mapa dyspozytora i planowanie tras
   ========================================================================== */
.map-filter-panel{padding:18px 20px;margin-bottom:16px}.map-filter-row{display:grid;grid-template-columns:180px minmax(210px,1fr) minmax(260px,1.4fr) auto;gap:14px;align-items:end}.map-filter-row label{display:grid;gap:7px}.map-filter-row label>span,.route-settings label>span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#64748b;text-transform:uppercase}.map-filter-row input,.map-filter-row select,.route-settings input,.route-settings select,.map-search input{width:100%;height:44px;border:1px solid #d8e0eb;border-radius:12px;background:#fff;padding:0 13px;color:#172033;font:inherit;outline:none;transition:.18s}.map-filter-row input:focus,.map-filter-row select:focus,.route-settings input:focus,.route-settings select:focus,.map-search input:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.map-filter-actions{display:flex;gap:9px}.map-live-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(170px,1.1fr);border:1px solid #e2e8f0;background:#fff;border-radius:16px;margin-bottom:16px;overflow:hidden;box-shadow:0 10px 25px rgba(15,23,42,.04)}.map-live-strip>div{min-height:72px;padding:14px 17px;display:grid;grid-template-columns:auto auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;border-right:1px solid #edf1f6}.map-live-strip>div:last-child{border-right:0}.map-live-strip strong{font-size:23px;line-height:1;color:#0f172a}.map-live-strip small{grid-column:2/4;color:#64748b;font-size:12px}.map-live-icon{width:9px;height:9px;border-radius:50%;grid-row:1/3;box-shadow:0 0 0 5px rgba(100,116,139,.1)}.map-live-icon.is-green{background:#10b981;box-shadow:0 0 0 5px rgba(16,185,129,.1)}.map-live-icon.is-blue{background:#2563eb;box-shadow:0 0 0 5px rgba(37,99,235,.1)}.map-live-icon.is-orange{background:#f59e0b;box-shadow:0 0 0 5px rgba(245,158,11,.1)}.map-live-icon.is-red{background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.1)}.map-live-strip .map-last-refresh{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}.map-last-refresh span{font-size:11px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.08em}.map-last-refresh strong{font-size:14px}.map-dispatch-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(360px,.72fr);gap:16px;align-items:stretch;margin-bottom:16px}.map-stage{position:relative;overflow:hidden;min-height:680px;padding:0}.dispatcher-map{height:680px;width:100%;background:#dbe5ed;border-radius:16px}.dispatcher-map.is-placing{cursor:crosshair}.map-stage .leaflet-container{font-family:inherit}.map-stage .leaflet-control-zoom a{color:#0f172a}.map-stage .leaflet-control-attribution{font-size:9px}.map-legend{position:absolute;z-index:500;left:16px;bottom:16px;display:flex;flex-wrap:wrap;gap:11px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border:1px solid rgba(226,232,240,.9);border-radius:12px;padding:10px 13px;box-shadow:0 12px 30px rgba(15,23,42,.13)}.map-legend span{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:#475569}.legend-order,.legend-tech{display:inline-block;width:10px;height:10px;border-radius:50%}.legend-order.order-new{background:#2563eb}.legend-order.order-route{background:#f59e0b}.legend-order.order-progress{background:#10b981}.legend-tech.online{background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15)}.legend-tech.stale{background:#94a3b8}.map-placement-hint{position:absolute;z-index:550;top:16px;left:50%;transform:translateX(-50%);width:min(470px,calc(100% - 32px));background:#0f172a;color:#fff;padding:14px 16px;border-radius:14px;box-shadow:0 16px 40px rgba(15,23,42,.3);display:grid;grid-template-columns:1fr auto;gap:3px 16px}.map-placement-hint[hidden]{display:none}.map-placement-hint strong{font-size:14px}.map-placement-hint span{font-size:12px;color:#cbd5e1}.map-placement-hint button{grid-column:2;grid-row:1/3;align-self:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);color:#fff;border-radius:9px;padding:8px 12px;cursor:pointer}.route-planner{min-height:680px;padding:19px;display:flex;flex-direction:column;overflow:hidden}.route-planner-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;border-bottom:1px solid #edf1f6;padding-bottom:15px}.route-planner-head h2{font-size:20px;margin:3px 0 5px;color:#0f172a}.route-planner-head p{font-size:12px;color:#64748b;margin:0}.route-save-state{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:6px 9px;white-space:nowrap}.route-save-state.is-dirty{color:#b45309;background:#fffbeb;border-color:#fde68a}.route-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:14px 0}.route-methods button{min-height:37px;border:1px solid #dce4ee;background:#f8fafc;color:#475569;border-radius:10px;font:inherit;font-size:11px;font-weight:800;cursor:pointer;transition:.15s}.route-methods button:hover{border-color:#94a3b8}.route-methods button.active{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;box-shadow:inset 0 0 0 1px rgba(37,99,235,.08)}.route-settings{display:grid;grid-template-columns:1fr 1.35fr;gap:9px;padding-bottom:13px}.route-settings label{display:grid;gap:5px}.route-settings input,.route-settings select{height:40px;border-radius:10px;font-size:13px}.route-summary{display:grid;grid-template-columns:repeat(3,1fr);background:#f8fafc;border:1px solid #e5eaf1;border-radius:12px;margin-bottom:13px}.route-summary div{padding:11px 7px;text-align:center;border-right:1px solid #e5eaf1}.route-summary div:last-child{border-right:0}.route-summary strong{display:block;color:#0f172a;font-size:16px}.route-summary span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.route-list-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.route-list-heading span{display:block;font-size:11px;font-weight:900;color:#334155;letter-spacing:.07em}.route-list-heading small{font-size:10px;color:#94a3b8}.route-list-heading button{border:0;background:transparent;color:#dc2626;font-size:11px;font-weight:800;cursor:pointer}.route-list{flex:1;min-height:170px;overflow:auto;padding-right:3px}.route-empty{padding:28px 18px;text-align:center;border:1px dashed #cbd5e1;border-radius:13px;color:#64748b;background:#f8fafc;font-size:13px;grid-column:1/-1}.route-item{display:grid;grid-template-columns:28px 22px 1fr auto;gap:8px;align-items:center;border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:10px 8px;margin-bottom:8px;transition:.15s;box-shadow:0 3px 12px rgba(15,23,42,.03)}.route-item:hover{border-color:#bfdbfe;box-shadow:0 7px 18px rgba(37,99,235,.08)}.route-item.is-dragging{opacity:.45}.route-item.drag-over{border-color:#2563eb;transform:translateY(2px)}.route-position{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#0f172a;color:#fff;font-weight:900;font-size:12px}.route-drag{border:0;background:transparent;color:#94a3b8;cursor:grab;font-size:15px;padding:0}.route-item-copy{min-width:0;display:grid;gap:2px}.route-item-copy small{font-size:9px;font-weight:800;color:#2563eb;text-transform:uppercase;letter-spacing:.05em}.route-item-copy strong{font-size:12px;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-item-copy span{font-size:10px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.route-item-copy em{font-style:normal;font-size:9px;font-weight:800;color:#dc2626}.route-item-actions{display:grid;grid-template-columns:repeat(2,25px);gap:3px}.route-item-actions button{width:25px;height:25px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:7px;color:#475569;cursor:pointer;font-weight:800}.route-item-actions button:last-child{grid-column:1/-1;width:53px;color:#dc2626}.route-save-button{margin-top:12px;width:100%;justify-content:center;min-height:46px}.map-orders-panel,.map-technicians-panel{margin-bottom:16px}.map-search{width:min(330px,100%)}.map-order-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 20px}.map-order-card{position:relative;border:1px solid #e2e8f0;border-top:4px solid #2563eb;border-radius:14px;padding:15px;background:#fff;min-width:0;transition:.18s}.map-order-card:hover{transform:translateY(-2px);box-shadow:0 13px 28px rgba(15,23,42,.08)}.map-order-card.status-w_drodze{border-top-color:#f59e0b}.map-order-card.status-w_realizacji{border-top-color:#10b981}.map-order-card-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:10px}.map-order-status,.map-order-priority{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:5px 7px;border-radius:999px;background:#eff6ff;color:#1d4ed8}.map-order-card.status-w_drodze .map-order-status{background:#fffbeb;color:#b45309}.map-order-card.status-w_realizacji .map-order-status{background:#ecfdf5;color:#047857}.map-order-priority{background:#f1f5f9;color:#64748b}.map-order-priority.priority-pilny,.map-order-priority.priority-krytyczny{background:#fef2f2;color:#b91c1c}.map-order-priority.priority-wysoki{background:#fff7ed;color:#c2410c}.map-order-card>small{font-size:10px;color:#64748b}.map-order-card h3{font-size:15px;line-height:1.25;margin:5px 0 10px;color:#0f172a}.map-order-card p{display:grid;gap:2px;margin:0 0 10px}.map-order-card p strong{font-size:12px;color:#334155}.map-order-card p span,.map-order-meta span{font-size:10px;color:#64748b}.map-order-meta{display:flex;flex-wrap:wrap;gap:8px 12px;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6;padding:9px 0}.map-order-assignment{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0}.map-order-assignment span{font-size:10px;color:#94a3b8;text-transform:uppercase;font-weight:800}.map-order-assignment strong{font-size:11px;color:#334155;text-align:right}.map-order-actions{display:flex;flex-wrap:wrap;gap:6px}.map-order-actions a,.map-order-actions button{border:0;border-radius:8px;padding:8px 10px;background:#0f172a;color:#fff;text-decoration:none;font:inherit;font-size:10px;font-weight:800;cursor:pointer}.map-order-actions button{background:#2563eb}.map-order-actions button.secondary{background:#f1f5f9;color:#475569}.map-technician-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0 20px 20px}.map-tech-card{position:relative;display:grid;grid-template-columns:48px 1fr auto;gap:11px;align-items:center;text-align:left;border:1px solid #e2e8f0;background:#fff;border-radius:13px;padding:12px;cursor:pointer;color:inherit;font:inherit;transition:.17s}.map-tech-card:hover,.map-tech-card.active{border-color:#93c5fd;background:#f8fbff;box-shadow:0 7px 20px rgba(37,99,235,.08)}.map-tech-avatar{position:relative;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#0f172a;color:#fff;font-weight:900;font-size:13px}.map-tech-avatar i{position:absolute;right:-2px;bottom:-2px;width:11px;height:11px;border-radius:50%;background:#94a3b8;border:2px solid #fff}.map-tech-card.gps-online .map-tech-avatar i{background:#22c55e}.map-tech-card.gps-nieaktualna .map-tech-avatar i{background:#f59e0b}.map-tech-card>div{min-width:0}.map-tech-card strong{display:block;font-size:13px;color:#0f172a}.map-tech-card small{display:block;font-size:10px;color:#64748b}.map-tech-card p{margin:5px 0 0;font-size:10px;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-tech-time{font-size:9px;color:#94a3b8;white-space:nowrap}.fsm-map-icon-wrap{background:transparent;border:0}.fsm-map-order-icon{position:relative;width:36px;height:36px;display:grid;place-items:center;border:4px solid #fff;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:#2563eb;color:#fff;font-size:11px;font-weight:900;box-shadow:0 5px 16px rgba(15,23,42,.25)}.fsm-map-order-icon b{transform:rotate(45deg);display:block}.fsm-map-order-icon.status-w_drodze{background:#f59e0b}.fsm-map-order-icon.status-w_realizacji{background:#10b981}.fsm-map-order-icon{line-height:1;text-indent:0}.fsm-map-order-icon::before{content:''}.fsm-map-tech-icon{width:50px;height:50px;border-radius:16px;background:#0f172a;color:#fff;display:grid;place-items:center;border:4px solid #fff;box-shadow:0 8px 20px rgba(15,23,42,.28);position:relative}.fsm-map-tech-icon b{font-size:12px}.fsm-map-tech-icon i{position:absolute;right:-7px;bottom:-7px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#94a3b8;border:3px solid #fff;color:#fff;font-style:normal;font-size:10px}.fsm-map-tech-icon.gps-online i{background:#22c55e}.fsm-map-tech-icon.gps-nieaktualna i{background:#f59e0b}.map-popup{min-width:220px;display:grid;gap:4px}.map-popup small{font-size:9px;font-weight:900;color:#2563eb;text-transform:uppercase}.map-popup strong{font-size:14px;color:#0f172a}.map-popup span,.map-popup em{font-size:11px;color:#64748b;font-style:normal}.map-popup a{margin-top:5px;text-align:center;text-decoration:none;background:#0f172a;color:#fff;border-radius:8px;padding:7px;font-size:10px;font-weight:800}.map-toast{position:fixed;z-index:99999;right:24px;bottom:24px;max-width:420px;padding:13px 17px;border-radius:12px;background:#064e3b;color:#fff;font-size:13px;font-weight:700;box-shadow:0 18px 40px rgba(15,23,42,.25);opacity:0;transform:translateY(12px);transition:.22s}.map-toast.error{background:#991b1b}.map-toast.show{opacity:1;transform:translateY(0)}.map-dispatch-layout.is-loading::after{content:'Aktualizuję dane…';position:fixed;z-index:9999;top:76px;right:25px;background:#0f172a;color:#fff;border-radius:999px;padding:8px 13px;font-size:11px;font-weight:800;box-shadow:0 8px 20px rgba(15,23,42,.2)}
@media(max-width:1280px){.map-dispatch-layout{grid-template-columns:1fr}.route-planner{min-height:0}.route-list{max-height:470px}.map-order-grid,.map-technician-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-filter-row{grid-template-columns:160px 1fr 1fr}.map-filter-actions{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:820px){.map-filter-row{grid-template-columns:1fr 1fr}.map-tech-filter{grid-column:1/-1}.map-filter-actions{justify-content:stretch}.map-filter-actions .btn{flex:1;justify-content:center}.map-live-strip{grid-template-columns:1fr 1fr}.map-live-strip>div{border-bottom:1px solid #edf1f6}.map-live-strip .map-last-refresh{grid-column:1/-1}.dispatcher-map,.map-stage{min-height:560px;height:560px}.map-order-grid,.map-technician-grid{grid-template-columns:1fr}.map-legend{right:12px;left:12px;bottom:12px}.route-planner{padding:15px}.map-search{width:100%}}
@media(max-width:520px){.map-filter-row{grid-template-columns:1fr}.map-tech-filter,.map-filter-actions{grid-column:auto}.map-filter-actions{flex-direction:column}.map-live-strip{grid-template-columns:1fr}.map-live-strip>div{border-right:0}.map-live-strip .map-last-refresh{grid-column:auto}.dispatcher-map,.map-stage{min-height:500px;height:500px}.map-legend{gap:7px;padding:8px}.map-legend span{font-size:9px}.route-methods{grid-template-columns:1fr 1fr}.route-settings{grid-template-columns:1fr}.route-item{grid-template-columns:27px 1fr auto}.route-drag{display:none}.route-item-copy{grid-column:2}.route-item-actions{grid-column:3;grid-row:1/2}.map-order-grid,.map-technician-grid{padding-left:13px;padding-right:13px}.map-order-card{padding:13px}.map-toast{left:14px;right:14px;bottom:14px}}
.tech-route-position{margin-top:9px;display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:6px 9px;border-radius:8px;background:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8;font-size:9px;font-weight:900;letter-spacing:.06em}

/* V0.10.0 — publiczna rejestracja firmy */
.login-register-box{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:24px;padding:16px;border:1px solid #dbe6fb;border-radius:14px;background:linear-gradient(135deg,#f7faff,#eef4ff)}.login-register-box div{min-width:0}.login-register-box strong,.login-register-box span{display:block}.login-register-box strong{font-size:13px;color:#1d2939}.login-register-box span{margin-top:3px;color:#667085;font-size:11px}.login-register-box .btn{min-height:38px;padding:9px 12px;font-size:11px}
.registration-body{min-height:100vh;background:radial-gradient(circle at 0 0,rgba(37,99,235,.08),transparent 28%),#eef2f7}.registration-topbar{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);border-bottom:1px solid rgba(208,213,221,.9);background:rgba(255,255,255,.9);backdrop-filter:blur(15px);position:sticky;top:0;z-index:30}.registration-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.registration-brand-logo{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,#2e7cff,#0f55d9);color:#fff;font-size:16px;font-weight:900;letter-spacing:.8px;box-shadow:0 11px 24px rgba(21,94,239,.24)}.registration-brand strong,.registration-brand small{display:block}.registration-brand strong{font-size:15px;color:#101828}.registration-brand small{margin-top:2px;color:#667085;font-size:11px}.registration-shell{width:min(1440px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(350px,.78fr) minmax(600px,1.22fr);gap:38px;padding:48px clamp(20px,5vw,72px) 72px}.registration-hero{position:sticky;top:118px;height:max-content;padding:44px;border-radius:28px;color:#fff;background:radial-gradient(circle at 10% 0,rgba(59,130,246,.43),transparent 30%),radial-gradient(circle at 95% 92%,rgba(20,184,166,.18),transparent 31%),linear-gradient(145deg,#0b1220,#13223c 62%,#0b1730);box-shadow:0 28px 70px rgba(15,23,42,.22);overflow:hidden}.registration-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}.registration-hero>*{position:relative;z-index:1}.registration-hero h1{margin:24px 0 18px;font-size:clamp(36px,4vw,58px);line-height:1.04;letter-spacing:-2px}.registration-hero>p{margin:0;color:#bdc9da;font-size:15px;line-height:1.8}.registration-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:32px}.registration-benefits>div{padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.055)}.registration-benefits strong,.registration-benefits span{display:block}.registration-benefits strong{font-size:15px}.registration-benefits span{margin-top:4px;color:#9eacc1;font-size:10px;line-height:1.4}.registration-security-note{margin-top:28px;padding:16px 18px;border-left:3px solid #53a0ff;border-radius:0 12px 12px 0;background:rgba(21,94,239,.13)}.registration-security-note strong,.registration-security-note span{display:block}.registration-security-note strong{font-size:12px}.registration-security-note span{margin-top:4px;color:#9fb0c7;font-size:11px;line-height:1.6}.registration-form-card{padding:42px;border:1px solid #e4e7ec;border-radius:28px;background:#fff;box-shadow:0 22px 55px rgba(16,24,40,.1)}.registration-heading{margin-bottom:30px}.registration-heading>span{display:block;color:#155eef;font-size:10px;font-weight:900;letter-spacing:1.5px}.registration-heading h2{margin:8px 0 7px;font-size:34px;letter-spacing:-1px}.registration-heading p{margin:0;color:#667085}.registration-form{display:grid;gap:28px}.registration-form fieldset{margin:0;padding:0;border:0}.registration-form legend{width:100%;display:flex;align-items:center;gap:10px;margin-bottom:17px;padding-bottom:12px;border-bottom:1px solid #eaecf0;color:#1d2939;font-size:14px;font-weight:850}.registration-form legend span{width:27px;height:27px;display:grid;place-items:center;border-radius:9px;background:#eef4ff;color:#155eef;font-size:12px}.registration-grid{display:grid;gap:15px}.registration-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-field{display:grid;gap:7px;color:#344054;font-size:12px;font-weight:750}.registration-field-wide{grid-column:1/-1}.registration-field input{width:100%;min-height:48px;padding:12px 14px;border:1px solid #cfd6e2;border-radius:11px;background:#fbfcfe;outline:none;transition:.16s}.registration-field input:hover{border-color:#98a2b3}.registration-field input:focus{border-color:#155eef;background:#fff;box-shadow:0 0 0 4px rgba(21,94,239,.1)}.registration-field small{color:#98a2b3;font-size:10px;font-weight:600}.registration-consents{display:grid;gap:11px}.registration-checkbox{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid #e4e7ec;border-radius:12px;background:#fafbfc;color:#475467;font-size:11px;line-height:1.55;cursor:pointer}.registration-checkbox input{width:17px;height:17px;margin:1px 0 0;accent-color:#155eef;flex:0 0 auto}.registration-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;border:1px solid #cfe0ff;border-radius:14px;background:#f5f8ff}.registration-summary>div{text-align:center}.registration-summary span,.registration-summary strong{display:block}.registration-summary span{color:#667085;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.registration-summary strong{margin-top:5px;color:#1849a9;font-size:14px}.registration-submit{min-height:54px;font-size:15px}.registration-footnote{margin:-12px 0 0;text-align:center;color:#98a2b3;font-size:10px;line-height:1.6}.registration-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.registration-complete-body{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% 0,rgba(37,99,235,.15),transparent 40%),#eef2f7}.registration-complete-shell{width:min(720px,100%)}.registration-complete-card{padding:48px;text-align:center;border:1px solid #e4e7ec;border-radius:28px;background:#fff;box-shadow:0 30px 80px rgba(16,24,40,.15)}.registration-complete-icon{width:76px;height:76px;margin:0 auto 22px;display:grid;place-items:center;border-radius:24px;background:#ecfdf3;color:#067647;font-size:35px;font-weight:900;box-shadow:inset 0 0 0 1px #abefc6}.registration-complete-eyebrow{color:#067647;font-size:10px;font-weight:900;letter-spacing:1.5px}.registration-complete-card h1{margin:10px 0 12px;font-size:36px;line-height:1.1;letter-spacing:-1.2px}.registration-complete-card>p{max-width:560px;margin:0 auto;color:#667085;line-height:1.7}.registration-complete-details{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:28px 0}.registration-complete-details>div{padding:15px;border:1px solid #e4e7ec;border-radius:13px;background:#f9fafb;text-align:left}.registration-complete-details span,.registration-complete-details strong{display:block}.registration-complete-details span{color:#98a2b3;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.registration-complete-details strong{margin-top:5px;color:#1d2939;font-size:13px;word-break:break-word}.registration-complete-card>small{display:block;margin-top:15px;color:#98a2b3;font-size:10px}
@media(max-width:1050px){.registration-shell{grid-template-columns:1fr;max-width:850px}.registration-hero{position:relative;top:auto}.registration-hero h1{max-width:720px}.registration-benefits{max-width:620px}}
@media(max-width:720px){.login-register-box{align-items:stretch;flex-direction:column}.registration-topbar{height:70px;padding:0 16px}.registration-topbar>.btn{min-height:38px;padding:8px 11px;font-size:10px}.registration-brand-logo{width:42px;height:42px}.registration-shell{padding:22px 13px 45px;gap:18px}.registration-hero,.registration-form-card{padding:25px 20px;border-radius:20px}.registration-hero h1{font-size:34px;letter-spacing:-1.3px}.registration-benefits{grid-template-columns:1fr}.registration-grid-2{grid-template-columns:1fr}.registration-field-wide{grid-column:auto}.registration-summary{grid-template-columns:1fr}.registration-complete-card{padding:34px 20px;border-radius:20px}.registration-complete-card h1{font-size:29px}.registration-complete-details{grid-template-columns:1fr}.registration-brand small{display:none}}

/* V0.11.0 — Centrum administracji SaaS */
/* V0.11.1 — pełna szerokość i proporcje tabel Superadmina */
.platform-admin-body .table-wrap{width:100%;max-width:100%;overflow-x:auto}
.platform-admin-body .platform-table{width:100%;min-width:820px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.platform-admin-body .platform-table th,.platform-admin-body .platform-table td{padding:15px 18px;border-bottom:1px solid #e7edf4;text-align:left;vertical-align:middle}
.platform-admin-body .platform-table th{background:#f7f9fc;color:#667085;font-size:9px;font-weight:900;letter-spacing:.65px;text-transform:uppercase;white-space:nowrap}
.platform-admin-body .platform-table td{color:#344054;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
.platform-admin-body .platform-table tbody tr{transition:background .16s ease}
.platform-admin-body .platform-table tbody tr:hover{background:#f8fbff}
.platform-admin-body .platform-table tbody tr:last-child td{border-bottom:0}
.platform-admin-body .platform-table th:first-child,.platform-admin-body .platform-table td:first-child{padding-left:22px}
.platform-admin-body .platform-table th:last-child,.platform-admin-body .platform-table td:last-child{padding-right:22px}
.platform-admin-body .platform-table .align-right{text-align:right}
.platform-table-recent th:nth-child(1){width:29%}.platform-table-recent th:nth-child(2){width:15%}.platform-table-recent th:nth-child(3){width:20%}.platform-table-recent th:nth-child(4){width:12%}.platform-table-recent th:nth-child(5){width:12%}.platform-table-recent th:nth-child(6){width:12%}
.platform-table-organizations th:nth-child(1){width:23%}.platform-table-organizations th:nth-child(2){width:20%}.platform-table-organizations th:nth-child(3){width:13%}.platform-table-organizations th:nth-child(4){width:14%}.platform-table-organizations th:nth-child(5){width:15%}.platform-table-organizations th:nth-child(6){width:9%}.platform-table-organizations th:nth-child(7){width:6%}
.platform-table-subscriptions th:nth-child(1){width:22%}.platform-table-subscriptions th:nth-child(2){width:12%}.platform-table-subscriptions th:nth-child(3){width:11%}.platform-table-subscriptions th:nth-child(4){width:18%}.platform-table-subscriptions th:nth-child(5){width:10%}.platform-table-subscriptions th:nth-child(6){width:9%}.platform-table-subscriptions th:nth-child(7){width:11%}.platform-table-subscriptions th:nth-child(8){width:7%}
.platform-table-admins th:nth-child(1){width:25%}.platform-table-admins th:nth-child(2){width:16%}.platform-table-admins th:nth-child(3){width:14%}.platform-table-admins th:nth-child(4){width:18%}.platform-table-admins th:nth-child(5){width:12%}.platform-table-admins th:nth-child(6){width:15%}
.platform-table-audit th:nth-child(1){width:14%}.platform-table-audit th:nth-child(2){width:18%}.platform-table-audit th:nth-child(3){width:18%}.platform-table-audit th:nth-child(4){width:18%}.platform-table-audit th:nth-child(5){width:24%}.platform-table-audit th:nth-child(6){width:8%}
@media(max-width:900px){.platform-admin-body .platform-table{min-width:900px;table-layout:auto}.platform-admin-body .platform-table th,.platform-admin-body .platform-table td{padding:13px 15px;white-space:normal}.platform-admin-body .platform-table th{white-space:nowrap}}

.platform-admin-body{background:#eef2f7}.platform-admin-sidebar{background:radial-gradient(circle at 0 0,rgba(14,165,233,.18),transparent 34%),linear-gradient(180deg,#09111f,#111c31 68%,#09111f)}.platform-logo-mark{background:linear-gradient(145deg,#2f80ff,#0e9384)}.platform-context{border-color:rgba(116,212,206,.13);background:rgba(14,147,132,.08)}.platform-live-dot{background:#12b76a;box-shadow:0 0 0 5px rgba(18,183,106,.12)}.platform-topbar{border-bottom-color:#d8e1ec}.platform-public-link{padding:8px 11px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#344054;text-decoration:none;font-size:11px;font-weight:750}.platform-public-link:hover{border-color:#84adff;color:#155eef}.platform-content{max-width:1600px}.platform-dashboard-hero{position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px;padding:34px 38px;overflow:hidden;border-radius:22px;color:#fff;background:radial-gradient(circle at 10% 0,rgba(47,128,255,.42),transparent 31%),radial-gradient(circle at 90% 100%,rgba(14,147,132,.25),transparent 30%),linear-gradient(135deg,#0b1220,#14213a 60%,#0d1c31);box-shadow:0 20px 48px rgba(15,23,42,.2)}.platform-dashboard-hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.platform-dashboard-hero>*{position:relative;z-index:1}.platform-dashboard-hero h1{margin:8px 0 9px;font-size:clamp(30px,4vw,47px);letter-spacing:-1.7px}.platform-dashboard-hero p{max-width:760px;margin:0;color:#b9c6d8;font-size:14px}.platform-dashboard-hero .page-eyebrow{color:#85b5ff}.platform-dashboard-hero .welcome-actions{margin-top:22px}.platform-mrr-card{min-width:280px;padding:23px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:rgba(255,255,255,.075);backdrop-filter:blur(10px)}.platform-mrr-card span,.platform-mrr-card strong,.platform-mrr-card small{display:block}.platform-mrr-card span{color:#91a3bc;font-size:9px;font-weight:900;letter-spacing:1.4px}.platform-mrr-card strong{margin:7px 0 4px;font-size:29px}.platform-mrr-card small{color:#9fb0c7;font-size:10px}.platform-metrics{margin-bottom:22px}.platform-metrics .metric-card{border-top:3px solid #2f80ff}.platform-dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr)}.platform-alert-panel{height:max-content}.platform-all-good{padding:34px 22px;text-align:center}.platform-all-good:before{content:"✓";display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:17px;background:#ecfdf3;color:#067647;font-size:25px;font-weight:900}.platform-all-good strong,.platform-all-good span{display:block}.platform-all-good span{margin-top:5px;color:#667085;font-size:11px}.platform-table td strong,.platform-table td small{display:block}.platform-table td small{margin-top:3px;color:#667085;font-size:10px}.platform-table .btn-small,.btn-small{min-height:34px;padding:7px 10px;border-radius:8px;font-size:10px}.platform-status{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:850;letter-spacing:.45px}.platform-status:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.platform-status.status-ok{background:#ecfdf3;color:#067647}.platform-status.status-warning{background:#fffaeb;color:#b54708}.platform-status.status-danger{background:#fef3f2;color:#b42318}.platform-status.status-neutral{background:#f2f4f7;color:#475467}.platform-filter-panel{margin-bottom:16px}.saas-org-header{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:18px;padding:26px 30px;border:1px solid #d9e2ec;border-left:5px solid #12b76a;border-radius:17px;background:linear-gradient(135deg,#fff,#f8fbff);box-shadow:var(--shadow-sm)}.saas-org-header.is-blocked{border-left-color:#d92d20}.saas-org-header h2{margin:9px 0 3px;font-size:26px;letter-spacing:-.7px}.saas-org-header p{margin:0;color:#667085}.saas-org-package{min-width:230px;padding:15px 18px;border:1px solid #dbe6f3;border-radius:13px;background:#f6f9fd}.saas-org-package span,.saas-org-package strong,.saas-org-package small{display:block}.saas-org-package span{color:#667085;font-size:8px;font-weight:900;letter-spacing:1.2px}.saas-org-package strong{margin:5px 0 2px;font-size:19px}.saas-org-package small{color:#667085;font-size:10px}.platform-usage-metrics{margin-bottom:18px}.saas-card-layout{align-items:start}.standard-form{padding:0 22px 22px}.standard-form .form-grid{padding:0;display:grid;gap:15px}.standard-form label,.platform-note-form{display:grid;gap:7px;color:#344054;font-size:11px;font-weight:750}.standard-form label>span{font-size:11px}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-span-2{grid-column:span 2}.checkbox-field{display:flex!important;align-items:center;gap:10px!important;padding:12px;border:1px solid #e4e7ec;border-radius:10px;background:#fafbfc}.checkbox-field input{width:17px;min-height:17px;margin:0;accent-color:#155eef}.platform-action-box{display:grid;gap:11px;margin:0 20px 15px;padding:17px;border:1px solid #e4e7ec;border-radius:13px;background:#fafbfc}.platform-action-box strong{font-size:13px}.platform-action-box p{margin:0;color:#667085;font-size:10px}.platform-action-box input{min-height:40px}.inline-fields{display:flex;align-items:center;gap:8px}.inline-fields input{max-width:110px}.platform-note-form{padding:0 20px 18px}.platform-timeline{display:grid;gap:0;padding:0 20px 20px}.platform-timeline article{position:relative;display:grid;grid-template-columns:16px 1fr;gap:10px;padding:0 0 17px}.platform-timeline article:not(:last-child):before{content:"";position:absolute;left:5px;top:11px;bottom:-1px;width:1px;background:#d0d5dd}.timeline-dot{position:relative;z-index:1;width:11px;height:11px;margin-top:4px;border:3px solid #dbe8ff;border-radius:50%;background:#155eef}.platform-timeline strong,.platform-timeline small{display:block}.platform-timeline p{margin:4px 0;color:#475467;font-size:11px;line-height:1.55}.platform-timeline small{color:#98a2b3;font-size:9px}.horizontal-history{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.horizontal-history article{padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#fafbfc}.horizontal-history article:before{display:none!important}.package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px}.package-admin-card{padding-bottom:22px}.package-admin-card.is-disabled{opacity:.7}.package-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:23px 23px 0}.package-admin-head span{color:#155eef;font-size:9px;font-weight:900;letter-spacing:1.2px}.package-admin-head h2{margin:4px 0 0;font-size:23px}.package-admin-head>strong{font-size:20px;text-align:right}.package-admin-head>strong small{display:block;color:#98a2b3;font-size:9px;font-weight:650}.package-admin-card>p{min-height:42px;margin:12px 23px;color:#667085;font-size:11px}.package-usage{display:flex;gap:7px;margin:0 23px 18px}.package-usage span{padding:6px 8px;border-radius:8px;background:#f2f4f7;color:#475467;font-size:9px;font-weight:750}.package-form{padding:18px 23px 0;border-top:1px solid #eaecf0}.feature-checks{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.feature-checks label{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid #e4e7ec;border-radius:8px;background:#fafbfc;font-size:9px}.feature-checks input{width:15px;min-height:15px;margin:0}.metric-money{font-size:22px!important}.table-actions{display:flex;align-items:center;gap:6px}.table-actions form{margin:0}.inline-details{position:relative}.inline-details summary{list-style:none;cursor:pointer}.inline-details summary::-webkit-details-marker{display:none}.mini-popover{position:absolute;z-index:20;right:0;top:42px;width:240px;display:grid;gap:8px;padding:12px;border:1px solid #d0d5dd;border-radius:11px;background:#fff;box-shadow:0 18px 40px rgba(16,24,40,.18)}.mini-popover input{min-height:38px}.pagination{display:flex;justify-content:center;gap:6px;padding:18px}.pagination a{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid #d0d5dd;border-radius:8px;background:#fff;color:#475467;text-decoration:none;font-size:11px;font-weight:750}.pagination a.active{border-color:#155eef;background:#155eef;color:#fff}
@media(max-width:1100px){.platform-dashboard-grid,.saas-card-layout{grid-template-columns:1fr}.package-grid{grid-template-columns:1fr}.horizontal-history{grid-template-columns:repeat(2,1fr)}.form-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.platform-public-link{display:none}.platform-dashboard-hero,.saas-org-header{align-items:flex-start;flex-direction:column;padding:24px 20px}.platform-mrr-card,.saas-org-package{width:100%;min-width:0}.platform-dashboard-hero h1{font-size:32px}.horizontal-history{grid-template-columns:1fr}.form-grid-4{grid-template-columns:1fr}.form-span-2{grid-column:auto}.package-admin-head{flex-direction:column}.table-actions{align-items:stretch;flex-direction:column}.mini-popover{position:fixed;left:14px;right:14px;top:auto;bottom:20px;width:auto}}

/* ASK Field Service Manager V0.12.0 — Kalendarz dyspozytora */
.calendar-toolbar{display:grid;grid-template-columns:minmax(330px,1fr) auto minmax(420px,1fr);align-items:end;gap:20px;margin-bottom:16px;padding:18px 20px}.calendar-navigation{display:flex;align-items:center;gap:8px}.calendar-nav-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:#344054;font-size:28px;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm)}.calendar-nav-button:hover{border-color:#84adff;color:#155eef;background:#f7faff}.calendar-current-title{min-width:0;margin-left:8px}.calendar-current-title span,.calendar-current-title strong{display:block}.calendar-current-title span{color:#98a2b3;font-size:9px;font-weight:900;letter-spacing:1.25px}.calendar-current-title strong{overflow:hidden;margin-top:3px;text-overflow:ellipsis;white-space:nowrap;font-size:17px}.calendar-view-switch{display:flex;padding:4px;border:1px solid #d0d5dd;border-radius:11px;background:#f8fafc}.calendar-view-switch button{min-height:34px;padding:7px 13px;border:0;border-radius:8px;background:transparent;color:#667085;font-size:11px;font-weight:800;cursor:pointer}.calendar-view-switch button:hover{color:#155eef}.calendar-view-switch button.active{background:#fff;color:#155eef;box-shadow:0 2px 7px rgba(16,24,40,.1)}.calendar-filters{display:flex;align-items:end;justify-content:flex-end;gap:10px}.calendar-filters label{display:grid;min-width:150px;gap:5px;color:#667085;font-size:9px;font-weight:850;letter-spacing:.45px}.calendar-filters select{min-height:40px;padding:8px 32px 8px 10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#344054;font-size:11px;outline:none}.calendar-filters select:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(21,94,239,.09)}
.calendar-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) minmax(185px,.8fr);gap:12px;margin-bottom:16px}.calendar-stat-card,.calendar-updated{display:flex;align-items:center;gap:12px;min-height:78px;padding:15px 17px;border:1px solid #e0e6ef;border-radius:14px;background:#fff;box-shadow:var(--shadow-sm)}.calendar-stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px}.calendar-stat-icon .ui-icon{width:21px;height:21px}.calendar-stat-icon.planned{background:#eef4ff;color:#155eef}.calendar-stat-icon.pending{background:#f2f4f7;color:#475467}.calendar-stat-icon.unassigned{background:#fff7ed;color:#c4320a}.calendar-stat-icon.conflict{background:#fef3f2;color:#b42318;font-size:18px;font-weight:950}.calendar-stat-card strong,.calendar-stat-card span,.calendar-updated strong,.calendar-updated span{display:block}.calendar-stat-card strong{font-size:22px;line-height:1}.calendar-stat-card>div>span{margin-top:4px;color:#667085;font-size:10px;font-weight:700}.calendar-updated{align-items:flex-start;justify-content:center;flex-direction:column}.calendar-updated span{color:#98a2b3;font-size:9px;font-weight:850;letter-spacing:.7px}.calendar-updated strong{font-size:17px}
.dispatcher-calendar-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.calendar-backlog{position:sticky;top:calc(var(--topbar) + 16px);max-height:calc(100vh - var(--topbar) - 32px);padding:0;overflow:hidden}.calendar-backlog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:19px 18px 14px;border-bottom:1px solid #eaecf0}.calendar-backlog-head h2{margin:3px 0 4px;font-size:19px}.calendar-backlog-head p{margin:0;color:#667085;font-size:10px;line-height:1.5}.calendar-backlog-count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 8px;border-radius:10px;background:#f2f4f7;color:#344054;font-weight:900}.calendar-backlog-search{display:flex;align-items:center;gap:8px;margin:12px 14px}.calendar-backlog-search .ui-icon{width:17px;height:17px;color:#98a2b3}.calendar-backlog-search input{width:100%;min-height:39px;padding:8px 10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;outline:none}.calendar-backlog-search input:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(21,94,239,.08)}.calendar-backlog-list{display:grid;gap:9px;max-height:calc(100vh - 330px);padding:0 14px 15px;overflow:auto}.calendar-backlog-drop-hint{margin:0 14px 14px;padding:10px;border:1px dashed #b2ccff;border-radius:9px;background:#f5f8ff;color:#475467;font-size:9px;text-align:center}.calendar-backlog.is-drag-over{outline:3px solid rgba(21,94,239,.2);outline-offset:-3px}.calendar-backlog.is-drag-over .calendar-backlog-drop-hint{border-color:#155eef;background:#eef4ff;color:#155eef}
.calendar-board-panel{padding:0;overflow:hidden}.calendar-legend{display:flex;align-items:center;justify-content:flex-end;gap:16px;min-height:48px;padding:10px 16px;border-bottom:1px solid #eaecf0;background:#fbfcfe;color:#667085;font-size:9px;font-weight:750}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-status-dot{width:8px;height:8px;border-radius:50%}.calendar-status-dot.new{background:#155eef}.calendar-status-dot.route{background:#f79009}.calendar-status-dot.progress{background:#7f56d9}.calendar-status-dot.review{background:#12b76a}.calendar-status-dot.conflict{background:#d92d20}.dispatcher-calendar-board{min-height:620px;overflow:auto;background:#fff}
.calendar-resource-grid{display:grid;grid-template-columns:205px repeat(var(--calendar-days),minmax(150px,1fr));min-width:calc(205px + var(--calendar-days) * 150px)}.calendar-resource-grid.is-day-view{grid-template-columns:205px minmax(520px,1fr);min-width:720px}.calendar-resource-corner,.calendar-day-head{position:sticky;z-index:5;top:0;min-height:62px;border-bottom:1px solid #d9e1ec;background:#f8fafc}.calendar-resource-corner{left:0;z-index:7;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:12px 15px;border-right:1px solid #d9e1ec}.calendar-resource-corner span{font-size:9px;font-weight:900;letter-spacing:1.2px}.calendar-resource-corner small{margin-top:3px;color:#98a2b3;font-size:9px}.calendar-day-head{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px;border-right:1px solid #e4e7ec}.calendar-day-head span{color:#667085;font-size:10px;font-weight:750}.calendar-day-head strong{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff;color:#344054;font-size:13px;box-shadow:var(--shadow-sm)}.calendar-day-head.is-today{background:#eef4ff}.calendar-day-head.is-today strong{background:#155eef;color:#fff}.calendar-resource-name{position:sticky;z-index:4;left:0;display:flex;align-items:center;gap:10px;min-height:118px;padding:12px 13px;border-right:1px solid #d9e1ec;border-bottom:1px solid #e4e7ec;background:#fbfcfe}.calendar-resource-name.is-unassigned{background:#fffaf3}.calendar-resource-avatar{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:12px;background:#eaf1ff;color:#1849a9;font-size:11px;font-weight:900;text-transform:uppercase}.calendar-resource-name.is-unassigned .calendar-resource-avatar{background:#ffead5;color:#c4320a}.calendar-resource-name strong,.calendar-resource-name small{display:block}.calendar-resource-name strong{font-size:11px;line-height:1.25}.calendar-resource-name small{margin-top:4px;color:#98a2b3;font-size:8px;line-height:1.35}.calendar-resource-cell{position:relative;min-height:118px;padding:7px;border-right:1px solid #edf0f4;border-bottom:1px solid #e4e7ec;background:#fff;transition:.15s}.calendar-resource-cell.is-today{background:#fbfdff}.calendar-resource-cell:hover{background:#f8faff}.calendar-resource-cell.is-drag-over{background:#eef4ff;box-shadow:inset 0 0 0 2px #84adff}.calendar-cell-add{position:absolute;right:8px;bottom:6px;color:#b2b9c5;font-size:8px;font-weight:700;opacity:0;transition:.15s}.calendar-resource-cell:hover .calendar-cell-add,.calendar-resource-cell.is-drag-over .calendar-cell-add{opacity:1}.calendar-cell-orders{position:relative;z-index:1;display:grid;gap:6px}
.calendar-order-card{position:relative;display:grid;gap:4px;padding:9px 10px 9px 12px;overflow:hidden;border:1px solid #dfe5ed;border-radius:10px;background:#fff;box-shadow:0 2px 6px rgba(16,24,40,.055);cursor:pointer;transition:transform .14s,box-shadow .14s,border-color .14s}.calendar-order-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#155eef}.calendar-order-card.status-route:before{background:#f79009}.calendar-order-card.status-progress:before{background:#7f56d9}.calendar-order-card.status-review:before{background:#12b76a}.calendar-order-card.status-done:before{background:#667085}.calendar-order-card:hover,.calendar-order-card:focus{z-index:2;transform:translateY(-1px);border-color:#b2ccff;box-shadow:0 8px 18px rgba(16,24,40,.1);outline:none}.calendar-order-card.is-dragging{opacity:.45;transform:rotate(1deg)}.calendar-order-card.has-conflict{border-color:#fda29b;background:#fffafa}.calendar-card-top{display:flex;align-items:center;gap:5px;min-width:0}.calendar-card-time{color:#344054;font-size:9px;font-weight:900}.calendar-card-number{overflow:hidden;margin-left:auto;color:#98a2b3;font-size:8px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.calendar-card-conflict{display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto;border-radius:6px;background:#d92d20;color:#fff;font-size:10px;font-weight:950}.calendar-order-card>strong{overflow:hidden;font-size:10px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.calendar-card-client{overflow:hidden;color:#667085;font-size:8px;text-overflow:ellipsis;white-space:nowrap}.calendar-order-card>small{overflow:hidden;color:#475467;font-size:8px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.calendar-unassigned-text{color:#b54708!important}.calendar-order-card.priority-critical{box-shadow:0 0 0 1px rgba(217,45,32,.22),0 3px 9px rgba(16,24,40,.06)}.calendar-order-card.priority-urgent{background:#fffdf8}.calendar-order-card.is-compact{padding:6px 7px 6px 10px;border-radius:7px}.calendar-order-card.is-compact>strong{font-size:9px}.calendar-order-card.is-compact>small{display:none}
.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(125px,1fr));min-width:875px}.calendar-month-weekday{position:sticky;z-index:4;top:0;padding:12px;border-right:1px solid #e4e7ec;border-bottom:1px solid #d9e1ec;background:#f8fafc;color:#667085;font-size:9px;font-weight:900;text-align:center;text-transform:uppercase}.calendar-month-day{position:relative;min-height:150px;padding:8px;border-right:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec;background:#fff}.calendar-month-day.is-outside{background:#fafbfc;color:#98a2b3}.calendar-month-day.is-today{background:#f7faff;box-shadow:inset 0 0 0 2px #b2ccff}.calendar-month-day.is-drag-over{background:#eef4ff;box-shadow:inset 0 0 0 2px #155eef}.calendar-month-day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px}.calendar-month-day-head strong{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;font-size:11px}.calendar-month-day.is-today .calendar-month-day-head strong{background:#155eef;color:#fff}.calendar-month-day-head span{color:#98a2b3;font-size:9px;font-weight:800}.calendar-month-orders{display:grid;gap:4px}.calendar-more-button{width:100%;margin-top:5px;padding:4px;border:0;border-radius:6px;background:#f2f4f7;color:#475467;font-size:8px;font-weight:800;cursor:pointer}.calendar-more-button:hover{background:#e4e7ec}
.calendar-loading,.calendar-error,.calendar-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;padding:28px 18px;color:#667085;text-align:center}.calendar-loading.large{min-height:520px}.calendar-loading span{width:24px;height:24px;border:3px solid #dbe5f5;border-top-color:#155eef;border-radius:50%;animation:calendar-spin .8s linear infinite}.calendar-error{min-height:420px;color:#b42318}.calendar-error strong,.calendar-empty strong{font-size:13px}.calendar-error span,.calendar-empty span{max-width:390px;font-size:10px}.calendar-error button{margin-top:8px;padding:8px 12px;border:0;border-radius:8px;background:#155eef;color:#fff;font-weight:800;cursor:pointer}@keyframes calendar-spin{to{transform:rotate(360deg)}}
.calendar-modal[hidden]{display:none}.calendar-modal{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:20px}.calendar-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.58);backdrop-filter:blur(5px)}.calendar-modal-card{position:relative;z-index:1;width:min(650px,100%);max-height:calc(100vh - 40px);padding:28px;overflow:auto;border:1px solid rgba(255,255,255,.65);border-radius:20px;background:#fff;box-shadow:0 30px 80px rgba(15,23,42,.3)}.calendar-modal-close{position:absolute;right:17px;top:14px;width:36px;height:36px;border:0;border-radius:10px;background:#f2f4f7;color:#475467;font-size:24px;cursor:pointer}.calendar-modal-close:hover{background:#e4e7ec}.calendar-modal-header{padding-right:45px}.calendar-modal-header h2{margin:5px 0 4px;font-size:25px}.calendar-modal-header p{margin:0;color:#667085}.calendar-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}.calendar-modal-grid label{display:grid;gap:6px;color:#475467;font-size:10px;font-weight:800}.calendar-modal-grid input,.calendar-modal-grid select{min-height:45px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;outline:none}.calendar-modal-grid input:focus,.calendar-modal-grid select:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(21,94,239,.09)}.calendar-modal-technician{grid-column:1/-1}.calendar-modal-message{margin-top:14px;padding:11px 13px;border-radius:9px;font-size:10px}.calendar-modal-message.is-error{border:1px solid #fecdca;background:#fef3f2;color:#b42318}.calendar-modal-message.is-success{border:1px solid #abefc6;background:#ecfdf3;color:#067647}.calendar-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid #eaecf0}.calendar-modal-actions>a{margin-right:auto}.btn-ghost-danger{background:#fff;border-color:#fecdca;color:#b42318}.btn-ghost-danger:hover{background:#fef3f2}.calendar-modal-open{overflow:hidden}.calendar-is-busy{cursor:wait}.calendar-is-busy button{cursor:wait;opacity:.7}
.calendar-toast-container{position:fixed;z-index:300;right:22px;bottom:22px;display:grid;gap:9px;width:min(370px,calc(100vw - 44px))}.calendar-toast{display:grid;gap:3px;padding:14px 16px;border:1px solid #d0d5dd;border-left:5px solid #155eef;border-radius:12px;background:#fff;box-shadow:0 20px 45px rgba(16,24,40,.2);opacity:0;transform:translateY(12px);transition:.22s}.calendar-toast.is-visible{opacity:1;transform:translateY(0)}.calendar-toast.is-success{border-left-color:#12b76a}.calendar-toast.is-error{border-left-color:#d92d20}.calendar-toast strong{font-size:11px}.calendar-toast span{color:#667085;font-size:10px}
@media(max-width:1320px){.calendar-toolbar{grid-template-columns:1fr auto}.calendar-filters{grid-column:1/-1;justify-content:flex-start}.calendar-stat-grid{grid-template-columns:repeat(4,1fr)}.calendar-updated{grid-column:1/-1;min-height:56px;align-items:center;justify-content:space-between;flex-direction:row}.dispatcher-calendar-layout{grid-template-columns:265px minmax(0,1fr)}}
@media(max-width:980px){.calendar-toolbar{grid-template-columns:1fr}.calendar-view-switch{width:max-content}.calendar-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto}.calendar-stat-grid{grid-template-columns:repeat(2,1fr)}.calendar-updated{grid-column:span 2}.dispatcher-calendar-layout{grid-template-columns:1fr}.calendar-backlog{position:relative;top:auto;max-height:none}.calendar-backlog-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:330px}.calendar-board-panel{min-width:0}.dispatcher-calendar-board{min-height:520px}}
@media(max-width:640px){.calendar-toolbar{padding:14px}.calendar-navigation{flex-wrap:wrap}.calendar-current-title{order:-1;width:100%;margin:0 0 5px}.calendar-view-switch{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.calendar-filters{grid-template-columns:1fr}.calendar-filters label{min-width:0}.calendar-filters .btn{width:100%}.calendar-stat-grid{grid-template-columns:1fr 1fr;gap:8px}.calendar-stat-card{min-height:67px;padding:11px}.calendar-stat-icon{width:36px;height:36px}.calendar-stat-card strong{font-size:18px}.calendar-updated{grid-column:span 2}.calendar-backlog-list{grid-template-columns:1fr}.calendar-legend{justify-content:flex-start;overflow:auto;white-space:nowrap}.calendar-modal{padding:10px}.calendar-modal-card{max-height:calc(100vh - 20px);padding:22px 17px;border-radius:16px}.calendar-modal-grid{grid-template-columns:1fr}.calendar-modal-technician{grid-column:auto}.calendar-modal-actions{align-items:stretch;flex-direction:column}.calendar-modal-actions>a{width:100%;margin:0}.calendar-modal-actions .btn{width:100%}.calendar-resource-grid{grid-template-columns:155px repeat(var(--calendar-days),minmax(142px,1fr));min-width:calc(155px + var(--calendar-days) * 142px)}.calendar-resource-corner,.calendar-resource-name{width:155px}.calendar-month-grid{grid-template-columns:repeat(7,minmax(120px,1fr));min-width:840px}}

/* V0.13.0 — Powiadomienia i komunikacja */
.notification-process-card{display:grid;justify-items:center;gap:9px;padding:28px;text-align:center}.notification-process-card>strong{font-size:42px;line-height:1;color:#101828}.notification-process-card>span{color:#667085;font-size:11px}.notification-table{width:100%;min-width:1050px;border-collapse:collapse}.notification-table th,.notification-table td{padding:13px 15px;border-bottom:1px solid #eaecf0;text-align:left;vertical-align:top}.notification-table th{background:#f8fafc;color:#667085;font-size:9px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}.notification-table td strong,.notification-table td small,.notification-table td em{display:block}.notification-table td strong{font-size:11px}.notification-table td small{margin-top:4px;color:#667085;font-size:9px;line-height:1.45}.notification-table td a{text-decoration:none}.row-error{max-width:340px;margin-top:5px;color:#b42318;font-size:9px;font-style:normal}.channel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:5px 8px;border-radius:7px;font-size:8px;font-weight:900;letter-spacing:.5px}.channel-sms{background:#eef4ff;color:#1849a9}.channel-email{background:#f4ebff;color:#6941c6}.automation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:18px}.automation-option{display:flex;gap:10px;min-height:76px;padding:14px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;cursor:pointer}.automation-option:has(input:checked){border-color:#84adff;background:#f5f8ff;box-shadow:0 0 0 2px rgba(21,94,239,.06)}.automation-option input{margin-top:2px}.automation-option b,.automation-option small{display:block}.automation-option b{font-size:11px}.automation-option small{margin-top:4px;color:#667085;font-size:9px}.reminder-hours{max-width:350px;margin:0 18px 18px}.cron-url{display:flex;align-items:center;gap:10px;padding:18px}.cron-url code{flex:1;padding:13px;overflow:auto;border:1px solid #d0d5dd;border-radius:9px;background:#f8fafc;color:#344054;font-size:10px;white-space:nowrap}.settings-stack{display:grid;gap:20px}.template-stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.template-card{padding:20px}.template-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}.template-card-head h2{margin:8px 0 2px;font-size:15px}.template-card-head small{color:#98a2b3;font-size:8px}.compact-switch{min-height:auto;padding:8px 10px}.communication-order-list{display:grid}.communication-order-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid #eaecf0}.communication-order-list article:last-child{border-bottom:0}.communication-order-list article p{margin:3px 0;color:#667085;font-size:10px}.communication-order-list article small{color:#98a2b3;font-size:9px}.inline-form{display:flex;gap:5px}.btn-small{min-height:30px;padding:6px 8px;font-size:9px}.order-critical{border-color:#fecdca!important;background:#fffafa!important}
@media(max-width:1080px){.automation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-stack{grid-template-columns:1fr}}
@media(max-width:640px){.automation-grid{grid-template-columns:1fr;padding:13px}.cron-url{align-items:stretch;flex-direction:column}.cron-url .btn{width:100%}.communication-order-list article{grid-template-columns:auto 1fr}.communication-order-list article>.status-badge{grid-column:2}.notification-process-card{padding:20px}}

/* V0.14.0 — Raporty i statystyki */
.report-export-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.report-filter-panel{overflow:hidden}.report-filter-form{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr)) auto;align-items:end;gap:13px;padding:18px}.report-filter-form label{display:grid;gap:7px;color:#475467;font-size:10px;font-weight:800}.report-filter-form input,.report-filter-form select{min-height:42px;padding:9px 11px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;outline:none}.report-filter-form input:focus,.report-filter-form select:focus{border-color:#84adff;box-shadow:0 0 0 3px rgba(21,94,239,.08)}.report-period-strip{display:flex;align-items:center;gap:12px;padding:12px 18px;border-top:1px solid #eaecf0;background:#f8fafc}.report-period-strip span{color:#667085;font-size:9px;font-weight:900;letter-spacing:.7px;text-transform:uppercase}.report-period-strip strong{font-size:12px}.report-period-strip small{margin-left:auto;color:#667085;font-size:9px}.report-metrics .metric-card,.report-time-metrics .metric-card{min-height:128px}.report-metrics .metric-card strong{font-size:31px}.report-time-metrics .metric-card strong{font-size:23px;letter-spacing:-.5px}.report-overview-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.45fr);gap:18px;margin-bottom:20px}.report-chart-panel,.report-breakdown-panel,.report-material-panel{overflow:hidden}.report-value-pill{display:inline-flex;align-items:center;min-height:31px;padding:6px 10px;border-radius:999px;background:#eef4ff;color:#1849a9;font-size:10px;font-weight:850}.report-chart-scroll{padding:20px 18px 14px;overflow-x:auto}.report-column-chart{display:grid;grid-template-columns:repeat(var(--report-columns),minmax(28px,1fr));align-items:end;gap:8px;min-width:max(100%,calc(var(--report-columns) * 38px));height:250px;padding-top:18px}.report-column-item{display:grid;grid-template-rows:18px 1fr 18px;align-items:end;height:100%;text-align:center}.report-column-value{color:#475467;font-size:9px;font-weight:850}.report-column-track{display:flex;align-items:flex-end;justify-content:center;height:100%;border-radius:7px;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.report-column-track span{display:block;width:min(22px,72%);min-height:5px;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,#53b1fd,#155eef);box-shadow:0 6px 12px rgba(21,94,239,.15)}.report-column-item small{padding-top:5px;color:#98a2b3;font-size:8px;white-space:nowrap}.report-bars{display:grid;gap:16px;padding:20px}.report-bars-spacious{gap:18px}.report-bar-row{display:grid;gap:7px;color:inherit;text-decoration:none}.report-bar-row.linked{padding:7px;border-radius:9px;transition:.16s}.report-bar-row.linked:hover{background:#f8faff}.report-bar-label{display:flex;align-items:center;gap:8px}.report-bar-label strong{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}.report-bar-label b{margin-left:auto;color:#344054;font-size:11px}.report-dot{flex:0 0 9px;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 4px rgba(152,162,179,.12)}.report-bar-track{height:7px;overflow:hidden;border-radius:999px;background:#f2f4f7}.report-bar-track span{display:block;height:100%;min-width:5px;border-radius:999px}.report-bar-row>small{color:#98a2b3;font-size:8px}.report-table{min-width:1040px}.technicians-report-table th:nth-child(1){width:25%}.technicians-report-table th:nth-child(n+2){width:auto}.report-cell-note{display:block;margin-top:3px;color:#98a2b3;font-size:8px}.report-bottom-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;margin-top:20px}.report-material-list .compact-row>b{color:#1849a9;font-size:11px;white-space:nowrap}.panel-footer-action{display:flex;justify-content:flex-end;padding:12px 18px;border-top:1px solid #eaecf0;background:#fbfcfe}.report-technicians-panel .entity-cell{min-width:210px}
@media(max-width:1280px){.report-filter-form{grid-template-columns:repeat(3,minmax(160px,1fr))}.report-filter-form .filter-actions{justify-content:flex-end}.report-overview-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}}
@media(max-width:960px){.report-export-actions{justify-content:flex-start}.page-heading:has(.report-export-actions){align-items:flex-start;flex-direction:column}.report-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filter-form .filter-actions{grid-column:1/-1}.report-period-strip{align-items:flex-start;flex-wrap:wrap}.report-period-strip small{width:100%;margin-left:0}.report-overview-grid,.report-bottom-grid{grid-template-columns:1fr}}
@media(max-width:640px){.report-filter-form{grid-template-columns:1fr;padding:14px}.report-filter-form .filter-actions{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.report-export-actions{display:grid;grid-template-columns:1fr;width:100%}.report-export-actions .btn{width:100%}.report-period-strip{padding:11px 14px}.report-column-chart{height:220px}.report-bars{padding:16px}.report-time-metrics .metric-card strong{font-size:20px}}

/* V0.14.1 — poprawki powiadomień i pełna szerokość tabeli serwisantów */
.technicians-table-wrap{width:100%;max-width:100%;overflow-x:auto}
.technicians-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.technicians-table th,.technicians-table td{padding:14px 16px;border-bottom:1px solid #e7edf4;text-align:left;vertical-align:middle}
.technicians-table th{background:#f7f9fc;color:#667085;font-size:9px;font-weight:900;letter-spacing:.62px;text-transform:uppercase;white-space:nowrap}
.technicians-table tbody tr:last-child td{border-bottom:0}
.technicians-table tbody tr:hover{background:#fbfcfe}
.technicians-table th:nth-child(1){width:25%}
.technicians-table th:nth-child(2){width:16%}
.technicians-table th:nth-child(3){width:14%}
.technicians-table th:nth-child(4){width:9%}
.technicians-table th:nth-child(5){width:15%}
.technicians-table th:nth-child(6){width:10%}
.technicians-table th:nth-child(7){width:11%}
.technicians-table td strong,.technicians-table td small{display:block}
.technicians-table td small{margin-top:3px;color:#667085;font-size:9px;line-height:1.45}
.technicians-table td:last-child{padding-right:20px}
.technicians-table .table-actions{justify-content:flex-end;flex-wrap:wrap}
@media(max-width:900px){.technicians-table{min-width:1020px;table-layout:auto}.technicians-table th,.technicians-table td{padding:13px 14px}.technicians-table .entity-cell{min-width:210px}}


/* ========================================================================== */
/* V0.15.0 — INFORMACYJNY PANEL KLIENTA                                      */
/* ========================================================================== */
.client-login-v015{background:
    radial-gradient(circle at 12% 16%,rgba(37,99,235,.25),transparent 28%),
    radial-gradient(circle at 82% 82%,rgba(14,165,233,.14),transparent 26%),
    linear-gradient(145deg,#050c16 0,#0b1b31 52%,#102d50 100%)}
.client-login-shell-v015{grid-template-columns:minmax(340px,.9fr) minmax(440px,1.1fr);max-width:1260px;gap:48px;padding:48px}
.client-login-visual{display:flex;min-height:calc(100vh - 96px);flex-direction:column;justify-content:space-between;padding:12px 6px 26px;color:#fff}
.client-login-brand-v015{padding:0}
.client-login-preview{max-width:520px;padding:32px;border:1px solid rgba(255,255,255,.11);border-radius:28px;background:linear-gradient(150deg,rgba(255,255,255,.105),rgba(255,255,255,.035));box-shadow:0 28px 70px rgba(0,0,0,.24);backdrop-filter:blur(18px)}
.client-login-preview-kicker{color:#84adff;font-size:10px;font-weight:950;letter-spacing:1.8px}
.client-login-preview h2{margin:10px 0 9px;font-size:34px;line-height:1.08;letter-spacing:-1.1px}
.client-login-preview>p{max-width:430px;margin:0;color:#b7c7dc;font-size:13px;line-height:1.7}
.client-login-road{position:relative;height:112px;margin:32px 0 22px;border-bottom:13px solid #263d5a}
.client-login-road:before{content:"";position:absolute;left:0;right:0;bottom:-8px;border-top:2px dashed rgba(255,255,255,.35)}
.client-login-tree,.client-login-home{position:absolute;bottom:6px;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;font-size:31px}
.client-login-tree{left:0;background:#0f5132;color:#86efac}
.client-login-home{right:0;background:#e9eff8;color:#10233e}
.client-login-car{position:absolute;left:58%;bottom:4px;display:grid;place-items:center;width:78px;height:37px;border-radius:15px 20px 10px 10px;background:#155eef;color:#fff;box-shadow:0 12px 30px rgba(21,94,239,.4);font-size:10px;font-weight:950;letter-spacing:.7px;animation:clientPreviewDrive 3.4s ease-in-out infinite alternate}
.client-login-car:before,.client-login-car:after{content:"";position:absolute;bottom:-7px;width:15px;height:15px;border:4px solid #070d16;border-radius:50%;background:#cbd5e1}
.client-login-car:before{left:10px}.client-login-car:after{right:10px}
@keyframes clientPreviewDrive{from{transform:translateX(-34px)}to{transform:translateX(18px)}}
.client-login-preview-status{display:flex;align-items:center;gap:10px;color:#dbeafe;font-size:11px;font-weight:750}
.client-login-preview-status i{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 6px rgba(34,197,94,.13)}
.client-login-card-v015{align-self:center;width:100%;max-width:610px;padding:52px;border-radius:32px}
.client-login-features-v015 span{background:#eef4ff;color:#1849a9}
.client-privacy-note{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;margin-top:20px;padding:13px 14px;border:1px solid #dbe5f5;border-radius:14px;background:#f8fafc;color:#475467;font-size:10px;line-height:1.55}
.client-privacy-note b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#eaf2ff;color:#155eef;font-size:12px}
.client-panel-v015{min-height:100vh;background:linear-gradient(180deg,#eef4fb 0,#f7f9fc 300px,#f4f6fa 100%)}
.client-topbar-v015{position:sticky;top:0;z-index:40;min-height:76px;padding:0 42px;background:rgba(6,17,31,.97);backdrop-filter:blur(15px)}
.client-topbar-actions{display:flex;align-items:center;gap:10px}
.client-close-link{padding:10px 14px;border:1px solid rgba(255,255,255,.14);border-radius:11px;color:#fff;text-decoration:none;font-size:10px;font-weight:850}
.client-close-link:hover{background:rgba(255,255,255,.08)}
.client-selector-main,.client-visit-main{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:42px 0 54px}
.client-selector-heading{max-width:780px;margin-bottom:28px}
.client-selector-heading>span,.client-visit-hero>div:first-child>span{color:#155eef;font-size:10px;font-weight:950;letter-spacing:1.5px}
.client-selector-heading h1{margin:9px 0 10px;font-size:38px;line-height:1.12;letter-spacing:-1.3px}
.client-selector-heading p{margin:0;color:#667085;font-size:13px;line-height:1.65}
.client-visit-selector-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.client-visit-selector-card{position:relative;overflow:hidden;padding:24px;border:1px solid #e1e8f2;border-radius:23px;background:#fff;color:#101828;text-decoration:none;box-shadow:0 14px 36px rgba(16,24,40,.07);transition:.2s ease}
.client-visit-selector-card:after{content:"";position:absolute;right:-55px;bottom:-65px;width:160px;height:160px;border-radius:50%;background:#eef4ff}
.client-visit-selector-card:hover{transform:translateY(-3px);border-color:#b2ccff;box-shadow:0 22px 45px rgba(16,24,40,.11)}
.client-visit-selector-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:15px}
.client-visit-selector-top small{color:#667085;font-size:9px;font-weight:800}
.client-visit-selector-icon{position:relative;z-index:1;margin:25px 0 12px;font-size:35px}
.client-visit-selector-card h2{position:relative;z-index:1;margin:0 0 18px;font-size:23px}
.client-visit-selector-card dl{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.client-visit-selector-card dl div{padding:12px;border-radius:12px;background:#f8fafc}
.client-visit-selector-card dt{color:#667085;font-size:8px;font-weight:900;letter-spacing:.8px}
.client-visit-selector-card dd{margin:4px 0 0;font-size:13px;font-weight:850}
.client-visit-selector-action{position:relative;z-index:1;display:flex;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid #edf1f6;color:#155eef;font-size:10px;font-weight:900}
.client-no-visit{max-width:630px;padding:42px;border:1px solid #e1e8f2;border-radius:25px;background:#fff;text-align:center;box-shadow:0 15px 38px rgba(16,24,40,.06)}
.client-no-visit>div{display:grid;place-items:center;width:60px;height:60px;margin:0 auto 16px;border-radius:20px;background:#ecfdf3;color:#039855;font-size:25px;font-weight:950}
.client-no-visit h2{margin:0 0 8px}.client-no-visit p{margin:0;color:#667085}.client-no-visit a{display:inline-flex;margin-top:20px;padding:12px 17px;border-radius:11px;background:#155eef;color:#fff;text-decoration:none;font-size:10px;font-weight:900}
.client-visit-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:22px;padding:5px 2px}
.client-visit-hero h1{margin:8px 0 8px;font-size:38px;letter-spacing:-1.4px}
.client-visit-hero p{max-width:680px;margin:0;color:#667085;font-size:12px;line-height:1.65}
.client-current-status-v015{min-width:270px;padding:15px 17px;border:1px solid #b7ebcd;border-radius:16px;background:#f0fdf4;box-shadow:0 10px 28px rgba(16,24,40,.05)}
.client-current-status-v015>div{display:grid;gap:2px}.client-current-status-v015 small{color:#667085;font-size:8px;font-weight:900;letter-spacing:1px}.client-current-status-v015 strong{font-size:12px}
.journey-card-v015{overflow:hidden;border:1px solid #d9e3f0;border-radius:28px;background:#fff;box-shadow:0 20px 55px rgba(16,24,40,.09)}
.journey-heading-v015{padding:26px 28px 18px}.journey-heading-v015 h2{font-size:24px;letter-spacing:-.5px}.journey-heading-v015 p{max-width:670px;font-size:11px}
.queue-pill-v015{min-width:150px;padding:12px 15px;border:1px solid #b2ccff;background:#eff4ff;color:#1849a9}
.queue-pill-v015 strong{font-size:25px}.queue-pill-v015 span{max-width:90px;font-size:8px;line-height:1.3}
.journey-scene-v015{height:330px;background:linear-gradient(#dff3ff 0,#edf9ff 48%,#bcd69a 49%,#8fbb6d 66%,#53677a 67%,#344b61 100%)}
.journey-scene-v015:after{content:"";position:absolute;left:0;right:0;bottom:46px;height:4px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 35px,transparent 35px 68px)}
.journey-scene-v015 .journey-tree span,.journey-scene-v015 .journey-house span{display:block;margin-top:5px;text-align:center;color:#344054;font-size:8px;font-weight:950;letter-spacing:.8px}
.journey-scene-v015 .journey-car{transition:left 1.25s cubic-bezier(.2,.85,.25,1)}
.journey-scene-v015 .journey-car.is-driving{animation:clientCarPulse 1.3s ease-in-out infinite alternate}
@keyframes clientCarPulse{from{transform:translateY(0)}to{transform:translateY(-4px)}}
.journey-scale-v015{padding:13px 22px;background:#071728;color:#dbeafe}
.journey-scale-v015 strong{color:#84adff}
.client-visit-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.client-visit-stats article{min-height:175px;padding:20px;border:1px solid #e0e7f0;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(16,24,40,.055)}
.client-visit-stat-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:13px;background:#eef4ff;font-size:19px}
.client-visit-stats article>span{display:block;color:#667085;font-size:8px;font-weight:950;letter-spacing:1px}
.client-visit-stats article>strong{display:block;margin:7px 0 5px;font-size:17px;line-height:1.25}
.client-visit-stats article>small{display:block;color:#667085;font-size:9px;line-height:1.55}
.client-live-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:15px 18px;border:1px solid #dce5ef;border-radius:16px;background:#fff}
.client-live-bar>div{display:grid;grid-template-columns:10px auto;gap:2px 10px;align-items:center}.client-live-bar i{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:#12b76a;box-shadow:0 0 0 6px rgba(18,183,106,.12)}
.client-live-bar span{font-size:10px;font-weight:850}.client-live-bar small{color:#667085;font-size:8px}.client-live-bar button{padding:10px 14px;border:1px solid #b2ccff;border-radius:10px;background:#eff4ff;color:#1849a9;font-size:9px;font-weight:900;cursor:pointer}.client-live-bar button:disabled{opacity:.6;cursor:wait}
.client-privacy-strip{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:15px;background:#eaf0f7;color:#475467}
.client-privacy-strip b{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#fff;color:#155eef}.client-privacy-strip p{margin:0;font-size:9px;line-height:1.55}
.visit-is-completed .journey-scene-v015{filter:saturate(.75)}
.visit-is-completed .client-current-status-v015{border-color:#d0d5dd;background:#f8fafc}
@media(max-width:980px){
    .client-login-shell-v015{grid-template-columns:1fr;max-width:680px;gap:18px;padding:26px}.client-login-visual{min-height:auto;padding:0}.client-login-preview{display:none}.client-login-brand-v015{padding:5px 0 8px}.client-visit-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.client-visit-selector-grid{grid-template-columns:1fr}.client-visit-hero{align-items:flex-start;flex-direction:column}.client-current-status-v015{width:100%;min-width:0;box-sizing:border-box}
}
@media(max-width:640px){
    .client-login-shell-v015{padding:18px}.client-login-card-v015{padding:28px 21px;border-radius:23px}.client-login-card-v015 h1{font-size:33px}.client-topbar-v015{padding:0 16px}.client-topbar-user>span{display:none}.client-topbar-actions{gap:6px}.client-back,.client-close-link{padding:9px 10px;font-size:8px}.client-selector-main,.client-visit-main{width:min(100% - 24px,1180px);padding:27px 0 40px}.client-selector-heading h1,.client-visit-hero h1{font-size:29px}.client-visit-selector-card{padding:18px}.client-visit-selector-card dl{grid-template-columns:1fr}.journey-heading-v015{align-items:flex-start;flex-direction:column;padding:21px 18px 14px}.journey-heading-v015 h2{font-size:20px}.queue-pill-v015{min-width:0;width:100%;box-sizing:border-box;justify-content:flex-start}.queue-pill-v015 span{max-width:none}.journey-scene-v015{height:235px}.journey-scene-v015 .journey-tree{left:1%;width:59px}.journey-scene-v015 .journey-house{right:1%;width:72px}.journey-scene-v015 .journey-car{width:90px;left:clamp(58px,calc(var(--car-position) - 40px),calc(100% - 104px));bottom:36px}.client-visit-stats{grid-template-columns:1fr}.client-visit-stats article{min-height:0}.client-live-bar{align-items:stretch;flex-direction:column}.client-live-bar button{width:100%;min-height:43px}
}

/* ASK Field Service Manager V0.16.0 DEV — GPS, ETA i historia trasy */
.tech-gps-strip{position:fixed;z-index:48;left:50%;bottom:76px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;width:min(728px,calc(100% - 24px));padding:10px 13px;border:1px solid #d0d5dd;border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 12px 32px rgba(16,24,40,.15);backdrop-filter:blur(14px)}
.tech-gps-strip>i{flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 5px rgba(152,162,179,.12)}
.tech-gps-strip>div{min-width:0;flex:1}.tech-gps-strip strong,.tech-gps-strip small{display:block}.tech-gps-strip strong{font-size:10px}.tech-gps-strip small{margin-top:2px;color:#667085;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tech-gps-strip[data-gps-state="starting"]>i{background:#f79009;box-shadow:0 0 0 5px rgba(247,144,9,.12);animation:gps-pulse 1.2s infinite}.tech-gps-strip[data-gps-state="active"]{border-color:#abefc6;background:rgba(236,253,243,.97)}.tech-gps-strip[data-gps-state="active"]>i{background:#12b76a;box-shadow:0 0 0 5px rgba(18,183,106,.13);animation:gps-pulse 1.5s infinite}.tech-gps-strip[data-gps-state="error"]{border-color:#fecdca;background:rgba(254,243,242,.97)}.tech-gps-strip[data-gps-state="error"]>i{background:#f04438;box-shadow:0 0 0 5px rgba(240,68,56,.12)}
.tech-gps-strip button{display:flex;align-items:center;gap:6px;flex:0 0 auto;min-height:34px;padding:7px 10px;border:0;border-radius:9px;background:#eef4ff;color:#1849a9;font:inherit;font-size:8px;font-weight:850;cursor:pointer}.tech-gps-strip button.is-active{background:#fef3f2;color:#b42318}.tech-gps-strip-order{position:sticky;left:auto;bottom:10px;transform:none;width:min(728px,calc(100% - 24px));margin:18px auto 10px}.tech-bottom-nav button b{font:inherit;font-weight:800}.tech-bottom-nav button.is-active{color:#067647}.tech-bottom-nav button.is-error{color:#b42318}
@keyframes gps-pulse{50%{box-shadow:0 0 0 9px rgba(18,183,106,0)}}
.map-history-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:13px 17px;border:1px solid #b2ccff;border-radius:14px;background:linear-gradient(90deg,#eef4ff,#f8fbff);box-shadow:0 6px 18px rgba(21,94,239,.06)}.map-history-strip[hidden]{display:none}.map-history-strip span,.map-history-strip strong,.map-history-strip small{display:block}.map-history-strip span{color:#155eef;font-size:8px;font-weight:900;letter-spacing:1px}.map-history-strip strong{margin-top:3px;font-size:13px}.map-history-strip small{margin-top:2px;color:#667085;font-size:9px}.map-history-strip button{flex:0 0 auto;padding:8px 11px;border:1px solid #b2ccff;border-radius:9px;background:#fff;color:#1849a9;font-size:9px;font-weight:850;cursor:pointer}.map-filter-actions [data-map-history].active{border-color:#155eef;background:#eef4ff;color:#1849a9}
.privacy-note{display:flex;align-items:flex-start;gap:12px;margin:0 24px 22px;padding:15px;border:1px solid #b2ccff;border-radius:12px;background:#f8faff}.privacy-note strong{flex:0 0 auto;color:#1849a9;font-size:10px}.privacy-note p{margin:0;color:#475467;font-size:10px;line-height:1.55}
@media(max-width:820px){.tech-gps-strip{bottom:76px}.map-history-strip{align-items:flex-start;flex-direction:column}.map-history-strip button{width:100%}.privacy-note{margin-left:18px;margin-right:18px}}
@media(max-width:520px){.tech-gps-strip{width:calc(100% - 16px);padding:9px 10px}.tech-gps-strip small{max-width:205px}.tech-gps-strip-order{width:calc(100% - 16px)}.tech-gps-strip button b{display:none}}
.tech-app-body:not(.tech-order-page){padding-bottom:150px}.map-tech-telemetry{display:block;margin-top:4px;color:#155eef;font-size:8px;font-style:normal;font-weight:800}.form-panel .form-grid-2>label:not(.switch-field){display:grid;gap:7px;color:#344054;font-size:12px;font-weight:700}

/* ASK Field Service Manager V0.17.0 DEV — umowy, SLA i przeglądy */
.contract-tabs{display:flex;gap:7px;margin:18px 0;padding:6px;border:1px solid #dce5ef;border-radius:15px;background:#fff;box-shadow:0 8px 22px rgba(16,24,40,.04)}
.contract-tabs a{flex:1;padding:12px 14px;border-radius:10px;color:#475467;text-align:center;text-decoration:none;font-size:10px;font-weight:850;transition:.18s ease}
.contract-tabs a:hover{background:#f2f6fb;color:#101828}.contract-tabs a.active{background:#0f2742;color:#fff;box-shadow:0 8px 18px rgba(15,39,66,.17)}
.contract-metrics .metric-card.metric-danger{border-color:#fecdca;background:linear-gradient(145deg,#fff,#fff4f2)}.contract-metrics .metric-card.metric-danger strong{color:#b42318}
.contracts-table,.inspection-table,.sla-table{width:100%;min-width:1040px;table-layout:fixed}.contracts-table th:nth-child(1){width:22%}.contracts-table th:nth-child(2){width:18%}.contracts-table th:nth-child(3){width:14%}.contracts-table th:nth-child(4){width:21%}.contracts-table th:nth-child(5){width:9%}.contracts-table th:nth-child(6){width:10%}.contracts-table th:nth-child(7){width:6%}
.inspection-table th:nth-child(1){width:23%}.inspection-table th:nth-child(2){width:20%}.inspection-table th:nth-child(3){width:15%}.inspection-table th:nth-child(4){width:14%}.inspection-table th:nth-child(5){width:12%}.inspection-table th:nth-child(6){width:9%}.inspection-table th:nth-child(7){width:7%}
.sla-table th:nth-child(1){width:18%}.sla-table th:nth-child(2){width:18%}.sla-table th:nth-child(3),.sla-table th:nth-child(4),.sla-table th:nth-child(5){width:15%}.sla-table th:nth-child(6){width:11%}.sla-table th:nth-child(7){width:8%}
.contracts-table td,.inspection-table td,.sla-table td{vertical-align:middle}.contracts-table td>strong,.contracts-table td>small,.inspection-table td>strong,.inspection-table td>small,.sla-table td>strong,.sla-table td>small{display:block}.contracts-table td>small,.inspection-table td>small,.sla-table td>small{margin-top:4px;color:#667085;font-size:8px;line-height:1.4}.text-danger{color:#b42318!important}
.contract-form{max-width:1180px;margin-inline:auto}.contract-form .section-heading{margin-top:24px;padding-top:24px;border-top:1px solid #e4eaf1}.form-section-gap{margin-top:24px}.field-span-2{grid-column:span 2}.weekday-selector{display:grid;gap:10px;margin-top:17px;padding:17px;border:1px solid #dce5ef;border-radius:14px;background:#f8fafc}.weekday-selector>span{color:#344054;font-size:10px;font-weight:850}.weekday-selector>div{display:flex;flex-wrap:wrap;gap:8px}.weekday-selector label input{position:absolute;opacity:0}.weekday-selector label b{display:block;min-width:44px;padding:10px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#475467;text-align:center;font-size:9px;cursor:pointer}.weekday-selector label input:checked+b{border-color:#155eef;background:#eff4ff;color:#1849a9}.is-disabled{opacity:.45;pointer-events:none}
.contract-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:18px;padding:27px 29px;overflow:hidden;background:linear-gradient(125deg,#fff 0,#f7faff 65%,#eef4ff 100%)}.contract-hero h2{margin:16px 0 8px;font-size:27px;letter-spacing:-.7px}.contract-hero p{max-width:730px;margin:0;color:#667085;font-size:11px;line-height:1.7}.contract-period{flex:0 0 235px;padding:17px;border:1px solid #b2ccff;border-radius:16px;background:#fff}.contract-period span,.contract-period strong,.contract-period small{display:block}.contract-period span{color:#155eef;font-size:8px;font-weight:900;letter-spacing:1px}.contract-period strong{margin:7px 0 4px;font-size:20px}.contract-period small{color:#667085;font-size:9px}
.contract-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px;align-items:start}.contract-main,.contract-side{display:grid;gap:18px}.contract-side{position:sticky;top:88px}.sla-parameter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 24px 24px}.sla-parameter-grid article{padding:18px;border:1px solid #dce5ef;border-radius:15px;background:linear-gradient(145deg,#fff,#f8fafc)}.sla-parameter-grid span,.sla-parameter-grid strong,.sla-parameter-grid small{display:block}.sla-parameter-grid span{color:#667085;font-size:8px;font-weight:900;letter-spacing:1px}.sla-parameter-grid strong{margin:7px 0 4px;font-size:19px}.sla-parameter-grid small{color:#667085;font-size:8px;line-height:1.45}
.scope-add-form{display:grid;grid-template-columns:1.1fr 1.7fr auto;gap:10px;align-items:end;padding:0 24px 18px}.scope-add-form [hidden]{display:none}.scope-list{display:grid;gap:8px;padding:0 24px 24px}.scope-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid #e1e7ef;border-radius:12px;background:#fbfcfe}.scope-list article>div{min-width:0}.scope-list span,.scope-list strong,.scope-list small{display:block}.scope-list span{color:#155eef;font-size:7px;font-weight:950;letter-spacing:1px}.scope-list strong{margin-top:3px;font-size:10px}.scope-list small{margin-top:2px;color:#667085;font-size:8px}
.copy-field{display:flex;gap:8px}.copy-field input{min-width:0;flex:1;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:9px}
.order-sla-panel{border-color:#b2ccff;background:linear-gradient(145deg,#fff,#f4f7ff)}.order-sla-name{display:block;padding:0 20px 13px;font-size:11px}.order-sla-stages{display:grid;gap:8px;padding:0 18px 18px}.order-sla-stages>div{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;padding:10px 11px;border:1px solid #d9e3f2;border-radius:10px;background:#fff}.order-sla-stages span{font-size:8px;font-weight:850}.order-sla-stages b{font-size:7px}.order-sla-stages small{grid-column:1/-1;color:#667085;font-size:7px}
.status-dot-active{background:#12b76a}.status-dot-muted{background:#98a2b3}
@media(max-width:1120px){.contract-layout{grid-template-columns:1fr}.contract-side{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.sla-parameter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.contract-tabs{overflow-x:auto;justify-content:flex-start}.contract-tabs a{min-width:145px;flex:0 0 auto}.contract-hero{flex-direction:column;padding:22px}.contract-period{width:100%;box-sizing:border-box}.contract-side{grid-template-columns:1fr}.sla-parameter-grid{grid-template-columns:1fr;padding:0 18px 18px}.scope-add-form{grid-template-columns:1fr;padding:0 18px 18px}.scope-list{padding:0 18px 18px}.field-span-2{grid-column:auto}.weekday-selector>div{display:grid;grid-template-columns:repeat(4,1fr)}.weekday-selector label b{min-width:0}.copy-field{flex-direction:column}.copy-field .btn{width:100%}}

/* ASK Field Service Manager V0.18.0 — magazyn serwisowy */
.warehouse-tabs{margin-bottom:20px}
.warehouse-metrics .metric-card strong{font-variant-numeric:tabular-nums}
.warehouse-stock-table,.warehouse-materials-table,.warehouse-movements-table,.warehouse-requests-table{width:100%;table-layout:fixed}
.warehouse-stock-table th:nth-child(1){width:25%}.warehouse-stock-table th:nth-child(2){width:21%}.warehouse-stock-table th:nth-child(3),.warehouse-stock-table th:nth-child(4){width:11%}.warehouse-stock-table th:nth-child(5){width:14%}.warehouse-stock-table th:nth-child(6){width:10%}.warehouse-stock-table th:nth-child(7){width:8%}
.warehouse-materials-table th:nth-child(1){width:30%}.warehouse-materials-table th:nth-child(2){width:11%}.warehouse-materials-table th:nth-child(3){width:14%}.warehouse-materials-table th:nth-child(4){width:9%}.warehouse-materials-table th:nth-child(5){width:14%}.warehouse-materials-table th:nth-child(6){width:12%}.warehouse-materials-table th:nth-child(7){width:10%}
.warehouse-movements-table th:nth-child(1){width:12%}.warehouse-movements-table th:nth-child(2){width:13%}.warehouse-movements-table th:nth-child(3){width:19%}.warehouse-movements-table th:nth-child(4),.warehouse-movements-table th:nth-child(5){width:13%}.warehouse-movements-table th:nth-child(6){width:9%}.warehouse-movements-table th:nth-child(7){width:11%}.warehouse-movements-table th:nth-child(8){width:10%}
.warehouse-requests-table th:nth-child(1){width:13%}.warehouse-requests-table th:nth-child(2){width:13%}.warehouse-requests-table th:nth-child(3){width:22%}.warehouse-requests-table th:nth-child(4){width:8%}.warehouse-requests-table th:nth-child(5){width:9%}.warehouse-requests-table th:nth-child(6){width:11%}.warehouse-requests-table th:nth-child(7){width:16%}.warehouse-requests-table th:nth-child(8){width:8%}
.warehouse-stock-table td strong,.warehouse-materials-table td strong,.warehouse-movements-table td strong,.warehouse-requests-table td strong{display:block}.warehouse-stock-table td small,.warehouse-materials-table td small,.warehouse-movements-table td small,.warehouse-requests-table td small{display:block;margin-top:4px;color:var(--muted)}
.stock-low-row{background:rgba(239,68,68,.055)}.stock-low-row td:first-child{box-shadow:inset 3px 0 0 #ef4444}
.warehouse-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:20px}.warehouse-card{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.04)}.warehouse-card.is-disabled{opacity:.62}.warehouse-card header{display:flex;gap:12px;align-items:center;margin-bottom:16px}.warehouse-card header>div{min-width:0}.warehouse-card header strong,.warehouse-card header small{display:block}.warehouse-card header small{color:var(--muted);margin-top:3px}.warehouse-card dl{display:grid;gap:8px;margin:0 0 16px}.warehouse-card dl div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #eef2f7}.warehouse-card dt{color:var(--muted)}.warehouse-card dd{margin:0;text-align:right;font-weight:700}
.movement-kind{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;line-height:1;background:#e2e8f0;color:#334155}.movement-przyjecie,.movement-zwrot,.movement-korekta_plus{background:#dcfce7;color:#166534}.movement-wydanie,.movement-zuzycie,.movement-korekta_minus{background:#fee2e2;color:#991b1b}.movement-przesuniecie{background:#dbeafe;color:#1d4ed8}
.warehouse-form{padding:22px}.warehouse-form>.field{max-width:540px}.warehouse-form .detail-grid{margin-bottom:20px}
.tech-warehouse-empty{margin:12px 16px;padding:15px;border:1px dashed #f59e0b;border-radius:14px;background:#fffbeb}.tech-warehouse-empty strong{display:block;color:#92400e}.tech-warehouse-empty p{margin:5px 0 0;color:#78350f;font-size:13px;line-height:1.45}
.tech-subdetails{border-top:1px solid rgba(148,163,184,.22)}.tech-subdetails>summary{padding:15px 16px;cursor:pointer;font-weight:750;color:#334155;list-style:none}.tech-subdetails>summary::-webkit-details-marker{display:none}.tech-subdetails>summary:after{content:'+';float:right;font-size:20px;color:#64748b}.tech-subdetails[open]>summary:after{content:'−'}
.tech-request-list{display:grid;gap:8px;padding:0 16px 16px}.tech-request-list>div{display:grid;grid-template-columns:1fr auto;gap:3px 12px;padding:12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa}.tech-request-list small{grid-column:1/-1;color:#9a3412}
@media(max-width:1100px){.warehouse-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.warehouse-stock-wrap,.warehouse-materials-wrap,.warehouse-movements-wrap,.warehouse-requests-wrap{overflow-x:auto}.warehouse-stock-table{min-width:950px}.warehouse-materials-table{min-width:900px}.warehouse-movements-table{min-width:1150px}.warehouse-requests-table{min-width:1100px}}
@media(max-width:680px){.warehouse-card-grid{grid-template-columns:1fr;padding:14px}.warehouse-form{padding:15px}.warehouse-tabs{overflow-x:auto;white-space:nowrap}}

/* ASK Field Service Manager V0.19.0 DEV — ASK Platform, abonamenty i płatności */
.topbar-product-link{text-decoration:none;color:inherit;border-radius:12px;padding:7px 10px;margin-left:-10px;transition:.18s ease}.topbar-product-link:hover{background:#f2f6fb}
.subscription-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 16px;padding:12px 16px;border:1px solid #fedf89;border-radius:13px;background:#fffaeb;color:#7a2e0e;font-size:10px;font-weight:750}.subscription-banner a{color:inherit;font-weight:900}.subscription-banner-danger{border-color:#fecdca;background:#fef3f2;color:#912018}
.platform-hub-hero,.subscription-overview{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;background:linear-gradient(125deg,#fff 0,#f7faff 62%,#eaf2ff 100%)}.platform-hub-hero h2,.subscription-overview h2{margin:8px 0;font-size:28px}.platform-hub-hero p,.subscription-overview p{max-width:760px;margin:0;color:#667085;line-height:1.65}.platform-hub-subscription,.subscription-price{flex:0 0 265px;padding:18px;border:1px solid #b2ccff;border-radius:17px;background:#fff}.platform-hub-subscription span,.platform-hub-subscription strong,.platform-hub-subscription small,.platform-hub-subscription a,.subscription-price span,.subscription-price strong,.subscription-price small{display:block}.platform-hub-subscription span,.subscription-price span{color:#155eef;font-size:8px;font-weight:950;letter-spacing:1px}.platform-hub-subscription strong,.subscription-price strong{margin:7px 0 3px;font-size:20px}.platform-hub-subscription small,.subscription-price small{color:#667085;font-size:9px}.platform-hub-subscription a{margin-top:12px;color:#1849a9;font-size:9px;font-weight:900}
.platform-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0}.platform-module-card{display:flex;flex-direction:column;min-height:310px;padding:23px;border:1px solid #dce5ef;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(16,24,40,.06)}.platform-module-card.is-disabled{opacity:.65}.platform-module-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#0f2742;color:#fff}.platform-module-icon .ui-icon{width:26px;height:26px}.platform-module-copy{flex:1;margin:20px 0}.platform-module-copy>span{color:#155eef;font-size:8px;font-weight:950;letter-spacing:1px}.platform-module-copy h2{margin:7px 0 8px;font-size:22px}.platform-module-copy p{margin:0;color:#667085;line-height:1.6}.platform-module-meta{display:flex;gap:8px;margin-top:18px}.platform-module-meta span{padding:6px 9px;border-radius:999px;background:#eef4ff;color:#1849a9;font-size:8px;font-weight:850}.platform-hub-usage{margin-top:18px}
.subscription-state-line{display:flex;align-items:center;gap:12px;margin-top:16px}.subscription-state-line strong{font-size:10px;color:#475467}.subscription-usage-grid{margin:18px 0}.usage-progress{height:7px;margin:12px 0 7px;overflow:hidden;border-radius:999px;background:#e8eef5}.usage-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#155eef,#53b1fd)}
.subscription-feature-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:0 24px 24px}.subscription-feature{display:grid;grid-template-columns:30px 1fr;gap:3px 10px;align-items:center;padding:13px;border:1px solid #dce5ef;border-radius:13px;background:#fff}.subscription-feature>span{grid-row:1/3;display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef2f6;color:#667085;font-weight:950}.subscription-feature strong{font-size:9px}.subscription-feature small{color:#667085;font-size:7px}.subscription-feature.is-on{border-color:#abefc6;background:#f6fef9}.subscription-feature.is-on>span{background:#dcfae6;color:#067647}
.subscription-package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 24px 24px}.subscription-package-card{display:flex;flex-direction:column;padding:19px;border:1px solid #dce5ef;border-radius:17px;background:#fff}.subscription-package-card.is-current{border-color:#84adff;box-shadow:0 0 0 3px rgba(21,94,239,.08)}.subscription-package-card>span{color:#155eef;font-size:8px;font-weight:950;letter-spacing:1px}.subscription-package-card h3{margin:7px 0}.subscription-package-card>strong{font-size:21px}.subscription-package-card>strong small{font-size:8px;color:#667085}.subscription-package-card p{min-height:48px;color:#667085;font-size:9px;line-height:1.55}.subscription-package-card ul{flex:1;margin:5px 0 18px;padding-left:18px;color:#475467;font-size:9px;line-height:1.8}.subscription-package-card .btn{width:100%}
.integration-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}.integration-status-card span,.integration-status-card strong,.integration-status-card small{display:block}.integration-status-card span{color:#667085;font-size:8px;font-weight:950;letter-spacing:1px}.integration-status-card strong{margin:8px 0 4px;font-size:18px}.integration-status-card small{color:#667085;font-size:9px}.integration-endpoint{padding:0 24px 24px}.integration-endpoint code{display:block;padding:15px;border:1px solid #b2ccff;border-radius:12px;background:#f5f8ff;color:#1849a9;overflow-wrap:anywhere}.integration-endpoint p{margin:12px 0 0;color:#667085;line-height:1.6}
@media(max-width:1180px){.platform-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.subscription-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.subscription-banner,.platform-hub-hero,.subscription-overview{align-items:flex-start;flex-direction:column}.platform-hub-subscription,.subscription-price{width:100%;box-sizing:border-box}.platform-module-grid,.integration-status-grid{grid-template-columns:1fr}.subscription-feature-grid,.subscription-package-grid{grid-template-columns:1fr;padding:0 18px 18px}.subscription-state-line{align-items:flex-start;flex-direction:column}.platform-module-card{min-height:0}}

/* ASK Field Service Manager V0.20.2 BETA — bezpieczeństwo logowania publicznego */
.order-source-panel{border-color:#b2ccff;background:linear-gradient(145deg,#fff 0,#f8faff 100%)}
.order-mode-banner,.contract-mode-banner,.principal-model-box{display:flex;align-items:flex-start;gap:13px;margin:0 0 20px;padding:15px 17px;border:1px solid #b2ccff;border-radius:15px;background:linear-gradient(135deg,#f5f8ff,#edf4ff)}
.order-mode-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:#155eef;color:#fff}.order-mode-icon .ui-icon{width:21px;height:21px}
.order-mode-banner strong,.order-mode-banner p,.contract-mode-banner strong,.contract-mode-banner span,.principal-model-box strong,.principal-model-box p{display:block;margin:0}.order-mode-banner strong,.contract-mode-banner strong,.principal-model-box strong{color:#1849a9;font-size:11px}.order-mode-banner p,.contract-mode-banner span,.principal-model-box p{margin-top:4px;color:#475467;font-size:10px;line-height:1.6}
.principal-form{overflow:hidden}.principals-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0}.principals-table th:nth-child(1){width:22%}.principals-table th:nth-child(2){width:12%}.principals-table th:nth-child(3){width:17%}.principals-table th:nth-child(4){width:13%}.principals-table th:nth-child(5),.principals-table th:nth-child(6){width:8%}.principals-table th:nth-child(7){width:10%}.principals-table th:nth-child(8){width:10%}.principals-table td{vertical-align:middle}.principals-table .entity-avatar{background:linear-gradient(145deg,#0f2742,#155eef);color:#fff}
.principal-model-box{display:block;margin:0}.principal-model-box strong{font-size:12px}.detail-note{margin-top:18px;padding:15px 16px;border-left:4px solid #155eef;border-radius:0 12px 12px 0;background:#f8faff}.detail-note strong{display:block;margin-bottom:6px}.detail-note p{margin:0;color:#475467;line-height:1.65}
.system-health-table,.system-errors-table{width:100%;table-layout:fixed}.system-health-table th:nth-child(1){width:23%}.system-health-table th:nth-child(2){width:10%}.system-health-table th:nth-child(3){width:25%}.system-health-table th:nth-child(4){width:42%}.system-errors-table th:nth-child(1){width:15%}.system-errors-table th:nth-child(2){width:43%}.system-errors-table th:nth-child(3){width:19%}.system-errors-table th:nth-child(4){width:23%}.system-errors-table td{vertical-align:top;overflow-wrap:anywhere}
@media(max-width:1100px){.principals-table{min-width:1040px}.system-health-table{min-width:850px}.system-errors-table{min-width:1050px}.principals-table-wrap,.table-responsive{overflow-x:auto}}
@media(max-width:680px){.order-mode-banner,.contract-mode-banner{align-items:flex-start}.order-mode-banner{flex-direction:column}.principal-form .form-grid{grid-template-columns:1fr}.principal-form .field-span-2{grid-column:auto}}
