/* PATCH49: internal service shell. Client accounts retain their existing layout. */
body.internal-ui49{--m49-red:#bf2636;--m49-charcoal:#2e3034;--m49-line:#dfe1e5;--m49-muted:#687078;background:#f5f6f7;color:#202329}
.internal-ui49 *{box-sizing:border-box}.internal-ui49 svg{display:block;width:24px;height:24px;flex-shrink:0}
.internal-ui49 .app-shell{display:block!important;min-width:0}.internal-ui49 .app-main{margin-left:0!important;width:100%;min-width:0}
.internal-ui49 .page{max-width:1480px;padding:28px 32px 36px;margin:0 auto;min-width:0}
.internal-ui49 .mobile-topbar,.internal-ui49 .mobile-nav,.internal-ui49 .sent-tab{display:none!important}
.internal-ui49 .sidebar{display:none!important}
.m49-topbar{min-height:70px;background:#2e3034;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 32px}
.m49-brand{display:flex;align-items:center;gap:20px;color:#fff!important;text-decoration:none!important;font-size:27px;font-weight:800;letter-spacing:-.6px;white-space:nowrap}
.m49-brand>span{font-size:13px;font-weight:400;letter-spacing:0;border-left:1px solid #65676b;padding-left:20px;color:#e2e3e5}
.m49-topbar>nav{display:flex;align-items:stretch;gap:28px;margin-left:auto;align-self:stretch}
.m49-topbar>nav>a{color:#f2f3f4;text-decoration:none;display:flex;align-items:center;font-size:14px;border-bottom:3px solid transparent;padding-top:3px}
.m49-topbar>nav>a[aria-current=page]{border-color:#dc4a58}
.m49-menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;border:1px solid #66686c;border-radius:8px;color:#fff;min-height:44px;padding:8px 12px;font:inherit;font-size:13px;cursor:pointer}
.m49-menu-toggle:hover{background:#414348}.m49-menu-toggle>svg{width:22px}.m49-menu-word{display:none}
.m49-bottomnav{display:none}
.m49-backdrop{position:fixed;inset:0;width:100%;height:100%;z-index:110;background:#14171d80;border:0;cursor:pointer}.m49-backdrop[hidden]{display:none}
.internal-ui49.m49-menu-open{overflow:hidden}
.internal-ui49.m49-menu-open .sidebar{display:flex!important;position:fixed!important;left:auto!important;right:0!important;top:0!important;bottom:0!important;width:330px!important;max-width:92vw;height:100dvh!important;padding:28px 24px!important;background:#2e3034!important;z-index:120!important;overflow-y:auto!important;border-radius:14px 0 0 14px;box-shadow:-12px 0 45px #0003}
.internal-ui49 .sidebar .brand{margin-top:12px}.internal-ui49 .sidebar .sidebar-bottom{margin-top:20px}
.m49-menu-close{align-self:flex-end;background:#4b4e54;color:white;border:0;width:38px;height:38px;border-radius:50%;font-size:26px;line-height:1;cursor:pointer}
.m49-home .page{max-width:1420px}.m49-home .page-back-button{display:none}
.m49-home-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 24px}
.m49-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;color:#6f747b;font-weight:700;margin:0 0 7px}
.m49-home-heading h1{font-size:36px;font-weight:750;letter-spacing:-1px;line-height:1.15;margin:0 0 9px}.m49-home-heading p:not(.m49-eyebrow){font-size:15px;color:var(--m49-muted);margin:0}
.m49-home-heading time{color:var(--m49-muted);font-size:13px;white-space:nowrap}
.m49-resume{display:flex;align-items:center;gap:18px;background:#fff9ef;border:1px solid #efd9b3;border-radius:10px;padding:17px 20px;margin-bottom:20px;color:#202329;text-decoration:none;min-width:0}
.m49-badge{background:#ffd889;color:#704400;font-size:11px;padding:6px 10px;border-radius:5px;font-weight:700;white-space:nowrap}
.m49-resume>div{display:grid;gap:5px;min-width:0}.m49-resume strong{font-size:16px}.m49-resume>div>span{font-size:13px;color:#687078;overflow-wrap:anywhere}
.m49-resume>b{display:flex;align-items:center;gap:8px;color:var(--m49-red);font-size:14px;margin-left:auto;white-space:nowrap}
.m49-tile-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 24px}
.m49-tile{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:9px;min-height:182px;padding:25px;background:#fff;border:1px solid var(--m49-line);border-radius:12px;color:#202329;text-decoration:none!important;box-shadow:0 1px 2px #00000003;transition:border-color .15s,transform .15s;min-width:0}
.m49-tile>svg{width:40px;height:40px;margin-bottom:8px}.m49-tile>strong{font-size:23px;font-weight:700;line-height:1.2;letter-spacing:-.5px;overflow-wrap:anywhere}.m49-tile>span:not(.m49-tile-count){font-size:13px;color:#747b83;line-height:1.45}
.m49-tile-primary{background:var(--m49-red);border-color:var(--m49-red);color:#fff}.m49-tile-dark{background:var(--m49-charcoal);border-color:var(--m49-charcoal);color:#fff}
.m49-tile-primary>span:not(.m49-tile-count),.m49-tile-dark>span:not(.m49-tile-count){color:#f2f0f1}
.m49-tile:hover{border-color:#b2b7bd;transform:translateY(-2px)}.m49-tile-primary:hover{border-color:#971d2b}.m49-tile:focus-visible,.m49-resume:focus-visible,.m49-visit:focus-visible{outline:3px solid #bf263655;outline-offset:3px}
.m49-tile-count{position:absolute;right:18px;top:18px;background:#ffd579;color:#624000;border-radius:50%;min-width:28px;height:28px;display:grid;place-items:center;font-weight:700;font-size:12px;padding:0 5px}
.m49-visits{border:1px solid var(--m49-line);border-radius:12px;padding:21px 24px;background:#fff;margin:20px 0}
.m49-visits>header{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:13px}.m49-visits h2{margin:0;font-size:21px;letter-spacing:-.4px}.m49-visits>header>a{color:var(--m49-red);display:flex;gap:5px;align-items:center;font-size:13px;text-decoration:none}
.m49-visits>header svg{width:18px}.m49-visit{display:grid;grid-template-columns:105px minmax(0,1.3fr) minmax(0,1fr) auto;gap:18px;align-items:center;padding:15px 0;border-top:1px solid #e9eaec;text-decoration:none;color:#202329;font-size:13px}.m49-visit>*{min-width:0;overflow-wrap:anywhere}.m49-visit time{font-size:12px;color:#687078;font-variant-numeric:tabular-nums}.m49-visit strong{font-size:14px}.m49-visit>b{display:flex;gap:7px;align-items:center;color:var(--m49-red);font-size:12px}.m49-visit svg{width:17px;height:17px}
.m49-empty{font-size:14px;color:#747b83;margin:18px 0 6px}.m49-management{border:1px solid var(--m49-line);border-radius:10px;background:#fff;padding:0 20px;margin-top:22px}.m49-management>summary{padding:19px 0;cursor:pointer;font-size:14px;font-weight:650}.m49-management>div{padding:0 0 20px}.m49-management .hero-row{margin-top:10px}.m49-management .hero-row h2{font-size:22px}
.m49-assigned{margin-top:28px}.internal-ui49:not(.protocol-workspace-page) .panel{border-color:var(--m49-line);box-shadow:0 1px 3px #00000003}.internal-ui49:not(.protocol-workspace-page) .button.primary{background:#303236;border-color:#303236}.internal-ui49:not(.protocol-workspace-page) .button.fire{background:var(--m49-red);border-color:var(--m49-red)}
.internal-ui49:not(.protocol-workspace-page) .data-table th{background:#e5e5e6}.internal-ui49:not(.protocol-workspace-page) .data-table td{border-color:#e5e6e8}
/* The protocol data model, names, visibility rules and export code are unchanged. */
body.internal-ui49.protocol-workspace-page{--ws-navy:#303236;--ws-ink:#23262b;--ws-muted:#6b7179;--ws-line:#dee1e5;--ws-bg:#f5f6f7}
.protocol-workspace-page .m49-topbar,.protocol-workspace-page .m49-bottomnav{display:none!important}
body.internal-ui49.protocol-workspace-page .ws-brandbar{background:#2e3034;color:#fff}
body.internal-ui49.protocol-workspace-page .ws-brand>span{background:#d63749}
body.internal-ui49.protocol-workspace-page #protocol_form .ws-tabs button[aria-selected=true]{color:#b72334!important;border-bottom-color:#b72334!important}
body.internal-ui49.protocol-workspace-page #protocol_form .ws-tabs button[aria-selected=true]>span{background:#b72334!important}
body.internal-ui49.protocol-workspace-page #protocol_form .ws-scope{background:#f3f4f5;border-color:#dddfe3}
body.internal-ui49.protocol-workspace-page #protocol_form .ws-scope-button{display:flex!important;align-items:center!important;gap:10px!important;border:1px solid #dfe1e5!important;border-radius:9px!important;background:#fff!important;padding:12px!important;min-height:62px!important;line-height:1.35!important;color:#30343a!important;box-shadow:none!important;font-size:13px!important;text-align:left}
body.internal-ui49.protocol-workspace-page #protocol_form .ws-scope-button[aria-pressed=true]{background:#fff4f5!important;border-color:#c9283b!important;color:#ac2032!important}
body.internal-ui49.protocol-workspace-page #protocol_form .ws-scope-number{font-size:11px!important;min-width:17px!important;color:inherit!important;background:none!important;padding:0!important}
.ws-scope-icon49{display:flex;align-items:center;justify-content:center;flex:0 0 24px}.ws-scope-icon49 svg{width:24px;height:24px}
body.internal-ui49.protocol-workspace-page #protocol_form .ssp-result-options>label{border:1px solid #d9dde2!important;border-radius:7px!important;min-height:40px!important;padding:8px 13px!important;cursor:pointer}
body.internal-ui49.protocol-workspace-page #protocol_form .ssp-result-options>label:has(input[value="Brak uwag"]:checked){background:#effaf3!important;border-color:#9acaaa!important;color:#247944}
body.internal-ui49.protocol-workspace-page #protocol_form .ssp-result-options>label:has(input[value="Uwaga"]:checked){background:#fff8e9!important;border-color:#e0c786!important;color:#83610a}
body.internal-ui49.protocol-workspace-page #protocol_form input[type=checkbox],body.internal-ui49.protocol-workspace-page #protocol_form input[type=radio]{accent-color:#ba2739}
body.internal-ui49.protocol-workspace-page #protocol_form .ws-footer button[value=approve]{background:#ba2739!important;border-color:#ba2739!important;color:#fff!important}
body.internal-ui49.protocol-workspace-page #protocol_form .ws-footer .button{min-height:44px!important}
@media(min-width:1100px){body.internal-ui49.protocol-workspace-page #protocol_form[data-ws-active-step=inspection] .ws-body-layout{grid-template-columns:230px minmax(0,1fr)!important}body.internal-ui49.protocol-workspace-page #protocol_form .ws-scope nav{gap:9px!important}}
@media(max-width:1099px){.m49-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.m49-topbar{padding:0 22px}.m49-brand>span{display:none}.internal-ui49 .page{padding:25px 22px 32px}.m49-tile{min-height:160px}.m49-visit{grid-template-columns:95px minmax(0,1fr) minmax(0,1fr);gap:12px}.m49-visit>b{grid-column:2/4}}
@media(max-width:760px){.internal-ui49:not(.protocol-workspace-page) .page{padding:22px 16px 90px!important}.m49-topbar{min-height:64px;padding:0 18px}.m49-brand{font-size:24px}.m49-topbar>nav{display:none}.m49-menu-word{display:inline}.m49-user{display:none}.m49-home-heading{margin-bottom:20px}.m49-home-heading h1{font-size:29px}.m49-home-heading p:not(.m49-eyebrow){font-size:13px}.m49-home-heading time{font-size:11px}.m49-eyebrow{display:none}.m49-resume{gap:12px;padding:16px}.m49-resume>b{font-size:13px}.m49-resume>b>svg{width:17px}.m49-tile-grid{gap:12px}.m49-tile{padding:21px;min-height:160px}.m49-tile>strong{font-size:22px}.m49-tile>span:not(.m49-tile-count){font-size:12px}.m49-tile>svg{width:35px;height:35px}.m49-visits{padding:18px 16px}.m49-visits h2{font-size:19px}.m49-visits>header>a{font-size:12px}.m49-visit{grid-template-columns:76px minmax(0,1fr);gap:7px 12px}.m49-visit>span{grid-column:2}.m49-visit>b{grid-column:2}.m49-visit time{font-size:11px;grid-row:1/4}.m49-bottomnav{display:flex;position:fixed;z-index:60;left:0;right:0;bottom:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dfe1e5;justify-content:space-around}.m49-bottomnav>a,.m49-bottomnav>button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:88px;min-height:48px;font-size:11px;color:#697079;text-decoration:none;border:0;background:none;font-family:inherit;cursor:pointer}.m49-bottomnav svg{width:23px;height:23px}.m49-bottomnav .is-active{color:#bd2739}.m49-management{padding:0 13px}.m49-management>summary{font-size:13px}body.internal-ui49.protocol-workspace-page #protocol_form .ws-scope-button{padding:9px!important;gap:6px!important;min-height:54px!important;font-size:11px!important}.ws-scope-icon49{flex-basis:20px}.ws-scope-icon49 svg{width:20px;height:20px}}
@media(max-width:420px){.m49-home-heading{align-items:flex-start}.m49-home-heading h1{font-size:27px}.m49-home-heading time{padding-top:7px}.m49-home-heading p:not(.m49-eyebrow){max-width:210px}.m49-tile{padding:16px;min-height:150px;gap:8px}.m49-tile>strong{font-size:19px}.m49-tile>svg{width:31px;height:31px;margin-bottom:5px}.m49-resume{flex-wrap:wrap}.m49-resume>b{margin-left:auto}.m49-resume>div{flex:1 1 150px}.m49-resume strong{font-size:15px}.m49-tile-count{right:12px;top:12px;min-width:24px;height:24px}.m49-tile>span:not(.m49-tile-count){font-size:11px}}
@media(pointer:coarse){.internal-ui49 .button,.internal-ui49 button:not(.tiny-delete),.internal-ui49 .sidebar a{min-height:44px}.internal-ui49 input:not([type=checkbox]):not([type=radio]),.internal-ui49 textarea,.internal-ui49 select{font-size:16px!important;min-height:44px!important}.m49-visit{min-height:60px}.m49-topbar>nav>a{min-height:44px}}
@media(prefers-reduced-motion:reduce){.m49-tile{transition:none}.m49-tile:hover{transform:none}}
@media(pointer:coarse){body.internal-ui49.protocol-workspace-page #protocol_form input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),body.internal-ui49.protocol-workspace-page #protocol_form select{font-size:16px!important;min-height:44px!important;height:44px!important}body.internal-ui49.protocol-workspace-page #protocol_form textarea{font-size:16px!important;min-height:58px!important}body.internal-ui49.protocol-workspace-page #protocol_form button:not(.tiny-delete),body.internal-ui49.protocol-workspace-page #protocol_form .ssp-checks label,body.internal-ui49.protocol-workspace-page #protocol_form .ssp-result-options>label{min-height:44px!important}}
@media print{.m49-topbar,.m49-bottomnav,.m49-backdrop,.m49-menu-close{display:none!important}.internal-ui49 .page{padding:0!important}}
