:root{--ink:#101417;--ink2:#293036;--muted:#697279;--line:#dfe3e5;--soft:#f3f5f5;--paper:#fff;--danger:#d92920;--danger-soft:#fff0ef;--orange:#ed6b20;--yellow:#f3b61f;--green:#16834b;--blue:#1769aa;--violet:#7048a8;--radius:14px;--shadow:0 18px 55px rgba(15,20,23,.12);font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#eef1f1;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;min-height:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}.hidden{display:none!important}.muted{color:var(--muted)}.optional{font-size:.75rem;color:var(--muted);font-weight:400}.eyebrow{margin:0 0 5px;font-size:.69rem;letter-spacing:.14em;font-weight:800;color:var(--muted)}
.brand-mark{width:64px;height:64px;display:grid;place-items:center;background:var(--ink);color:#fff;border-radius:16px;font-weight:900;font-size:1.25rem;letter-spacing:-.04em}.brand-mark.small{width:42px;height:42px;border-radius:11px;font-size:.93rem;flex:none}
.button{border:0;border-radius:9px;min-height:42px;padding:0 17px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button.primary{background:var(--ink);color:#fff}.button.danger{background:var(--danger);color:#fff}.button.secondary{background:var(--soft);border:1px solid var(--line);color:var(--ink)}.button.ghost{background:transparent;border:1px solid var(--line)}.button.wide{width:100%;min-height:48px}.button.small{min-height:34px;padding:0 12px;font-size:.82rem}.button:hover{filter:brightness(.95)}
label{display:grid;gap:7px;font-size:.83rem;font-weight:700;color:var(--ink2)}input,select,textarea{width:100%;border:1px solid #cfd5d8;background:#fff;border-radius:8px;padding:11px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(16,20,23,.09)}textarea{resize:vertical;min-height:90px}.form-grid{display:grid;gap:14px}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.compact{margin-top:12px}.check-row{display:flex;align-items:center;gap:8px;font-weight:600;margin:12px 0}.check-row input{width:17px;height:17px}.form-message{min-height:22px;margin:10px 0;font-size:.84rem;font-weight:650}.form-message.error{color:var(--danger)}.form-message.ok{color:var(--green)}.form-message.warning{color:#8a5800}.form-message.working{color:var(--blue)}
.rf216-scope-controls{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1050px){.rf216-scope-controls{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.rf216-scope-controls{grid-template-columns:1fr}}
/* Pierwsze uruchomienie i logowanie */
.auth-page{background:var(--ink);min-height:100vh}.setup-shell,.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(330px,.75fr) minmax(620px,1.25fr);align-items:center;gap:7vw;max-width:1450px;margin:auto;padding:45px 6vw}.auth-brand{color:#fff}.auth-brand .brand-mark{background:#fff;color:var(--ink);margin-bottom:42px}.auth-brand .eyebrow{color:#aeb7bc}.auth-brand h1{font-size:clamp(2.6rem,5vw,5rem);line-height:.98;letter-spacing:-.055em;margin:12px 0 24px}.auth-brand .lead{font-size:1.05rem;line-height:1.65;max-width:560px;color:#c8ced1}.setup-points{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:35px;color:#eef1f1;font-size:.88rem}.auth-card{background:#fff;border-radius:20px;padding:36px 40px;box-shadow:var(--shadow)}.auth-card h2{font-size:1.7rem;margin:0 0 6px;letter-spacing:-.03em}.auth-card>p{margin-top:0}.setup-card{max-height:calc(100vh - 50px);overflow:auto}.auth-card fieldset{border:0;border-top:1px solid var(--line);padding:22px 0 8px;margin:16px 0 0}.auth-card legend{padding-right:14px;font-weight:850;font-size:.92rem}.step-indicator{display:flex;align-items:center;margin-bottom:25px}.step-indicator span{width:27px;height:27px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800}.step-indicator span.active{background:var(--ink);color:#fff;border-color:var(--ink)}.step-indicator i{width:38px;height:1px;background:var(--line)}.login-shell{grid-template-columns:1fr 460px}.login-card{padding:42px}.login-card form{display:grid;gap:18px;margin-top:28px}.password-field{position:relative}.password-field button{position:absolute;right:7px;top:6px;height:34px;border:0;background:var(--soft);border-radius:6px;font-size:.76rem}.password-field input{padding-right:70px}.login-help{text-align:center!important;font-size:.76rem;color:var(--muted);margin:26px 0 0!important}.mobile-logo{display:none;align-items:center;gap:10px;font-weight:900;margin-bottom:30px}
/* Szkielet aplikacji */
.app-page{background:#eef1f1;overflow:hidden}.app-loading{height:100vh;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--muted)}.app-shell{display:grid;grid-template-columns:252px 1fr;height:100vh}.sidebar{background:var(--ink);color:#fff;display:flex;flex-direction:column;padding:20px 14px 14px;min-height:0;overflow:hidden}.app-logo{display:flex;align-items:center;gap:11px;padding:2px 8px 24px;color:#fff;text-decoration:none}.app-logo strong{display:block;font-size:1.08rem}.app-logo small{display:block;color:#939da2;font-size:.68rem;margin-top:2px}.main-nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding-right:3px;scrollbar-width:thin;scrollbar-color:#4b555b transparent}.main-nav button{border:0;background:transparent;color:#aeb7bc;border-radius:9px;text-align:left;padding:11px 12px;display:flex;align-items:center;gap:12px;font-size:.84rem;font-weight:650}.main-nav button>span{font-size:1.1rem;width:18px;text-align:center}.main-nav button em{margin-left:auto;background:#343c41;color:#fff;border-radius:20px;padding:2px 7px;font-size:.66rem;font-style:normal}.main-nav button:hover,.main-nav button.active{background:#272e32;color:#fff}.nav-caption{font-size:.58rem;letter-spacing:.15em;color:#687379;padding:19px 12px 6px;font-weight:800}.sidebar-footer{margin-top:10px;border-top:1px solid #30383d;padding-top:13px;display:flex;align-items:center;flex:none}.user-chip{min-width:0;flex:1;display:flex;align-items:center;gap:10px;text-align:left;border:0;background:transparent;color:#fff;padding:4px}.user-chip>span:first-child{width:35px;height:35px;border-radius:50%;background:#343c41;display:grid;place-items:center;font-size:.7rem;font-weight:850;flex:none}.user-chip>span:last-child{min-width:0}.user-chip strong,.user-chip small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip strong{font-size:.75rem}.user-chip small{font-size:.63rem;color:#8e999e;margin-top:3px}.icon-button{border:0;background:transparent;color:#9ba5aa;font-size:1.3rem;padding:8px}.workspace{min-width:0;overflow-y:auto}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.topbar h1{font-size:1.45rem;letter-spacing:-.035em;margin:0}.top-actions{display:flex;align-items:center;gap:14px}.connection{font-size:.71rem;color:var(--muted);display:flex;align-items:center;gap:6px}.connection i{width:7px;height:7px;background:var(--green);border-radius:50%}.view{padding:25px 30px 70px;max-width:1620px;margin:auto}.mobile-nav{display:none}
/* Elementy dashboardu */
.hero-alert{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;border-radius:var(--radius);padding:22px 25px;margin-bottom:18px}.hero-alert.danger{background:var(--danger)}.hero-alert.warning{background:#a85400}.hero-alert h2{margin:0;font-size:1.15rem}.hero-alert p{margin:5px 0 0;color:#c7ced1;font-size:.8rem}.hero-alert.danger p{color:#ffe6e3}.hero-alert.warning p{color:#fff1d6}.metrics{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:11px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.metric span{font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:750}.metric strong{display:block;font-size:1.9rem;margin-top:7px;letter-spacing:-.05em}.metric.alert{border-top:4px solid var(--danger);padding-top:13px}.metric.warning{border-top:4px solid var(--orange);padding-top:13px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-header{min-height:57px;padding:14px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.panel-header h2{font-size:.94rem;margin:0}.panel-header p{font-size:.7rem;color:var(--muted);margin:3px 0 0}.panel-body{padding:16px}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);margin-bottom:6px}
.ticket-stack{display:grid;gap:9px}.ticket-card{width:100%;background:#fff;border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:7px 12px;text-align:left}.ticket-card.priority-CRITICAL,.ticket-card.status-NEW{border-left-color:var(--danger)}.ticket-card.priority-HIGH{border-left-color:var(--orange)}.ticket-card:hover{background:#fafbfb}.ticket-card h3{font-size:.86rem;margin:0}.ticket-card .ticket-number{font-size:.68rem;color:var(--muted);font-weight:700}.ticket-card .ticket-path{font-size:.73rem;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-card .ticket-description{font-size:.76rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-card .ticket-age{grid-row:1/4;grid-column:2;align-self:center;text-align:right}.ticket-card .ticket-age strong{display:block;font-size:1.05rem}.ticket-card .ticket-age small{font-size:.61rem;color:var(--muted)}.status-pill{display:inline-flex;align-items:center;width:max-content;border-radius:20px;padding:4px 8px;background:var(--soft);font-size:.62rem;font-weight:800}.status-pill.NEW,.status-pill.CRITICAL{background:var(--danger-soft);color:var(--danger)}.status-pill.IN_PROGRESS{background:#eaf3fb;color:var(--blue)}.status-pill.WAITING_PARTS,.status-pill.DEFERRED{background:#f6efff;color:var(--violet)}.status-pill.AWAITING_VERIFICATION{background:#fff4dc;color:#8a5800}.status-pill.OBSERVATION{background:#fff1db;color:#9a5700}.status-pill.CLOSED{background:#eaf7ef;color:var(--green)}
.quick-actions{display:grid;gap:9px}.quick-action{border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;padding:13px;display:flex;gap:11px;align-items:center}.quick-action>span{width:34px;height:34px;border-radius:8px;background:var(--soft);display:grid;place-items:center;font-size:1.1rem}.quick-action strong{display:block;font-size:.78rem}.quick-action small{font-size:.66rem;color:var(--muted)}
.mobile-menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px}.mobile-menu-item{min-height:92px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);padding:13px;text-align:left;display:flex;flex-direction:column;justify-content:space-between;gap:9px}.mobile-menu-item span{font-size:1.35rem}.mobile-menu-item strong{font-size:.76rem}.mobile-menu-item.active{border:2px solid var(--ink);background:var(--soft)}
/* Utrzymanie prewencyjne R7: plany generują osobne zlecenia pracy. */
.maintenance-tabs{display:flex;gap:7px;overflow-x:auto;margin:-3px 0 15px;padding:3px 1px 6px;scrollbar-width:thin}.maintenance-tab{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:10px;padding:10px 13px;font-size:.75rem;font-weight:800}.maintenance-tab:hover{border-color:#9aa2a6;color:var(--ink)}.maintenance-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}.maintenance-tab span{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 6px;border-radius:12px;background:var(--soft);color:var(--ink);font-size:.62rem}.maintenance-tab.active span{background:#3b4449;color:#fff}.workorder-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:160px}.maintenance-row.status-OVERDUE td:first-child,.maintenance-row.status-REJECTED td:first-child{border-left:4px solid var(--danger)}.maintenance-row.status-AWAITING_VERIFICATION td:first-child{border-left:4px solid var(--yellow)}.danger-text{color:var(--danger)!important}.warning-text{color:#a95300!important}.maintenance-detail h3{font-size:.85rem;margin:22px 0 9px}.maintenance-detail .detail-grid>div{background:var(--soft);border-radius:9px;padding:11px}.maintenance-detail .detail-grid span,.maintenance-detail .detail-grid strong{display:block}.maintenance-detail .detail-grid span{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:4px}.safety-banner{border:2px solid var(--danger);border-radius:11px;background:var(--danger-soft);padding:14px 16px;margin:15px 0;color:#8e1812}.safety-banner strong{font-size:.82rem}.safety-banner p{font-size:.72rem;line-height:1.5;margin:5px 0 0;color:#76231e}.maintenance-timeline{list-style:none;padding:0;margin:0;display:grid;gap:8px}.maintenance-timeline li{position:relative;border-left:3px solid var(--ink);background:var(--soft);border-radius:0 9px 9px 0;padding:10px 13px}.maintenance-timeline strong,.maintenance-timeline span{display:block}.maintenance-timeline strong{font-size:.72rem}.maintenance-timeline span{font-size:.61rem;color:var(--muted);margin-top:3px}.maintenance-timeline p{font-size:.7rem;margin:5px 0 0;white-space:pre-wrap}.maintenance-checklist{display:grid;gap:11px}.maintenance-check-item{border:1px solid var(--line);border-radius:11px;padding:13px;background:#fff}.maintenance-check-item:focus-within{border-color:var(--ink)}.check-item-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.check-item-title strong{font-size:.8rem}.check-item-title span{font-size:.57rem;text-transform:uppercase;letter-spacing:.06em;color:var(--danger);background:var(--danger-soft);border-radius:12px;padding:4px 7px}.maintenance-check-item>p{font-size:.72rem;color:var(--muted);margin:5px 0 12px}.maintenance-section{margin-bottom:18px}
/* Tabele i paski narzędzi */
.toolbar{display:flex;gap:10px;align-items:end;margin-bottom:16px;flex-wrap:wrap}.toolbar .search{min-width:280px;flex:1}.toolbar label{font-size:.7rem}.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;font-size:.76rem}.data-table th{text-align:left;color:var(--muted);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;padding:11px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:12px 11px;border-bottom:1px solid #edf0f1;vertical-align:middle}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover{background:#f7f8f8}.data-table .description-cell{max-width:330px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.priority-dot{width:8px;height:8px;display:inline-block;border-radius:50%;background:#aaa;margin-right:7px}.priority-dot.CRITICAL{background:var(--danger)}.priority-dot.HIGH{background:var(--orange)}.section-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px}.section-intro h2{margin:0;font-size:1.15rem}.section-intro p{margin:5px 0 0;color:var(--muted);font-size:.76rem}.knowledge-banner{background:#fff;border:1px solid var(--line);border-left:5px solid var(--ink);border-radius:12px;padding:17px;margin-bottom:17px;display:flex;gap:14px}.knowledge-banner>span{font-size:1.5rem}.knowledge-banner strong{font-size:.87rem}.knowledge-banner p{font-size:.73rem;color:var(--muted);margin:4px 0 0}
/* Konfiguracja */
.config-layout{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(390px,1.25fr);gap:18px}.tree-list{display:grid;gap:3px;max-height:calc(100vh - 260px);overflow:auto}.tree-item{border:0;background:transparent;border-radius:7px;padding:9px 10px;text-align:left;display:flex;gap:8px;align-items:center;font-size:.76rem}.tree-item:hover,.tree-item.active{background:var(--soft)}.tree-item small{margin-left:auto;color:var(--muted);font-size:.58rem}.tree-dot{width:7px;height:7px;border:1px solid var(--ink);border-radius:50%;flex:none}.config-form{display:grid;gap:15px}.multi-select{border:1px solid var(--line);border-radius:9px;max-height:180px;overflow:auto;padding:7px}.multi-select label{display:flex;align-items:center;gap:8px;padding:6px;font-weight:500;font-size:.74rem}.multi-select input{width:16px;height:16px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.config-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:15px;text-align:left}.config-card:hover{border-color:#9fa7ab}.config-card h3{font-size:.86rem;margin:0 0 5px}.config-card p{font-size:.7rem;color:var(--muted);margin:0}.config-card .tags{margin-top:11px}.tag{display:inline-block;background:var(--soft);border-radius:15px;padding:4px 8px;font-size:.59rem;margin:2px}
/* Modal zgłoszenia i szczegółów */
.modal{border:0;border-radius:16px;padding:0;box-shadow:var(--shadow);width:min(760px,calc(100vw - 30px));max-height:calc(100vh - 30px);overflow:auto}.modal.wide{width:min(1050px,calc(100vw - 30px))}.modal::backdrop{background:rgba(10,14,16,.62);backdrop-filter:blur(2px)}.modal-header{position:sticky;top:0;background:#fff;z-index:2;display:flex;justify-content:space-between;align-items:start;padding:21px 23px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:1.18rem}.modal-header p{font-size:.7rem;color:var(--muted);margin:4px 0 0}.modal-close{border:0;background:var(--soft);width:34px;height:34px;border-radius:50%;font-size:1.1rem}.modal-body{padding:22px}.modal-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid var(--line);padding:14px 22px;display:flex;justify-content:flex-end;gap:9px}.form-section{margin-bottom:19px}.form-section h3{font-size:.76rem;margin:0 0 10px;text-transform:uppercase;letter-spacing:.07em}.suggestions{margin-top:13px;border:1px solid var(--line);border-radius:10px;overflow:hidden}.suggestions-header{padding:11px 13px;background:var(--soft);font-size:.72rem;font-weight:800}.suggestion{padding:12px 13px;border-top:1px solid var(--line);font-size:.72rem}.suggestion:first-of-type{border-top:0}.suggestion strong{display:block;margin-bottom:4px}.suggestion p{margin:4px 0;color:var(--muted)}.suggestion-result{color:var(--green)!important}.ticket-detail-head{display:grid;grid-template-columns:1fr auto;gap:16px}.ticket-detail-head h2{font-size:1.3rem;margin:5px 0}.detail-meta{display:flex;flex-wrap:wrap;gap:7px;font-size:.68rem;color:var(--muted)}.detail-description{font-size:.86rem;line-height:1.55;background:var(--soft);border-radius:9px;padding:14px;margin:16px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.timeline{position:relative;padding-left:19px;display:grid;gap:14px}.timeline:before{content:"";position:absolute;left:5px;top:7px;bottom:7px;width:1px;background:var(--line)}.timeline-event{position:relative}.timeline-event:before{content:"";position:absolute;left:-18px;top:5px;width:8px;height:8px;background:#fff;border:2px solid var(--ink);border-radius:50%}.timeline-event strong{font-size:.73rem}.timeline-event small{display:block;color:var(--muted);font-size:.62rem;margin:3px 0}.timeline-event p{font-size:.72rem;margin:5px 0}.transition-actions{display:flex;gap:7px;flex-wrap:wrap;margin:13px 0}.file-row{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px;font-size:.72rem}.upload-zone{border:1px dashed #aeb6ba;padding:15px;border-radius:9px;text-align:center;margin-top:10px}.toast-host{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:8px}.toast{background:var(--ink);color:#fff;border-radius:9px;padding:12px 15px;box-shadow:var(--shadow);font-size:.75rem;animation:toast-in .2s ease}.toast.error{background:var(--danger)}@keyframes toast-in{from{transform:translateY(10px);opacity:0}}
/* Wzorce maszyn i historia parku */
.template-toolbar{display:flex;justify-content:flex-end;margin:16px 0}.machine-template-card{cursor:default;text-align:left}.machine-template-card details{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.machine-template-card summary{cursor:pointer;font-weight:800}.instance-fields{border:1px solid var(--line);border-radius:12px;padding:14px;margin:2px 0 14px}.instance-fields legend{padding:0 8px;font-weight:900}.machine-cycle-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.machine-cycle-summary>div{border:1px solid var(--line);border-radius:12px;padding:12px;background:#f7f9f9}.machine-cycle-summary span{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}.compact-timeline{max-height:360px;overflow:auto}.compact-timeline .timeline-item{margin:0 0 10px;padding:10px 12px;border-left:3px solid #20292e;background:#f7f9f9}.compact-timeline small{display:block;color:var(--muted);margin-top:3px}.compact-timeline p{margin:6px 0 0}.button.danger{background:#c8271c;color:#fff;border-color:#c8271c}@media(max-width:760px){.machine-cycle-summary{grid-template-columns:1fr}}
/* Profil */
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.profile-card{padding:20px}.profile-card h2{font-size:.95rem;margin:0 0 17px}.profile-form{display:grid;gap:13px}.role-list{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:1100px){.metrics{grid-template-columns:repeat(3,1fr)}.dashboard-grid{grid-template-columns:1fr}.app-shell{grid-template-columns:220px 1fr}.config-layout{grid-template-columns:1fr}.tree-list{max-height:320px}.setup-shell{grid-template-columns:1fr;padding:35px}.auth-brand{display:none}.auth-card{margin:auto;width:min(720px,100%)}.setup-card{max-height:none}}
@media(max-width:720px){.app-page{overflow:auto}.app-shell{display:block;height:auto;min-height:100vh}.sidebar{display:none}.workspace{overflow:visible}.topbar{height:72px;padding:0 15px}.topbar .connection{display:none}.topbar h1{font-size:1.15rem}.topbar .eyebrow{font-size:.58rem}.topbar .button{font-size:0;width:42px;padding:0}.topbar .button:before{content:"＋";font-size:1.25rem}.view{padding:15px 12px 95px}.mobile-nav{display:grid;grid-template-columns:1fr 1fr 62px 1fr 1fr;position:fixed;z-index:20;bottom:0;left:0;right:0;height:68px;padding:5px 8px max(5px,env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}.mobile-nav.training-enabled{grid-template-columns:1fr 1fr 58px 1fr 1fr 1fr}.mobile-nav button{border:0;background:transparent;font-size:.6rem;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px}.mobile-nav button span{font-size:1.1rem}.mobile-nav button.active{color:var(--ink);font-weight:800}.mobile-nav .mobile-add{width:54px;height:54px;border-radius:50%;background:var(--danger);color:#fff;font-size:1.6rem;transform:translateY(-18px);box-shadow:0 7px 20px rgba(217,41,32,.35);display:grid;place-items:center}.metrics{grid-template-columns:repeat(2,1fr);gap:8px}.metric{padding:12px}.metric strong{font-size:1.55rem}.hero-alert{padding:17px;align-items:start}.hero-alert .button{display:none}.dashboard-grid{gap:12px}.panel-header{padding:12px}.panel-body{padding:11px}.ticket-card{padding:11px}.toolbar{align-items:stretch}.toolbar>*{width:100%;min-width:0!important}.section-intro{align-items:start}.section-intro .button{font-size:0;width:42px}.section-intro .button:before{content:"＋";font-size:1rem}.table-wrap>.data-table{min-width:680px}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.modal{width:100vw;max-width:none;height:100dvh;max-height:none;border-radius:0;margin:0}.modal.wide{width:100vw}.modal-body{padding:17px}.detail-grid,.profile-grid{grid-template-columns:1fr}.config-layout{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr}.toast-host{left:12px;right:12px;bottom:80px}.login-shell,.setup-shell{display:block;padding:0;background:#fff}.auth-card{min-height:100vh;border-radius:0;box-shadow:none;padding:30px 22px}.mobile-logo{display:flex}.login-card{display:flex;flex-direction:column;justify-content:center}.auth-card fieldset{padding-top:18px}.setup-points{grid-template-columns:1fr}}
@media(max-width:720px){.maintenance-tabs{margin-right:-12px;padding-right:12px}.maintenance-tab{padding:9px 11px}.workorder-actions{min-width:0}.workorder-actions .button{font-size:.65rem!important;width:auto!important;padding:0 9px}.workorder-actions .button:before{content:none!important}.maintenance-check-item{padding:11px}.maintenance-section .data-table th:nth-child(2),.maintenance-section .data-table td:nth-child(2){min-width:190px}.safety-banner{padding:12px}}

/* Kafelkowy wybór miejsca awarii i szybkie czynności na hali. */
.asset-picker-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px}.asset-picker-head h3{margin:8px 0 0;font-size:1rem}.asset-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:.68rem}.asset-breadcrumb b{color:#a8afb3}.asset-tile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.asset-tile{min-height:142px;border:2px solid var(--line);border-radius:14px;background:#fff;padding:17px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;transition:.15s ease}.asset-tile:hover,.asset-tile:focus-visible{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow)}.asset-tile-icon{font-size:1.7rem;line-height:1;margin-bottom:14px}.asset-tile strong{font-size:1.08rem}.asset-tile small{font-size:.68rem;color:var(--muted);margin-top:4px;min-height:2em}.asset-tile i{font-style:normal;font-size:.57rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;margin-top:auto;color:var(--ink2)}.asset-current{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--soft);padding:12px 14px;margin:0 0 13px;display:flex;align-items:center;gap:12px;text-align:left}.asset-current>span{font-size:1.35rem}.asset-current strong,.asset-current small{display:block}.asset-current small{color:var(--muted);margin-top:2px}.selected-asset-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border:2px solid var(--ink);border-radius:13px;padding:13px 15px;margin-bottom:22px}.selected-asset-card>span{font-size:1.7rem}.selected-asset-card small,.selected-asset-card strong,.selected-asset-card p{display:block;margin:0}.selected-asset-card small{font-size:.58rem;text-transform:uppercase;color:var(--muted);font-weight:800}.selected-asset-card strong{font-size:.9rem;margin-top:2px}.selected-asset-card p{font-size:.65rem;color:var(--muted);margin-top:3px}.quick-code-form{max-width:330px;margin:10px auto 3px}.quick-code-form label{text-align:center}.quick-code-input{font-size:2rem!important;letter-spacing:.55em;text-align:center;padding-left:.55em!important;font-variant-numeric:tabular-nums}.quick-ticket-list{display:grid;gap:10px;margin-top:15px}.quick-ticket{border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:11px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:14px}.quick-ticket strong{display:block;font-size:.8rem;margin-top:7px}.quick-ticket p{font-size:.7rem;color:var(--muted);margin:5px 0 0}.quick-ticket-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.status-pill.DOCUMENTATION_PENDING{background:#f3e8ff;color:#6d28d9}
@media(max-width:720px){.asset-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.asset-tile{min-height:125px;padding:13px}.asset-picker-head{align-items:center}.selected-asset-card{grid-template-columns:auto 1fr}.selected-asset-card .button{grid-column:1/-1;width:100%;font-size:.7rem}.quick-ticket{grid-template-columns:1fr}.quick-ticket-actions{justify-content:stretch}.quick-ticket-actions .button{flex:1;min-height:42px}}
.documentation-warning{border-left:3px solid #7c3aed;background:#f6f0ff;padding:9px 11px!important;color:#5b21b6!important}.generated-code{text-align:center;border:2px solid var(--ink);border-radius:13px;padding:18px}.generated-code small,.generated-code strong{display:block}.generated-code strong{font-size:3rem;letter-spacing:.25em;padding-left:.25em;margin:12px 0;font-variant-numeric:tabular-nums}
.organizer-toolbar,.organizer-bulk{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.organizer-toolbar label{min-width:280px;flex:1}.organizer-bulk{position:sticky;top:0;z-index:2;background:#fff;border:1px solid var(--line);border-radius:10px;padding:11px}.organizer-bulk>span{min-width:260px;flex:1;font-size:.7rem}.organizer-bulk select{width:auto;min-width:175px}.organizer-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;align-items:start;max-height:58vh;overflow:auto;padding:3px}.organizer-column{border:2px solid var(--line);border-radius:12px;background:var(--soft);min-height:180px;transition:.15s}.organizer-column.drag-over{border-color:var(--ink);background:#e8ecee;transform:translateY(-2px)}.organizer-column>header{display:flex;justify-content:space-between;gap:8px;padding:12px;border-bottom:1px solid var(--line);background:#fff;border-radius:10px 10px 0 0}.organizer-column>header strong{font-size:.76rem}.organizer-column>header small{font-size:.62rem;color:var(--muted)}.organizer-column>div{padding:8px;display:grid;gap:7px}.organizer-machine{display:flex;align-items:center;gap:5px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:8px;cursor:grab}.organizer-machine:active{cursor:grabbing}.organizer-machine>label{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.organizer-machine input{width:17px;height:17px;flex:none}.organizer-machine span{min-width:0}.organizer-machine strong,.organizer-machine small{display:block}.organizer-machine strong{font-size:.7rem}.organizer-machine small{color:var(--muted);font-size:.58rem;margin-top:3px;overflow-wrap:anywhere}.organizer-machine .icon-button{font-size:1rem;padding:3px}
@media(max-width:720px){.section-intro>.transition-actions{width:100%;display:flex}.section-intro>.transition-actions .button{font-size:.66rem;width:auto;flex:1;padding:0 8px}.section-intro>.transition-actions .button:before{content:none}}
@media(max-width:720px){.organizer-bulk>*{width:100%!important}.organizer-board{grid-template-columns:1fr;max-height:none}.organizer-toolbar label{min-width:0;width:100%}}
@media print{.sidebar,.topbar,.mobile-nav,.button{display:none!important}.app-shell{display:block}.view{padding:0}.panel{break-inside:avoid}}
.clickable-row{cursor:pointer}.print-report-header{display:flex;justify-content:space-between;gap:20px;border-bottom:3px solid var(--ink);padding-bottom:14px;margin-bottom:18px}.print-report-header h2{font-size:1.35rem;margin:4px 0}.print-report-header p{margin:0;color:var(--muted)}.print-report-header>div:last-child{text-align:right;font-size:.7rem}.report-block{border:1px solid var(--line);border-radius:10px;padding:15px;margin-top:14px}.report-block h3{margin:0 0 8px}.report-block p{white-space:pre-wrap}.import-type-review{display:grid;margin:14px 0;padding:14px;border:2px solid var(--ink);border-radius:10px}.import-type-review small{color:var(--muted);font-weight:500}.requirement-week{display:grid;gap:6px;margin-top:12px}.requirement-day{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px}.requirement-day>strong{font-size:.7rem}.requirement-day.missing{border-color:#f0b4b0;background:var(--danger-soft)}.multi-select.compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-height:none}.history-table td{vertical-align:top;line-height:1.4}.history-table .muted{margin-top:5px}
.keyboard-action{cursor:pointer}.keyboard-action:focus-visible{outline:3px solid var(--blue);outline-offset:-3px;background:#eef6fc!important}
@media(max-width:720px){.print-report-header{display:block}.print-report-header>div:last-child{text-align:left;margin-top:10px}.requirement-day{grid-template-columns:1fr}.multi-select.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-asset-card>.transition-actions{grid-column:1/-1}}
/* Raport zmianowy Rf-216: czytelny także przed wydrukiem. */
.rf216-report{background:#fff;color:#101820;padding:10px}.rf216-header{display:grid;grid-template-columns:170px 1fr;align-items:center;border:2px solid #17365d;background:#eaf0f8;margin-bottom:12px}.rf216-logo{padding:14px;border-right:2px solid #17365d;text-align:center}.rf216-logo strong,.rf216-logo span{display:block}.rf216-header>div:last-child{padding:12px 18px}.rf216-header h2{color:#17365d;margin:0}.rf216-header p{margin:3px 0}.rf216-meta,.rf216-table{width:100%;border-collapse:collapse}.rf216-meta th,.rf216-meta td,.rf216-table th,.rf216-table td{border:1px solid #9aaac0;padding:7px;vertical-align:top}.rf216-meta th{background:#d9e2f3;color:#17365d}.rf216-legend{padding:8px;border:1px solid #9aaac0;background:#f7f9fc;margin:10px 0}.rf216-table{font-size:12px}.rf216-table th{background:#17365d;color:#fff}.rf216-table small{display:block;color:#5c6673;margin-top:3px}.report-pending td{background:#fff2cc}.report-yes{background:#c6e0b4!important;color:#17612a;font-weight:800;text-align:center}.report-no{background:#ffe699!important;color:#8a4f00;font-weight:800;text-align:center}.rf216-notes{border:1px solid #9aaac0;padding:10px;margin-top:12px}.rf216-footer{display:flex;justify-content:space-between;border-top:1px solid #9aaac0;margin-top:12px;padding-top:7px;color:#5c6673}.session-list{display:grid;gap:8px}.session-row{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px}.session-row small{display:block;color:var(--muted);margin-top:3px}.online-dot{width:10px;height:10px;border-radius:50%;background:#16a34a;margin-top:5px;box-shadow:0 0 0 3px #dcfce7}.table-group td{background:#eef2f6!important;color:#4b5563;letter-spacing:.08em}
.rf216-notes p{white-space:pre-wrap}
.rf216-table-scroll{max-width:100%;overflow-x:auto}.shift-report-pager{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:12px 16px;border-top:1px solid var(--line)}
@media(max-width:820px){.rf216-report{max-width:100%;overflow:hidden;padding:6px}.rf216-header{grid-template-columns:1fr}.rf216-logo{border-right:0;border-bottom:2px solid #17365d;text-align:left}.rf216-header>div:last-child{padding:10px 12px}.rf216-header h2{font-size:1.05rem}.rf216-meta,.rf216-meta tbody{display:block;width:100%}.rf216-meta tr{display:grid;grid-template-columns:minmax(115px,.7fr) minmax(0,1.3fr)}.rf216-meta th,.rf216-meta td{display:block;width:auto!important;min-width:0;overflow-wrap:anywhere}.rf216-meta td[colspan="3"]{grid-column:2/-1}.rf216-table-scroll{overscroll-behavior-x:contain}.rf216-table{min-width:760px}.rf216-footer{display:grid;gap:5px}.shift-report-pager{justify-content:space-between}}
@media(max-width:480px){.rf216-meta tr{grid-template-columns:1fr}.rf216-meta td[colspan="3"]{grid-column:1}.rf216-meta th{border-bottom:0}.rf216-meta td{border-top:0}}
.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.login-divider::before,.login-divider::after{content:"";height:1px;background:var(--line);flex:1}

/* R8 — graficzny edytor dowolnie głębokiej struktury. */
.structure-layout{display:grid;grid-template-columns:minmax(620px,1.55fr) minmax(320px,.75fr);gap:18px;align-items:start}.structure-panel{min-width:0}.structure-controls,.structure-bulk{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.structure-controls .check-row{margin:0}.structure-bulk{padding:10px 14px;border-bottom:1px solid var(--line);background:#f7f9f9;position:sticky;top:0;z-index:3}.structure-bulk strong{font-size:.72rem;margin-right:auto}.structure-bulk select{width:auto;min-width:230px}.structure-tree{padding:9px;max-height:calc(100vh - 285px);overflow:auto}.structure-branch{min-width:560px}.structure-row{--depth:0;display:grid;grid-template-columns:25px 22px 92px minmax(190px,1fr) auto;gap:7px;align-items:center;min-height:48px;padding:5px 7px 5px calc(7px + var(--depth)*22px);border-radius:8px;border:1px solid transparent;transition:.12s;background:#fff}.structure-row:hover{background:#f1f4f5;border-color:#e2e6e8}.structure-row.drag-over{border:2px solid var(--ink);background:#e6eef0}.structure-row.drag-source{opacity:.55}.tree-toggle{border:0;background:transparent;width:25px;height:25px;font-size:1rem;cursor:pointer}.tree-toggle.empty{color:#aeb6ba;cursor:default}.structure-row input[type=checkbox]{width:17px;height:17px}.structure-kind{border-radius:20px;background:#e9edef;padding:4px 7px;font-size:.56rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.structure-name{min-width:0}.structure-name strong,.structure-name small{display:block}.structure-name strong{font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.structure-name small{font-size:.59rem;color:var(--muted);margin-top:3px}.structure-row-actions{display:flex;gap:3px;opacity:.2}.structure-row:hover .structure-row-actions{opacity:1}.danger-icon{color:#b91c1c}.structure-branch.deleted>.structure-row{opacity:.58;background:#f7f7f7;text-decoration:none}.structure-branch.deleted .structure-name strong{text-decoration:line-through}.area-drop-grid{display:grid;gap:10px}.area-drop-card{border:2px dashed #c5ccd0;border-radius:12px;padding:13px;background:#fff;transition:.12s}.area-drop-card.drag-over{border-style:solid;border-color:var(--ink);background:#e8eff1;transform:scale(1.01)}.area-drop-card strong,.area-drop-card small{display:block}.area-drop-card strong{font-size:.78rem}.area-drop-card small{font-size:.62rem;color:var(--muted);margin-top:4px}.area-drop-card .button{margin-top:8px}
@media(max-width:1180px){.structure-layout{grid-template-columns:1fr}.structure-tree{max-height:620px}}@media(max-width:720px){.structure-bulk>*{width:100%!important}.structure-bulk select{min-width:0}.structure-tree{padding:4px;overflow:auto}.structure-row{grid-template-columns:24px 20px 72px minmax(150px,1fr) auto;padding-left:calc(4px + var(--depth)*16px)}.structure-row-actions{opacity:1}.structure-row-actions [data-add-sibling],.structure-row-actions [data-add-child]{display:none}}

/* R8 — roczny/miesięczny plan przeglądów i graficzna lista Rf-215. */
.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid .wide{grid-column:span 2}.knowledge-banner.compact{padding:11px 13px;margin:0}.knowledge-banner.compact>span{font-size:.85rem;font-weight:900}.schedule-designer{display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px;align-items:start}.schedule-designer>aside{position:sticky;top:75px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#f7f9f9;max-height:65vh;overflow:auto}.schedule-designer h3{font-size:.8rem;margin:0 0 5px}.schedule-palette{display:grid;gap:7px;margin-top:11px}.schedule-legend{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:.62rem;margin:0 2px 8px}.annual-board{display:grid;grid-template-columns:repeat(3,minmax(210px,1fr));gap:9px;max-height:65vh;overflow:auto;padding:2px}.monthly-board{display:grid;grid-template-columns:repeat(7,minmax(112px,1fr));gap:6px;max-height:65vh;overflow:auto;padding:2px}.schedule-slot{border:2px dashed #cbd2d5;border-radius:10px;background:#fff;min-height:118px;padding:7px;transition:.12s}.schedule-slot.day{min-height:105px}.schedule-slot.weekend{background:#f1f3f4}.schedule-slot.drag-over{border-style:solid;border-color:var(--ink);background:#e8eff1}.schedule-slot>header{display:flex;justify-content:space-between;align-items:center;padding:2px 2px 7px;font-size:.68rem}.schedule-slot>header span{color:var(--muted);font-size:.58rem}.schedule-card{position:relative;border:1px solid var(--line);border-left:4px solid var(--ink);border-radius:7px;background:#fff;padding:7px 24px 7px 8px;margin-bottom:5px;cursor:grab}.schedule-card.source{padding-right:8px}.schedule-card:active{cursor:grabbing}.schedule-card strong,.schedule-card small{display:block}.schedule-card strong{font-size:.62rem}.schedule-card small{font-size:.54rem;color:var(--muted);margin-top:3px;overflow-wrap:anywhere}.schedule-card em{font-size:.58rem;font-weight:900;font-style:normal}.schedule-card button{position:absolute;right:3px;top:3px;width:20px;height:20px;border:0;border-radius:50%;background:#f0f2f3}.checklist-toolbar{display:flex;align-items:end;gap:8px;position:sticky;top:72px;z-index:2;border:1px solid var(--line);border-radius:10px;padding:10px;background:#fff}.checklist-toolbar label{flex:1}.checklist-editor{display:grid;gap:9px;max-height:54vh;overflow:auto;padding:2px}.checklist-row{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}.checklist-row>header{display:flex;align-items:center;gap:8px;background:#f4f6f6;padding:8px 10px}.checklist-row>header strong{min-width:0;flex:1;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checklist-row>header>div{display:flex;gap:3px}.checklist-row>header button{width:27px;height:27px;border:1px solid var(--line);border-radius:6px;background:#fff}.drag-handle{cursor:grab;color:var(--muted)}.checklist-row>.form-grid{padding:11px}.checklist-row label{font-size:.68rem}
@media(max-width:1100px){.annual-board{grid-template-columns:repeat(2,minmax(210px,1fr))}.monthly-board{grid-template-columns:repeat(4,minmax(125px,1fr))}.schedule-designer{grid-template-columns:230px minmax(0,1fr)}}
@media(max-width:720px){.form-grid.four{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.schedule-designer{grid-template-columns:1fr}.schedule-designer>aside{position:static;max-height:220px}.annual-board{grid-template-columns:1fr}.monthly-board{grid-template-columns:repeat(2,minmax(130px,1fr));max-height:none}.checklist-toolbar{position:static;align-items:stretch;flex-direction:column}.checklist-toolbar>*{width:100%}.checklist-editor{max-height:none}}
/* R9 — graficzna konfiguracja obszarów, wzorców i słowników */
.r9-board-toolbar,.r9-bulk-bar,.r9-template-toolbar,.r9-template-bulk{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:14px}.r9-board-toolbar label{min-width:240px;flex:1}.r9-bulk-bar,.r9-template-bulk{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faf9}.r9-bulk-bar strong,.r9-template-bulk strong{margin-right:auto}.r9-bulk-bar select,.r9-template-bulk select{min-width:260px}.r9-area-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;align-items:start;max-height:58vh;overflow:auto;padding:3px}.r9-area-column{border:1px solid var(--line);border-radius:14px;background:#f6f8f7;min-height:190px;transition:.15s}.r9-area-column.drag-over{border:2px solid var(--accent);background:#fff7f6;box-shadow:0 0 0 4px rgba(224,42,32,.08)}.r9-area-column>header{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;border-bottom:1px solid var(--line);background:#fff;border-radius:14px 14px 0 0}.r9-area-column>header strong,.r9-area-column>header small{display:block}.r9-area-cards{display:grid;gap:8px;padding:10px}.r9-machine-card{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #d7ddda;border-radius:10px;background:#fff;padding:10px;cursor:grab}.r9-machine-card.selected{border-color:#111;background:#f0f3f2}.r9-machine-card label{display:flex;gap:9px;align-items:center;margin:0;min-width:0}.r9-machine-card label span{min-width:0}.r9-machine-card strong,.r9-machine-card small{display:block}.r9-machine-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.r9-machine-card small{color:var(--muted);margin-top:3px}.r9-history{margin-top:16px;border-top:1px solid var(--line);padding-top:12px}.r9-timeline{display:grid;gap:8px;margin-top:10px}.r9-timeline>div{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) minmax(220px,1fr);gap:12px;padding:9px;border-bottom:1px solid var(--line)}.r9-timeline small{color:var(--muted)}
.structure-layout.r10-structure-only{grid-template-columns:minmax(0,1fr)}#modal:has(.r9-area-workspace){width:calc(100vw - 30px);max-width:1800px;height:calc(100dvh - 30px);max-height:calc(100dvh - 30px);overflow:hidden}#modal:has(.r9-area-workspace) #modalContent{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}#modal:has(.r9-area-workspace) .modal-body{min-height:0;overflow:auto}.r9-area-workspace{min-width:0}.r10-structure-only .structure-tree{max-height:calc(100vh - 285px)}.r9-progress-row{grid-template-columns:minmax(260px,1fr) minmax(180px,2fr) 50px 84px}
.structure-name.expandable{cursor:pointer}.structure-name.expandable:focus{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.r9-template-grid .machine-template-card{display:block}.r9-version-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--line)}.r9-template-tree{max-height:63vh;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff;padding:8px}.r9-template-node{display:grid;grid-template-columns:26px 24px 110px minmax(220px,1fr) auto;align-items:center;gap:9px;padding:8px 10px 8px calc(10px + var(--depth)*26px);border-radius:9px;border:1px solid transparent}.r9-template-node:hover,.r9-template-node.selected{background:#f1f4f3;border-color:#dce1df}.r9-template-node.drag-over{border:2px solid var(--accent);background:#fff4f3}.r9-template-node .structure-name strong,.r9-template-node .structure-name small{display:block}.r9-template-node .structure-name small{color:var(--muted);margin-top:2px}.r9-template-node .structure-row-actions{display:flex}.r9-template-node>.tree-toggle.empty+input+.structure-kind,.r9-template-node>.tree-toggle.empty+.structure-kind{opacity:.9}
.r9-option-scope-list{border:1px solid var(--line);border-radius:12px;max-height:420px;overflow:auto;padding:7px;background:#fff}.r9-option-scope-list>label,.r9-scope-group>label{display:flex;gap:9px;align-items:center;padding:8px;border-bottom:1px solid #edf0ef;margin:0}.r9-option-scope-list label span,.r9-option-scope-list label strong,.r9-option-scope-list label small{display:block}.r9-option-scope-list label small{color:var(--muted);margin-top:2px}.r9-scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.r9-scope-grid section>header p{color:var(--muted)}.r9-scope-group>strong{display:block;padding:10px;background:#f1f4f3;position:sticky;top:0;z-index:1}
.r9-document-progress{margin-bottom:18px}.r9-progress-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,2fr) 50px 84px;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.r9-progress-row strong,.r9-progress-row small{display:block}.r9-progress-row small{color:var(--muted);margin-top:3px}.r9-progress-row progress{width:100%;height:12px;accent-color:var(--accent)}
@media(max-width:900px){.r9-area-board{grid-template-columns:1fr;max-height:none}.r9-scope-grid{grid-template-columns:1fr}.r9-template-node{grid-template-columns:24px 22px 84px minmax(150px,1fr) auto}.r9-timeline>div{grid-template-columns:1fr}.r9-progress-row{grid-template-columns:1fr 40px}.r9-progress-row progress{grid-row:2;grid-column:1}}
.r9-roster-wrap{max-width:100%;max-height:58vh;overflow:auto;border:1px solid var(--line);border-radius:12px}.r9-roster-table{border-collapse:separate;border-spacing:0;font-size:.72rem;min-width:max-content}.r9-roster-table th,.r9-roster-table td{min-width:37px;text-align:center;padding:6px 5px;border-right:1px solid #e4e8e6;border-bottom:1px solid #e4e8e6}.r9-roster-table thead th{position:sticky;top:0;background:#111;color:#fff;z-index:2}.r9-roster-table tbody th{position:sticky;left:0;min-width:190px;text-align:left;background:#fff;z-index:1}.r9-roster-table th small{display:block;font-size:.58rem;margin-top:2px}.roster-1,.roster-2,.roster-3{font-weight:800;background:#eef1f0}.roster-U,.roster-Un{font-weight:800;background:#fff0cb}.roster-W{color:#7b8580;background:#f7f8f8}.r9-apply-roster{display:grid;grid-template-columns:minmax(260px,1fr) 2fr;gap:18px;align-items:end;margin-top:16px}.danger-text{color:var(--danger)}
.r9-schedule-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.r9-editable-roster td.editable{cursor:pointer}.r9-editable-roster td.editable:hover{outline:2px solid #111;outline-offset:-2px}.r9-roster-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.r9-roster-legend span{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff}
/* R10 — kontrolowany import kont i jednoznaczne oznaczenia kontekstu. */
.tag.success{background:#eaf7ef;color:var(--green)}.tag.danger{background:var(--danger-soft);color:var(--danger)}.invalid-row{background:#fff7f6}.invalid-row:hover{background:#fff0ef!important}.r10-user-import-options{margin:15px 0}.r10-user-import-options+ .table-wrap small{display:block;color:var(--muted);margin-top:4px}
/* Konfiguracja tabel stanów maszyn. */
.machine-source-card{align-items:center}.machine-source-card .status-dot{width:12px;height:12px;min-width:12px;border-radius:50%;background:#9aa2a7}.machine-source-card .status-dot.green{background:#16843b}.machine-source-card .status-dot.red{background:#df271f}.machine-source-card .status-dot.gray{background:#9aa2a7}.machine-mapping-list{display:grid;gap:8px;max-height:58vh;overflow:auto;padding-right:6px}.machine-mapping-row{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(300px,1.3fr);gap:16px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:#fff}.machine-mapping-row div{display:flex;flex-direction:column;gap:2px}.machine-mapping-row small{color:var(--muted)}.machine-mapping-row select{width:100%}@media(max-width:760px){.machine-mapping-row{grid-template-columns:1fr}.machine-source-card{align-items:flex-start}.machine-source-card .transition-actions{width:100%}}
/* Bilans działu: kolor pojawia się dopiero przy odchyleniu lub alarmie. */
.balance-controls{margin-bottom:14px}.balance-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.balance-title{display:flex;justify-content:space-between;align-items:end;gap:14px;margin:18px 2px 12px}.balance-title h2{margin:3px 0 0}.balance-title>small{color:var(--muted)}.balance-main-metrics{grid-template-columns:repeat(6,minmax(155px,1fr))}.balance-main-metrics .metric{min-height:120px}.balance-trend{display:block;margin-top:8px;font-size:.7rem}.balance-trend.good{color:var(--green)}.balance-trend.bad{color:var(--danger)}.balance-trend.neutral{color:var(--muted)}.balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.balance-wide{grid-column:1/-1}.balance-machine-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.balance-machine{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fff}.balance-machine header{display:flex;justify-content:space-between;gap:10px}.balance-machine header strong,.balance-machine header small{display:block}.balance-machine header small,.balance-machine footer{color:var(--muted);font-size:.72rem;margin-top:3px}.balance-machine header>span{align-self:start;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800;background:#f3f5f4}.balance-machine.state-stop{border:2px solid var(--danger);background:#fff7f6}.balance-machine.state-stop header>span{color:#fff;background:var(--danger);border-color:var(--danger)}.balance-machine.quality-stale,.balance-machine.quality-no_data{border-style:dashed}.balance-bar{height:6px;background:#e2e6e4;border-radius:9px;margin:12px 0;overflow:hidden}.balance-bar i{display:block;height:100%;background:#15191b}.balance-machine.state-stop .balance-bar i{background:var(--danger)}.balance-machine dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.balance-machine dl div{display:flex;justify-content:space-between;gap:5px}.balance-machine dt{color:var(--muted)}.balance-machine dd{font-weight:800;margin:0}.metric-definition{margin:16px 0 0;padding:10px 12px;border-left:4px solid #202528;background:#f4f6f5}.balance-kpi-list{display:grid;gap:0}.balance-kpi-list>div{display:grid;grid-template-columns:1fr auto;gap:4px;padding:11px 0;border-bottom:1px solid var(--line)}.balance-kpi-list>div>small{grid-column:1/-1;color:var(--muted)}.balance-kpi-list strong{font-size:1.08rem}.balance-problems{display:grid;gap:0}.balance-problems>div{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.balance-problems span{color:var(--muted);text-align:right}.balance-problems b{color:var(--danger)}
@media(max-width:1320px){.balance-main-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:850px){.balance-grid{grid-template-columns:1fr}.balance-wide{grid-column:auto}.balance-main-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-title{display:block}.balance-title>small{display:block;margin-top:5px}}@media(max-width:520px){.balance-main-metrics{grid-template-columns:1fr}.balance-problems>div{display:block}.balance-problems span{display:block;text-align:left;margin-top:4px}}
.machine-custom-metrics{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.machine-custom-metrics span{border:1px solid var(--line);border-radius:999px;padding:4px 8px;font-size:.72rem;background:#f7f8f7}.machine-custom-metrics b{margin-right:3px}

/* R14 — graficzny Workflow Designer */
.workflow-top-tabs{display:flex;gap:8px;margin-bottom:14px}.workflow-designer-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:14px;min-height:720px}.workflow-process-list{background:#fff;border:1px solid #dfe5e8;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:8px;align-self:start;position:sticky;top:12px}.workflow-side-title{padding:6px 6px 10px;display:flex;flex-direction:column}.workflow-side-title small,.workflow-editor-toolbar small{color:#6e7880;margin-top:3px}.workflow-process-card{border:1px solid #dfe5e8;background:#fff;border-radius:10px;padding:10px;text-align:left;display:grid;gap:4px;cursor:pointer}.workflow-process-card:hover,.workflow-process-card.active{border-color:#2f75b5;background:#f2f7fb}.workflow-process-card>span{font-size:.62rem;font-weight:800;color:#2f75b5;letter-spacing:.08em}.workflow-process-card strong{font-size:.82rem}.workflow-process-card small{font-size:.65rem;color:#737e86}.workflow-process-card .workflow-process-scope{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#526a7b;margin-top:2px}.workflow-toolbar-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.workflow-save-state{font-size:.62rem;font-weight:800;border-radius:999px;padding:4px 8px;background:#f1f3f4;color:#66727a}.workflow-save-state.saved{background:#eaf7ef;color:#16834b}.workflow-save-state.dirty{background:#fff4dc;color:#8a5800}.workflow-save-state.saving{background:#eaf3fb;color:#1769aa}.workflow-save-state.error{background:#fff0ef;color:#d92920}.workflow-delete-button{color:#a02520!important;border-color:#e6c4c1!important}.workflow-editor-shell{background:#fff;border:1px solid #dfe5e8;border-radius:14px;overflow:hidden;min-width:0}.workflow-editor-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #e7ebed}.workflow-editor-toolbar>div:first-child{display:flex;flex-direction:column}.workflow-palette{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid #e7ebed;background:#fafbfc}.workflow-palette-items{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.workflow-palette-item{border:1px solid #dbe1e5;background:#fff;border-radius:8px;padding:6px 9px;font-size:.69rem;font-weight:700;cursor:pointer}.workflow-palette-item:hover{border-color:#2f75b5;color:#205e96}.workflow-view-controls{display:flex;align-items:center;gap:4px;flex:0 0 auto;padding-left:8px;border-left:1px solid #dfe5e8}.workflow-view-button,.workflow-view-zoom,.workflow-view-fit{height:30px;border:1px solid #d5dde2;background:#fff;border-radius:7px;font-size:.68rem;font-weight:800;color:#263746;cursor:pointer}.workflow-view-button{width:31px;font-size:1rem;line-height:1}.workflow-view-zoom{min-width:54px;padding:0 8px}.workflow-view-fit{padding:0 10px}.workflow-view-button:hover,.workflow-view-zoom:hover,.workflow-view-fit:hover{border-color:#2f75b5;color:#205e96;background:#f2f7fb}.workflow-workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:610px}.workflow-canvas-wrap{overflow:auto;background:#f9fafb;border-right:1px solid #e4e8ea;cursor:grab;touch-action:none;overscroll-behavior:contain;user-select:none;position:relative}.workflow-canvas-wrap.is-panning{cursor:grabbing}.workflow-canvas-stage{position:relative;width:3600px;height:2200px;background-image:linear-gradient(#eef1f3 1px,transparent 1px),linear-gradient(90deg,#eef1f3 1px,transparent 1px);background-size:24px 24px;background-color:#f9fafb}.workflow-canvas{position:absolute;left:0;top:0;width:3600px;height:2200px;transform-origin:0 0;will-change:transform}.workflow-edge-svg{position:absolute;inset:0;width:3600px;height:2200px;overflow:visible;pointer-events:none}.workflow-edge-line{fill:none;stroke:#98a7b2;stroke-width:2}.workflow-edge-label{font-size:11px;font-weight:700;fill:#65727c;text-anchor:middle;paint-order:stroke;stroke:#f9fafb;stroke-width:4px}.workflow-node{position:absolute;width:190px;min-height:84px;border:2px solid #aeb9c0;background:#fff;border-radius:11px;padding:9px 11px;box-shadow:0 3px 10px rgba(15,31,46,.08);cursor:grab;display:flex;flex-direction:column;gap:3px;user-select:none}.workflow-node:active{cursor:grabbing}.workflow-node.selected{border-color:#2f75b5;box-shadow:0 0 0 3px rgba(47,117,181,.13),0 4px 14px rgba(15,31,46,.12)}.workflow-node small{font-size:.58rem;text-transform:uppercase;letter-spacing:.06em;color:#72808a;font-weight:800}.workflow-node strong{font-size:.78rem;line-height:1.2}.workflow-node em{font-size:.59rem;font-style:normal;color:#2f75b5;font-weight:700}.workflow-node>span{font-size:.58rem;color:#a54b1d}.workflow-node.type-start{border-color:#548235;background:#f4faf1}.workflow-node.type-end{border-color:#263746;background:#f1f4f6}.workflow-node.type-approval{border-color:#b8860b;background:#fffaf0}.workflow-node.type-work{border-color:#2f75b5}.workflow-node.type-verification{border-color:#7030a0;background:#faf6fc}.workflow-node.type-escalation{border-color:#c62828;background:#fff7f7}.workflow-node.type-notification{border-color:#00838f;background:#f4fcfd}.workflow-node.type-handover{border-color:#e26b0a;background:#fff8f2}.workflow-inspector{padding:13px;overflow:auto;background:#fff}.workflow-inspector label{display:flex;flex-direction:column;gap:4px;font-size:.68rem;font-weight:700;margin-bottom:9px}.workflow-inspector input,.workflow-inspector select{width:100%;font-size:.72rem}.workflow-inspector-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.workflow-inspector-title span{font-size:.6rem;color:#7b858c}.workflow-edge-editor{border-top:1px solid #e5e9eb;margin-top:14px;padding-top:12px}.workflow-edge-row{border:1px solid #e1e6e9;border-radius:9px;padding:8px;margin-bottom:8px;display:grid;gap:6px}.workflow-edge-row input,.workflow-edge-row select{font-size:.67rem}.workflow-condition-grid{display:grid;grid-template-columns:1.25fr .75fr 1.2fr;gap:5px}.workflow-runtime-banner{display:flex;gap:10px;align-items:center;margin:12px 0;padding:10px 12px;border:1px solid #c9dceb;background:#f3f8fc;border-radius:10px}.workflow-runtime-banner>span{font-size:1.3rem;color:#2f75b5}.workflow-runtime-banner strong{font-size:.78rem}.workflow-runtime-banner p{margin:2px 0 0;color:#66747e;font-size:.68rem}.workflow-simulation{display:grid;gap:8px}.workflow-simulation>div{display:grid;grid-template-columns:30px 1fr;gap:2px 8px;border:1px solid #e0e5e8;border-radius:9px;padding:8px}.workflow-simulation span{grid-row:1/3;background:#2f75b5;color:#fff;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-weight:800;font-size:.68rem}.workflow-simulation strong{font-size:.78rem}.workflow-simulation small{font-size:.66rem;color:#6f7a82}.workflow-permission-table th:not(:first-child),.workflow-permission-table td:not(:first-child){text-align:center;min-width:120px}.workflow-permission-check{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.workflow-permission-check input{position:absolute;opacity:0}.workflow-permission-check span{display:grid;place-items:center;width:28px;height:28px;border:1px solid #cad2d7;border-radius:7px;color:transparent;background:#fff}.workflow-permission-check input:checked+span{background:#e5f3e1;border-color:#70a765;color:#3f7535;font-weight:900}
@media(max-width:1100px){.workflow-toolbar-actions{align-items:stretch}.workflow-editor-toolbar{align-items:flex-start;flex-direction:column}.workflow-designer-layout{grid-template-columns:1fr}.workflow-process-list{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.workflow-side-title{grid-column:1/-1}.workflow-palette{align-items:flex-start;flex-direction:column}.workflow-view-controls{padding-left:0;border-left:0;border-top:1px solid #dfe5e8;padding-top:7px;width:100%;justify-content:flex-end}.workflow-workspace{grid-template-columns:1fr}.workflow-inspector{border-top:1px solid #e4e8ea}.workflow-canvas-wrap{border-right:0;max-height:560px}}

.workflow-designer-help{padding:9px 13px;background:#f3f8fc;border-bottom:1px solid #d9e5ee;color:#52636f;font-size:.69rem;line-height:1.45}.workflow-designer-help strong{color:#17324d}.workflow-designer-help b{color:#2f75b5}

/* R14.3 - tworzenie i hierarchiczne zakresy workflow */
.workflow-side-title{gap:9px}.workflow-side-title>div{display:flex;flex-direction:column}.workflow-side-title #workflowNew{width:100%}
.workflow-scope-global{border:1px solid #cfd9df;background:#f7fafc;border-radius:10px;padding:10px 12px}.workflow-scope-global.has-conflict{border-color:#e0a14a;background:#fff9ef}.workflow-scope-global small{display:block;color:#697780;margin-top:4px;line-height:1.35}
.workflow-scope-list{max-height:420px;overflow:auto;border:1px solid #dce3e7;border-radius:10px;background:#fff;padding:5px}.workflow-scope-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:flex-start;padding:8px;border-radius:7px;cursor:pointer}.workflow-scope-row:hover{background:#f3f7fa}.workflow-scope-row.has-conflict{background:#fffaf2}.workflow-scope-row input{margin-top:3px}.workflow-scope-row span{display:flex;flex-direction:column;gap:2px;min-width:0}.workflow-scope-row strong{font-size:.75rem;line-height:1.25}.workflow-scope-row small{font-size:.63rem;color:#71808a}.workflow-scope-row[hidden]{display:none}.workflow-scope-list+.form-message{margin-top:8px}

/* R15.2 — czytelna notacja workflow oparta na podstawowych kształtach BPMN 2.0. */
.workflow-notation-legend{display:flex;align-items:center;gap:14px;padding:8px 13px;border-bottom:1px solid #e1e6e9;background:#fff;flex-wrap:wrap}.workflow-notation-legend>span{display:flex;align-items:center;gap:6px;font-size:.64rem;color:#33434e}.workflow-notation-legend>small{margin-left:auto;color:#71808a;font-size:.61rem}.workflow-palette-items{gap:7px}.workflow-palette-item{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:5px 9px}.workflow-palette-symbol{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;color:#263746}.workflow-palette-symbol i{font-style:normal;font-size:.65rem;font-weight:900;line-height:1}.workflow-palette-symbol.shape-task{width:27px;height:18px;border:1.5px solid currentColor;border-radius:5px;background:#fff}.workflow-palette-symbol.shape-event{width:19px;height:19px;border:1.5px solid currentColor;border-radius:50%;background:#fff}.workflow-palette-symbol.shape-event.type-end{border-width:3px}.workflow-palette-symbol.shape-gateway{width:21px;height:21px;background:#263746;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}.workflow-palette-symbol.shape-gateway:before{content:"";position:absolute;inset:2px;background:#fff;clip-path:inherit}.workflow-palette-symbol.shape-gateway i{position:relative;z-index:1;font-size:.78rem}.workflow-palette-symbol.type-escalation{color:#b3261e}.workflow-palette-symbol.type-notification{color:#006b73}

.workflow-node{position:absolute;width:210px;height:132px;min-height:0!important;border:0!important;border-radius:0!important;padding:0!important;background:transparent!important;box-shadow:none!important;cursor:grab;display:block;user-select:none;overflow:visible;color:#1d2a32}.workflow-node:active{cursor:grabbing}.workflow-node:focus{outline:0}.workflow-node:focus-visible .workflow-node-shape{filter:drop-shadow(0 0 0 #2f75b5) drop-shadow(0 0 4px rgba(47,117,181,.65))}.workflow-node>.workflow-node-shape,.workflow-node>.workflow-node-caption{color:#1d2a32;font-size:inherit}.workflow-node-shape{position:absolute;display:block;box-sizing:border-box}.workflow-node-surface{box-sizing:border-box}.workflow-node.shape-task .workflow-node-shape{left:10px;top:14px;width:190px;height:88px;border:2px solid #53616a;border-radius:12px;background:#fff;box-shadow:0 3px 9px rgba(15,31,46,.11)}.workflow-node.shape-task .workflow-node-surface{width:100%;height:100%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;padding:10px 12px 10px 9px}.workflow-node.shape-task .workflow-node-symbol{width:27px;height:27px;border:1.5px solid currentColor;border-radius:7px;display:grid;place-items:center;font-weight:900;font-size:.9rem;color:#44535d;background:#f7f9fa}.workflow-node-content{display:flex;flex-direction:column;gap:2px;min-width:0}.workflow-node-content small{font-size:.56rem;text-transform:uppercase;letter-spacing:.07em;color:#66757f;font-weight:800}.workflow-node-content strong{font-size:.78rem;line-height:1.18;white-space:normal;overflow-wrap:anywhere}.workflow-node-content em{font-size:.57rem;font-style:normal;color:#346990;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-node-sla{font-size:.56rem;color:#9b4c1f;font-weight:800}.workflow-node.shape-event .workflow-node-shape{left:67px;top:2px;width:76px;height:76px;border:2px solid #42515a;border-radius:50%;background:#fff;box-shadow:0 3px 9px rgba(15,31,46,.1)}.workflow-node.shape-event .workflow-node-surface{width:100%;height:100%;display:grid;place-items:center}.workflow-node.shape-event.type-start .workflow-node-shape{border-color:#2d6d45}.workflow-node.shape-event.type-end .workflow-node-shape{border:5px solid #263746}.workflow-node.shape-event .workflow-node-symbol{display:none}.workflow-node.shape-gateway .workflow-node-shape{left:61px;top:0;width:88px;height:88px;background:#36454e;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);filter:drop-shadow(0 3px 5px rgba(15,31,46,.15))}.workflow-node.shape-gateway .workflow-node-surface{position:absolute;inset:3px;clip-path:inherit;background:#fff;display:grid;place-items:center}.workflow-node.shape-gateway .workflow-node-symbol{font-size:1.75rem;line-height:1;font-weight:500;color:#263746}.workflow-node-caption{position:absolute;left:5px;top:85px;width:200px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1px}.workflow-node.shape-gateway .workflow-node-caption{top:94px}.workflow-node-caption strong{font-size:.74rem;line-height:1.15;max-width:200px;overflow-wrap:anywhere}.workflow-node-caption small{font-size:.55rem;text-transform:uppercase;letter-spacing:.05em;color:#6c7982;font-weight:800}.workflow-node.selected.shape-task .workflow-node-shape,.workflow-node.selected.shape-event .workflow-node-shape{border-color:#216da8;box-shadow:0 0 0 4px rgba(47,117,181,.16),0 4px 12px rgba(15,31,46,.16)}.workflow-node.selected.shape-gateway .workflow-node-shape{background:#216da8;filter:drop-shadow(0 0 4px rgba(47,117,181,.55))}.workflow-node.type-approval .workflow-node-symbol,.workflow-node.type-verification .workflow-node-symbol{color:#72520a;background:#fff9e9}.workflow-node.type-work .workflow-node-symbol{color:#245f8e;background:#f0f6fb}.workflow-node.type-wait .workflow-node-symbol{color:#7a5b1b;background:#fff8e9}.workflow-node.type-notification .workflow-node-symbol{color:#006b73;background:#eefbfc}.workflow-node.type-escalation .workflow-node-shape{border-color:#b3261e}.workflow-node.type-escalation .workflow-node-symbol{color:#b3261e;background:#fff2f1}.workflow-node.type-handover .workflow-node-symbol{color:#8b4a13;background:#fff5ec}.workflow-edge-svg #workflowArrow path{fill:#4d5b64}.workflow-edge-line{fill:none;stroke:#4d5b64;stroke-width:2.2;vector-effect:non-scaling-stroke}.workflow-edge-line.conditional{stroke-width:2.5}.workflow-edge-line.timeout{stroke:#b3261e}.workflow-edge-label{font-size:11px;font-weight:800;fill:#3f4c55;text-anchor:middle;paint-order:stroke;stroke:#f9fafb;stroke-width:5px;stroke-linejoin:round}.workflow-edge{pointer-events:none}

@media(max-width:1100px){.workflow-notation-legend>small{width:100%;margin-left:0}.workflow-palette-item{min-height:34px}}

/* R14.4 - ergonomia Workflow Designer */
.workflow-sim-settings{display:grid;gap:14px}.workflow-sim-settings details{border:1px solid #dfe5e8;border-radius:10px;background:#fafbfc}.workflow-sim-settings summary{cursor:pointer;padding:11px 12px;font-size:.76rem;font-weight:800}.workflow-sim-config-list{display:grid;gap:8px;padding:0 10px 10px}.workflow-sim-node-config{border:1px solid #e2e7e9;border-radius:9px;background:#fff;padding:9px}.workflow-sim-node-config>strong{display:block;font-size:.76rem}.workflow-sim-node-config>small{display:block;color:#6f7a82;font-size:.64rem;margin:2px 0 8px}.workflow-sim-node-config label{font-size:.66rem}.workflow-sim-node-config select{font-size:.7rem;padding:8px}.workflow-sim-result{margin-top:4px;max-height:45vh;overflow:auto}.main-nav::-webkit-scrollbar{width:7px}.main-nav::-webkit-scrollbar-thumb{background:#4b555b;border-radius:8px}.main-nav::-webkit-scrollbar-track{background:transparent}
/* R15.3 — globalny motyw zakładu i indywidualne kolory kroków workflow. */
:root{--app-bg:#eef1f1;--sidebar-bg:#101417;--sidebar-text:#fff;--primary:#101417;--primary-text:#fff;--workflow-bg:#f9fafb}
:root,.app-page{background:var(--app-bg)}
.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text)}
.button.primary{background:var(--primary);color:var(--primary-text)}
.panel,.topbar,.workflow-process-list,.workflow-editor-shell,.workflow-inspector,.modal-card,.asset-column,.area-card{background:var(--paper)!important}
.workflow-canvas-wrap{background:var(--workflow-bg)}
.workflow-canvas-stage{background-color:var(--workflow-bg);background-image:linear-gradient(rgba(120,130,138,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(120,130,138,.16) 1px,transparent 1px)}
.workflow-node.shape-task .workflow-node-shape,.workflow-node.shape-event .workflow-node-shape{background:var(--wf-node-bg,#fff);color:var(--wf-node-text,#1d2a32)}
.workflow-node.shape-gateway .workflow-node-surface{background:var(--wf-node-bg,#fff);color:var(--wf-node-text,#1d2a32)}
.workflow-color-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:end;margin-bottom:10px}
.workflow-color-grid input[type=color],.theme-color-grid input[type=color]{height:42px;padding:4px;cursor:pointer}
.theme-color-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.theme-preview{min-height:120px;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:72px 1fr;overflow:hidden;margin-top:12px}.theme-preview aside{background:var(--preview-sidebar);padding:12px}.theme-preview main{background:var(--preview-bg);padding:14px}.theme-preview article{background:var(--preview-panel);border-radius:8px;padding:12px}.theme-preview button{border:0;border-radius:7px;background:var(--preview-primary);color:var(--preview-primary-text);padding:7px 11px;margin-top:9px;font-weight:800}
@media(max-width:720px){.theme-color-grid{grid-template-columns:1fr}.workflow-color-grid{grid-template-columns:1fr 1fr}.workflow-color-grid .button{grid-column:1/-1}}

/* R15.5 — obsada operatorów na liniach i maszynach. */
#uploadDocument,[data-dtr-structure]{display:none!important}
.staffing-filters{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(150px,.55fr) minmax(190px,.75fr) auto;gap:12px;align-items:end}.staffing-board-panel{margin-top:16px;overflow:hidden}.staffing-print-header{align-items:flex-start}.staffing-print-header h2{margin:2px 0 5px}.staffing-status{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.staffing-actions{padding:12px 18px;border-bottom:1px solid var(--line);display:flex;gap:8px;flex-wrap:wrap}.staffing-editor{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(300px,1.2fr) minmax(220px,.65fr);gap:14px;padding:16px;background:var(--soft);border-bottom:1px solid var(--line)}.staffing-editor>section{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px;min-width:0}.staffing-editor h3{margin:0 0 10px}.staffing-choice-list{display:grid;gap:6px;max-height:340px;overflow:auto;margin-top:9px}.staffing-choice{grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;border:1px solid var(--line);border-radius:8px;padding:8px;background:#fff}.staffing-choice.warning{border-color:#e8b94f;background:#fffaf0}.staffing-choice input{width:17px;height:17px;margin-top:2px}.staffing-choice span{display:flex;flex-direction:column;gap:2px}.staffing-choice strong{font-size:.77rem}.staffing-choice small{font-size:.65rem;color:var(--muted)}.staffing-assignment-form{display:flex!important;flex-direction:column;gap:11px}.staffing-print-meta{display:none}.staffing-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:16px}.staffing-asset-card{border:1px solid var(--line);border-radius:11px;overflow:hidden;break-inside:avoid;background:#fff}.staffing-asset-card>header{display:flex;gap:10px;padding:12px;background:#f6f8f8;border-bottom:1px solid var(--line)}.staffing-asset-card>header>span{width:34px;height:34px;border-radius:8px;background:var(--ink);color:#fff;display:grid;place-items:center}.staffing-asset-card header div{display:flex;flex-direction:column;min-width:0}.staffing-asset-card header small{color:var(--muted);font-size:.62rem}.staffing-asset-card header p{margin:3px 0 0;color:var(--muted);font-size:.62rem}.staffing-person{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--line)}.staffing-person:last-child{border-bottom:0}.staffing-person span{display:flex;flex-direction:column}.staffing-person strong{font-size:.78rem}.staffing-person small{font-size:.65rem;color:var(--muted)}.staffing-print-footer{padding:13px 18px;border-top:1px solid var(--line);font-size:.75rem}.staffing-display-mode .sidebar,.staffing-display-mode .topbar,.staffing-display-mode .mobile-nav,.staffing-display-mode .staffing-filter-panel,.staffing-display-mode .no-print{display:none!important}.staffing-display-mode .app-shell{display:block}.staffing-display-mode .workspace{margin:0}.staffing-display-mode .view{padding:12px}.staffing-display-mode .staffing-board-panel{margin:0;min-height:calc(100vh - 24px)}.staffing-display-mode .staffing-assignment-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.staffing-display-mode .staffing-asset-card{font-size:1.15rem}
@media(max-width:980px){.staffing-filters{grid-template-columns:1fr 1fr}.staffing-editor{grid-template-columns:1fr}.staffing-choice-list{max-height:240px}}@media(max-width:600px){.staffing-filters{grid-template-columns:1fr}.staffing-assignment-grid{grid-template-columns:1fr}.staffing-status{align-items:flex-start}.staffing-print-header{display:block}}
@media print{body{background:#fff!important}.sidebar,.topbar,.mobile-nav,.staffing-filter-panel,.no-print{display:none!important}.app-shell,.workspace{display:block!important;margin:0!important}.view{padding:0!important}.staffing-board-panel{border:0!important;box-shadow:none!important;margin:0!important}.staffing-print-meta{display:grid;gap:4px;padding:9px 14px;border-bottom:1px solid #777;font-size:9pt}.staffing-assignment-grid{grid-template-columns:repeat(2,1fr);padding:10px;gap:8px}.staffing-asset-card{border-color:#777}.staffing-print-header{border-bottom:2px solid #111}.staffing-print-footer{border-top:1px solid #777}.staffing-person{padding:6px 9px}@page{size:A4 landscape;margin:10mm}}

/* R18.0.3 FIX7.19 — kokpit operatora i tablica hali: obsada + wynik linii. */
.my-shift-panel{margin:18px 0;border-left:5px solid #187046}.my-shift-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px}.my-shift-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:10px;background:#f8faf9}.my-shift-card>span{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#17242a;color:#fff;font-weight:900}.my-shift-card small,.my-shift-card strong,.my-shift-card p{display:block}.my-shift-card small{font-size:.61rem;color:var(--muted)}.my-shift-card p{margin:3px 0 0;font-size:.66rem;color:var(--muted)}.my-shift-missing{margin:18px 0}
.staffing-live-summary{display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid #b8d8c7;background:#eff9f3}.staffing-live-summary.warning{border-color:#ebcf8a;background:#fff8e8}.staffing-live-summary>div{display:flex;flex-direction:column;gap:2px}.staffing-live-summary strong{font-size:.75rem}.staffing-live-summary small{font-size:.63rem;color:var(--muted)}.staffing-live-dot{width:11px;height:11px;border-radius:50%;background:#13945a;box-shadow:0 0 0 5px rgba(19,148,90,.12)}.staffing-live-summary.warning .staffing-live-dot{background:#d08b00;box-shadow:0 0 0 5px rgba(208,139,0,.12)}
.staffing-performance{padding:10px 12px;border-bottom:1px solid var(--line);background:#f6f8f8}.staffing-performance-state{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:8px}.staffing-performance-state span{font-size:.7rem;font-weight:950;letter-spacing:.04em}.staffing-performance-state small{font-size:.57rem;color:var(--muted);text-align:right}.staffing-performance-state .staffing-current-order{display:block;text-align:left;margin-top:2px;letter-spacing:0;text-transform:none}.staffing-performance dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:6px;margin:0}.staffing-performance dl>div{padding:6px;border-radius:7px;background:#fff;border:1px solid rgba(0,0,0,.07)}.staffing-performance dt{font-size:.53rem;color:var(--muted)}.staffing-performance dd{margin:2px 0 0;font-size:.76rem;font-weight:950}.staffing-performance.state-production{background:#eaf8f0;border-left:5px solid #15905a}.staffing-performance.state-stop{background:#fff0ee;border-left:5px solid #d92920}.staffing-performance.state-preparation{background:#fff8df;border-left:5px solid #d19a15}.staffing-performance.state-no-order{background:#eef1f2;border-left:5px solid #7f898e}.staffing-performance.state-unknown{background:#f3f4f4;border-left:5px solid #7f898e}.staffing-performance.no-data{display:flex;flex-direction:column;gap:2px;background:#faf6ec;border-left:5px solid #d19a15}.staffing-performance.no-data strong{font-size:.68rem}.staffing-performance.no-data small{font-size:.58rem;color:var(--muted);line-height:1.35}
.staffing-display-exit{display:none;position:fixed;right:18px;bottom:18px;z-index:50;border:0;border-radius:999px;padding:10px 15px;background:rgba(15,20,23,.88);color:#fff;font-weight:900;cursor:pointer}.staffing-display-mode .staffing-display-exit{display:block}.staffing-display-mode .staffing-print-header{padding:18px 24px}.staffing-display-mode .staffing-print-header h2{font-size:1.55rem}.staffing-display-mode .staffing-live-summary{padding:13px 24px}.staffing-display-mode .staffing-live-summary strong{font-size:1rem}.staffing-display-mode .staffing-live-summary small{font-size:.76rem}.staffing-display-mode .staffing-performance-state span{font-size:.9rem}.staffing-display-mode .staffing-performance dd{font-size:1rem}.staffing-display-mode .staffing-person strong{font-size:1rem}.staffing-display-mode .staffing-person small{font-size:.75rem}
.staffing-score-badge{align-self:flex-start;margin-left:auto;padding:5px 8px;border-radius:999px;background:#17242a;color:#fff;font-size:.58rem;font-weight:950;white-space:nowrap}.staffing-score-badge.unresolved{background:#747f84}.line-score-settings{max-height:62vh}.line-score-settings td:first-child{min-width:230px}.line-score-settings td:first-child small{display:block;margin-top:3px}.line-score-settings input{min-width:110px}.line-score-settings [data-line-score-formula]{min-width:270px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.staffing-display-mode .staffing-asset-card.hall-score-colored{background:var(--hall-score-bg);border:2px solid var(--hall-score-border);color:var(--hall-score-ink);box-shadow:0 5px 18px color-mix(in srgb,var(--hall-score-border) 30%,transparent)}.staffing-display-mode .staffing-asset-card.hall-score-colored>header,.staffing-display-mode .staffing-asset-card.hall-score-colored .staffing-performance{background:color-mix(in srgb,var(--hall-score-bg) 82%,white 18%);border-color:color-mix(in srgb,var(--hall-score-border) 48%,transparent)}.staffing-display-mode .staffing-asset-card.hall-score-colored .staffing-performance{border-left-color:var(--hall-score-border)}.staffing-display-mode .staffing-asset-card.hall-score-colored .staffing-performance dl>div{background:color-mix(in srgb,white 72%,transparent);color:#11191d}.staffing-display-mode .staffing-asset-card.hall-score-colored small,.staffing-display-mode .staffing-asset-card.hall-score-colored p,.staffing-display-mode .staffing-asset-card.hall-score-colored dt{color:var(--hall-score-muted)}.staffing-display-mode .staffing-asset-card.hall-score-colored .staffing-person{background:color-mix(in srgb,white 13%,transparent);border-color:color-mix(in srgb,var(--hall-score-border) 45%,transparent)}.staffing-display-mode .staffing-asset-card.hall-score-colored .staffing-score-badge{background:color-mix(in srgb,#101719 78%,transparent);color:#fff}

/* R18.0.3 FIX7.42 — oddzielna obsada i automatycznie dopasowana tablica hali. */
.staffing-view-tabs{display:flex;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);background:#f5f7f7}.staffing-view-tabs button{border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 14px;font-weight:900;cursor:pointer}.staffing-view-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff}.staffing-assignment-register{padding:16px;background:#fff}.staffing-assignment-register>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.staffing-assignment-register h3{margin:0}.staffing-assignment-register p{margin:3px 0 0;color:var(--muted);font-size:.68rem}.staffing-assignment-register>header>span{padding:5px 8px;border-radius:999px;background:var(--soft);font-size:.65rem;font-weight:900}.staffing-assignment-register-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.staffing-assignment-register-list article{border:1px solid var(--line);border-radius:9px;padding:9px}.staffing-assignment-register-list article>strong{display:block;margin-bottom:6px}.staffing-assignment-register-list article>div{display:flex;flex-wrap:wrap;gap:5px}.staffing-assignment-register-list article span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:7px;background:#eef2f2;font-size:.64rem}.staffing-assignment-register-list .icon-button{width:20px;height:20px;margin-left:2px}.staffing-selection-summary{margin-top:auto;border:1px solid #b9cbd2;border-radius:9px;background:#f3f8fa;padding:9px;max-height:190px;overflow:auto}.staffing-selection-summary>strong{font-size:.72rem}.staffing-selection-summary>p{margin:5px 0 0;color:var(--muted);font-size:.62rem;line-height:1.4}.staffing-selection-summary article+article{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.staffing-selection-summary article>strong,.staffing-selection-summary article>small{display:block}.staffing-selection-summary article>small{margin:5px 0 3px;color:var(--muted);font-size:.58rem}.staffing-selection-tags{display:flex;flex-wrap:wrap;gap:4px}.staffing-selection-tags span{padding:4px 6px;border-radius:6px;background:#dfe8eb;font-size:.58rem}.staffing-selection-tags.pending span{background:#dff3e8;color:#135d3e}.staffing-selection-tags span.empty{background:#f1f1f1;color:var(--muted)}
.staffing-display-mode{overflow:hidden}.staffing-display-mode .view{padding:4px}.staffing-display-mode .staffing-board-panel{height:calc(100vh - 8px);min-height:0;display:flex;flex-direction:column}.staffing-display-mode .staffing-print-header{flex:none;padding:8px 12px}.staffing-display-mode .staffing-print-header h2{font-size:1.08rem;margin:1px 0 2px}.staffing-display-mode .staffing-print-header p,.staffing-display-mode .staffing-status small{font-size:.58rem}.staffing-display-mode .staffing-status{gap:3px}.staffing-display-mode .staffing-live-summary{flex:none;padding:6px 12px}.staffing-display-mode .staffing-live-summary strong{font-size:.72rem}.staffing-display-mode .staffing-live-summary small{font-size:.56rem}.staffing-display-mode #staffingLineBoardGrid{flex:1;min-height:0;overflow:hidden;grid-template-columns:repeat(var(--staffing-tv-columns,4),minmax(0,1fr));grid-template-rows:repeat(var(--staffing-tv-rows,3),minmax(0,1fr));gap:6px;padding:7px}.staffing-display-mode .staffing-asset-card{min-width:0;min-height:0;display:flex;flex-direction:column;font-size:.84rem}.staffing-display-mode .staffing-asset-card>header{flex:none;gap:6px;padding:6px 7px}.staffing-display-mode .staffing-asset-card>header>span{width:27px;height:27px;border-radius:6px;font-size:.68rem}.staffing-display-mode .staffing-asset-card header p{display:none}.staffing-display-mode .staffing-asset-card header strong{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staffing-display-mode .staffing-score-badge{padding:3px 5px;font-size:.48rem}.staffing-display-mode .staffing-performance{flex:none;padding:5px 6px}.staffing-display-mode .staffing-performance-state{margin-bottom:4px;gap:4px}.staffing-display-mode .staffing-performance-state span{font-size:.64rem}.staffing-display-mode .staffing-performance-state small{font-size:.46rem}.staffing-display-mode .staffing-performance dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.staffing-display-mode .staffing-performance dl>div{padding:3px 4px;border-radius:5px}.staffing-display-mode .staffing-performance dt{font-size:.43rem;line-height:1.1}.staffing-display-mode .staffing-performance dd{font-size:.65rem;margin-top:1px}.staffing-display-mode .staffing-asset-card>div:last-child{min-height:0;overflow:auto}.staffing-display-mode .staffing-person{padding:4px 7px}.staffing-display-mode .staffing-person strong{font-size:.66rem}.staffing-display-mode .staffing-person small{font-size:.5rem}.staffing-display-mode .staffing-print-footer{display:none}.staffing-display-mode .staffing-display-exit{right:8px;bottom:8px;padding:6px 10px;font-size:.65rem}
@media(max-width:720px){.my-shift-card{grid-template-columns:38px minmax(0,1fr)}.my-shift-card .button{grid-column:1/-1;width:100%}.staffing-performance-state{display:block}.staffing-performance-state small{display:block;text-align:left;margin-top:3px}.staffing-live-summary{align-items:flex-start}}
@media print{.staffing-display-exit,.staffing-live-summary,.staffing-performance{display:none!important}.my-shift-panel{break-inside:avoid}}

/* R15.7 — technik skierowany do przeglądów lub prac planowanych. */
.r9-roster-table td.roster-planned{background:#dcecff!important;color:#0c4a77!important;font-weight:900}.r9-roster-legend span{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}
.r9-roster-table td.roster-cell{position:relative}.r9-roster-table td.roster-cell small{position:absolute;right:2px;top:1px;font-size:.5rem}.r9-roster-table td.roster-locked{box-shadow:inset 0 0 0 2px #17232b;background:#fff8d9}.r9-roster-table td.roster-locked.roster-planned{background:#cfe8ff!important}.r9-roster-wrap+.r9-roster-legend{margin-bottom:10px}
.metric[data-ticket-preset]{font:inherit;color:inherit;text-align:left;cursor:pointer;appearance:none}.metric[data-ticket-preset]:hover{border-color:#8d969b;box-shadow:0 3px 12px rgba(16,20,23,.08)}.metric[data-ticket-preset]:focus-visible{outline:3px solid rgba(16,20,23,.18);outline-offset:2px}.tag-clear{border:0;background:transparent;font:inherit;font-weight:900;cursor:pointer;padding:0 0 0 5px;color:inherit}
.requirement-rule{display:inline-flex;align-items:center;gap:6px}.requirement-rule .icon-button{width:20px;height:20px;font-size:.8rem;border:0;background:transparent}

/* R15.9.2 — historia, checklisty i widok audytowy */
.history-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:9px;align-items:end;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#f8f9f9}.history-filter-grid .wide{grid-column:span 2}.history-filter-actions{display:flex;gap:6px;align-items:end;padding-bottom:1px}.schedule-card{padding-right:52px}.schedule-card button.schedule-card-remove{right:3px}.schedule-card button.schedule-card-audit{right:27px;background:#e7eef0;font-weight:900}.checklist-editor{display:block;max-height:58vh;overflow:auto;padding:2px}.checklist-section-editor{border:1px solid #bfc8cc;border-radius:12px;background:#fff;margin:0 0 10px;overflow:hidden}.checklist-section-editor>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#e9edef;cursor:pointer;font-weight:900;font-size:.78rem}.checklist-section-editor>summary em{font-style:normal;font-size:.65rem;color:var(--muted);font-weight:700}.checklist-section-points{display:grid;gap:8px;padding:10px}.checklist-point-editor{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.checklist-point-editor>summary{display:grid;grid-template-columns:22px minmax(160px,1.2fr) minmax(180px,2fr) auto;align-items:center;gap:8px;padding:10px 11px;cursor:pointer;background:#fafbfb}.checklist-point-editor>summary strong{font-size:.72rem}.checklist-point-editor>summary small{font-size:.65rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.checklist-point-body{padding:12px;border-top:1px solid var(--line)}.checklist-point-actions{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-top:10px}.audit-checklist{border:1px solid var(--line);border-radius:10px;margin:10px 0;background:#fff;overflow:hidden}.audit-checklist>summary{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:#f2f4f5;cursor:pointer}.audit-checklist>summary span{color:var(--muted);font-size:.68rem}.data-table.compact{font-size:.72rem}.data-table.compact th,.data-table.compact td{padding:6px}
@media(max-width:1200px){.history-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.checklist-point-editor>summary{grid-template-columns:22px 1fr auto}.checklist-point-editor>summary small{grid-column:2/4}}


/* R15.9.3 — lokalny asystent techniczny AI / Gateway / RAG */
.ai-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.ai-section{margin-top:14px}.ai-metrics{grid-template-columns:repeat(6,minmax(130px,1fr))}.ai-chat-layout{display:grid;grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);gap:14px}.ai-conversation-list{display:grid;gap:6px;max-height:68vh;overflow:auto}.ai-conversation{border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px;text-align:left;display:grid;gap:4px;cursor:pointer}.ai-conversation.active{border-color:var(--ink);box-shadow:0 0 0 2px rgba(16,20,23,.08)}.ai-conversation small,.ai-message small,.ai-finding small,.ai-source small,.ai-config-health small{color:var(--muted);font-size:.67rem}.ai-messages{display:grid;gap:10px;max-height:50vh;overflow:auto;padding:2px 2px 12px}.ai-message{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.ai-message.user{background:#f1f4f5}.ai-message header,.ai-finding header{display:flex;justify-content:space-between;gap:10px;align-items:center}.ai-message p,.ai-finding p,.ai-analysis-detail p{line-height:1.5;overflow-wrap:anywhere}.ai-chat-form{border-top:1px solid var(--line);padding-top:12px}.ai-options{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.ai-options .check-row{margin:5px 0}.ai-source-list{display:grid;gap:6px;margin-top:8px}.ai-source{border-left:3px solid #9aa5aa;background:#f7f9f9;border-radius:6px;padding:7px 9px}.ai-source strong,.ai-source small{display:block}.ai-source p{font-size:.72rem;margin:5px 0 0;color:var(--ink2)}.ai-finding-list{display:grid;gap:9px}.ai-finding{border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff}.ai-finding footer{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.ai-config-health{display:grid;gap:4px;padding:10px 12px;margin:10px 0;border:1px solid var(--line);border-radius:9px;background:#f7f9f9}.ai-analysis-detail h3{margin:14px 0 5px}.ai-analysis-detail h3:first-child{margin-top:0}
@media(max-width:1000px){.ai-chat-layout{grid-template-columns:1fr}.ai-conversation-list{max-height:240px}.ai-metrics{grid-template-columns:repeat(3,1fr)}}@media(max-width:720px){.ai-metrics{grid-template-columns:repeat(2,1fr)}.ai-options{display:grid;gap:2px}.ai-messages{max-height:none}}

/* R15.9.3.4 FIX2 — źródła RAG: dowód skrócony + pełny chunk po rozwinięciu */
.ai-source-preview{font-size:.72rem;margin:6px 0 0;color:var(--ink2);line-height:1.4}.ai-source-details{margin-top:6px}.ai-source-details summary{cursor:pointer;font-size:.66rem;font-weight:800;color:var(--ink2)}.ai-source-details pre{white-space:pre-wrap;overflow:auto;max-height:280px;margin:7px 0 0;padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff;font:500 .66rem/1.35 ui-monospace,SFMono-Regular,Consolas,monospace}


/* R15.9.3.4 FIX4 — deterministyczne fakty ELECTRICAL-IR przed komentarzem LLM */
.ai-source.ai-source-verified{border-left-color:var(--green);background:#f1faf5}
.ai-source.ai-source-verified strong{color:#0d6137}
.ai-verified-facts{white-space:pre-wrap;overflow:auto;max-height:360px;margin:8px 0 0;padding:9px;border:1px solid #b9dec9;border-radius:6px;background:#fff;font:650 .68rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink)}

/* R15.9.3.8 — plan roczny: każdy miesiąc ma pięć jawnych tygodni. */
.annual-board{display:grid;grid-template-columns:1fr;gap:10px;max-height:65vh;overflow:auto;padding:2px}
.annual-month{border:1px solid var(--line);border-radius:11px;background:#f5f7f7;padding:8px}
.annual-month>header{display:flex;justify-content:space-between;align-items:center;padding:1px 3px 7px;font-size:.72rem}
.annual-month>header span{color:var(--muted);font-size:.6rem}
.annual-weeks{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:6px}
.schedule-slot.week{min-height:88px}
@media(max-width:1100px){.annual-weeks{grid-template-columns:repeat(2,minmax(145px,1fr))}}
@media(max-width:720px){.annual-weeks{grid-template-columns:1fr}}

/* R15.9.3.9 — pełnoekranowe, czytelne harmonogramy */
#modal:has(.maintenance-schedule-editor),
#modal:has(.maintenance-schedule-audit),
#modal:has(#planningPolicyForm),
#modal:has(.maintenance-checklist){width:calc(100vw - 24px);max-width:1900px;height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);overflow:hidden}
#modal:has(.maintenance-schedule-editor) #modalContent,
#modal:has(.maintenance-schedule-audit) #modalContent,
#modal:has(#planningPolicyForm) #modalContent,
#modal:has(.maintenance-checklist) #modalContent{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
#modal:has(.maintenance-schedule-editor) .modal-body,
#modal:has(.maintenance-schedule-audit) .modal-body,
#modal:has(#planningPolicyForm) .modal-body,
#modal:has(.maintenance-checklist) .modal-body{min-height:0;overflow:auto}
.maintenance-schedule-editor .schedule-designer{grid-template-columns:330px minmax(0,1fr);gap:18px}
.maintenance-schedule-editor .schedule-designer>aside{max-height:calc(100dvh - 245px)}
.maintenance-schedule-editor .annual-board,.maintenance-schedule-editor .monthly-board{max-height:none;overflow:visible}
.maintenance-schedule-editor .annual-weeks{grid-template-columns:repeat(5,minmax(165px,1fr))}
.maintenance-schedule-editor .schedule-slot{min-height:145px;padding:9px}
.maintenance-schedule-editor .schedule-card strong{font-size:.7rem;line-height:1.3}
.maintenance-schedule-editor .schedule-card small{font-size:.61rem;line-height:1.35}
.schedule-source-group{border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}.schedule-source-group>summary{list-style:none;cursor:pointer;padding:7px;background:#edf1f2}.schedule-source-group>summary::-webkit-details-marker{display:none}.schedule-source-group>summary:before{content:'▸';float:right;margin:5px 3px 0 7px;font-weight:900}.schedule-source-group[open]>summary:before{content:'▾'}.schedule-source-group>summary>.schedule-card{margin:0}.schedule-source-group>summary>.muted{display:block;padding:4px 4px 0;font-size:.58rem}.schedule-source-children{padding:7px;border-top:1px solid var(--line);background:#f8f9f9}.schedule-source-children .schedule-card:last-child{margin-bottom:0}
.maintenance-schedule-audit .data-table{font-size:.78rem}
.maintenance-schedule-audit .data-table th,.maintenance-schedule-audit .data-table td{padding:10px 12px;vertical-align:top}
.maintenance-schedule-audit{display:grid;gap:12px}.schedule-audit-toolbar{position:sticky;top:-16px;z-index:3;display:flex;align-items:end;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:11px;background:#fff}.schedule-audit-toolbar label{min-width:280px;max-width:620px;flex:1}.schedule-audit-month,.schedule-audit-branch{border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden;margin-bottom:9px}.schedule-audit-month>summary,.schedule-audit-branch>summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:12px 14px;background:#e8edef}.schedule-audit-month>summary::-webkit-details-marker,.schedule-audit-branch>summary::-webkit-details-marker{display:none}.schedule-audit-month>summary span,.schedule-audit-branch>summary span{color:var(--muted);font-size:.68rem}.schedule-audit-month>.schedule-audit-branch{margin:9px}.schedule-audit-branch>summary{padding:9px 12px;background:#f4f6f6}.schedule-audit-matrix{min-width:930px;table-layout:fixed}.schedule-audit-matrix th:first-child,.schedule-audit-matrix td:first-child{width:34%}.schedule-audit-matrix th:not(:first-child),.schedule-audit-matrix td:not(:first-child){width:13.2%;text-align:center}.schedule-audit-matrix td small{display:block;margin-top:4px;color:var(--muted);overflow-wrap:anywhere}.audit-slot-card{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:5px;border:1px solid var(--line);border-radius:7px;background:#f8faf9;margin:3px 0}.audit-slot-card b{font-size:.68rem}.audit-slot-card .button{padding:4px 6px;font-size:.58rem}

/* Asystent AI osadzony w konkretnej awarii */
.ticket-ai-assistant{margin-top:22px;border:1px solid #8ea0a8;border-radius:14px;background:linear-gradient(145deg,#f8fbfc,#eef4f5);overflow:hidden}
.ticket-ai-assistant>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;background:#0f171b;color:#fff}
.ticket-ai-assistant>header>div{display:flex;gap:12px;align-items:flex-start}.ticket-ai-assistant h3{margin:0 0 4px;font-size:.94rem}.ticket-ai-assistant header p{margin:0;color:#cbd7dc;font-size:.68rem;line-height:1.45}.ticket-ai-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#fff;color:#0f171b;font-weight:900}.ai-ticket-status{white-space:nowrap;background:#fff!important;color:#111!important}.ai-ticket-status.failed{color:var(--danger)!important}.ai-ticket-status.running,.ai-ticket-status.queued{color:#a65a00!important}
.ticket-ai-analysis{margin:15px 16px;border:1px solid #c5d0d4;border-radius:10px;background:#fff;overflow:hidden}.ticket-ai-analysis>summary{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;font-size:.76rem;font-weight:900;background:#e7eef0}.ticket-ai-analysis>summary small{font-weight:500;color:var(--muted)}.ticket-ai-analysis>div{padding:15px;font-size:.76rem;line-height:1.6}
.ticket-ai-thread{display:grid;gap:8px;margin:15px 16px;max-height:420px;overflow:auto}.ticket-ai-thread article{max-width:88%;padding:10px 12px;border-radius:10px;background:#fff;border:1px solid var(--line)}.ticket-ai-thread article.user{justify-self:end;background:#dfeaed}.ticket-ai-thread article p{margin:5px 0;font-size:.72rem;line-height:1.5}.ticket-ai-thread article small{color:var(--muted);font-size:.58rem}
.ticket-ai-prompts{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 13px}.ticket-ai-prompts .button{white-space:normal;text-align:left;line-height:1.3}
.ticket-ai-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:10px;padding:15px 16px;border-top:1px solid #c5d0d4;background:#fff}.ticket-ai-form textarea{min-height:92px}.ticket-ai-file{align-self:start}.ticket-ai-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}.ticket-ai-form .form-message{grid-column:1/-1}.ticket-ai-assistant>footer{padding:9px 16px;background:#e2e9eb;color:var(--muted);font-size:.61rem}
@media(max-width:1200px){.maintenance-schedule-editor .annual-weeks{grid-template-columns:repeat(2,minmax(165px,1fr))}.maintenance-schedule-editor .schedule-designer{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:720px){#modal:has(.maintenance-schedule-editor),#modal:has(.maintenance-schedule-audit),#modal:has(#planningPolicyForm),#modal:has(.maintenance-checklist){width:100vw;height:100dvh;max-width:none;max-height:none}.maintenance-schedule-editor .schedule-designer{grid-template-columns:1fr}.maintenance-schedule-editor .annual-weeks{grid-template-columns:1fr}.schedule-audit-toolbar{position:static;display:block}.schedule-audit-toolbar label{display:block;min-width:0;margin-bottom:8px}.ticket-ai-assistant>header{display:block}.ai-ticket-status{display:inline-block;margin-top:10px}.ticket-ai-form{grid-template-columns:1fr}.ticket-ai-actions{display:grid}.ticket-ai-actions .button{width:100%}.ticket-ai-thread article{max-width:96%}}
.compact-input{min-width:8.5rem;padding:.45rem .55rem;font:inherit;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text)}
.compact-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}

/* R18 — zdjecia sa dowodem konkretnej czynnosci, nie luznym zalacznikiem. */
.evidence-capture{margin-top:10px;padding:10px;border:1px dashed var(--line);border-radius:10px;background:#f7f9f9}.evidence-capture>small{display:block;margin-top:5px;color:var(--muted)}
.evidence-gallery{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.evidence-gallery:empty{display:none}
.evidence-photo{display:inline-grid;grid-template-columns:88px;gap:3px;padding:5px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);text-decoration:none;vertical-align:top;margin:3px}
.evidence-photo img{display:block;width:88px;height:70px;object-fit:cover;border-radius:5px;background:#e8edef}.evidence-photo span,.evidence-photo small{display:block;max-width:88px;overflow:hidden;text-overflow:ellipsis;font-size:.58rem;line-height:1.25}.evidence-photo small{color:var(--muted)}
@media(max-width:720px){.evidence-photo{grid-template-columns:112px}.evidence-photo img{width:112px;height:88px}.evidence-photo span,.evidence-photo small{max-width:112px}}
@media print{.evidence-photo{break-inside:avoid}.evidence-photo img{width:42mm;height:32mm}.evidence-capture input{display:none}}
.rf-field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:16px 0}.rf-field{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fff;break-inside:avoid}.rf-field small,.rf-field strong{display:block}.rf-field small{color:var(--muted);margin-bottom:5px}.rf-field strong{white-space:pre-wrap}.rf-signatures{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:10px 0 18px}.rf-signatures>div{border:1px solid #aab4ba;border-left:4px solid var(--primary);padding:9px;border-radius:6px;break-inside:avoid}.rf-signatures small,.rf-signatures strong,.rf-signatures span{display:block}.rf-signatures span,.rf-signatures p{font-size:.68rem;color:var(--muted)}.rf-document-footer{display:flex;justify-content:space-between;gap:20px;margin-top:24px;padding-top:8px;border-top:2px solid #172027;font-size:.75rem;break-inside:avoid}
@media(max-width:720px){.rf-document-footer{display:grid}.rf-field-grid,.rf-signatures{grid-template-columns:1fr}}
@media print{.rf-document-footer{position:relative;page-break-inside:avoid}.rf-field,.rf-signatures>div{background:#fff}.transition-actions,.button{print-color-adjust:exact}}
.module-checklist-analysis{display:grid;gap:10px;margin:10px 0 14px;padding:11px;border:1px solid #bfc8cc;border-radius:11px;background:#f7f9f9}.module-suggestion-list{display:grid;gap:6px;max-height:290px;overflow:auto}.module-suggestion{display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-left:4px solid #89969c;border-radius:8px;background:#fff}.module-suggestion span strong,.module-suggestion span small{display:block}.module-suggestion span small{margin-top:2px;color:var(--muted);font-size:.61rem}.module-suggestion em{font-style:normal;font-size:.65rem;font-weight:800;color:var(--muted);text-align:right}.module-suggestion.watch{border-left-color:#d3a315}.module-suggestion.high{border-left-color:#e07424}.module-suggestion.critical{border-left-color:var(--danger);background:#fff8f7}.module-suggestion.critical em{color:var(--danger)}
@media(max-width:720px){.module-suggestion{grid-template-columns:auto 1fr}.module-suggestion em{grid-column:2;text-align:left}}

/* R18.0.3 FIX7.9 — magazyn części i koszt konkretnej pracy. */
.inventory-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:18px 20px;border-radius:14px;background:linear-gradient(120deg,#101719,#25343a);color:#fff}.inventory-hero strong{display:block;font-size:1rem}.inventory-hero p{margin:5px 0 0;color:#d3dde0;font-size:.72rem;line-height:1.5}.inventory-hero>span{white-space:nowrap;padding:8px 11px;border:1px solid #66777e;border-radius:999px;font-size:.68rem;font-weight:900}.inventory-toolbar{padding:14px 16px;margin-bottom:14px}.inventory-toolbar .form-grid{align-items:end}.inventory-toolbar .inventory-low{height:42px;align-self:end}.inventory-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;margin-top:10px}.inventory-metrics{grid-template-columns:repeat(4,minmax(150px,1fr))}.inventory-metrics .critical{border-color:#e3a6a0;background:#fff7f6}.inventory-metrics .critical strong{color:var(--danger)}.inventory-section{margin-top:16px}.inventory-columns{margin-top:16px}.inventory-table td{vertical-align:top}.inventory-low-row{background:#fff8e5}.inventory-low-row>td:first-child{box-shadow:inset 4px 0 #d69b00}.inventory-warehouses{display:grid;gap:9px}.inventory-warehouse{border:1px solid var(--line);border-radius:10px;background:#fff}.inventory-warehouse summary{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px;cursor:pointer;list-style-position:inside}.inventory-warehouse summary strong,.inventory-warehouse summary small{display:block}.inventory-warehouse summary small{margin-top:3px;color:var(--muted);font-size:.62rem}.inventory-bin-count{white-space:nowrap;padding:4px 7px;border-radius:999px;background:#edf1f2;color:var(--muted);font-size:.62rem;font-weight:900}.inventory-warehouse-body{display:grid;justify-items:start;gap:9px;padding:0 11px 11px}.inventory-bin-list{display:flex;gap:5px;flex-wrap:wrap;max-height:300px;overflow:auto}.inventory-bin-list span{padding:5px 8px;border-radius:6px;background:#edf1f2;font-size:.63rem;font-weight:800}.inventory-bin-list em{color:var(--danger);font-size:.65rem}.status-pill.inventory-receipt,.status-pill.inventory-return,.status-pill.inventory-adjustment_up{background:#dff3e8;color:#0c6537}.status-pill.inventory-issue,.status-pill.inventory-adjustment_down{background:#fff0dd;color:#865000}.inventory-work-usage{margin-top:20px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8faf9}.inventory-work-usage h3{margin-top:0}.inventory-work-usage .table-wrap{background:#fff}.inventory-table .table-actions{min-width:210px}
.inventory-company-search{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:8px;margin-bottom:12px}.status-pill.inventory-cross_plant_return{background:#dff3e8;color:#0c6537}.status-pill.inventory-cross_plant_issue{background:#e9e2ff;color:#50328a}
@media(max-width:900px){.inventory-metrics{grid-template-columns:repeat(2,1fr)}.inventory-toolbar .form-grid{grid-template-columns:1fr}.inventory-actions{display:grid;grid-template-columns:1fr 1fr}.inventory-actions .button{width:100%}.inventory-columns{grid-template-columns:1fr}}
@media(max-width:600px){.inventory-hero{display:block}.inventory-hero>span{display:inline-block;margin-top:10px}.inventory-metrics{grid-template-columns:1fr 1fr}.inventory-actions,.inventory-company-search{grid-template-columns:1fr}.inventory-table .table-actions{min-width:150px}.inventory-toolbar{padding:10px}.inventory-work-usage{padding:8px}}
@media print{.inventory-toolbar,.inventory-actions,.inventory-table .table-actions{display:none!important}.inventory-work-usage{border:0;padding:0}}

/* R18.0.3 FIX7.52 — jednoznaczny zwrot i skanowanie magazynu na tablecie. */
.inventory-return-destination{display:grid;gap:5px;padding:14px 16px;border:2px solid #17633d;border-radius:11px;background:#eefaf3}.inventory-return-destination span{font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#17633d}.inventory-return-destination strong{font-size:1rem}.inventory-return-destination small{color:var(--muted)}
.inventory-barcode-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inventory-barcode-actions small{color:var(--muted)}.inventory-barcode-camera{display:grid;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#101719;color:#fff}.inventory-barcode-camera[hidden]{display:none}.inventory-barcode-camera video{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:8px;background:#000}.inventory-barcode-camera p{margin:0;font-size:.68rem;color:#dbe5e8}.inventory-barcode-camera .button{justify-self:start}
.inventory-item-identity{display:flex;align-items:center;gap:10px;min-width:220px}.inventory-item-identity>span:not(.inventory-item-thumb){display:grid;gap:3px}.inventory-item-identity small{display:block;color:var(--muted);font-size:.62rem}.inventory-item-thumb{width:56px;height:56px;flex:0 0 56px;border:1px solid var(--line);border-radius:9px;background:#fff;object-fit:cover}.inventory-item-thumb.empty{display:grid;place-items:center;background:#edf1f2;color:#7b8b91;font-size:1.3rem}.inventory-selected-photo{display:flex;align-items:center;gap:14px;padding:12px;border:2px solid #17633d;border-radius:11px;background:#eefaf3}.inventory-selected-photo.hidden{display:none}.inventory-selected-photo img{width:104px;height:104px;flex:0 0 104px;border-radius:9px;background:#fff;object-fit:contain}.inventory-selected-photo div{display:grid;gap:4px}.inventory-selected-photo strong{font-size:1rem}.inventory-selected-photo span,.inventory-selected-photo small{display:block}.inventory-selected-photo small{color:var(--muted)}.inventory-photo-editor{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f8faf9}.inventory-photo-editor p{margin:4px 0 0;color:var(--muted);font-size:.68rem}.inventory-photo-gallery,.inventory-photo-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.inventory-photo-gallery figure,.inventory-photo-preview figure{display:grid;gap:7px;margin:0;padding:8px;border:1px solid var(--line);border-radius:9px;background:#fff}.inventory-photo-gallery img,.inventory-photo-preview img{display:block;width:100%;height:130px;border-radius:7px;background:#edf1f2;object-fit:contain}.inventory-photo-gallery figcaption{display:grid;gap:5px}.inventory-photo-gallery figcaption span,.inventory-photo-preview figcaption{font-size:.68rem;font-weight:800;overflow-wrap:anywhere}.inventory-photo-gallery figcaption small{color:var(--muted);font-size:.6rem}.inventory-photo-gallery .button{justify-self:start}.inventory-photo-empty{padding:16px;border:1px dashed #a9b7bb;border-radius:9px;color:var(--muted);text-align:center}.inventory-photo-picker{display:grid;justify-items:start;gap:4px;padding:13px;border:2px dashed #17633d;border-radius:10px;background:#eefaf3;cursor:pointer}.inventory-photo-picker span{font-weight:900}.inventory-photo-picker small{color:var(--muted)}.inventory-photo-picker input{width:100%;margin-top:7px}.inventory-photo-picker.disabled{border-color:var(--line);background:#edf1f2;cursor:not-allowed}
@media(max-width:600px){.inventory-return-destination strong{font-size:.9rem}.inventory-barcode-actions{display:grid}.inventory-barcode-actions .button{width:100%}}
@media(max-width:600px){.inventory-item-identity{min-width:185px}.inventory-item-thumb{width:48px;height:48px;flex-basis:48px}.inventory-selected-photo{align-items:flex-start}.inventory-selected-photo img{width:88px;height:88px;flex-basis:88px}.inventory-photo-gallery,.inventory-photo-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-photo-gallery img,.inventory-photo-preview img{height:110px}}

/* Potwierdzone czynności z częściami: ruch magazynowy pozostaje oddzielnym faktem. */
.part-work-context,.part-selected-item{display:grid;gap:4px;padding:12px 14px;border:2px solid #17633d;border-radius:11px;background:#eefaf3}.part-work-context>span{font-size:.61rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#17633d}.part-work-context>strong{font-size:.92rem}.part-work-context>small,.part-selected-item>small{color:var(--muted)}.visually-hidden-select{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.part-search-results{display:grid;gap:8px;max-height:min(44vh,480px);overflow:auto;padding:2px}.part-search-placeholder{padding:12px;border:1px dashed #a9b7bb;border-radius:9px;color:var(--muted);font-size:.68rem}.part-search-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}.part-search-result.selected{border-color:#17633d;background:#f5fcf8}.part-search-result>div{min-width:0;display:grid;gap:6px}.part-search-result>div>small{color:var(--muted)}.part-search-result .inventory-item-identity{min-width:0}.part-history-link{display:grid;justify-items:start;width:100%;padding:7px 9px;border:1px solid #9ccbb0;border-radius:8px;background:#eefaf3;color:#125a36;text-align:left;cursor:pointer}.part-history-link:hover{background:#dff3e8}.part-history-link:focus-visible{outline:3px solid #1d78b5;outline-offset:2px}.part-history-link span{font-weight:900}.part-history-link small{margin-top:2px;color:#3f6d55}.part-history-link.recent{border-color:#e0a323;background:#fff6df;color:#7a4d00}.part-history-link.grouped{border-color:#8fb4cc;background:#eef7fc;color:#18587d}.part-history-empty,.part-history-context-needed,.part-history-unavailable,.part-history-loading{display:block;font-size:.66rem;line-height:1.4}.part-history-empty,.part-history-context-needed{color:var(--muted)}.part-history-unavailable{padding:6px 8px;border-left:3px solid var(--danger);background:#fff0ef;color:#8d2019;font-weight:800}.part-history-loading{color:#17633d}.part-operation-warning{display:grid;gap:11px;padding:14px;border:2px solid #d58a00;border-radius:11px;background:#fff8e5}.part-operation-warning h3,.part-operation-warning p{margin:0}.part-operation-warning ul{display:grid;gap:6px;margin:0;padding-left:20px}.part-operation-warning li{padding-left:2px}.part-operation-warning li small{display:block;color:var(--muted)}.part-operation-warning .severity-error,.part-operation-warning .severity-critical{color:#a32018}.part-warning-facts{font-size:.68rem;font-weight:800}.part-warning-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.part-history-dialog{width:min(980px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:14px;box-shadow:0 24px 80px #0008}.part-history-dialog::backdrop{background:#101719aa}.part-history-dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr);max-height:calc(100dvh - 24px);background:#fff}.part-history-dialog-shell>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid var(--line)}.part-history-dialog-shell>header h2,.part-history-dialog-shell>header p{margin:0}.part-history-dialog-shell>header p{margin-top:3px;color:var(--muted);font-size:.68rem}.part-history-dialog-body{overflow:auto;padding:18px}.part-history-context{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;padding:11px;border-radius:9px;background:#edf1f2}.part-history-context span{color:var(--muted)}.part-history-timeline{display:grid;gap:10px}.part-history-event{display:grid;gap:9px;padding:13px;border:1px solid var(--line);border-left:4px solid #17633d;border-radius:9px;background:#fff}.part-history-event.cancelled{border-left-color:#8d969a;background:#f6f7f7;opacity:.85}.part-history-event>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px}.part-history-event time{color:var(--muted);font-size:.66rem}.part-history-event dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}.part-history-event dl>div{padding:8px;border-radius:7px;background:#f5f7f7}.part-history-event dt{font-size:.58rem;font-weight:900;text-transform:uppercase;color:var(--muted)}.part-history-event dd{margin:3px 0 0;font-size:.7rem;font-weight:800}.part-history-event dd small{display:block;margin-top:3px;color:var(--muted)}.part-history-event p{margin:0;font-size:.7rem;line-height:1.45}.part-work-link{padding:0;border:0;background:transparent;color:#075f9b;font:inherit;text-decoration:underline;cursor:pointer}
.part-history-and-work-inventory{display:grid;gap:6px;min-width:0}.part-current-work-inventory{display:grid;gap:5px;padding:7px 9px;border:1px solid #aab8c1;border-left:4px solid #536f80;border-radius:8px;background:#f4f7f8;color:#243a47}.part-current-work-inventory>small{font-size:.58rem;font-weight:850;letter-spacing:.025em;color:#5b6d77}.part-current-work-inventory>div{display:grid;gap:1px}.part-current-work-inventory strong{font-size:.66rem;line-height:1.35}.part-current-work-inventory>div>small{font-size:.6rem;line-height:1.35;color:#5b6d77}
@media(max-width:700px){.part-search-result{grid-template-columns:1fr}.part-search-result>.button{width:100%}.part-warning-actions{display:grid;grid-template-columns:1fr}.part-warning-actions .button{width:100%}.part-history-dialog{width:100vw;max-height:100dvh;border-radius:0}.part-history-dialog-shell{max-height:100dvh}.part-history-dialog-shell>header,.part-history-dialog-body{padding:12px}.part-history-context{display:grid}.part-history-event>header{grid-template-columns:auto 1fr}.part-history-event time{grid-column:1/-1}.part-history-event dl{grid-template-columns:1fr}}
@media print{.part-search-results,.part-warning-actions,.part-history-dialog{display:none!important}}

/* R18.0.3 FIX7.22 — czytelna struktura, organizatory i stopki okien na telefonie. */
.modal-footer{flex-wrap:wrap;max-width:100%;overflow-x:hidden}
.modal-footer .button{max-width:100%;white-space:normal}
.modal-footer .modal-close{width:auto;height:auto;border-radius:8px;font-size:.72rem;flex:0 0 auto}
.organizer-toolbar .search{min-width:280px;flex:1}
@media(max-width:720px){
  .section-intro>.asset-main-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .section-intro>.asset-main-actions .button{width:100%;min-height:46px;padding:7px 10px;line-height:1.2}
  .organizer-toolbar .search{min-width:0;width:100%}
  .modal-footer{flex-wrap:wrap}
  .modal-footer .button{min-height:42px}
}

/* FIX7.61 — konfigurator słownika awarii: kontekst urządzenia przed biblioteką. */
.r61-dictionary-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.r61-dictionary-tabs .active,.r61-kind-tabs .active{background:#10171b;color:#fff;border-color:#10171b}.r61-dictionary-layout{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:14px;align-items:start}.r61-dictionary-assets{position:sticky;top:82px}.r61-dictionary-asset-list{display:grid;gap:6px;max-height:64vh;overflow:auto;padding-right:4px}.r61-asset-choice,.r61-chain-choice{appearance:none;width:100%;border:1px solid #dbe2e5;background:#fff;border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer;color:inherit}.r61-asset-choice:hover,.r61-chain-choice:hover{border-color:#839197;background:#f7f9f9}.r61-asset-choice.selected,.r61-chain-choice.selected{border-color:#11191d;background:#edf3f4;box-shadow:inset 4px 0 #11191d}.r61-asset-choice span,.r61-chain-choice strong{display:block;font-weight:800}.r61-asset-choice small,.r61-chain-choice small{display:block;margin-top:3px;color:#637077;white-space:normal}.r61-profile-summary,.r61-kind-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 14px}.r61-profile-options{display:grid;gap:7px;max-height:52vh;overflow:auto;padding:2px}.r61-profile-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid #e0e5e7;border-radius:10px;padding:9px 10px;background:#fff}.r61-profile-option.direct{border-color:#2d8a5b;background:#f1fbf5}.r61-profile-option.inherited{border-color:#d0a63e;background:#fffaf0}.r61-profile-option span strong,.r61-profile-option span small{display:block}.r61-profile-option span small{color:#637077;margin-top:2px}.r61-profile-option em{font-size:.74rem;font-style:normal;color:#657178;white-space:nowrap}.sticky-action-row{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;bottom:0;margin-top:12px;padding:10px;background:rgba(255,255,255,.96);border-top:1px solid #e2e7e9}.r61-failure-chain{display:grid;grid-template-columns:repeat(4,minmax(210px,1fr));gap:10px;overflow-x:auto}.r61-chain-column{min-width:210px;border:1px solid #dce3e5;border-radius:12px;background:#f7f9f9;padding:10px}.r61-chain-column>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.r61-chain-column>header h3{margin:0}.r61-chain-column>header span{border-radius:999px;background:#e4eaec;padding:2px 8px;font-size:.78rem}.r61-chain-column>div{display:grid;gap:6px;max-height:52vh;overflow:auto;margin-top:8px}.r61-chain-choice.selected{background:#10171b;color:#fff}.r61-chain-choice.selected small{color:#d7e0e2}
.compact-help{margin:8px 0 10px;font-size:.76rem}.r61-asset-tree,.r61-asset-tree ul{list-style:none;margin:0;padding:0}.r61-tree-item{margin:0}.r61-tree-row{appearance:none;width:100%;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:48px;margin:2px 0;padding:7px 9px 7px calc(8px + var(--tree-depth,0) * 18px);border:1px solid transparent;border-radius:9px;background:transparent;color:inherit;text-align:left;cursor:pointer}.r61-tree-row:hover{border-color:#cbd5d8;background:#f7f9f9}.r61-tree-row:focus-visible{outline:3px solid #17633d;outline-offset:-1px}.r61-tree-row.selected{border-color:#66777e;background:#edf3f4;box-shadow:inset 4px 0 #11191d}.r61-tree-row.context-only{color:#526066}.r61-tree-row.context-only .r61-tree-chevron{background:#f0f3f4}.r61-tree-chevron{display:grid;place-items:center;width:20px;height:20px;border-radius:5px;background:#e7edef;color:#273237;font-weight:900}.r61-tree-copy{min-width:0}.r61-tree-copy strong,.r61-tree-copy small{display:block;overflow-wrap:anywhere}.r61-tree-copy strong{font-size:.86rem}.r61-tree-copy small{margin-top:2px;color:#637077;font-size:.72rem}.r61-tree-count{min-width:24px;padding:2px 7px;border-radius:999px;background:#e7edef;color:#344147;font-size:.7rem;font-weight:800;text-align:center}.r61-profile-heading{align-items:flex-start}.r61-profile-heading>.transition-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.r61-clone-targets{display:grid;gap:6px;max-height:260px;overflow:auto;border:1px solid #dce3e5;border-radius:10px;padding:6px}.r61-clone-targets>label,.r61-conflict-policy>label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;padding:9px 10px;border:1px solid #e0e5e7;border-radius:8px;background:#fff;cursor:pointer}.r61-clone-targets>label:hover,.r61-conflict-policy>label:hover{border-color:#839197;background:#f7f9f9}.r61-clone-targets strong,.r61-clone-targets small,.r61-conflict-policy strong,.r61-conflict-policy small{display:block}.r61-clone-targets small,.r61-conflict-policy small{margin-top:3px;color:#637077;font-weight:400}.r61-copy-checklists{margin:10px 0;min-height:44px}.r61-conflict-policy{display:grid;gap:7px;margin:14px 0;padding:10px;border:1px solid #dce3e5;border-radius:10px}.r61-conflict-policy legend{padding:0 5px;font-weight:800}.r61-clone-preview{margin-top:12px}.r61-preview-summary>h3{margin:0 0 9px}.r61-preview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}.r61-preview-metrics span{display:flex;flex-direction:column;padding:9px;border:1px solid #dce3e5;border-radius:8px;background:#f7f9f9;font-size:.72rem}.r61-preview-metrics strong{font-size:1.1rem}.r61-preview-summary td small{display:block;margin-top:2px;color:#637077}.r61-preview-summary .form-message ul{margin:6px 0 0;padding-left:20px}
@media(max-width:980px){.r61-dictionary-layout{grid-template-columns:1fr}.r61-dictionary-assets{position:static}.r61-dictionary-asset-list{max-height:34vh}.r61-profile-option{grid-template-columns:auto minmax(0,1fr)}.r61-profile-option em,.r61-profile-option button{grid-column:2}.r61-failure-chain{grid-template-columns:repeat(4,minmax(240px,78vw))}}
@media(max-width:620px){.r61-tree-row{padding-left:calc(6px + var(--tree-depth,0) * 13px)}.r61-profile-heading{display:block}.r61-profile-heading>.transition-actions{justify-content:stretch;margin-top:10px}.r61-profile-heading>.transition-actions .button{flex:1 1 145px}.r61-preview-metrics{grid-template-columns:1fr}.r61-clone-targets{max-height:34vh}.r61-conflict-policy>label{min-height:48px}.r61-clone-preview .data-table{min-width:540px}.sticky-action-row{flex-wrap:wrap}.sticky-action-row .button{width:100%}}

/* Zbiorczy odbiór zgłoszeń — wybór pozostaje czytelny na hali, tablecie i telefonie. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.bulk-verification-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding:10px 12px;border:1px solid #cfdadc;border-radius:10px;background:#f5f8f8}.bulk-verification-toolbar>.check-row{margin:0;min-height:36px}.bulk-verification-toolbar>.button{margin-left:auto}.bulk-verification-toolbar>p{flex-basis:100%;margin:0}.bulk-select-column{width:42px;min-width:42px;text-align:center!important}.bulk-select-column input,.bulk-verification-toolbar input,.bulk-verification-checks input{width:20px;height:20px;min-width:20px;accent-color:#10171b}.ticket-register-table tr.bulk-selected>td{background:#eef8f2}.ticket-register-table tr.bulk-selected>td:first-child{box-shadow:inset 4px 0 #17633d}.bulk-verification-tickets{margin:12px 0;border:1px solid #dce3e5;border-radius:10px;background:#f8faf9}.bulk-verification-tickets summary{padding:11px 12px;font-weight:800;cursor:pointer}.bulk-verification-tickets ul{display:grid;gap:5px;max-height:210px;overflow:auto;list-style:none;margin:0;padding:0 10px 10px}.bulk-verification-tickets li{display:grid;grid-template-columns:minmax(110px,auto) minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;border-radius:7px;background:#fff}.bulk-verification-tickets li span{overflow-wrap:anywhere}.bulk-verification-tickets li small{color:#657178}.bulk-verification-checks{display:grid;gap:5px;margin:12px 0;padding:10px;border:1px solid #dce3e5;border-radius:10px}.bulk-verification-checks legend{padding:0 5px;font-weight:800}.bulk-verification-checks>.check-row{min-height:42px;margin:0;padding:7px 8px;border-radius:7px}.bulk-verification-checks>.check-row:hover{background:#f3f7f5}.bulk-verification-checks>small{padding:3px 8px;color:#657178}.bulk-verification-result>.form-message{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.bulk-result-failure>td{background:#fff5f5}.bulk-result-success>td{background:#f2faf5}
@media(max-width:720px){.bulk-verification-toolbar{align-items:stretch}.bulk-verification-toolbar>.check-row{flex:1 1 100%}.bulk-verification-toolbar>.button{width:100%;margin-left:0}.ticket-register-table.with-bulk-selection{min-width:780px}.bulk-verification-tickets li{grid-template-columns:1fr}.bulk-verification-tickets li small{justify-self:start}.bulk-verification-result .data-table{min-width:560px}.bulk-verification-checks>.check-row{align-items:flex-start}}

/* FIX7.32: pełny, konfigurowalny cykl zlecenia w danych pracy maszyn. */
.balance-machine.state-preparation{border:2px solid #d19a15;background:#fffaf0}
.balance-machine.state-preparation header>span{color:#fff;background:#ad7a00;border-color:#ad7a00}
.balance-machine.state-no-order{background:#f2f4f4}
.balance-machine.state-no-order header>span{color:#fff;background:#687277;border-color:#687277}
.balance-machine.state-preparation .balance-bar i{background:#d19a15}
.balance-machine.state-no-order .balance-bar i{background:#7f898e}
.confidential-score{font-size:1.35rem;color:#14532d}.confidential-score.unavailable{color:#6b7280}.confidential-lines{min-width:260px;max-width:560px;padding:.65rem 0;line-height:1.55}.confidential-table td{vertical-align:top}.confidential-safeguards p{margin:.35rem 0}.confidential-footer{border-left:5px solid #991b1b;padding:.8rem 1rem;background:#fff7f7}.confidential-print-header{border-top:4px solid #991b1b}
@media print{.confidential-controls,.confidential-screen-only,.sidebar,.topbar,.mobile-nav{display:none!important}.confidential-print-header{display:flex!important}.confidential-table{font-size:9pt}.confidential-footer{break-inside:avoid}}

/* Dostępny dotykiem i klawiaturą edytor grafiku PM. */
.schedule-card[role="button"]{cursor:pointer}.schedule-card.selected-source{outline:3px solid #17633d;outline-offset:2px;background:#eefaf3}.schedule-card:focus-visible,.schedule-slot:focus-visible{outline:3px solid #17633d;outline-offset:2px}.schedule-selected-source{margin:0 0 10px;padding:9px 12px;border:1px solid #b8cec0;border-radius:8px;background:#f1faf4;color:#174c31;font-size:.72rem;font-weight:800}.schedule-slot-add{display:block;width:100%;margin-top:7px;padding:7px;border:1px dashed #91aaa0;border-radius:7px;background:rgba(255,255,255,.72);color:#315448;font:inherit;font-size:.64rem;font-weight:800;cursor:pointer}.schedule-slot-add:hover,.schedule-slot-add:focus-visible{border-color:#17633d;background:#eefaf3}

/* Na telefonie etykiety akcji pozostają widoczne; symbol plus nie zastępuje znaczenia. */
@media(max-width:720px){.topbar{gap:8px}.topbar>div:last-child{display:flex;gap:6px;overflow-x:auto}.topbar .button,.section-intro .button{width:auto;min-width:42px;height:auto;min-height:42px;padding:7px 10px;font-size:.68rem;line-height:1.15;white-space:normal}.topbar .button:before,.section-intro .button:before{content:none}.section-intro{gap:10px}.section-intro>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.schedule-designer{grid-template-columns:1fr}.schedule-designer>aside{position:static;max-height:42vh;overflow:auto}.monthly-board{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-slot{min-height:112px}.schedule-slot-add{min-height:40px}}

/* Duża tablica zachowuje minimalną wysokość karty i przewija nadmiar zamiast go ściskać. */
.staffing-display-mode #staffingLineBoardGrid{overflow:auto;grid-template-rows:repeat(var(--staffing-tv-rows,3),minmax(150px,1fr));scrollbar-gutter:stable}.staffing-display-mode .staffing-asset-card{min-height:150px}

/* Potwierdzone użycie części w UR i PM — oddzielone wizualnie od ruchów magazynowych. */
.part-work-confirmations{margin:18px 0;border:1px solid #b9d2c3;border-radius:12px;background:#f8fcf9;overflow:hidden}.part-work-confirmations>header{padding:13px 15px;border-bottom:1px solid #cee0d5;background:#edf8f1}.part-work-confirmations>header h3,.part-work-confirmations>header p{margin:0}.part-work-confirmations>header p{margin-top:3px;color:#527060;font-size:.7rem}.part-work-confirmations>div{padding:12px}.part-work-empty{padding:12px;border:1px dashed #a9b7bb;border-radius:8px;color:var(--muted);background:#fff}.part-work-ledger{display:grid;gap:8px}.part-work-ledger-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px;border:1px solid var(--line);border-left:4px solid #b26a00;border-radius:9px;background:#fff}.part-work-ledger-row.partially-confirmed{border-left-color:#c49418;background:#fffdf5}.part-work-ledger-row.confirmed{border-left-color:#17633d}.part-work-ledger-row>div:first-child{display:grid;gap:4px;min-width:0}.part-work-ledger-row small{color:var(--muted);overflow-wrap:anywhere}.part-work-ledger-row strong{font-size:.72rem;color:#7b4600}.part-work-ledger-row.confirmed strong{color:#17633d}.part-settlement{display:grid;gap:3px;margin-bottom:10px;padding:10px 12px;border:1px solid #9bc5aa;border-radius:9px;background:#edf8f1;font-size:.72rem}.part-settlement.warning{border-color:#e0ad43;background:#fff8df;color:#6d4a00}.part-settlement.blocked{border-color:#dd9c39;background:#fff1df;color:#704300}.part-settlement.unavailable{border-color:#b6c2c7;background:#f2f5f6;color:#59666b}.part-settlement span,.part-settlement small{display:block}.part-confirmed-events{margin-top:11px}.part-confirmed-events>summary{cursor:pointer;font-size:.74rem;font-weight:850}.part-confirmed-events>.part-history-timeline{margin-top:9px}.part-work-event-dialog .part-history-dialog-body{padding:18px 20px}.part-event-actions{display:flex;justify-content:flex-end;gap:8px;position:sticky;bottom:-18px;margin:2px -20px -18px;padding:12px 20px;border-top:1px solid var(--line);background:#fff}.part-history-event-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;padding-top:7px;border-top:1px solid var(--line)}.part-event-locked-context{display:grid;gap:4px;padding:12px 14px;border:1px solid #9db8c9;border-left:4px solid #1d6c9e;border-radius:9px;background:#f1f8fc}.part-event-locked-context>span{font-weight:850}.part-event-locked-context>small{color:var(--muted);line-height:1.4}.part-checklist-binding{padding:10px;border-left:4px solid #17633d;border-radius:6px;background:#eefaf3;font-size:.72rem;font-weight:800}.part-checklist-control{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;margin-top:12px;padding:10px;border:1px solid #d7e1dc;border-radius:9px;background:#f7faf8}.part-checklist-control.confirmed{border-color:#6eaf89;background:#edf8f1}.part-checklist-control small{color:var(--muted);line-height:1.4}.part-policy-form fieldset{display:grid;gap:10px;margin:0;padding:13px;border:1px solid var(--line);border-radius:10px}.part-policy-form legend{padding:0 6px;font-weight:850}.part-policy-form fieldset>.check-row{margin:0;min-height:42px}.part-policy-form fieldset>small{color:var(--muted);font-size:.69rem;line-height:1.45}
.part-unlinked-event-action{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px;border:1px dashed #a9b7bb;border-radius:9px;background:#fff}.part-unlinked-event-action small{color:var(--muted);line-height:1.4}.part-event-selected-item{margin:8px 0;padding:9px 11px;border-left:4px solid #17633d;border-radius:7px;background:#eefaf3;font-size:.72rem}.part-event-item-result{display:grid;width:100%;grid-template-columns:minmax(100px,.35fr) minmax(160px,1fr) minmax(80px,.3fr);gap:8px;align-items:center;padding:9px 10px;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;cursor:pointer}.part-event-item-result:hover,.part-event-item-result:focus-visible{background:#edf8f1;outline:2px solid #17633d;outline-offset:-2px}.part-event-item-result span,.part-event-item-result small{overflow-wrap:anywhere}.part-event-item-result small{color:var(--muted)}
@media(max-width:700px){.part-work-ledger-row{grid-template-columns:1fr}.part-work-ledger-row .table-actions{display:grid}.part-work-ledger-row .button,.part-event-actions .button,.part-history-event-actions .button{width:100%}.part-checklist-control{grid-template-columns:1fr}.part-checklist-control .button{width:100%}.part-event-actions,.part-history-event-actions{display:grid;grid-template-columns:1fr}.part-event-actions{bottom:-12px;margin:2px -12px -12px;padding:10px 12px}.part-unlinked-event-action{display:grid}.part-unlinked-event-action .button{width:100%}.part-event-item-result{grid-template-columns:1fr}.part-event-item-result small{display:block}}
@media print{.part-work-ledger-row .table-actions,.part-checklist-control,.part-event-actions,.part-history-event-actions{display:none!important}.part-work-confirmations{break-inside:avoid}}

/* R18 FIX7.69 ORGANIZACJA-UI.1: wspólna czytelność formularzy i planów.
   Nie zmienia rozmiaru etykiet wewnątrz diagramów workflow ani danych biznesowych. */
:root{--line:#4f5e6d;--control-border:#4f5e6d;--muted:#354453}
.app-page{font-size:16px;line-height:1.45}
.app-page label{font-size:1rem;line-height:1.4}
.app-page .form-grid{align-items:start}
.app-page input,.app-page select,.app-page textarea{font-size:1rem;line-height:1.4;border-color:var(--control-border);border-width:1px}
.app-page input::placeholder,.app-page textarea::placeholder{color:#506070;opacity:1}
.app-page input:disabled,.app-page select:disabled,.app-page textarea:disabled{background:#edf1f4;color:#354453;opacity:1}
.app-page input[type="checkbox"],.app-page input[type="radio"]{width:18px;height:18px;min-width:18px;accent-color:#101417}
.app-page .multi-select{border-color:var(--line);padding:8px}
.app-page .multi-select label{padding:7px 9px;min-height:40px;line-height:1.4}
.app-page .config-form small,.app-page .optional,.app-page .compact-help{font-size:.875rem;line-height:1.45}
.app-page .form-message{font-size:.9375rem}
.app-page .modal-header p,.app-page .panel-header p,.app-page .section-intro p,.app-page .knowledge-banner p{font-size:.9375rem;line-height:1.5;color:var(--muted)}
.app-page .modal-body .muted,.app-page .modal-body .muted[style]{font-size:.875rem!important;line-height:1.5}
.app-page .data-table{font-size:.9375rem;line-height:1.45}
.app-page .data-table th{font-size:.875rem;letter-spacing:.025em;color:#354453}
.app-page .data-table td,.app-page .data-table th{border-bottom:1px solid var(--line)}
.app-page .button.small{font-size:.875rem;min-height:38px}
.app-page .button.ghost{border-color:var(--line)}
.app-page .button:disabled{opacity:.8;cursor:not-allowed}
.app-page :is(button,input,select,textarea,summary):focus-visible{outline:3px solid #175c99;outline-offset:2px}
.app-page .panel,.app-page .config-card,.app-page .knowledge-banner{border-color:var(--line)}
.app-page .modal-header,.app-page .modal-footer,.app-page .panel-header{border-color:var(--line)}
.app-page .schedule-audit-month{border-width:2px}
.app-page .schedule-audit-branch{border-color:var(--line)}
.app-page .schedule-audit-month>summary{background:#dbe4ec;border-bottom:1px solid var(--line);font-size:1.0625rem}
.app-page .schedule-audit-branch>summary{background:#eaf0f5;border-bottom:1px solid var(--line);font-size:1rem}
.app-page .schedule-audit-month>summary span,.app-page .schedule-audit-branch>summary span{font-size:.875rem;color:#354453}
.app-page .maintenance-schedule-audit .data-table{font-size:.9375rem}
.app-page .schedule-audit-matrix th+th,.app-page .schedule-audit-matrix td+td{border-left:1px solid var(--line)}
.app-page .schedule-audit-matrix td small{font-size:.875rem}
.app-page .audit-slot-card{border-color:var(--line);background:#eef4f8;padding:7px}
.app-page .audit-slot-card b,.app-page .audit-slot-card .button{font-size:.875rem}
.app-page .r61-profile-option,.app-page .r61-chain-column,.app-page .r61-asset-choice,.app-page .r61-chain-choice{border-color:var(--line)}
.app-page .r61-profile-option{padding:12px;gap:12px}
.app-page .r61-profile-option span strong,.app-page .r61-tree-copy strong{font-size:1rem;line-height:1.4}
.app-page .r61-profile-option span small,.app-page .r61-profile-option em,.app-page .r61-tree-copy small{font-size:.875rem;line-height:1.4;color:#354453}
.app-page .r61-tree-row{min-height:56px}
.app-page .r61-tree-row.selected{border:2px solid #354453;background:#e9f1f8}
.app-page .r61-tree-row.context-only{color:#354453}
.app-page .r61-profile-option.direct{border-color:#226440}
.app-page .r61-profile-option.inherited{border-color:#87631d}
.app-page .sticky-action-row{border-color:var(--line)}
.app-page .org-invalid-selection{outline:2px solid #a41b15;background:#fff1ed;color:#7f1d1d}
.app-page #newTicketForm .form-section{margin-top:18px}
.app-page #newTicketForm .form-section h3{font-size:1rem;letter-spacing:.025em}
.app-page #newTicketForm textarea{min-height:112px}
.app-page #newTicketForm .selected-asset-card small,.app-page #newTicketForm .selected-asset-card p{font-size:.875rem}
@media(max-width:720px){
 .app-page .form-grid.two,.app-page .form-grid.three{grid-template-columns:minmax(0,1fr)}
 .app-page .modal-header,.app-page .modal-body,.app-page .modal-footer{padding-left:14px;padding-right:14px}
 .app-page .schedule-audit-toolbar{align-items:stretch;flex-direction:column;top:0}
 .app-page .schedule-audit-toolbar label{min-width:0;max-width:none}
 .app-page .r61-profile-heading>.transition-actions{justify-content:flex-start}
 .app-page .r61-profile-heading{flex-wrap:wrap}
}

/* ORGANIZACJA-UI.1.2: explicit department/brigade move consent. */
.team-department-move{border:1px solid var(--control-border,#4f5e6d);border-left-width:4px;border-radius:10px;padding:16px;background:#f2f5f7;overflow-wrap:anywhere;}
.team-department-move p{margin:10px 0;}
.team-department-move ul{padding-left:24px;margin:10px 0 14px;}
.team-department-move small{display:block;margin-top:10px;}

/* ORGANIZACJA-UI.1.4: separate employment action, never a nested button. */
.team-card-shell{display:flex;flex-direction:column;gap:0.65rem;min-width:0;}
.team-card-shell>.config-card{width:100%;flex:1;}
.team-employment-action{white-space:normal;min-height:3rem;}
.team-employment-transfer .table-wrap{max-height:48vh;overflow:auto;}
.team-employment-transfer td{vertical-align:top;}
.team-employment-transfer th{position:sticky;top:0;background:var(--surface,#fff);z-index:1;}
.team-employment-transfer .check-row{align-items:flex-start;gap:0.7rem;}

/* GR.MES Flow 3.0-I — KPI bez fałszywej precyzji. */
.operational-kpi-panel{margin-bottom:18px}
.operational-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.operational-kpi{border:1px solid var(--line);border-left:5px solid #166534;border-radius:12px;background:#fff;padding:14px;min-width:0}
.operational-kpi.partial{border-left-color:#b7791f;background:#fffaf0}
.operational-kpi.no_data,.operational-kpi.not_configured{border-left-color:#64748b;background:#f8fafc}
.operational-kpi.out_of_range{border-left-color:#b91c1c;background:#fff1f2}
.operational-kpi>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.operational-kpi>header span{font-weight:800}
.operational-kpi>header small{text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.operational-kpi>strong{display:block;font-size:1.65rem;margin:12px 0 8px;overflow-wrap:anywhere}
.operational-kpi-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:.78rem;color:var(--muted)}
.operational-kpi details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
.operational-kpi details p{font-size:.82rem;line-height:1.45;margin:7px 0;overflow-wrap:anywhere}
.kpi-quality-notes{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.kpi-quality-notes p{font-size:.85rem;margin:6px 0;color:var(--muted)}
@media(max-width:720px){.operational-kpi-grid{grid-template-columns:minmax(0,1fr)}}
:root{--board-score-bg:#f5f7f7;--board-score-text:#101417}
.board-metrics{width:100%;border-collapse:collapse;font-size:1rem;table-layout:fixed;color:#101417}
.board-kpi-explain{font:inherit;color:inherit;background:transparent;border:0;text-align:left;padding:.2rem;cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.2em;max-width:100%;overflow-wrap:anywhere}
.board-kpi-explain:hover{background:#fff9}.board-kpi-explain:focus-visible{outline:3px solid #075aab;outline-offset:2px;border-radius:3px}
.board-metrics th,.board-metrics td{padding:.45rem .65rem;border-bottom:1px solid #9eabad;text-align:left;vertical-align:middle}
.board-metrics th{font-weight:500;width:61%;overflow-wrap:anywhere}.board-metrics td{text-align:right;font-size:1.28rem;font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.board-metrics small{font-size:.85em;font-weight:500}
.saved-board-grid{display:grid;grid-template-columns:repeat(var(--board-columns,3),minmax(0,1fr));gap:16px;align-items:start}
.board-card,.board-operator,.board-widget{background:var(--board-score-bg);color:var(--board-score-text);border:2px solid #62737a;border-radius:12px;overflow:hidden;transition:background-color 1s ease,border-color 1s ease}
.board-card header,.board-operator>header,.board-widget>header{padding:.75rem;display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #62737a}.board-card h2,.board-widget h2,.board-operator h2{font-size:1.35rem;margin:0;overflow-wrap:anywhere}.board-card footer{padding:.6rem;font-size:1rem}.board-asset-path{margin:.5rem .65rem;font-size:1rem;overflow-wrap:anywhere}.board-operator-assets{display:grid;gap:10px;padding:10px}.board-operator>p{margin:.7rem}.board-widget{background:#fff}.board-widget>p{margin:.6rem}.board-widget-rows article{padding:.65rem;border-top:1px solid #9eabad;font-size:1rem}.board-widget-rows p{margin:.25rem 0}
.saved-board-heading{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:16px 0}.saved-board-heading h1{font-size:1.8rem;margin:0}.saved-board-footer{display:flex;gap:16px;justify-content:center;align-items:center;padding:14px;font-size:1.1rem}.saved-board-tv .sidebar,.saved-board-tv .topbar,.saved-board-tv .mobile-nav{display:none!important}.saved-board-tv .app-shell{grid-template-columns:1fr}.saved-board-tv .workspace{margin:0;overflow-y:auto}.saved-board-tv #view{padding:12px;max-width:none}.saved-board-tv .view-header{display:none}.saved-board-tv .board-metrics th{font-size:1.1rem}.saved-board-tv .board-metrics td{font-size:1.6rem}
.metric-variable-catalog{max-height:360px;overflow:auto;border:1px solid #8b9da1;border-radius:8px}.metric-variable-catalog article{display:flex;align-items:start;gap:12px;padding:10px;border-bottom:1px solid #a8b5b8}.metric-variable-catalog article p{margin:4px 0}.metric-builder-tools{display:flex;gap:6px;flex-wrap:wrap}.checkbox-row{display:flex;gap:20px;flex-wrap:wrap}.checkbox-row label{display:flex;align-items:center;gap:6px}.balance-machine-card dl>div{border-bottom:1px solid #acb7bb;padding:6px 0}.balance-machine-card dt,.balance-machine-card dd{font-size:1rem}.balance-machine-card dd{font-weight:800}
.staffing-performance dl>div{border:1px solid #bac5c8!important;padding:.45rem!important}.staffing-performance dt{font-size:.95rem!important}.staffing-performance dd{font-size:1.25rem!important}.staffing-asset-card{transition:background-color 1s ease,border-color 1s ease}.staffing-display-mode .staffing-performance dt{font-size:1rem!important}.staffing-display-mode .staffing-performance dd{font-size:1.4rem!important}.staffing-display-mode .staffing-asset-card header strong{font-size:1.3rem!important}.staffing-display-mode .staffing-line-board-grid{overflow:auto!important}.staffing-display-mode .staffing-assignment-grid{grid-auto-rows:auto!important}.staffing-display-mode .staffing-current-order,.staffing-display-mode .staffing-performance-state small{font-size:.95rem!important}
@media(max-width:900px){.saved-board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.saved-board-heading{align-items:start;flex-direction:column}}
@media(max-width:600px){.saved-board-grid{grid-template-columns:1fr}.saved-board-tv .board-metrics td{font-size:1.3rem}}
.board-layout-editor{border-top:1px solid var(--line);margin-top:1rem;padding-top:1rem}.board-layout-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding:.55rem 0;border-bottom:1px solid var(--line)}.board-layout-row strong{min-width:12rem;flex:1}.board-layout-row label{max-width:11rem}.board-layout-row input{max-width:7rem}.board-widget{overflow:auto}.board-widget-rows article{padding:.5rem;border-top:1px solid var(--line);font-size:1rem}.board-widget-rows article p{overflow-wrap:anywhere}.saved-board-tv .board-widget-rows article{font-size:1.15rem}.saved-board-tv .saved-board-heading{flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){.board-card,.staffing-asset-card{transition:none}}
.board-layout-card{min-width:0}.board-layout-card>.board-card{height:100%}.saved-board[data-screen-preset="4K"] .board-card h2,.saved-board[data-screen-preset="4K"] .board-widget h2,.saved-board[data-screen-preset="4K"] .board-operator h2{font-size:2rem}.saved-board[data-screen-preset="4K"] .board-metrics th{font-size:1.4rem}.saved-board[data-screen-preset="4K"] .board-metrics td{font-size:2.1rem}.saved-board[data-screen-preset="4K"] .board-widget-rows article{font-size:1.35rem}.saved-board[data-screen-preset="4K"] .saved-board-heading h1{font-size:2.5rem}.saved-board[data-screen-preset="4K"] .saved-board-grid{gap:24px}.operator-formula-helper{padding:1rem;border:1px solid var(--line);border-radius:8px;margin:.8rem 0}.operator-formula-helper code{overflow-wrap:anywhere}.metric-measured-preview{padding:.8rem;border:1px solid var(--line);border-radius:8px;margin:1rem 0}
@media(max-width:900px){.board-layout-card,.saved-board-grid>.board-operator,.saved-board-grid>.board-widget{grid-column:span 1!important}.saved-board[data-screen-preset="4K"] .board-metrics td{font-size:1.6rem}}
