/* Generated by build_client_bundle.py. Canonical style bundle. */

/* ===== panel styles ===== */
/* Canonical Project Panel styles. */

/* Canonical Project Panel styles. */

/* Canonical Project Panel styles. */

:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18212e;background:#f6f7f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #18212e;--muted: #6f7886;--line: #dfe3e8;--soft-line: #eaedf0;--paper: #fffdf9;--page: #f6f7f8;--navy: #12304b;--navy-deep: #0d263c;--blue: #1569dd;--blue-soft: #edf4ff;--red: #bf332d;--red-soft: #fff0ee;--green: #287b4b;--green-soft: #edf8f1;--yellow: #f6e78f}*{box-sizing:border-box}html,body{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar,*::-webkit-scrollbar{width:0;height:0}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:var(--page)}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:#115bc7;text-underline-offset:2px}h1,h2,h3,h4,p{margin:0}.report-app{display:flex;min-height:100vh}.identity-app{height:100dvh;min-height:100vh;overflow:hidden}.global-sidebar{display:flex;width:190px;flex:0 0 190px;min-height:100vh;flex-direction:column;padding:18px 10px 14px;color:#e9f0f6;background:var(--navy)}.identity-app .global-sidebar{height:100dvh;min-height:0}.global-nav{display:grid;gap:5px}.global-nav-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 9px;border:0;border-radius:6px;color:#b7c9d8;background:transparent;text-align:left;font-size:11px;transition:background .15s ease,color .15s ease}.global-nav-button:hover{color:#fff;background:#ffffff17}.global-nav-button.selected{color:#fff;background:#285980;box-shadow:inset 3px 0 #72a8ff}.global-nav-button b{display:grid;min-width:20px;height:20px;place-items:center;border-radius:50%;color:#fff;background:#d84641;font-size:10px}.demo-note{display:grid;gap:5px;margin-top:auto;padding:13px 7px 0;border-top:1px solid rgba(255,255,255,.14);color:#b8cada;font-size:10px;line-height:1.4}.demo-note b{color:#fff;font-size:11px}.report-main{min-width:0;flex:1;padding:22px 24px 34px}.identity-app .report-main{height:100dvh;overflow:hidden}.report-header{display:flex;max-width:1640px;margin:0 auto 22px;align-items:flex-start;justify-content:space-between;gap:18px}.section-kicker{color:#7a8593;font-size:10px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1{margin-top:5px;font-size:clamp(28px,3vw,38px);letter-spacing:-.055em;line-height:1.05}.header-actions{display:flex;align-items:center;gap:8px;padding-top:2px}.date-stamp,.user-stamp{padding:8px 10px;border:1px solid var(--line);border-radius:6px;color:#526071;background:#fff;font-size:11px;white-space:nowrap}.user-stamp{color:#245b99;background:#f3f7fd;border-color:#dce8f7;font-weight:700}.logout-button{padding:8px 10px;white-space:nowrap}.identity-layout{display:flex;width:100%;max-width:none;min-height:calc(100vh - 120px);margin:0;align-items:center;justify-content:center}.identity-app .identity-layout{height:calc(100dvh - 56px);min-height:0}.identity-layout>div{align-self:center}.identity-layout h1{max-width:450px;margin-top:7px;font-size:clamp(32px,4vw,46px)}.identity-layout>div>p{max-width:430px;margin-top:18px;color:#647185;font-size:15px;line-height:1.55}.identity-card{width:min(420px,100%);padding:26px;border:1px solid var(--line);border-top:4px solid #3b7dd2;background:#fff;box-shadow:0 12px 28px #12273e14}.identity-card h2{margin:7px 0 22px;font-size:23px;letter-spacing:-.04em}.identity-card h3{margin:7px 0 17px;color:#25364b;font-size:18px;letter-spacing:-.035em}.identity-note{margin-top:15px;color:#7a8797;font-size:10px;line-height:1.45}.admin-login-fold{margin-top:16px}.admin-login-fold summary{display:grid;place-items:center;list-style:none;text-align:center}.admin-login-fold summary::-webkit-details-marker{display:none}.admin-login-fold[open] summary{margin-bottom:18px}.admin-login-fold form{padding-top:2px;border-top:1px solid var(--line)}.workspace-shell{display:grid;max-width:1640px;height:calc(100dvh - 145px);min-height:0;margin:0 auto;grid-template-columns:218px minmax(520px,1fr) 390px;border:1px solid var(--line);background:#fff}.workspace-shell>.project-rail,.workspace-shell>.project-stream{min-height:0;overflow:auto}.workspace-shell>.word-preview{min-height:0;overflow:hidden}.project-rail{min-width:0;border-right:1px solid var(--line);background:#fbfcfd}.rail-search{display:grid;gap:10px;padding:18px 15px 12px;color:#6d7887;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.rail-search>label{display:grid;gap:6px}input,textarea,select{width:100%;border:1px solid #d2d8df;border-radius:5px;color:var(--ink);background:#fff;outline:none}input,select{min-height:36px;padding:8px 9px}textarea{min-height:94px;padding:9px;resize:vertical;line-height:1.45}input:focus,textarea:focus,select:focus{border-color:#6196e6;box-shadow:0 0 0 3px #1b68dc1c}.rail-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border-top:1px solid var(--soft-line);border-bottom:1px solid var(--soft-line);color:#3a4655;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.rail-heading button{border:0;color:#135bc3;background:transparent;font-size:10px;font-weight:800}.project-list{display:grid}.project-list-item{display:grid;gap:3px;width:100%;padding:14px 15px;border:0;border-bottom:1px solid var(--soft-line);color:#5e6a78;background:transparent;text-align:left}.project-list-item:hover{background:#f3f7fb}.project-list-item.selected{padding-left:12px;border-left:3px solid var(--blue);color:#1d3550;background:var(--blue-soft)}.project-list-item b{color:#223143;font-size:13px;line-height:1.25}.project-list-item span{font-size:11px}.project-list-item small{color:#8390a0;font-size:10px}.project-stream{min-width:0;border-right:1px solid var(--line);background:#fff}.project-stream-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 14px;border-bottom:1px solid var(--soft-line)}.project-title-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.project-title-line h2{font-size:21px;letter-spacing:-.04em}.project-title-line a{font-size:11px;font-weight:700}.project-meta{display:flex;gap:15px;margin-top:8px;color:#6f7b8a;font-size:10px;flex-wrap:wrap}.project-meta b{color:#314054}.stream-actions{display:flex;flex-shrink:0;gap:7px}.button{border:1px solid transparent;border-radius:5px;padding:9px 11px;font-size:11px;font-weight:800;transition:background .15s ease,border-color .15s ease,transform .15s ease}.button:hover{transform:translateY(-1px)}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.primary:hover{background:#0f5bc4;border-color:#0f5bc4}.button.secondary{color:#3d4d60;background:#fff;border-color:#d2d9e1}.button.secondary:hover{background:#f4f7fa}.button.wide{width:100%;min-height:42px}.entry-stack{display:grid}.report-entry{margin:10px 14px 0;padding:15px 16px 13px;border:1px solid var(--line);border-radius:6px;background:#fff}.report-entry:last-child{margin-bottom:10px}.report-entry:hover{background:#fcfdff}.report-entry.selected{border-color:#8fb6ef;box-shadow:inset 3px 0 var(--blue),0 2px 7px #194b8414;background:#f6faff}.entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.entry-head{padding-bottom:10px;border-bottom:1px solid var(--soft-line)}.entry-order-label,.order-link{font-size:13px;font-weight:800}.order-link{color:#0d5bc5}.entry-status{flex-shrink:0;padding:4px 7px;border-radius:3px;font-size:10px;font-weight:800;white-space:nowrap}.entry-status.new{color:#a92f2c;background:var(--red-soft)}.entry-status.review{color:#6e5a08;background:#fff5bd}.entry-status.accepted{color:#216b42;background:var(--green-soft)}.entry-order{display:flex;gap:5px;margin-top:7px;color:#6f7b8a;font-size:11px;flex-wrap:wrap}.entry-order a{font-weight:700}.entry-order b{margin-left:auto;color:#4a596d;font-weight:700}.entry-body{display:grid;gap:12px;margin-top:13px;grid-template-columns:1fr 1fr}.entry-body>div{min-width:0;padding:10px 11px;border:1px solid var(--soft-line);border-radius:5px;background:#fbfcfe}.entry-label{display:block;margin-bottom:5px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.problem-label{color:var(--red)}.solution-label{color:var(--green)}.article-comment{margin:4px 0 0;color:#4b5c70;font-weight:500;line-height:1.4;white-space:pre-line}.entry-body p{color:#314053;font-size:12px;line-height:1.45;white-space:pre-line}.entry-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;color:#8a95a2;font-size:10px}.entry-foot b{color:#536174}.entry-foot button{border:0;color:#185bb8;background:transparent;font-size:10px;font-weight:800}.empty-stream{display:grid;min-height:420px;place-content:center;padding:40px;color:#627083;text-align:center}.empty-stream h3{color:#2d3b4e;font-size:17px}.empty-stream p{max-width:290px;margin-top:7px;font-size:12px;line-height:1.5}.word-preview{display:flex;min-width:0;flex-direction:column;background:#f7f8fa}.word-preview-head{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:14px 14px 12px;border-bottom:1px solid var(--line);background:#fff}.word-preview-head>div{display:grid;gap:3px}.word-preview-head span{color:#293548;font-size:12px;font-weight:800}.word-preview-head small{color:#86919e;font-size:9px}.word-preview-head .button{flex-shrink:0}.word-page{flex:1 1 auto;min-height:0;margin:14px;padding:19px 14px;overflow:hidden;border:1px solid #e3e1db;color:#141414;background:var(--paper);box-shadow:0 4px 13px #181f2712;font-family:Arial,sans-serif}.word-title{display:grid;gap:2px;text-align:center}.protocol-mark{display:block;width:2px;height:18px;margin:0 auto 2px;background:#121212}.word-title h3{font-size:16px;font-weight:900;letter-spacing:-.025em}.word-title strong{font-size:8.8px;font-weight:900;line-height:1.25}.word-place-date{display:flex;justify-content:space-between;gap:10px;margin:15px 0 12px;font-size:8px;font-weight:700}.word-summary{display:grid;gap:2px;margin-bottom:12px;font-size:7.5px;line-height:1.3}.word-summary p{margin:0}.word-summary b{font-weight:900}.word-goz{color:#be1f1a;font-weight:900}.word-report-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:7px}.word-report-table th,.word-report-table td{padding:4px;border:1px solid #262626;vertical-align:top;text-align:left;line-height:1.25;overflow-wrap:anywhere}.word-report-table th{font-size:6.5px;font-weight:800;text-align:center}.word-report-table th:first-child,.word-report-table td:first-child{width:8%;text-align:center}.word-report-table th:nth-child(2),.word-report-table td:nth-child(2){width:39%}.word-report-table th:nth-child(3),.word-report-table td:nth-child(3),.word-report-table th:nth-child(4),.word-report-table td:nth-child(4){width:26.5%}.word-report-table a{color:#075ac7;text-decoration:underline}.word-report-table b,.word-project{font-weight:800}.word-detail{display:block;margin-top:4px;font-size:6.4px}.word-deadline{display:block;margin-top:6px;padding:3px 4px;color:#2f2a0c;background:#fff0a8;font-size:6.6px;line-height:1.25}.word-problem-article{margin:0 0 5px;padding-bottom:4px;border-bottom:1px solid #bfc5cc;color:#243a55;font-size:6.6px;font-weight:800;line-height:1.3}.word-problem-article .article-comment{margin-top:2px;color:#263442;font-size:6.3px;font-weight:400}.word-preview-foot{margin-top:auto;padding:12px 14px;border-top:1px solid var(--line);color:#727e8d;background:#fff;font-size:10px;line-height:1.4}.employee-layout{display:grid;max-width:1080px;margin:22px auto 0;align-items:start;gap:50px;grid-template-columns:.72fr 1.28fr}.employee-intro{padding:28px 0}.employee-intro h2,.settings-layout h2{margin-top:8px;font-size:32px;letter-spacing:-.05em;line-height:1.06}.employee-intro p,.settings-layout>div>p{margin-top:16px;color:#657185;font-size:13px;line-height:1.55}.employee-form{padding:22px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 20px #1722300a}.form-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding-bottom:16px;border-bottom:1px solid var(--line)}.form-head h3{margin-top:5px;font-size:20px;letter-spacing:-.04em}.form-head>span{color:#778396;font-size:10px}.mode-switch{display:flex;margin:17px 0;border-bottom:1px solid var(--line)}.mode-switch button{padding:8px 11px;border:0;border-bottom:2px solid transparent;color:#778396;background:transparent;font-size:11px;font-weight:800}.mode-switch button.selected{border-bottom-color:var(--blue);color:#185cb8}.field{display:grid;gap:6px;margin-bottom:13px;color:#5c697a;font-size:11px;font-weight:800}.field em{color:var(--red);font-style:normal}.two-columns{display:grid;gap:11px;grid-template-columns:1fr 1fr}.articles-fields{margin-bottom:13px;padding:12px;border:1px solid #dce5f0;border-radius:6px;background:#f6f9fd}.articles-fields-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;color:#43536a;font-size:11px}.articles-fields-head>div{display:grid;gap:3px}.articles-fields-head b{color:#35465d;font-size:12px}.articles-fields-head em{color:var(--red);font-style:normal}.articles-fields-head span{color:#718095;font-weight:500;line-height:1.35}.articles-fields-head strong{flex:0 0 auto;padding:3px 6px;border-radius:9px;color:#175db9;background:#e6f0ff;font-size:10px}.article-field-row{position:relative}.article-field-row+.article-field-row{margin-top:10px;padding-top:10px;border-top:1px solid #dfe7f0}.article-field-row .field{margin-bottom:8px}.article-field-row textarea{min-height:62px}.remove-article,.add-article{border:0;background:transparent;font-size:10px;font-weight:800}.remove-article{padding:0;color:#b43d38}.add-article{margin-top:4px;padding:5px 0 0;color:#135fbe}.form-divider{height:1px;margin:19px 0;background:var(--line)}.form-error{margin:0 0 13px;padding:10px 11px;border-left:3px solid var(--red);color:#9a302d;background:var(--red-soft);font-size:11px;line-height:1.4}.settings-layout{max-width:970px;margin:32px auto 0}.local-registry-card{display:grid;gap:15px;margin-top:25px;padding:20px;border:1px solid #cddded;border-left:4px solid #377fd4;background:#f8fbff}.local-registry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.local-registry-head h3{margin-top:5px;color:#203249;font-size:18px;letter-spacing:-.035em}.local-registry-head p{max-width:610px;margin-top:6px;color:#667487;font-size:11px;line-height:1.45}.sync-status{flex:0 0 auto;padding:6px 8px;border-radius:4px;color:#536274;background:#edf1f5;font-size:10px;font-weight:800;white-space:nowrap}.sync-status.ready{color:#206a44;background:#e8f6ed}.sync-status.loading,.sync-status.saving{color:#795e08;background:#fff5bf}.sync-status.error{color:#ad342e;background:#fff0ee}.local-registry-links{display:flex;gap:13px;align-items:center;color:#6e7a8a;font-size:11px;flex-wrap:wrap}.local-registry-links a{font-weight:800}.local-registry-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.button.link-danger{border-color:transparent;color:#aa3934;background:transparent}.button.link-danger:hover{border-color:#f0cbc8;background:#fff3f2}.local-registry-card>small{color:#708096;font-size:10px;line-height:1.45}.account-card{display:grid;gap:15px;margin-top:18px;padding:20px;border:1px solid var(--line);background:#fff}.account-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.account-card h3{margin-top:5px;color:#203249;font-size:17px;letter-spacing:-.03em}.account-card p{margin-top:6px;color:#718095;font-size:11px;line-height:1.45}.account-list{display:grid;border-top:1px solid var(--soft-line)}.account-list>div{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid var(--soft-line);color:#324257;font-size:12px}.account-list small{padding:3px 6px;border-radius:3px;font-size:10px;font-weight:800}.account-ready{color:#216b42;background:var(--green-soft)}.account-missing{color:#936b08;background:#fff5bd}.account-form{display:grid;gap:10px;grid-template-columns:minmax(150px,.9fr) minmax(180px,1fr) auto;align-items:end}.account-form .field{margin-bottom:0}.account-actions{display:flex;align-items:center;gap:7px;height:36px}.account-actions .button{white-space:nowrap}.admin-password-form{display:flex;align-items:end;gap:9px;padding-top:14px;border-top:1px solid var(--soft-line)}.admin-password-form .field{flex:1;margin-bottom:0}.settings-grid{display:grid;gap:16px;margin-top:26px;grid-template-columns:1fr 1fr}.roster-card{padding:20px;border:1px solid var(--line);background:#fff}.roster-card h3{font-size:16px;letter-spacing:-.025em}.roster-card>p{min-height:32px;margin-top:6px;color:#768294;font-size:11px;line-height:1.45}.roster-list{display:grid;margin-top:13px;border-top:1px solid var(--soft-line)}.roster-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--soft-line);color:#334257;font-size:12px}.roster-list button{padding:0;border:0;color:#b03b37;background:transparent;font-size:10px;font-weight:800}.roster-add{display:grid;gap:8px;margin-top:15px;grid-template-columns:1fr auto}.report-metrics{margin-top:18px;padding:18px 20px 6px;border:1px solid var(--line);background:#fff}.report-metrics summary{display:flex;align-items:center;cursor:pointer}.report-metrics summary span{display:grid;gap:3px}.report-metrics summary b{color:#25364b;font-size:15px;letter-spacing:-.025em}.report-metrics summary small{color:#738093;font-size:11px}.metrics-grid{display:grid;gap:0 12px;margin-top:17px;grid-template-columns:1fr 1fr}.dialog-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;justify-content:flex-end;background:#09192852}.side-dialog{display:flex;width:min(590px,100vw);height:100%;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;background:#f8fafb;box-shadow:-15px 0 32px #101b2733}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:23px 25px 18px;color:#fff;background:var(--navy-deep)}.dialog-head .section-kicker{color:#afc4da}.dialog-head h2{margin-top:5px;font-size:23px;letter-spacing:-.045em}.dialog-head button{padding:7px 9px;border:1px solid rgba(255,255,255,.35);border-radius:5px;color:#fff;background:transparent;font-size:10px;font-weight:700}.editor-form{flex:0 0 auto;padding:21px 25px 28px}.dialog-note{display:block;margin-bottom:17px;padding:11px 12px;border-left:3px solid #5091ed;color:#546379;background:#edf4fd;font-size:11px;line-height:1.45}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:7px;padding-top:15px;border-top:1px solid var(--line)}.dialog-actions-spacer{flex:1}.mandatory-password-backdrop{align-items:center;justify-content:center;padding:20px}.mandatory-password-dialog{width:min(520px,100%);height:auto;max-height:calc(100dvh - 40px)}.app-toast{position:fixed;z-index:30;right:24px;bottom:22px;max-width:360px;padding:12px 14px;border-radius:5px;color:#fff;background:#1a3048;box-shadow:0 10px 24px #13243733;font-size:12px}@media(max-width:1500px){.workspace-shell{grid-template-columns:180px minmax(380px,1fr) 330px}.report-main{padding-inline:18px}.project-stream-head{display:block}.stream-actions{margin-top:13px}.word-page{margin:12px;padding:16px 12px}}@media(max-width:1100px){.workspace-shell{height:auto;min-height:0;grid-template-columns:200px minmax(430px,1fr)}.workspace-shell>.project-rail,.workspace-shell>.project-stream,.workspace-shell>.word-preview{overflow:visible}.word-preview{grid-column:1 / -1;border-top:1px solid var(--line)}.word-preview .word-page{min-height:auto;overflow:visible}.employee-layout{gap:28px}.identity-layout{gap:35px;grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:760px){.report-app{display:block}.identity-app{height:auto;min-height:100dvh;overflow:visible}.global-sidebar{width:100%;min-height:auto;padding:14px 12px}.identity-app .global-sidebar{height:auto}.global-nav{display:flex;overflow-x:auto}.global-nav-button{width:auto;flex:0 0 auto;white-space:nowrap}.demo-note{display:none}.report-main{padding:18px 12px 28px}.identity-app .report-main{height:auto;overflow:visible}.report-header{display:block}.header-actions{margin-top:13px}.workspace-shell{display:block;height:auto;min-height:0}.project-rail{border-right:0;border-bottom:1px solid var(--line)}.project-list{max-height:225px;overflow:auto}.project-stream{border-right:0}.project-stream-head{padding:16px}.report-entry{padding:14px 16px}.entry-body,.employee-layout,.settings-grid{grid-template-columns:1fr}.entry-order b{width:100%;margin-left:0}.employee-layout{margin-top:8px}.employee-intro{padding:14px 0}.employee-intro h2,.settings-layout h2{font-size:28px}.identity-layout{min-height:0;padding:28px 0;grid-template-columns:1fr}.identity-app .identity-layout{height:auto}.identity-layout h1{font-size:34px}.two-columns{grid-template-columns:1fr}.settings-layout{margin-top:18px}.local-registry-head{display:grid;gap:10px}.sync-status{width:max-content}.account-form,.admin-password-form{display:grid;grid-template-columns:1fr;align-items:stretch}.account-actions{height:auto}.word-preview-head{align-items:flex-start}}.change-log{margin:10px 16px 16px;padding:9px 12px;border:1px solid #f1d99d;border-left:3px solid #df9c1b;border-radius:6px;background:#fffdf7;color:#28384d}.change-log>b{display:block;color:#7e5400;margin-bottom:5px;font-size:12px}.change-log-entry+.change-log-entry{margin-top:7px;padding-top:7px;border-top:1px solid #f2e6c7}.change-log-entry small{display:inline;margin-right:10px;color:#69778b;font-size:11px}.change-log-row{display:inline-grid;grid-template-columns:110px minmax(0,1fr) minmax(0,1fr);gap:6px;align-items:baseline;font-size:12px;line-height:1.3}.change-log-row span{color:#627086;font-weight:700}.change-log-row s{color:#9c4e42;text-decoration-thickness:1px}.change-log-row strong{color:#17653a}@media(max-width:760px){.change-log{margin:12px}.change-log-row{grid-template-columns:1fr;gap:2px}}
.report-header>div:first-child,.report-header .date-stamp,.report-header .user-stamp,.local-registry-card,.employee-intro{display:none!important}.report-header{max-width:1640px;margin:0 auto 10px;justify-content:flex-end}.header-actions{padding-top:0}.workspace-shell{height:calc(100dvh - 78px)}.settings-layout{margin-top:0}.employee-layout{display:block;max-width:min(760px,calc(100vw - 32px));margin:0 auto}@media(max-width:760px){.report-header{margin-bottom:10px}.header-actions{width:100%;display:flex;justify-content:stretch}.header-actions .header-new-project,.header-actions .logout-button{min-width:0;flex:1 1 0;width:auto}.workspace-shell{height:auto}}

.identity-app .report-main{
  background:
    linear-gradient(135deg, rgba(255,255,255,.82), rgba(244,247,250,.82)),
    #eef2f6;
}

.identity-card{
  width:min(430px, calc(100vw - 32px));
  padding:34px 36px 30px;
  border:1px solid #dce3eb;
  border-top:0;
  border-radius:8px;
  box-shadow:0 24px 56px rgba(18,39,62,.13);
  position:relative;
  overflow:hidden;
}

.identity-card::before{
  display:none;
}

.identity-card h2{
  margin:4px 0 24px;
  font-size:25px;
  line-height:1.12;
  text-align:center;
}

.identity-card > form > label.field{
  margin-bottom:12px;
}

.identity-card > form > label.field > span{
  display:none;
}

.identity-card > form input{
  min-height:46px;
  padding:0 14px;
  border-color:#d6dee7;
  border-radius:7px;
  background:#fbfcfe;
  font-size:13px;
}

.identity-card > form input::placeholder{
  color:#697789;
}

.identity-card > form .button.primary.wide{
  min-height:48px;
  margin-top:4px;
  border-radius:7px;
  font-size:13px;
}

.employee-login-note{
  display:block;
  margin:4px 0 14px;
  padding:11px 13px;
  border-left:3px solid #377fd4;
  border-radius:6px;
  color:#4f6177;
  background:#f3f7fd;
  font-size:11px;
  line-height:1.5;
}

.identity-card > form > .section-kicker{
  display:none;
}

.admin-login-fold{
  margin-top:16px;
  text-align:center;
}

.admin-login-fold > summary.button.secondary.wide{
  display:inline-flex;
  width:auto;
  min-height:0;
  padding:2px 0;
  border:0;
  color:#657386;
  background:transparent;
  font-size:12px;
  font-weight:700;
  line-height:1.3;
}

.admin-login-fold > summary.button.secondary.wide:hover{
  color:#145fbf;
  background:transparent;
  transform:none;
  text-decoration:underline;
}

.admin-login-fold[open] > summary.button.secondary.wide{
  margin-bottom:10px;
}

.admin-login-fold + p.identity-note{
  display:none;
}

.admin-login-fold > form{
  display:grid;
  gap:10px;
  padding-top:0;
  border-top:0;
}

.admin-login-fold > form > .section-kicker,
.admin-login-fold > form > h3{
  display:none;
}

.admin-login-fold > form > label.field{
  margin-bottom:0;
}

.admin-login-fold > form > label.field > span{
  display:none;
}

.admin-login-fold > form input{
  min-height:42px;
  padding:0 13px;
  border-radius:7px;
  background:#fbfcfe;
  font-size:13px;
  text-align:center;
}

.admin-password-dots{
  position:relative;
  width:100%;
}

.admin-password-dots input{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:0;
  caret-color:transparent;
}

.admin-password-icons{
  display:grid;
  grid-template-columns:repeat(6, 1fr);
  gap:8px;
  height:42px;
}

.admin-password-icons i{
  display:grid;
  min-width:0;
  height:42px;
  place-items:center;
  border:1px solid #d6dee7;
  border-radius:7px;
  background:#fbfcfe;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}

.admin-password-icons i::before{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#c9d3df;
  opacity:.35;
  content:"";
}

.admin-password-icons i.filled{
  border-color:#2a72dc;
  background:#eef5ff;
}

.admin-password-icons i.filled::before{
  background:#1e6edb;
  opacity:1;
}

.admin-password-dots input:focus + .admin-password-icons i{
  border-color:#8bb7ef;
  box-shadow:0 0 0 3px rgba(27,104,220,.12);
}

.admin-password-dots.visible-password input{
  opacity:1;
  caret-color:auto;
  text-align:center;
  letter-spacing:.08em;
}

.admin-password-dots.visible-password .admin-password-icons{
  visibility:hidden;
}

.admin-login-fold > form button.button.secondary.wide{
  min-height:42px;
  border-color:#d6dee7;
  border-radius:7px;
  color:#2f4055;
  background:#fff;
  font-size:12px;
}

.admin-login-fold > form button.button.secondary.wide:hover{
  background:#f6f8fb;
  transform:none;
}

.global-sidebar{
  color:#fff;
  background:#168de2;
  box-shadow:inset -1px 0 rgba(255,255,255,.18);
  padding-bottom:72px;
}
.demo-note,
.demo-note b,
.global-nav-button{
  color:#fff;
}
.demo-note span{
  opacity:.78;
}

.global-nav-button{
  min-height:38px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(255,255,255,.16);
  font-weight:800;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.global-nav-button:hover{
  color:#fff;
  border-color:rgba(255,255,255,.62);
  background:rgba(255,255,255,.28);
  box-shadow:0 8px 18px rgba(11,72,128,.18);
  transform:translateX(4px);
}

.global-nav-button.selected{
  color:#fff;
  border-color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.34);
  box-shadow:inset 3px 0 rgba(255,255,255,.9), 0 8px 22px rgba(11,72,128,.22);
}

.demo-note{
  border-top-color:rgba(255,255,255,.26);
}

.report-header{
  position:relative;
  width:100%;
  height:0;
  margin:0;
  justify-content:flex-end;
}

.report-header > div:first-child{
  display:none;
}

.report-main{
  position:relative;
  padding-top:18px;
}

.header-actions{
  padding-top:0;
}

.date-stamp,
.user-stamp{
  display:none;
}

.logout-button{
  position:fixed;
  z-index:10;
  left:16px;
  bottom:16px;
  width:158px;
  min-height:38px;
  border-color:rgba(255,255,255,.34);
  color:#fff;
  background:rgba(255,255,255,.12);
}

.logout-button:hover{
  background:rgba(255,255,255,.22);
  transform:translateY(-1px);
}

.header-new-project{
  position:absolute;
  z-index:8;
  top:31px;
  right:24px;
  width:124px;
  min-height:38px;
}

.word-preview-head .button.primary{
  width:124px;
  min-height:38px;
  flex:0 0 124px;
}

.password-field-row{
  display:grid;
  grid-template-columns:220px 126px;
  gap:8px;
  align-items:end;
}

.admin-password-form .field{
  margin-bottom:0;
}

.admin-password-form > .button,
.password-toggle{
  display:inline-flex;
  height:42px;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  padding:0 14px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}

.password-toggle{
  width:126px;
  color:#35465a;
}

.admin-password-form{
  display:grid;
  grid-template-columns:minmax(330px, 360px) auto;
  align-items:end;
  gap:10px;
}

.admin-password-form > .button{
  min-width:220px;
}

@media(max-width:1200px){

  .password-field-row{
    grid-template-columns:190px 112px;
  }

  .admin-password-form{
    grid-template-columns:minmax(280px, 320px) auto;
  }
}

.admin-password-form{
  gap:8px;
}

.admin-password-icons,
.admin-password-icons i,
.admin-password-form > .button,
.password-toggle{
  height:36px;
  min-height:36px;
}

.admin-password-icons{
  gap:6px;
}

.admin-password-icons i{
  border-radius:6px;
}

.admin-password-icons i::before{
  width:8px;
  height:8px;
}

.password-field-row{
  grid-template-columns:180px 104px;
  gap:6px;
}

.password-toggle{
  width:104px;
  padding:0 10px;
  font-size:11px;
}

.admin-password-form{
  grid-template-columns:minmax(290px, 1fr) auto;
  padding-top:10px;
}

.admin-password-form > .button{
  min-width:190px;
  padding:0 12px;
}

.employee-layout{
  display:block;
  max-width:860px;
  margin:14px auto 0;
  padding:0 16px 28px;
}

.employee-intro{
  display:none;
}

.employee-form{
  width:100%;
  max-width:none;
  margin:0 auto;
}

.employee-form .form-head{
  margin-bottom:16px;
}

.employee-form .form-head > span{
  display:none;
}

.employee-form input::placeholder,
.employee-form textarea::placeholder{
  color:transparent;
}

/* Responsive safety net for the local panel. */
.report-app,
.report-main,
.employee-form,
.roster-card,
.field,
.button{
  max-width:100%;
}

/* Responsive safety net for the local panel. */
.word-preview{
  max-width:100%;
}

.admin-password-form,
.roster-add,
.dialog-actions{
  min-width:0;
}

.word-preview-head{
  min-width:0;
}

.button,
.global-nav-button,
.roster-list span,
.field span{
  overflow-wrap:anywhere;
}

.word-preview-head span{
  overflow-wrap:anywhere;
}

@media(max-width:1320px){

  .word-preview-head{
    align-items:stretch;
  }

  .word-preview-head .button.primary{
    width:auto;
    min-width:112px;
  }
}

@media(max-width:1180px){
  .report-main{
    padding:14px;
  }

  .word-page{
    min-height:360px;
  }
}

@media(max-width:980px){
  .global-sidebar{
    width:170px;
    flex-basis:170px;
  }

  .word-preview-head{
    flex-direction:column;
    align-items:stretch;
  }

  .two-columns,
.metrics-grid{
    grid-template-columns:1fr;
  }

  .employee-layout{
    max-width:100%;
    margin-top:12px;
    padding-inline:0;
  }

  .admin-password-form{
    grid-template-columns:1fr;
    align-items:stretch;
  }

  .password-field-row{
    grid-template-columns:1fr auto;
    max-width:100%;
  }
}

@media(max-width:760px){
  .report-app{
    display:block;
  }

  .global-sidebar{
    position:static;
    width:100%;
    min-height:0;
    padding:12px 10px;
  }

  .global-nav{
    display:flex;
    gap:7px;
    overflow-x:auto;
    padding-bottom:2px;
  }

  .global-nav-button{
    width:auto;
    min-width:max-content;
    flex:0 0 auto;
  }

  .demo-note{
    display:none;
  }

  .logout-button{
    width:100%;
    margin-top:12px;
  }

  .report-main{
    padding:10px;
  }

  .employee-form,
.roster-card{
    padding:14px;
  }

  .mode-switch{
    overflow-x:auto;
  }

  .mode-switch button{
    flex:0 0 auto;
  }

  .articles-fields-head,
.roster-add,
.dialog-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .dialog-actions-spacer{
    display:none;
  }

  .side-dialog{
    width:100vw;
  }

  .editor-form{
    padding-inline:16px;
  }

  .app-toast{
    right:10px;
    bottom:10px;
    left:10px;
    max-width:none;
  }
}

@media(max-width:520px){
  .identity-card{
    width:calc(100vw - 20px);
    padding:26px 18px 24px;
  }

  .identity-card h2,
.form-head h3{
    font-size:22px;
  }

  .employee-layout{
    padding:0;
  }

  .employee-form{
    border-left:0;
    border-right:0;
    box-shadow:none;
  }

  .password-field-row{
    grid-template-columns:1fr;
  }

  .password-toggle,
.admin-password-form > .button{
    width:100%;
    min-width:0;
  }

  .admin-password-icons{
    gap:5px;
  }

  .admin-password-icons i{
    height:38px;
  }

  .button{
    width:100%;
  }

  .word-preview-head .button.primary{
    width:100%;
  }

  .roster-list div{
    display:grid;
    grid-template-columns:1fr;
  }

  .word-place-date{
    display:grid;
    grid-template-columns:1fr;
  }
}

.admin-login-fold > form > .section-kicker,
.admin-login-fold > form > h3{
  display:block;
  text-align:center;
}

.admin-login-fold > form > .section-kicker{
  margin:4px 0 6px;
}

.admin-login-fold > form > h3{
  margin:0 0 14px;
  color:#1f2d3d;
  font-size:20px;
  line-height:1.2;
}

.admin-login-fold > form > label.field > span{
  display:block;
  margin-bottom:6px;
  color:#5f6d7d;
  text-align:left;
}

.admin-login-fold .admin-password-dots{
  display:block;
}

.admin-login-fold .admin-password-dots input{
  position:static;
  display:block;
  width:100%;
  opacity:1;
  caret-color:auto;
  text-align:left;
}

.admin-login-fold .admin-password-icons{
  display:none;
}

.admin-login-fold > form input{
  text-align:left;
}

.word-project,
.word-project-link,
.word-detail,
.word-detail b{
  min-width:0;
  max-width:100%;
  overflow-wrap:anywhere;
  word-break:break-word;
}

.word-report-table{
  table-layout:fixed;
}

.word-report-table th:first-child{
  width:4%;
}

.word-report-table th:nth-child(2){
  width:36%;
}

.word-report-table th:nth-child(3),
.word-report-table th:nth-child(4){
  width:30%;
}

.word-report-table th,
.word-report-table td{
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}

.word-project{
  display:block;

}

.word-project-link{
  display:inline;
}

/* Passwords are no longer limited to a short PIN; keep the field usable for long passphrases. */
.admin-password-dots{
  height:auto !important;
  min-width:0 !important;
  overflow:visible !important;
}

.admin-password-dots input{
  position:static !important;
  inset:auto !important;
  width:100% !important;
  height:42px !important;
  min-height:42px !important;
  padding:0 13px !important;
  opacity:1 !important;
  caret-color:auto !important;
  text-align:left !important;
  letter-spacing:normal !important;
  line-height:normal !important;
}

.admin-password-icons{
  display:none !important;
}

/* The admin login is a separate mode: keep the employee form out of the way. */
.identity-card > form:first-child > h2{
  display:none !important;
}

.identity-card:has(> .admin-login-fold[open]) > form:first-child{
  display:none !important;
}

.identity-card > .admin-login-fold[open] > summary.button.secondary.wide{
  font-size:0;
}

.identity-card > .admin-login-fold[open] > summary.button.secondary.wide::after{
  content:"Назад";
  font-size:11px;
}

/* Login surfaces: give both entry modes the same calm, deliberate visual hierarchy. */
.identity-app .report-main{
  background:
    radial-gradient(circle at 50% 34%, rgba(68,135,224,.15), transparent 34%),
    linear-gradient(180deg, #f8fafc 0%, #eaf0f6 100%);
}

.identity-layout{
  min-height:calc(100vh - 80px);
}

.identity-card{
  width:min(480px, calc(100vw - 32px));
  padding:40px 42px 34px;
  border:1px solid rgba(190,204,220,.88);
  border-top:0;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 28px 70px rgba(23,55,91,.16), 0 4px 12px rgba(23,55,91,.05);
}

.identity-card::before{
  display:block;
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:6px;
  border-radius:18px 18px 0 0;
  background:linear-gradient(90deg, #155fc6 0%, #35a2ed 52%, #82d5ed 100%);
  content:"";
}

.identity-card::after{
  position:absolute;
  z-index:0;
  top:-110px;
  right:-92px;
  width:240px;
  height:240px;
  border-radius:50%;
  background:linear-gradient(145deg, rgba(98,178,239,.28), rgba(21,95,198,.04));
  content:"";
  pointer-events:none;
}

.identity-card > *{
  position:relative;
  z-index:1;
}

.identity-card > form:first-child{
  display:block;
  margin:0;
}

.identity-card > form:first-child::before{
  display:block;
  margin:0 0 8px;
  color:#173451;
  content:"Вход для сотрудника";
  font-size:25px;
  font-weight:850;
  letter-spacing:0;
  line-height:1.12;
  text-align:center;
}

.identity-card > form:first-child::after{
  display:none;
}

.identity-card > form:first-child > label.field:first-of-type::before{
  display:block;
  margin:0 0 18px;
  color:#728197;
  content:"Введите фамилию и личный пароль, чтобы продолжить работу.";
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  text-align:center;
}

.identity-card > form:first-child > label.field > span{
  display:block;
  margin-bottom:7px;
  color:#52637a;
  font-size:11px;
  font-weight:800;
}

.identity-card > form:first-child > label.field{
  margin-bottom:15px;
}

.identity-card > form:first-child input{
  min-height:50px;
  border-color:#d5e0ec;
  border-radius:10px;
  background:#f9fbfd;
  font-size:13px;
  transition:border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.identity-card > form:first-child input:focus{
  border-color:#4c91e6;
  background:#fff;
  box-shadow:0 0 0 4px rgba(47,122,215,.13);
}

.identity-card > form:first-child .button.primary.wide{
  min-height:50px;
  margin-top:7px;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg, #155fc6 0%, #237de0 100%);
  box-shadow:0 10px 20px rgba(28,105,201,.22);
  font-size:12px;
  letter-spacing:.01em;
}

.identity-card > form:first-child .button.primary.wide:hover{
  background:linear-gradient(135deg, #104fa9 0%, #176fcf 100%);
  box-shadow:0 12px 24px rgba(28,105,201,.28);
}

.employee-login-note{
  margin:2px 0 18px;
  padding:12px 14px;
  border:1px solid #d8e6f5;
  border-left:3px solid #347fd6;
  border-radius:10px;
  color:#536981;
  background:#f4f8fd;
  font-size:11px;
  line-height:1.5;
}

.admin-login-fold{
  margin-top:23px;
}

.admin-login-fold > summary.button.secondary.wide{
  display:flex;
  width:100%;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border:1px solid #d5e0ec;
  border-radius:10px;
  color:#48627e;
  background:#fff;
  font-size:12px;
  font-weight:800;
  transition:border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.admin-login-fold > summary.button.secondary.wide:hover{
  border-color:#9fc2ec;
  color:#155fc6;
  background:#f6faff;
  box-shadow:0 5px 14px rgba(25,96,181,.08);
  text-decoration:none;
}

.admin-login-fold[open] > summary.button.secondary.wide{
  margin-top:20px;
  margin-bottom:18px;
  border-color:#a9c9ef;
  color:#155fc6;
  background:#f1f7ff;
  box-shadow:none;
  font-size:0;
}

.admin-login-fold[open] > summary.button.secondary.wide::before{
  margin-right:7px;
  content:"←";
  font-size:15px;
  font-weight:700;
}

.admin-login-fold[open] > summary.button.secondary.wide::after{
  content:"Назад";
  font-size:12px;
}

.admin-login-fold > form{
  display:grid;
  gap:11px;
  padding:2px 0 0;
  border-top:1px solid #e4ebf3;
}

.admin-login-fold > form > .section-kicker{
  margin:22px 0 0;
  color:#6c819a;
  font-size:10px;
  letter-spacing:.14em;
}

.admin-login-fold > form > h3{
  margin:0 0 7px;
  color:#173451;
  font-size:25px;
  font-weight:850;
  letter-spacing:0;
  line-height:1.12;
}

.admin-login-fold > form > label.field > span{
  display:block;
  margin-bottom:7px;
  color:#52637a;
  font-size:11px;
  font-weight:800;
}

.admin-login-fold > form input{
  min-height:50px;
  border-color:#d5e0ec;
  border-radius:10px;
  background:#f9fbfd;
  font-size:13px;
}

.admin-login-fold > form input:focus{
  border-color:#4c91e6;
  background:#fff;
  box-shadow:0 0 0 4px rgba(47,122,215,.13);
}

.admin-login-fold > form button.button.secondary.wide{
  min-height:48px;
  margin-top:2px;
  border-color:#d5e0ec;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg, #155fc6 0%, #237de0 100%);
  box-shadow:0 10px 20px rgba(28,105,201,.18);
  font-size:12px;
}

.admin-login-fold > form button.button.secondary.wide:hover{
  border-color:#104fa9;
  background:linear-gradient(135deg, #104fa9 0%, #176fcf 100%);
  box-shadow:0 12px 24px rgba(28,105,201,.24);
  transform:translateY(-1px);
}

.identity-card > p.identity-note{
  margin-top:20px;
  padding-top:17px;
  border-top:1px solid #e7edf4;
  color:#8391a2;
  font-size:10px;
  line-height:1.55;
  text-align:center;
}

@media(max-width:520px){
  .identity-card{
    width:calc(100vw - 24px);
    padding:34px 22px 26px;
    border-radius:15px;
  }

  .identity-card::before{
    border-radius:15px 15px 0 0;
  }

  .identity-card > form:first-child::before,
.admin-login-fold > form > h3{
    font-size:22px;
  }

  .identity-card > form:first-child::after{
    display:none;
  }

  .identity-card > form:first-child > label.field:first-of-type::before{
    margin-bottom:16px;
    font-size:11px;
  }
}

/* Desktop workspace pass: increase the visual scale and keep the main panels on one rhythm. */
@media(min-width:761px){
  .report-app:not(.identity-app) .global-sidebar{
    width:220px;
    flex-basis:220px;
    padding:24px 16px 20px;
  }

  .report-app:not(.identity-app) .global-nav{
    gap:8px;
  }

  .report-app:not(.identity-app) .global-nav-button{
    min-height:46px;
    padding:12px 14px;
    border-radius:9px;
    font-size:13px;
  }

  .report-app:not(.identity-app) .global-nav-button b{
    min-width:24px;
    height:24px;
    font-size:11px;
  }

  .report-app:not(.identity-app) .demo-note{
    padding:18px 10px 0;
    font-size:12px;
  }

  .report-app:not(.identity-app) .demo-note b{
    font-size:13px;
  }

  .report-app:not(.identity-app) .logout-button{
    left:24px;
    bottom:20px;
    width:172px;
    min-height:44px;
    border-radius:9px;
    font-size:12px;
  }

  .report-app:not(.identity-app) .report-main{
    padding:28px 32px 44px;
  }

  .report-app:not(.identity-app) .report-header{
    max-width:1720px;
    margin-bottom:26px;
  }

  .report-app:not(.identity-app) .header-new-project{
    top:32px;
    right:32px;
    width:150px;
    min-height:44px;
  }

  .report-app:not(.identity-app) .button{
    min-height:44px;
    padding:11px 15px;
    border-radius:8px;
    font-size:13px;
  }

  .report-app:not(.identity-app) .order-link{
    font-size:15px;
  }

  .report-app:not(.identity-app) .word-preview-head{
    gap:14px;
    padding:18px 20px 16px;
  }

  .report-app:not(.identity-app) .word-preview-head .button.primary{
    width:auto;
    min-width:150px;
  }

  .report-app:not(.identity-app) .word-page{
    margin:20px;
    padding:24px 18px;
    border-radius:6px;
  }

  .report-app:not(.identity-app) .roster-card{
    display:grid;
    min-height:250px;
    grid-template-rows:auto auto 1fr auto;
    padding:26px 28px;
    border-radius:12px;
  }

  .report-app:not(.identity-app) .roster-card h3{
    font-size:20px;
  }

  .report-app:not(.identity-app) .roster-card > p{
    min-height:42px;
    margin-top:8px;
    font-size:13px;
  }

  .report-app:not(.identity-app) .roster-list{
    margin-top:20px;
  }

  .report-app:not(.identity-app) .roster-list div{
    padding:12px 0;
    font-size:14px;
  }

  .report-app:not(.identity-app) .roster-list button{
    font-size:12px;
  }

  .report-app:not(.identity-app) .roster-add{
    grid-template-columns:minmax(0, 1fr) 124px;
    gap:12px;
    margin-top:20px;
  }

  .report-app:not(.identity-app) .roster-add input,
.report-app:not(.identity-app) .roster-add .button{
    min-height:44px;
    border-radius:8px;
    font-size:13px;
  }

  .report-app:not(.identity-app) .metrics-grid{
    gap:0 28px;
    margin-top:22px;
  }

  .report-app:not(.identity-app) .metrics-grid > *{
    min-width:0;
  }

  .report-app:not(.identity-app) .metrics-grid .field{
    margin-bottom:18px;
    font-size:12px;
  }

  .report-app:not(.identity-app) .metrics-grid input,
.report-app:not(.identity-app) .metrics-grid textarea,
.report-app:not(.identity-app) .metrics-grid select,
.report-app:not(.identity-app) .field input,
.report-app:not(.identity-app) .field textarea,
.report-app:not(.identity-app) .field select{
    min-height:44px;
    border-radius:8px;
    font-size:14px;
  }

  .report-app:not(.identity-app) .field textarea{
    min-height:112px;
  }

  .report-app:not(.identity-app) .section-kicker{
    font-size:11px;
  }
}

@media(min-width:761px) and (max-width:1280px){
  .report-app:not(.identity-app) .global-sidebar{
    width:196px;
    flex-basis:196px;
  }

  .report-app:not(.identity-app) .report-main{
    padding-inline:22px;
  }
}

@media(max-width:760px){
  .report-app:not(.identity-app) .report-main{
    padding:18px 12px 28px;
  }

  .report-app:not(.identity-app) .global-nav-button{
    min-height:42px;
    padding:11px 13px;
    font-size:12px;
  }

  .report-app:not(.identity-app) .button{
    min-height:42px;
    font-size:12px;
  }

  .report-app:not(.identity-app) .roster-card{
    padding:18px 16px;
    border-radius:10px;
  }

  .report-app:not(.identity-app) .roster-card{
    display:block;
    min-height:0;
  }

  .report-app:not(.identity-app) .roster-card > p{
    min-height:0;
  }

  .report-app:not(.identity-app) .roster-add{
    grid-template-columns:1fr;
  }

  .report-app:not(.identity-app) .roster-add .button{
    width:100%;
  }

  .report-app:not(.identity-app) .metrics-grid{
    gap:0;
  }
}

@media(min-width:761px) and (max-width:1180px){

  .report-app:not(.identity-app) .word-page{
    min-height:360px;
  }
}

@media(min-width:761px) and (max-width:980px){
  .report-app:not(.identity-app) .global-sidebar{
    width:170px;
    flex-basis:170px;
  }

  .report-app:not(.identity-app) .word-preview-head{
    flex-direction:column;
    align-items:stretch;
  }

  .report-app:not(.identity-app) .two-columns,
.report-app:not(.identity-app) .metrics-grid{
    grid-template-columns:1fr;
  }

  .report-app:not(.identity-app) .employee-layout{
    max-width:100%;
    margin-top:12px;
    padding-inline:0;
  }
}

/* In admin mode the return control belongs below the login action, not above it. */
.identity-card > .admin-login-fold[open]{
  display:flex;
  flex-direction:column;
  margin-top:0;
}

.identity-card > .admin-login-fold[open] > form{
  order:1;
}

.identity-card > .admin-login-fold[open] > summary.button.secondary.wide{
  order:2;
  margin:22px 0 0 !important;
}

/* Project feed alignment pass: reserve a full row for the project title and
   keep controls aligned with the search fields on large screens. */
@media(min-width:761px){

  .report-app:not(.identity-app) .header-new-project{
    top:62px;
    right:32px;
  }
}

@media(min-width:761px) and (max-width:1280px){

  .report-app:not(.identity-app) .header-new-project{
    top:62px;
    right:22px;
  }
}

@media(min-width:761px) and (max-width:1180px){

  .report-app:not(.identity-app) .word-page{
    min-height:360px;
  }
}

@media(min-width:761px) and (max-width:980px){
  .report-app:not(.identity-app) .global-sidebar{
    width:170px;
    flex-basis:170px;
  }
}

@media(max-width:760px){
  .report-app:not(.identity-app) .header-new-project{
    top:auto;
    right:auto;
    position:static;
    width:100%;
  }
}

/* Final vertical and action-row alignment for the project feed. */
@media(min-width:761px){

  .report-app:not(.identity-app) .word-preview-head{
    align-items:flex-start;
  }

  .report-app:not(.identity-app) .word-preview-head .button.primary{
    align-self:flex-start;
    margin-top:8px;
  }
}

@media(min-width:761px) and (max-width:980px){
  .report-app:not(.identity-app) .word-preview-head .button.primary{
    margin-top:0;
  }
}

/* Match project actions with the employee-notification actions and give the
   preview heading a calmer top inset inside its header. */
@media(min-width:761px){
  .report-app:not(.identity-app) .word-preview-head{
    padding-top:26px;
  }
}

/* Make password reveal buttons show the actual typed value in settings. */
.password-field-row .admin-password-dots.visible-password input{
  opacity:1 !important;
  color:#18212e !important;
  -webkit-text-fill-color:#18212e !important;
  -webkit-text-security:none !important;
  caret-color:#18212e !important;
  text-align:left !important;
  letter-spacing:0 !important;
  padding:0 12px !important;
  background:#fff !important;
}

.password-field-row .admin-password-dots.visible-password .admin-password-icons{
  display:none !important;
}

.password-field-row .admin-password-dots.visible-password{
  min-height:36px;
}

/* Order editor: give dense order entry enough space without making project/settings dialogs huge. */
.dialog-backdrop .side-dialog:has(.articles-fields){
  width:min(1180px,100vw);
}

.dialog-backdrop .side-dialog:has(.articles-fields) .editor-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
}

.dialog-backdrop .side-dialog:has(.articles-fields) .dialog-note,
.dialog-backdrop .side-dialog:has(.articles-fields) .articles-fields,
.dialog-backdrop .side-dialog:has(.articles-fields) .form-error,
.dialog-backdrop .side-dialog:has(.articles-fields) .dialog-actions{
  grid-column:1 / -1;
}

.dialog-backdrop .side-dialog:has(.articles-fields) textarea{
  min-height:72px;
}

.word-order-line{
  display:block;
  margin-top:4px;
  padding-top:4px;
  border-top:1px solid #e5e8ed;
}

.word-order-line:first-of-type{
  border-top:0;
}

.word-deadline{
  margin-top:4px;
  padding:0;
  border:0;
  color:#4c596b;
  background:transparent;

}

.password-field-row .admin-password-dots.visible-password input,
.password-field-row .admin-password-dots.visible-password input[type="text"]{
  opacity:1!important;
  color:#18212e!important;
  -webkit-text-fill-color:#18212e!important;
  -webkit-text-security:none!important;
  caret-color:#18212e!important;
  background:#fff!important;
}

@media(max-width:760px){
  .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form{
    grid-template-columns:1fr;
  }
}

/* Keep the work area stable when the report preview is closed. */
.report-app:not(.identity-app) .report-main{
  min-width:0;
}

.report-app:not(.identity-app) .report-main{
  overflow-x:hidden;
}

.report-app:not(.identity-app) .order-link{
  overflow-wrap:anywhere;
  word-break:break-word;
}

.report-app:not(.identity-app) .word-detail{
  display:block;
  margin-top:6px;

}

.report-app:not(.identity-app) .word-project + .word-detail{
  margin-top:9px;
  padding-bottom:5px;
  border-bottom:1px solid #e5e8ed;
}

.report-app:not(.identity-app) .word-report-article{
  margin-top:5px;
}

.collection-checklist{
  width:min(1720px,100%);
  margin:0 auto 16px;
  padding:18px 22px;
  border:1px solid #d6dee7;
  border-radius:8px;
  background:#fff;
  box-shadow:0 5px 16px rgba(18,39,62,.05);
}

.collection-checklist-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:13px;
  border-bottom:1px solid var(--line);
}

.collection-checklist-head h3{
  margin:3px 0 4px;
  color:#24364d;
  font-size:19px;
  line-height:1.2;
}

.collection-checklist-head p{
  margin:0;
  color:#71829a;
  font-size:12px;
  line-height:1.45;
}

.collection-checklist-head > strong{
  flex:0 0 auto;
  color:#2568c7;
  font-size:13px;
  white-space:nowrap;
}

.collection-checklist-item{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:38px;
  padding:7px 10px;
  border:1px solid #e0e6ed;
  border-radius:6px;
  color:#34465c;
  background:#fbfcfe;
  cursor:pointer;
}

.collection-checklist-item input{
  width:17px;
  height:17px;
  margin:0;
  accent-color:#216bd1;
}

.collection-checklist-item span{
  min-width:0;
  overflow-wrap:anywhere;
  font-size:13px;
  font-weight:700;
}

.collection-checklist-item small{
  color:#8997a8;
  font-size:10px;
  white-space:nowrap;
}

.collection-checklist-item:has(input:checked){
  border-color:#9fc2ec;
  background:#f1f7ff;
}

.preview-close{
  min-width:100px;
}

.order-back-button{
  min-width:132px;
  min-height:46px;
  font-weight:800;
  border-color:#b8c9dc;
  color:#31445c;
  background:#fff;
}

.order-back-button:hover{
  border-color:#7fa9dc;
  color:#145fbf;
  background:#f4f8fd;
}

@media(max-width:760px){
  .collection-checklist{
    margin-bottom:12px;
    padding:14px;
  }

  .collection-checklist-head{
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }

  .collection-checklist-item{
    min-height:42px;
  }

  .preview-close{
    width:100%;
  }

  .order-back-button{
    width:100%;
  }
}

@media(min-width:761px){
  .dialog-backdrop .side-dialog:has(.articles-fields){
    width:100vw;
    max-width:100vw;
    height:100dvh;
    max-height:100dvh;
    border-radius:0;
  }

  .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form{
    align-content:start;
    overflow:auto;
    padding-bottom:24px;
  }

  .report-app:not(.identity-app) .order-link{
    font-size:13px;
  }
}


/*
 * Project Panel — Variant A / Calm Canvas
 *
 * This is an additive visual layer for the existing static bundle. It keeps
 * the current DOM, routes, forms and API behaviour intact while moving the
 * authenticated and login surfaces onto one quiet pastel system.
 */

:root{
  --canvas:#f3f6fb;
  --surface:#ffffff;
  --surface-soft:#f8f9fd;
  --ink:#1b263b;
  --muted:#758199;
  --line:#e2e8f1;
  --line-strong:#d3ddea;
  --blue:#4e74df;
  --blue-deep:#3e5fc4;
  --blue-soft:#eef3ff;
  --lilac:#f0ecff;
  --mint:#e5f6ef;
  --peach:#fff0e9;
  --amber:#fff7d9;
  --shadow-soft:0 8px 24px rgba(46,67,104,.07),0 2px 6px rgba(46,67,104,.04);
  --shadow-float:0 18px 44px rgba(46,67,104,.12),0 4px 12px rgba(46,67,104,.05);
}

html,
body{
  background:var(--canvas);
  color:var(--ink);
}

body{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

button,
input,
textarea,
select{
  font-family:inherit;
}

/* Authenticated shell */
.report-app:not(.identity-app){
  background:var(--canvas);
}

.report-app:not(.identity-app) .global-sidebar{
  width:238px;
  flex:0 0 238px;
  min-height:100vh;
  padding:24px 16px 18px;
  border-right:1px solid var(--line);
  color:var(--ink);
  background:var(--surface);
  box-shadow:4px 0 18px rgba(43,61,96,.025);
}

.report-app:not(.identity-app) .global-nav{
  display:grid;
  gap:6px;
}

.report-app:not(.identity-app) .global-nav-button{
  min-height:44px;
  padding:10px 12px;
  border:1px solid transparent;
  border-radius:12px;
  color:#6c7890;
  background:transparent;
  font-size:12px;
  font-weight:750;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}

.report-app:not(.identity-app) .global-nav-button:hover{
  color:var(--ink);
  border-color:var(--line);
  background:var(--surface-soft);
  box-shadow:var(--shadow-soft);
  transform:translateX(2px);
}

.report-app:not(.identity-app) .global-nav-button.selected{
  color:var(--blue-deep);
  border-color:#dce5ff;
  background:var(--blue-soft);
  box-shadow:inset 3px 0 var(--blue),0 4px 12px rgba(78,116,223,.08);
}

.report-app:not(.identity-app) .global-nav-button b{
  min-width:22px;
  height:22px;
  border-radius:999px;
  color:#8d6121;
  background:var(--amber);
  font-size:10px;
}

.report-app:not(.identity-app) .demo-note{
  margin-top:auto;
  padding:16px 10px 0;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:10px;
  line-height:1.45;
}

.report-app:not(.identity-app) .demo-note b{
  color:var(--ink);
  font-size:11px;
}

.report-app:not(.identity-app) .report-main{
  min-width:0;
  position:relative;
  padding:28px 32px 44px;
  background:var(--canvas);
}

.report-app:not(.identity-app) .report-header{
  display:flex;
  width:100%;
  max-width:1720px;
  height:auto;
  min-height:54px;
  margin:0 auto 22px;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
}

.report-app:not(.identity-app) .report-header > div:first-child{
  display:grid;
  gap:4px;
}

.report-app:not(.identity-app) .section-kicker{
  color:#8c98ad;
  font-size:10px;
  font-weight:800;
  letter-spacing:.13em;
}

.report-app:not(.identity-app) .report-header h1{
  margin-top:1px;
  color:var(--ink);
  font-size:clamp(28px,3vw,38px);
  font-weight:800;
  letter-spacing:0;
}

.report-app:not(.identity-app) .header-actions{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  padding-top:0;
}

.report-app:not(.identity-app) .header-new-project{
  position:static;
  top:auto;
  right:auto;
  width:auto;
  min-width:150px;
}

.report-app:not(.identity-app) .date-stamp,
.report-app:not(.identity-app) .user-stamp{
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:10px;
  color:var(--muted);
  background:rgba(255,255,255,.72);
  font-size:11px;
}

.report-app:not(.identity-app) .user-stamp{
  color:var(--blue-deep);
  border-color:#dce5ff;
  background:var(--blue-soft);
  font-weight:750;
}

.report-app:not(.identity-app) .logout-button{
  position:static;
  width:auto;
  min-height:38px;
  padding:8px 12px;
  border:1px solid var(--line);
  border-radius:10px;
  color:#7b869b;
  background:var(--surface);
  font-size:11px;
}

.report-app:not(.identity-app) .logout-button:hover{
  color:var(--ink);
  border-color:var(--line-strong);
  background:var(--surface-soft);
  box-shadow:var(--shadow-soft);
  transform:translateY(-1px);
}

/* Shared controls */
.report-app:not(.identity-app) .button,
.identity-app .button{
  min-height:44px;
  padding:10px 16px;
  border-radius:12px;
  font-size:12px;
  font-weight:800;
  line-height:1.1;
  transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.report-app:not(.identity-app) .button:hover,
.identity-app .button:hover{
  transform:translateY(-1px);
}

.report-app:not(.identity-app) .button:active,
.identity-app .button:active{
  transform:translateY(0) scale(.985);
}

.report-app:not(.identity-app) .button.primary,
.identity-app .button.primary{
  border-color:var(--blue);
  color:#fff;
  background:var(--blue);
  box-shadow:0 7px 15px rgba(78,116,223,.18);
}

.report-app:not(.identity-app) .button.primary:hover,
.identity-app .button.primary:hover{
  border-color:var(--blue-deep);
  background:var(--blue-deep);
  box-shadow:0 10px 20px rgba(78,116,223,.23);
}

.report-app:not(.identity-app) .button.secondary,
.identity-app .button.secondary{
  border-color:var(--line-strong);
  color:#64718a;
  background:var(--surface);
}

.report-app:not(.identity-app) .button.secondary:hover,
.identity-app .button.secondary:hover{
  border-color:#bbc8dc;
  color:var(--ink);
  background:var(--surface-soft);
  box-shadow:var(--shadow-soft);
}

.report-app:not(.identity-app) input,
.report-app:not(.identity-app) textarea,
.report-app:not(.identity-app) select,
.identity-app input,
.identity-app textarea,
.identity-app select{
  min-height:44px;
  padding:10px 12px;
  border:1px solid var(--line-strong);
  border-radius:12px;
  color:var(--ink);
  background:var(--surface-soft);
  font-size:13px;
  transition:border-color .16s ease,box-shadow .16s ease,background .16s ease;
}

.report-app:not(.identity-app) textarea{
  min-height:104px;
}

.report-app:not(.identity-app) input:focus,
.report-app:not(.identity-app) textarea:focus,
.report-app:not(.identity-app) select:focus,
.identity-app input:focus,
.identity-app textarea:focus,
.identity-app select:focus{
  border-color:#91a9f0;
  outline:0;
  background:var(--surface);
  box-shadow:0 0 0 4px rgba(78,116,223,.13);
}

.report-app:not(.identity-app) button:focus-visible,
.identity-app button:focus-visible,
.report-app:not(.identity-app) a:focus-visible,
.identity-app a:focus-visible{
  outline:3px solid rgba(78,116,223,.28);
  outline-offset:2px;
}

.report-app:not(.identity-app) .order-link{
  color:var(--ink);
  font-size:13px;
  font-weight:800;
}

.report-app:not(.identity-app) .order-link{
  color:var(--blue-deep);
}

.report-app:not(.identity-app) .solution-label{
  color:#5f927d;
}

/* Weekly collection status */
.report-app:not(.identity-app) .collection-checklist{
  margin:0 auto 14px;
  padding:18px 20px 20px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}

.report-app:not(.identity-app) .collection-checklist-head{
  align-items:flex-start;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}

.report-app:not(.identity-app) .collection-checklist-head h3{
  margin:4px 0 5px;
  color:var(--ink);
  font-size:20px;
  font-weight:800;
  letter-spacing:0;
}

.report-app:not(.identity-app) .collection-checklist-head p{
  max-width:720px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.report-app:not(.identity-app) .collection-checklist-head > strong{
  min-height:32px;
  padding:8px 11px;
  border-radius:999px;
  color:var(--blue-deep);
  background:var(--blue-soft);
  font-size:11px;
  line-height:1.1;
}

.report-app:not(.identity-app) .collection-checklist-item{
  min-height:48px;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  color:#475673;
  background:var(--surface-soft);
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.report-app:not(.identity-app) .collection-checklist-item:hover{
  border-color:#c9d5f6;
  background:#fbfcff;
  box-shadow:var(--shadow-soft);
  transform:translateY(-1px);
}

.report-app:not(.identity-app) .collection-checklist-item:has(input:checked){
  border-color:#cbd8ff;
  color:#40589d;
  background:var(--blue-soft);
  box-shadow:inset 3px 0 var(--blue),0 4px 12px rgba(78,116,223,.08);
  animation:collection-check-in .2s ease-out;
}

.report-app:not(.identity-app) .collection-checklist-item:has(input:disabled){
  cursor:default;
}

.report-app:not(.identity-app) .collection-checklist-item input{
  width:17px;
  height:17px;
  accent-color:var(--blue);
}

.report-app:not(.identity-app) .collection-checklist-item span{
  color:inherit;
  font-size:12px;
}

.report-app:not(.identity-app) .collection-checklist-item small{
  color:#93a0b5;
  font-size:9px;
}

.report-app:not(.identity-app) .collection-checklist-item:has(input:checked) small{
  color:#6078c2;
  font-weight:750;
}

@keyframes collection-check-in{
  from{transform:scale(.985)}
  to{transform:scale(1)}
}

.report-app:not(.identity-app) .word-preview{
  border-right:1px solid var(--line);
  background:var(--surface-soft);
  overflow:hidden;
}

.report-app:not(.identity-app) .word-preview-head{
  gap:10px;
  padding:16px 17px 14px;
  border-bottom:1px solid var(--line);
  background:var(--surface);
}

.report-app:not(.identity-app) .word-preview-head span{
  color:var(--ink);

}

.report-app:not(.identity-app) .word-preview-head small{
  color:var(--muted);

}

.report-app:not(.identity-app) .word-preview-head .button.primary{
  width:auto;
  min-width:0;
}

.report-app:not(.identity-app) .word-page{
  margin:16px;
  padding:20px 14px;
  border:1px solid #e1e4ec;
  border-radius:14px;
  background:#fffdfa;
  box-shadow:0 8px 22px rgba(46,67,104,.08);
}

.report-app:not(.identity-app) .word-preview-foot{
  padding:12px 16px;
  border-top:1px solid var(--line);
  color:var(--muted);
  background:var(--surface);

}

/* Employee form */
.report-app:not(.identity-app) .employee-layout{
  display:grid;
  width:100%;
  max-width:1120px;
  margin:10px auto 0;
  grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);
  gap:22px;
  align-items:start;
}

.report-app:not(.identity-app) .employee-intro{
  display:block !important;
  padding:28px 10px 28px 4px;
}

.report-app:not(.identity-app) .employee-intro h2{
  margin-top:8px;
  color:var(--ink);
  font-size:32px;
  font-weight:800;
  letter-spacing:0;
  line-height:1.06;
}

.report-app:not(.identity-app) .employee-intro p{
  margin-top:14px;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}

.report-app:not(.identity-app) .employee-form{
  padding:24px;
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-float);
}

.report-app:not(.identity-app) .form-head{
  padding-bottom:17px;
  border-bottom:1px solid var(--line);
}

.report-app:not(.identity-app) .form-head h3{
  margin-top:5px;
  color:var(--ink);
  font-size:21px;
}

.report-app:not(.identity-app) .form-head > span{
  color:var(--muted);
  font-size:10px;
}

.report-app:not(.identity-app) .mode-switch{
  display:flex;
  gap:5px;
  margin:18px 0;
  padding:4px;
  border:0;
  border-radius:12px;
  background:var(--surface-soft);
}

.report-app:not(.identity-app) .mode-switch button{
  flex:1 1 0;
  padding:10px 11px;
  border:0;
  border-radius:9px;
  color:var(--muted);
  background:transparent;
  font-size:11px;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}

.report-app:not(.identity-app) .mode-switch button.selected{
  border:0;
  color:var(--blue-deep);
  background:var(--surface);
  box-shadow:0 3px 10px rgba(46,67,104,.08);
}

.report-app:not(.identity-app) .field{
  gap:6px;
  margin-bottom:14px;
  color:#69768d;
  font-size:11px;
}

.report-app:not(.identity-app) .field em{
  color:#c8796a;
}

.report-app:not(.identity-app) .articles-fields{
  padding:14px;
  border:1px solid #e0e5f3;
  border-radius:14px;
  background:var(--surface-soft);
}

.report-app:not(.identity-app) .articles-fields-head{
  margin-bottom:12px;
  color:#5f6e88;
}

.report-app:not(.identity-app) .articles-fields-head b{
  color:var(--ink);
}

.report-app:not(.identity-app) .articles-fields-head strong{
  border-radius:999px;
  color:#5c6fae;
  background:var(--lilac);
}

.report-app:not(.identity-app) .local-registry-card,
.report-app:not(.identity-app) .roster-card{
  border:1px solid var(--line);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}

.report-app:not(.identity-app) .local-registry-card{
  gap:15px;
  margin-top:22px;
  padding:20px;
  border-left:4px solid #9ba9ec;
  background:var(--lilac);
}

.report-app:not(.identity-app) .local-registry-head h3,
.report-app:not(.identity-app) .roster-card h3{
  color:var(--ink);
}

.report-app:not(.identity-app) .local-registry-head p,
.report-app:not(.identity-app) .roster-card > p,
.report-app:not(.identity-app) .local-registry-card > small{
  color:var(--muted);
}

.report-app:not(.identity-app) .sync-status{
  border-radius:999px;
  color:#69758b;
  background:#edf0f5;
}

.report-app:not(.identity-app) .sync-status.ready{
  color:#4f876e;
  background:var(--mint);
}

.report-app:not(.identity-app) .sync-status.loading,
.report-app:not(.identity-app) .sync-status.saving{
  color:#94701f;
  background:var(--amber);
}

.report-app:not(.identity-app) .roster-card{
  padding:22px;
}

/* Drawers, dialogs and feedback */
.report-app:not(.identity-app) .dialog-backdrop{
  background:rgba(39,53,82,.22);
  backdrop-filter:blur(4px);
}

.report-app:not(.identity-app) .side-dialog{
  width:min(520px,calc(100vw - 24px));
  border-left:1px solid var(--line);
  border-radius:24px 0 0 24px;
  background:var(--surface);
  box-shadow:-18px 0 48px rgba(41,57,91,.15);
}

.report-app:not(.identity-app) .editor-form{
  padding:20px 24px 24px;
}

.report-app:not(.identity-app) .dialog-actions{
  gap:8px;
  padding-top:16px;
  border-top:1px solid var(--line);
}

.report-app:not(.identity-app) .app-toast{
  right:22px;
  bottom:22px;
  border:1px solid #dbe4ff;
  border-radius:13px;
  color:#5064a2;
  background:var(--blue-soft);
  box-shadow:var(--shadow-float);
}

/* Login keeps the same calmer visual language as the authenticated area. */
.identity-app .report-main{
  background:var(--canvas);
}

.identity-app .identity-layout{
  min-height:calc(100vh - 80px);
}

.identity-app .identity-card{
  width:min(470px,calc(100vw - 32px));
  padding:38px 40px 32px;
  border:1px solid var(--line);
  border-top:0;
  border-radius:22px;
  background:var(--surface);
  box-shadow:var(--shadow-float);
}

.identity-app .identity-card::before{
  height:6px;
  border-radius:22px 22px 0 0;
  background:var(--blue);
}

.identity-app .identity-card::after{
  background:var(--lilac);
  opacity:.55;
}

.identity-app .identity-card > form:first-child::before{
  color:var(--ink);
}

.identity-app .identity-card > form:first-child > label.field > span,
.identity-app .admin-login-fold > form > label.field > span{
  color:#69768d;
}

.identity-app .identity-card > form:first-child input,
.identity-app .admin-login-fold > form input{
  min-height:48px;
  border-color:var(--line-strong);
  border-radius:12px;
  background:var(--surface-soft);
}

.identity-app .identity-card > form:first-child .button.primary.wide,
.identity-app .admin-login-fold > form button.button.secondary.wide{
  min-height:48px;
  border:0;
  border-radius:12px;
  background:var(--blue);
  box-shadow:0 8px 18px rgba(78,116,223,.18);
}

.identity-app .employee-login-note{
  border:1px solid #dce5ff;
  border-left:3px solid var(--blue);
  border-radius:12px;
  color:#66769a;
  background:var(--blue-soft);
}

.identity-app .admin-login-fold > summary.button.secondary.wide{
  min-height:44px;
  border-color:var(--line-strong);
  border-radius:12px;
  color:#64718a;
  background:var(--surface);
}

.identity-app .identity-card > p.identity-note{
  border-top-color:var(--line);
  color:#8b96a9;
}

/* Responsive pass */
@media(max-width:1180px){

  .report-app:not(.identity-app) .word-page{
    min-height:350px;
  }
}

@media(max-width:900px){
  .report-app:not(.identity-app) .report-main{
    padding:24px 20px 36px;
  }

  .report-app:not(.identity-app) .report-header{
    flex-direction:column;
    margin-bottom:18px;
  }

  .report-app:not(.identity-app) .header-actions{
    width:100%;
    flex-wrap:wrap;
  }

  .report-app:not(.identity-app) .header-actions .header-new-project{
    order:-1;
  }

  .report-app:not(.identity-app) .employee-layout{
    grid-template-columns:1fr;
  }

  .report-app:not(.identity-app) .employee-intro{
    padding:4px 0 0;
  }

  .report-app:not(.identity-app) .employee-intro h2{
    font-size:28px;
  }
}

@media(max-width:760px){
  .report-app:not(.identity-app){
    display:block;
  }

  .report-app:not(.identity-app) .global-sidebar{
    display:grid;
    width:100%;
    min-height:0;
    height:auto;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    padding:14px 14px 12px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
.report-app:not(.identity-app) .demo-note{
    display:none;
  }

  .report-app:not(.identity-app) .global-nav{
    display:flex;
    gap:5px;
    min-width:0;
    overflow-x:auto;
  }

  .report-app:not(.identity-app) .global-nav-button{
    flex:0 0 auto;
    min-height:40px;
    padding:8px 11px;
    border-radius:10px;
    font-size:11px;
  }

  .report-app:not(.identity-app) .logout-button{
    grid-column:1 / -1;
    width:100%;
    min-height:38px;
  }

  .report-app:not(.identity-app) .report-main{
    padding:20px 12px 28px;
  }

  .report-app:not(.identity-app) .report-header h1{
    font-size:30px;
  }

  .report-app:not(.identity-app) .date-stamp,
.report-app:not(.identity-app) .user-stamp,
.report-app:not(.identity-app) .header-actions .button{
    flex:1 1 145px;
    justify-content:center;
  }

  .report-app:not(.identity-app) .word-preview-head{
    padding:18px 16px 15px;
  }

  .report-app:not(.identity-app) .two-columns,
.report-app:not(.identity-app) .metrics-grid{
    grid-template-columns:1fr;
  }

  .report-app:not(.identity-app) .employee-form,
.report-app:not(.identity-app) .roster-card{
    padding:18px 16px;
    border-radius:16px;
  }

  .report-app:not(.identity-app) .admin-password-form,
.report-app:not(.identity-app) .roster-add{
    grid-template-columns:1fr;
  }

  .report-app:not(.identity-app) .side-dialog{
    width:calc(100vw - 12px);
    border-radius:20px 0 0 20px;
  }

  .identity-app .identity-card{
    width:calc(100vw - 24px);
    padding:34px 22px 26px;
    border-radius:18px;
  }

  .identity-app .identity-card::before{
    border-radius:18px 18px 0 0;
  }
}

@media(prefers-reduced-motion:reduce){
  *,
*::before,
*::after{
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

/* Keep workspace actions with the weekly collection context. */
.report-app:not(.identity-app) .report-main:has(.collection-checklist) .report-header{
  position:static;
}

.report-app:not(.identity-app) .report-main:has(.collection-checklist) .header-actions{
  position:absolute;
  z-index:6;
  top:128px;
  right:32px;
  width:auto;
  margin:0;
}

.report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-head{
  position:relative;
  min-height:83px;
  padding-right:270px;
}

.report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-head > strong{
  position:absolute;
  top:50px;
  right:20px;
}

@media(max-width:760px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .header-actions{
    position:static;
    width:100%;
    margin-top:8px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-head{
    min-height:0;
    padding-right:0;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-head > strong{
    position:static;
  }
}

/* Final workspace pass: keep the collection context compact and the data area usable. */
.report-app:not(.identity-app) .report-main{
  min-height:100dvh;
  padding-top:10px;
  padding-bottom:24px;
  overflow-x:hidden;
  overflow-y:auto;
}

.report-app:not(.identity-app) .report-main:has(.collection-checklist) .report-header{
  height:0;
  min-height:0;
  margin:0;
}

.report-app:not(.identity-app) .report-main:has(.collection-checklist) .header-actions{
  top:14px !important;
  right:30px !important;
  width:auto;
  gap:10px;
  padding:0;
}

.report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist{
  margin-top:0;
}

.report-app:not(.identity-app) .collection-checklist-head{
  min-height:0;
  padding-right:320px;
}

.report-app:not(.identity-app) .collection-checklist-head > strong{
  display:none;
}

.report-app:not(.identity-app) .collection-checklist-counter{
  display:inline-flex;
  min-height:30px;
  align-items:center;
  padding:6px 11px;
  border:1px solid #dce5ff;
  border-radius:999px;
  color:var(--blue-deep);
  background:var(--blue-soft);
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}

.report-app:not(.identity-app) .button{
  font-size:13px;
  line-height:1.2;
}

.report-app:not(.identity-app) .global-nav-button{
  font-size:13px;
}

.report-app:not(.identity-app) .order-link{
  font-size:14px;
}

@media(min-width:761px){
  .report-app:not(.identity-app){
    height:100dvh;
    min-height:0;
    overflow:hidden;
  }

  .report-app:not(.identity-app) .report-main{
    height:100dvh;
    max-height:100dvh;
    box-sizing:border-box;
  }
}

@media(max-width:760px){
  .report-app:not(.identity-app) .report-main{
    min-height:100dvh;
    height:auto;
    max-height:none;
    padding-top:12px;
    overflow:visible;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .header-actions{
    position:static;
    width:100%;
    margin-top:8px;
  }

  .report-app:not(.identity-app) .collection-checklist-head{
    padding-right:0;
  }
}

/* On wide screens the weekly collection works better as a compact right rail. */
@media(min-width:1181px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist){
    display:grid;
    grid-template-columns:minmax(0,1fr) 318px;
    grid-template-rows:52px minmax(0,1fr);
    gap:14px 16px;
    padding:14px 28px 22px;
    overflow:hidden;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .report-header{
    grid-column:1 / -1;
    grid-row:1;
    display:flex;
    width:auto;
    height:52px;
    min-height:52px;
    margin:0;
    align-items:center;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .header-actions{
    position:static;
    width:100%;
    justify-content:flex-end;
    gap:18px !important;
    padding:0 18px 0 0 !important;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist{
    grid-column:2;
    grid-row:2;
    display:flex;
    width:auto;
    min-width:0;
    height:auto;
    min-height:0;
    margin:0;
    padding:18px 16px;
    flex-direction:column;
    overflow:hidden;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-head{
    flex:0 0 auto;
    padding-right:0;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-head h3{
    font-size:14px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-head p{
    font-size:11px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-item{
    flex:0 0 auto;
    min-height:43px;
    padding:8px 9px;
    border-radius:10px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-item span{
    font-size:12px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .collection-checklist-item small{
    font-size:10px;
  }
}

/* Authentication uses the same Calm Canvas language as the workspace. */
.identity-app{
  min-height:100dvh;
  background:var(--canvas);
}

.identity-app .report-main{
  display:flex;
  min-height:100dvh;
  height:auto;
  padding:28px 24px;
  align-items:center;
  justify-content:center;
  overflow:auto;
  background:var(--canvas);
}

.identity-app .identity-layout{
  display:flex;
  width:100%;
  min-height:0;
  height:auto;
  margin:0;
  align-items:center;
  justify-content:center;
}

.identity-app .identity-card{
  width:min(600px,100%);
  padding:38px 42px 32px;
  border:1px solid var(--line);
  border-top:3px solid var(--blue);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-float);
}

.identity-app .identity-card::before,
.identity-app .identity-card::after{
  display:none;
}

.identity-app .identity-card > form:first-child > h2{
  display:block !important;
  margin:0 0 28px;
  color:var(--ink);
  font-size:32px;
  font-weight:800;
  letter-spacing:0;
  line-height:1.08;
  text-align:left;
}

.identity-app .identity-card > form:first-child > .field{
  gap:7px;
  margin-bottom:16px;
  color:#5e6d84;
  font-size:13px;
  font-weight:750;
}

.identity-app .identity-card > form:first-child > .field > span,
.identity-app .admin-login-fold > form > label.field > span{
  display:block !important;
  margin-bottom:0;
  color:#5e6d84;
  font-size:13px;
  font-weight:750;
  text-align:left;
}

.identity-app .identity-card input,
.identity-app .identity-card select{
  min-height:48px;
  padding:11px 13px;
  border:1px solid var(--line-strong);
  border-radius:12px;
  color:var(--ink);
  background:var(--surface-soft);
  font-size:14px;
}

.identity-app .identity-card input::placeholder{
  color:#9aa5b6;
}

.identity-app .identity-card > form:first-child .button.primary.wide{
  min-height:50px;
  margin-top:4px;
  border-radius:12px;
  font-size:14px;
}

.identity-app .employee-login-note{
  margin:2px 0 18px;
  padding:13px 14px;
  border:1px solid #dce5ff;
  border-left:3px solid var(--blue);
  border-radius:12px;
  color:#61708a;
  background:var(--blue-soft);
  font-size:13px;
  line-height:1.5;
}

.identity-app .identity-card > .admin-login-fold{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid var(--line);
  text-align:left;
}

.identity-app .admin-login-fold > summary.button.secondary.wide{
  display:flex;
  width:100%;
  min-height:48px;
  padding:11px 14px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line-strong);
  border-radius:12px;
  color:#596a83;
  background:var(--surface);
  font-size:14px !important;
  font-weight:750;
  line-height:1.2;
  text-decoration:none;
}

.identity-app .admin-login-fold > summary.button.secondary.wide:hover{
  border-color:#b9c8e5;
  color:var(--blue-deep);
  background:var(--surface-soft);
  box-shadow:var(--shadow-soft);
}

.identity-app .admin-login-fold[open] > summary.button.secondary.wide{
  margin:0 0 22px;
  color:var(--blue-deep);
  border-color:#cbd8ff;
  background:var(--blue-soft);
  font-size:0 !important;
}

.identity-app .admin-login-fold[open] > summary.button.secondary.wide::before{
  margin-right:8px;
  content:"←";
  font-size:17px;
  font-weight:700;
}

.identity-app .admin-login-fold[open] > summary.button.secondary.wide::after{
  content:"Назад";
  font-size:14px;
}

.identity-app .admin-login-fold > form{
  display:grid;
  gap:13px;
  padding:0;
  border-top:0;
}

.identity-app .admin-login-fold > form > .section-kicker,
.identity-app .admin-login-fold > form > h3{
  display:block !important;
  text-align:left;
}

.identity-app .admin-login-fold > form > .section-kicker{
  margin:0;
  color:#8a98ad;
  font-size:11px;
  letter-spacing:.13em;
}

.identity-app .admin-login-fold > form > h3{
  margin:0 0 5px;
  color:var(--ink);
  font-size:26px;
  font-weight:800;
  letter-spacing:0;
  line-height:1.12;
}

.identity-app .admin-login-fold > form input{
  min-height:48px;
  padding:11px 13px;
  border-radius:12px;
  background:var(--surface-soft);
  font-size:14px;
  text-align:left;
}

.identity-app .admin-login-fold > form button.button.secondary.wide{
  min-height:50px;
  margin-top:3px;
  border:1px solid var(--blue);
  border-radius:12px;
  color:#fff;
  background:var(--blue);
  box-shadow:0 7px 15px rgba(78,116,223,.18);
  font-size:14px;
}

.identity-app .admin-login-fold > form button.button.secondary.wide:hover{
  border-color:var(--blue-deep);
  color:#fff;
  background:var(--blue-deep);
  box-shadow:0 10px 20px rgba(78,116,223,.23);
  transform:translateY(-1px);
}

.identity-app .identity-note{
  margin-top:18px;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.identity-app .form-error{
  margin:0;
  padding:12px 13px;
  border:1px solid #f0d3d0;
  border-left:3px solid #c95b54;
  border-radius:10px;
  color:#9f4944;
  background:#fff4f2;
  font-size:13px;
  line-height:1.45;
}

@media(max-width:640px){
  .identity-app .report-main{
    min-height:100dvh;
    padding:16px;
  }

  .identity-app .identity-card{
    width:100%;
    padding:28px 22px 24px;
    border-radius:16px;
  }

  .identity-app .identity-card > form:first-child > h2{
    margin-bottom:24px;
    font-size:28px;
  }

  .identity-app .admin-login-fold > form > h3{
    font-size:24px;
  }
}

/* Keep the collection actions visually separated from each other and from the edge. */
@media(min-width:761px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .header-actions{
    top:28px !important;
    right:64px !important;
    gap:18px !important;
    padding-right:2px !important;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist) .header-actions > .button{
    flex:0 0 auto;
    margin:0 !important;
  }
}

/* Place the weekly collection below navigation and return actions to the workspace. */
@media(min-width:1181px){
  .report-app:not(.identity-app) .global-sidebar{
    width:292px;
    flex:0 0 292px;
    min-height:100dvh;
    overflow-x:hidden;
    overflow-y:auto;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist{
    display:flex;
    width:100%;
    min-width:0;
    margin:20px 0 0;
    padding:18px 0 0;
    flex-direction:column;
    border:0;
    border-top:1px solid var(--line);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-head{
    display:block;
    padding:0 2px 14px;
    border-bottom:1px solid var(--line);
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-head h3{
    margin:4px 0 5px;
    color:var(--ink);
    font-size:17px;
    letter-spacing:0;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-head p{
    color:var(--muted);
    font-size:11px;
    line-height:1.45;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-counter{
    min-height:28px;
    padding:6px 9px;
    font-size:11px;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
    display:grid;
    min-height:39px;
    padding:7px 8px;
    grid-template-columns:18px minmax(0,1fr) auto;
    gap:8px;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item:hover{
    border-color:var(--line);
    background:var(--surface-soft);
    box-shadow:none;
    transform:none;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item span{
    font-size:12px;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item small{
    font-size:10px;
  }

  .report-app:not(.identity-app) .report-main{
    display:block;
    padding:12px 28px 22px;
    overflow-x:hidden;
    overflow-y:hidden;
  }

  .report-app:not(.identity-app) .report-main .report-header{
    display:flex;
    width:100%;
    height:48px;
    min-height:48px;
    margin:0 auto 12px;
    align-items:center;
  }

  .report-app:not(.identity-app) .report-main .header-actions{
    position:static;
    width:100%;
    justify-content:flex-end;
    gap:18px !important;
    padding:0 18px 0 0 !important;
  }
}

@media(max-width:1180px) and (min-width:761px){
  .report-app:not(.identity-app) .global-sidebar{
    width:250px;
    flex-basis:250px;
    overflow-y:auto;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist{
    margin:18px 0 0;
    padding:16px 0 0;
    border:0;
    border-top:1px solid var(--line);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-head{
    padding:0 2px 12px;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-head h3{
    font-size:16px;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
    min-height:38px;
    padding:6px 7px;
    border-color:transparent;
    background:transparent;
  }
}

@media(max-width:760px){
  .report-app:not(.identity-app) .global-sidebar .collection-checklist{
    grid-column:1 / -1;
    margin:14px 0 0;
    padding:14px 0 0;
    border:0;
    border-top:1px solid var(--line);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-head{
    padding:0 2px 10px;
  }

  .report-app:not(.identity-app) .report-main{
    overflow:visible;
  }
}

/* Keep the weekly context beside the workspace actions and the checklist compact. */
@media(min-width:761px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .report-header{
    display:grid;
    width:100%;
    min-height:78px;
    height:auto;
    margin:0 auto 10px;
    align-items:start;
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:20px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top{
    display:grid;
    min-width:0;
    align-content:start;
    gap:2px;
    padding:3px 0 0 2px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top .section-kicker{
    font-size:11px;
    line-height:1.25;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top h3{
    margin:2px 0 3px;
    color:var(--ink);
    font-size:24px;
    font-weight:800;
    letter-spacing:0;
    line-height:1.12;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top p{
    max-width:780px;
    margin:0;
    color:var(--muted);
    font-size:12px;
    line-height:1.45;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .header-actions{
    display:flex;
    width:auto;
    min-width:max-content;
    align-items:flex-start;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:14px !important;
    padding:4px 20px 0 0 !important;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist{
    margin-top:14px;
    padding-top:12px;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
    min-height:34px;
    padding:5px 7px;
  }
}

@media(max-width:760px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .report-header{
    display:flex;
    height:auto;
    min-height:0;
    margin-bottom:12px;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top{
    width:100%;
    padding:0 2px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top h3{
    margin:3px 0 4px;
    font-size:22px;
    line-height:1.14;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .header-actions{
    width:100%;
    min-width:0;
    justify-content:flex-start;
    padding:0 !important;
  }
}

/* Align the order editor to one shared four-column grid. */
@media(min-width:761px){
  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields){
    width:100vw;
    max-width:100vw;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form{
    width:100%;
    max-width:1280px;
    margin-right:auto;
    margin-left:auto;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:16px 18px;
    padding:28px clamp(28px,5vw,56px) 30px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .dialog-note,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .articles-fields,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .form-error,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .dialog-actions{
    grid-column:1 / -1;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .field,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .two-columns{
    grid-column:span 2;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .field:has(> textarea){
    order:3;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .two-columns:has(+ .field + .field){
    order:4;
    grid-column:1 / -1;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .form-error{
    order:5;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .dialog-actions{
    order:6;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form .field{
    min-width:0;
    margin-bottom:0;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .field > span,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .two-columns .field > span{
    display:flex;
    min-height:2.35em;
    align-items:flex-end;
    line-height:1.18;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form input,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form select{
    min-height:52px;
    height:52px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form textarea{
    min-height:112px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .articles-fields{
    margin-bottom:0;
    padding:16px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .articles-fields .field > span{
    min-height:2.35em;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .article-field-row textarea{
    min-height:112px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .dialog-actions{
    display:flex;
    min-height:70px;
    margin-top:2px;
    align-items:center;
    gap:14px;
    padding-top:18px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .dialog-actions > .button:not(.link-danger){
    min-width:152px;
    min-height:52px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .dialog-actions > .button.primary{
    min-width:190px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .dialog-actions .link-danger{
    white-space:nowrap;
  }
}

/* Final alignment for the weekly header and both authentication modes. */
.report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top h3{
  white-space:nowrap;
}

.identity-app .report-main{
  min-height:100dvh;
  height:100dvh;
  overflow:hidden;
  padding:16px 24px 24px;
  background:var(--canvas) !important;
}

.identity-app .identity-layout{
  min-height:100%;
  height:auto;
  padding:34px 0 24px;
  align-items:flex-start;
}

.identity-app .identity-card{
  width:min(680px,calc(100vw - 48px));
  padding:38px 48px 34px;
  border:1px solid var(--line);
  border-top:4px solid var(--blue);
  border-radius:18px;
  background:var(--surface);
  box-shadow:var(--shadow-float);
}

.identity-app .identity-card > form:first-child::before{
  margin-bottom:10px;
  color:var(--muted);
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
  line-height:1.25;
  text-align:left;
  text-transform:uppercase;
}

.identity-app .identity-card > form:first-child > h2{
  margin:0 0 24px;
  color:var(--ink);
  font-size:36px;
  font-weight:800;
  letter-spacing:0;
  line-height:1.08;
  text-align:left;
}

.identity-app .identity-card > form:first-child > label.field,
.identity-app .admin-login-fold > form > label.field{
  gap:8px;
  margin-bottom:16px;
}

.identity-app .identity-card > form:first-child > label.field > span,
.identity-app .admin-login-fold > form > label.field > span{
  color:#5d6d84;
  font-size:14px;
  font-weight:800;
  line-height:1.25;
}

.identity-app .identity-card input,
.identity-app .admin-login-fold > form input{
  min-height:52px;
  height:52px;
  padding:12px 14px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  color:var(--ink);
  background:var(--surface-soft);
  font-size:16px;
}

.identity-app .identity-card input:focus,
.identity-app .admin-login-fold > form input:focus{
  border-color:var(--blue);
  background:var(--surface);
  box-shadow:0 0 0 4px rgba(78,116,223,.14);
}

.identity-app .identity-card input::placeholder{
  color:#8d9ab0;
}

.identity-app .employee-login-note{
  margin:2px 0 18px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-left:3px solid var(--blue);
  border-radius:10px;
  color:var(--muted);
  background:var(--blue-soft);
  font-size:13px;
  line-height:1.45;
}

.identity-app .identity-card > form:first-child .button.primary.wide,
.identity-app .admin-login-fold > form button.button.secondary.wide{
  width:100%;
  min-height:52px;
  height:52px;
  margin-top:2px;
  border:1px solid var(--blue);
  border-radius:10px;
  color:#fff;
  background:var(--blue);
  box-shadow:var(--shadow-soft);
  font-size:16px;
  font-weight:800;
}

.identity-app .identity-card > form:first-child .button.primary.wide:hover,
.identity-app .admin-login-fold > form button.button.secondary.wide:hover{
  border-color:var(--blue-deep);
  background:var(--blue-deep);
  box-shadow:var(--shadow-float);
}

.identity-app .identity-card > .admin-login-fold{
  margin-top:22px;
  padding-top:20px;
  border-top:1px solid var(--line);
}

.identity-app .admin-login-fold > summary.button.secondary.wide{
  width:100%;
  min-height:52px;
  height:52px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  color:#52627a;
  background:var(--surface);
  font-size:16px !important;
  font-weight:800;
}

.identity-app .admin-login-fold > summary.button.secondary.wide:hover{
  border-color:#a8bae0;
  color:var(--blue-deep);
  background:var(--surface-soft);
}

.identity-app .admin-login-fold[open] > summary.button.secondary.wide{
  margin:0 0 20px;
  color:var(--blue-deep);
  border-color:#b8c8ee;
  background:var(--blue-soft);
  font-size:0 !important;
}

.identity-app .admin-login-fold[open] > summary.button.secondary.wide::before{
  margin-right:8px;
  content:"\2190";
  font-size:19px;
  font-weight:800;
}

.identity-app .admin-login-fold[open] > summary.button.secondary.wide::after{
  content:"\041d\0430\0437\0430\0434";
  font-size:16px;
  font-weight:800;
}

.identity-app .admin-login-fold > form{
  gap:12px;
  padding:0;
  border-top:0;
}

.identity-app .admin-login-fold > form > .section-kicker{
  margin:0;
  color:var(--muted);
  font-size:12px;
  letter-spacing:.14em;
}

.identity-app .admin-login-fold > form > h3{
  margin:0 0 4px;
  color:var(--ink);
  font-size:30px;
  font-weight:800;
  letter-spacing:0;
  line-height:1.1;
}

.identity-app .identity-note{
  margin-top:18px;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}

.identity-app .form-error{
  margin:0;
  border-radius:10px;
  font-size:13px;
}

@media(max-width:760px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top h3{
    font-size:18px;
  }

  .identity-app .report-main{
    height:auto;
    min-height:100dvh;
    overflow:visible;
    padding:12px 16px 20px;
  }

  .identity-app .identity-layout{
    min-height:0;
    padding:22px 0 18px;
  }

  .identity-app .identity-card{
    width:100%;
    padding:30px 22px 26px;
    border-radius:16px;
  }

  .identity-app .identity-card > form:first-child::before{
    font-size:11px;
  }

  .identity-app .identity-card > form:first-child > h2{
    margin-bottom:21px;
    font-size:30px;
  }

  .identity-app .identity-card input,
.identity-app .admin-login-fold > form input{
    min-height:48px;
    height:48px;
    font-size:15px;
  }

  .identity-app .identity-card > form:first-child .button.primary.wide,
.identity-app .admin-login-fold > form button.button.secondary.wide,
.identity-app .admin-login-fold > summary.button.secondary.wide{
    min-height:48px;
    height:48px;
    font-size:15px !important;
  }

  .identity-app .admin-login-fold > form > h3{
    font-size:26px;
  }
}

@media(max-width:520px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top h3{
    font-size:15px;
  }
}

@media(max-width:760px){
  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    padding:20px 16px 24px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .dialog-note,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .articles-fields,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .field,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .two-columns,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .form-error,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .dialog-actions{
    grid-column:1;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .field:has(> textarea){
    order:3;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .two-columns:has(+ .field + .field){
    order:4;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .form-error{
    order:5;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .dialog-actions{
    order:6;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form .field{
    min-width:0;
    margin-bottom:0;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .field > span,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form > .two-columns .field > span{
    display:flex;
    min-height:2.35em;
    align-items:flex-end;
    line-height:1.18;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form input,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form select{
    min-height:48px;
    height:48px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .editor-form textarea{
    min-height:104px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .dialog-actions{
    align-items:stretch;
    flex-wrap:wrap;
    gap:10px;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .dialog-actions > .button:not(.link-danger){
    min-height:48px;
  }
}

/* Give medium-width screens a usable single-column workspace. */
@media(min-width:761px) and (max-width:900px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .report-header{
    display:block;
    height:auto;
    min-height:0;
    margin-bottom:12px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top{
    width:100%;
    padding:2px 0 0;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .header-actions{
    position:static;
    width:100%;
    margin-top:12px;
    justify-content:flex-start;
    padding:0 !important;
  }
}

/* Final login and workspace alignment. */
.identity-app .identity-card > form:first-child > label.field:first-of-type::before{
  display:none !important;
}

.identity-app .identity-card > form:first-child::before,
.identity-app .identity-card > form:first-child > h2,
.identity-app .admin-login-fold > form > .section-kicker,
.identity-app .admin-login-fold > form > h3{
  text-align:center;
}

@media(min-width:1181px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top){
    position:relative;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .report-header{
    display:block;
    height:52px;
    min-height:52px;
    margin:0 0 10px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top{
    width:360px;
    max-width:360px;
    padding-top:2px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top h3{
    font-size:22px;
    letter-spacing:0;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .header-actions{
    position:absolute;
    z-index:8;
    top:84px;
    right:44px;
    width:auto;
    min-width:max-content;
    justify-content:flex-end;
    gap:14px !important;
    padding:0 !important;
  }
}

@media(min-width:901px) and (max-width:1180px){
  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top){
    position:relative;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .report-header{
    display:block;
    height:52px;
    min-height:52px;
    margin:0 0 10px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top{
    width:270px;
    max-width:270px;
    padding-top:2px;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .collection-checklist-top h3{
    font-size:18px;
    letter-spacing:0;
  }

  .report-app:not(.identity-app) .report-main:has(.collection-checklist-top) .header-actions{
    position:absolute;
    z-index:8;
    top:84px;
    right:44px;
    width:auto;
    min-width:max-content;
    justify-content:flex-end;
    gap:14px !important;
    padding:0 !important;
  }
}

/* Keep the weekly context in the sidebar and free the workspace top. */
.report-app:not(.identity-app) .global-sidebar > .collection-checklist-top{
  display:grid;
  width:auto;
  min-width:0;
  margin:0 0 18px;
  padding:0 4px 16px;
  align-content:start;
  gap:4px;
  border-bottom:1px solid var(--line);
}

.report-app:not(.identity-app) .global-sidebar > .collection-checklist-top .section-kicker{
  font-size:10px;
  line-height:1.25;
}

.report-app:not(.identity-app) .global-sidebar > .collection-checklist-top h3{
  margin:0;
  color:var(--ink);
  font-size:17px;
  font-weight:800;
  letter-spacing:0;
  line-height:1.18;
  white-space:nowrap;
}

@media(min-width:761px) and (max-width:1180px){
  .report-app:not(.identity-app) .global-sidebar > .collection-checklist-top h3{
    font-size:16px;
  }
}

@media(max-width:760px){
  .report-app:not(.identity-app) .global-sidebar > .collection-checklist-top{
    grid-column:1 / -1;
    margin:0;
    padding:0 2px 10px;
  }

  .report-app:not(.identity-app) .global-sidebar > .collection-checklist-top h3{
    font-size:16px;
  }
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
  flex:0 0 auto;
  height:34px;
  min-height:34px;
  margin:0;
  box-sizing:border-box;
}

@media(max-width:760px){

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
    height:40px;
    min-height:40px;
  }
}

/* Keep logout with the current administrator or employee identity. */
.report-app:not(.identity-app) .demo-note{
  display:grid;
  gap:0;
}

.report-app:not(.identity-app) .sidebar-logout-button{
  width:100%;
  min-height:38px;
  margin-top:12px;
  padding:8px 12px;
  border:1px solid var(--line-strong);
  border-radius:10px;
  color:#64718a;
  background:var(--surface);
  font-size:12px;
  font-weight:800;
}

.report-app:not(.identity-app) .sidebar-logout-button:hover{
  border-color:#bbc8dc;
  color:var(--ink);
  background:var(--surface-soft);
  box-shadow:var(--shadow-soft);
}

@media(max-width:760px){
  .report-app:not(.identity-app) .global-sidebar > .demo-note{
    display:grid;
    grid-column:1 / -1;
    margin-top:12px;
    padding:12px 2px 0;
    border-top:1px solid var(--line);
  }

  .report-app:not(.identity-app) .global-sidebar > .demo-note .sidebar-logout-button{
    width:100%;
  }
}

/* The shared form rule must not stretch checklist checkboxes. */
.report-app:not(.identity-app) .global-sidebar .collection-checklist-item input[type="checkbox"]{
  width:17px;
  min-width:17px;
  height:17px;
  min-height:17px;
  margin:0;
  align-self:center;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item span,
.report-app:not(.identity-app) .global-sidebar .collection-checklist-item small{
  align-self:center;
  line-height:1.2;
}

/* Keep report preview actions together instead of distributing them across the header. */
.report-app:not(.identity-app) .word-preview-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}

.report-app:not(.identity-app) .word-preview-actions > .button{
  min-width:112px;
  height:44px;
  min-height:44px;
  margin:0 !important;
  white-space:nowrap;
}

.report-app:not(.identity-app) .word-preview-actions > .button.primary{
  min-width:124px;
  align-self:center;
}

@media(max-width:760px){
  .report-app:not(.identity-app) .word-preview-head{
    align-items:center;
    flex-wrap:wrap;
  }

  .report-app:not(.identity-app) .word-preview-head > div:first-child{
    flex:0 0 100%;
  }

  .report-app:not(.identity-app) .word-preview-actions{
    width:100%;
  }

  .report-app:not(.identity-app) .word-preview-actions > .button{
    min-width:0;
    flex:1 1 0;
  }
}

/* User feedback pass: clearer navigation, project ownership and report rhythm. */
.identity-app .identity-card > form:first-child::before{
  content:"Вход в панель" !important;
}

.identity-app .identity-card > form:first-child > h2,
.identity-app .admin-login-fold > form > h3{
  font-size:30px;
}

.report-app:not(.identity-app) .global-nav{
  gap:8px;
}

.report-app:not(.identity-app) .global-nav-button{
  border-color:#d9e1ed;
  background:var(--surface-soft);
  box-shadow:0 2px 6px rgba(46,67,104,.035);
}

.report-app:not(.identity-app) .global-nav-button:hover{
  border-color:#c5d2e5;
  background:#fff;
}

.report-app:not(.identity-app) .global-nav-button.selected{
  border-color:#c8d6ff;
  background:var(--blue-soft);
  box-shadow:inset 3px 0 var(--blue),0 5px 12px rgba(78,116,223,.1);
}

.report-app:not(.identity-app) .global-sidebar > .collection-checklist-top{
  display:none !important;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
  grid-template-columns:18px minmax(0,1fr) auto auto;
  border-color:#e0e6ef;
  background:var(--surface-soft);
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item .collection-project-count{
  min-width:38px;
  color:#71809a;
  font-size:11px;
  font-weight:800;
  line-height:1;
  text-align:center;
  white-space:nowrap;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item small{
  color:#8995a9;
  white-space:nowrap;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item.is-partial{
  border-color:#eedca9;
  background:#fffaf0;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item.is-complete{
  border-color:#bfe4d3;
  color:#377b61;
  background:var(--mint);
  box-shadow:inset 3px 0 #4f9a78,0 4px 10px rgba(79,154,120,.08);
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item.is-complete .collection-project-count,
.report-app:not(.identity-app) .global-sidebar .collection-checklist-item.is-complete small{
  color:#3f856b;
  font-weight:800;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item.is-missing .collection-project-count{
  color:#a17b2c;
}

.report-app:not(.identity-app) .header-actions .header-new-project{
  order:-1;
}

@media(max-width:760px){
.report-app:not(.identity-app) .header-actions .header-new-project{
    flex:1 1 100%;
    width:100%;
    min-width:0;
  }

  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
    grid-template-columns:18px minmax(0,1fr) auto auto;
  }
}

/* Second feedback pass: keep names visible and make project/order context scan-friendly. */
.report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
  grid-template-columns:18px minmax(0,1fr) 34px 80px;
  column-gap:4px;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item > span{
  min-width:0;
  overflow:visible;
  color:var(--ink);
  font-size:11px;
  letter-spacing:0;
  white-space:nowrap;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item .collection-project-count{
  min-width:34px;
  font-size:10px;
}

.report-app:not(.identity-app) .global-sidebar .collection-checklist-item small{
  min-width:0;
  overflow:visible;
  font-size:9px;
  letter-spacing:0;
}

@media(max-width:760px){
  .report-app:not(.identity-app) .global-sidebar .collection-checklist-item{
    grid-template-columns:18px minmax(0,1fr) 34px 80px;
  }
}

.report-app:not(.identity-app) .protocol-mark{
  display:none !important;
}

.report-app:not(.identity-app) .word-summary{
  display:block;
  margin-bottom:12px;
  margin-left:5%;
  margin-right:0;
  width:95%;
  text-align:left;
}

.report-app:not(.identity-app) .word-summary p{
  margin:0 0 2px;
  text-align:left;
}

.report-app:not(.identity-app) .word-report-table th:first-child,
.report-app:not(.identity-app) .word-report-table td.word-number{
  width:5%;
}

.report-app:not(.identity-app) .word-report-table th:nth-child(2),
.report-app:not(.identity-app) .word-report-table td.report-project-cell{
  width:37%;
}

.report-app:not(.identity-app) .word-report-table th:nth-child(3),
.report-app:not(.identity-app) .word-report-table td.report-problem-cell{
  width:36%;
  white-space:pre-line;
}

.report-app:not(.identity-app) .word-report-table th:nth-child(4),
.report-app:not(.identity-app) .word-report-table td.report-solution-cell{
  width:22%;
}

.report-app:not(.identity-app) .word-report-table td.report-project-cell{
  position:relative;
  padding-bottom:18px;
}

.report-app:not(.identity-app) .word-report-table td.report-project-cell > .word-detail{
  position:absolute;
  right:4px;
  bottom:4px;
  left:4px;
  margin:0;
}

.report-app:not(.identity-app) .word-order-line{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  justify-content:flex-start;
  gap:2px 6px;
  margin-top:5px;
}

.report-app:not(.identity-app) .word-order-line > .word-detail:first-child{
  display:inline;
  flex:0 0 auto;
  min-width:0;
  margin:0;
}

.report-app:not(.identity-app) .word-order-line > .word-deadline{
  display:inline;
  flex:0 0 auto;
  margin:0;
  padding:0;
  color:inherit;
  background:transparent;
  white-space:nowrap;

}

.report-app:not(.identity-app) .word-order-line > .word-report-article{
  flex:1 0 100%;
  margin-top:2px;
}

.report-app:not(.identity-app) .word-report-table td.report-problem-cell,
.report-app:not(.identity-app) .word-report-table td.report-solution-cell{
  vertical-align:top;
  text-align:left;

}

.report-app:not(.identity-app) .word-report-table td.word-number{
  vertical-align:middle;
}

.report-app:not(.identity-app) .word-report-table td.common-problem-cell{
  text-align:center;
  vertical-align:middle;
}

@media(min-width:761px){
}

/* Keep both project identities as prominent as the project name itself. */
@media(min-width:761px){
  .report-app:not(.identity-app) .word-order-line > .word-deadline{
    display:inline !important;
    margin-left:4px;
    white-space:nowrap;
  }
}

/* Put report editing in the order row and reclaim the empty footer area. */
@media(min-width:761px){
  .report-app:not(.identity-app) .word-report-table td.report-project-cell{
    padding-bottom:4px;
  }

  .report-app:not(.identity-app) .word-report-table td.report-project-cell > .word-detail.word-project-lead{
    position:static;
    display:block;
    margin-top:10px;
    padding-top:0;
    border:0;
  }

  .report-app:not(.identity-app) .word-report-table td.common-problem-cell{
    text-align:left;
    vertical-align:top;
  }
}

/* Keep employee access actions inside each surname row. */
.report-app:not(.identity-app) .employee-access-form-hidden{
  display:none !important;
}

.report-app:not(.identity-app) .roster-list,
.report-app:not(.identity-app) .roster-list > div{
  margin-left:0 !important;
  padding-left:0 !important;
}

/* Give the project-level problem field enough room for a full description. */
.report-app:not(.identity-app) .dialog-backdrop .side-dialog .project-common-problem-input{
  min-height:230px !important;
  height:230px;
  resize:vertical;
}

.report-app:not(.identity-app) .word-report-table .word-order-line{
  box-sizing:border-box;
  width:100%;
  margin-right:0;
  margin-left:0;
}

.report-app:not(.identity-app) .word-report-table .word-order-line.first-word-order-line{
  border-top:0;
}

@media(max-width:760px){
  .report-app:not(.identity-app) .dialog-backdrop .side-dialog .project-common-problem-input{
    min-height:210px !important;
    height:210px;
  }
}

/* Employee workspace: use the available canvas for a clear, guided workflow. */
.report-app.employee-session .report-main{
  min-height:100dvh;
  padding:22px clamp(24px,3vw,52px) 48px;
  overflow-x:hidden;
  overflow-y:auto;
}

.report-app.employee-session .report-header{
  max-width:1580px;
  margin:0 auto 18px;
}

.report-app.employee-session .employee-layout{
  width:100%;
  max-width:1580px;
  margin:0 auto;
  grid-template-columns:minmax(300px,.72fr) minmax(0,1.48fr);
  gap:clamp(28px,4vw,72px);
  align-items:start;
}

.report-app.employee-session .employee-intro{
  position:sticky;
  top:12px;
  padding:24px 0 32px 4px;
}

.report-app.employee-session .employee-intro h2{
  max-width:480px;
  font-size:clamp(34px,3.4vw,52px);
  line-height:1.02;
}

.report-app.employee-session .employee-intro p{
  max-width:470px;
  font-size:14px;
  line-height:1.6;
}

.report-app.employee-session .employee-overview,
.report-app.employee-session .employee-steps,
.report-app.employee-session .employee-help{
  max-width:500px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--shadow-soft);
}

.report-app.employee-session .employee-overview{
  display:grid;
  gap:13px;
  margin-top:22px;
  padding:18px;
}

.report-app.employee-session .employee-overview-head{
  display:grid;
  gap:5px;
}

.report-app.employee-session .employee-overview-title{
  color:var(--ink);
  font-size:16px;
  letter-spacing:0;
}

.report-app.employee-session .employee-overview-copy{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.report-app.employee-session .employee-overview-stats{
  display:grid;
  gap:8px;
  grid-template-columns:1fr 1fr;
}

.report-app.employee-session .employee-overview-stat{
  display:grid;
  gap:2px;
  padding:12px 13px;
  border-radius:12px;
  background:var(--surface-soft);
}

.report-app.employee-session .employee-overview-stat-value{
  color:var(--blue-deep);
  font-size:22px;
  letter-spacing:0;
}

.report-app.employee-session .employee-overview-stat-label{
  color:var(--muted);
  font-size:10px;
}

.report-app.employee-session .employee-steps{
  display:grid;
  gap:12px;
  margin-top:14px;
  padding:18px;
}

.report-app.employee-session .employee-steps-title{
  color:var(--ink);
  font-size:15px;
  letter-spacing:0;
}

.report-app.employee-session .employee-steps-list{
  display:grid;
  gap:0;
  margin:0;
  padding:0;
  list-style:none;
}

.report-app.employee-session .employee-step{
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:10px;
  padding:12px 0;
  border-top:1px solid var(--line);
}

.report-app.employee-session .employee-step::before{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border-radius:9px;
  color:var(--blue-deep);
  background:var(--blue-soft);
  content:counter(employee-step);
  counter-increment:employee-step;
  font-size:11px;
  font-weight:800;
}

.report-app.employee-session .employee-steps-list{
  counter-reset:employee-step;
}

.report-app.employee-session .employee-step-title,
.report-app.employee-session .employee-step-copy{
  grid-column:2;
}

.report-app.employee-session .employee-step-title{
  color:#42516b;
  font-size:12px;
}

.report-app.employee-session .employee-step-copy{
  margin-top:-5px;
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}

.report-app.employee-session .employee-help{
  display:grid;
  gap:4px;
  margin-top:14px;
  padding:15px 18px;
  border-color:#dce5ff;
  background:var(--blue-soft);
  box-shadow:none;
}

.report-app.employee-session .employee-help-title{
  color:#435997;
  font-size:12px;
}

.report-app.employee-session .employee-help-copy{
  color:#6a7893;
  font-size:11px;
  line-height:1.45;
}

.report-app.employee-session .employee-form{
  width:100%;
  padding:30px clamp(24px,3vw,42px) 34px;
  border-radius:20px;
}

.report-app.employee-session .form-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.report-app.employee-session .form-head h3{
  font-size:24px;
}

.report-app.employee-session .employee-form-status{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  flex:0 0 auto;
  padding:7px 11px;
  border:1px solid #e5d6a3;
  border-radius:999px;
  color:#94701f;
  background:var(--amber);
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.report-app.employee-session .employee-form-status.is-ready{
  border-color:#c5eadb;
  color:#4f876e;
  background:var(--mint);
}

.report-app.employee-session .employee-form-note{
  margin:14px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.report-app.employee-session .employee-section-heading{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  column-gap:10px;
  align-items:center;
  margin:24px 0 11px;
}

.report-app.employee-session .employee-section-number{
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  grid-row:1 / span 2;
  border-radius:10px;
  color:var(--blue-deep);
  background:var(--blue-soft);
  font-size:10px;
  font-weight:800;
  letter-spacing:.04em;
}

.report-app.employee-session .employee-section-copy{
  color:var(--ink);
  font-size:13px;
  font-weight:800;
}

.report-app.employee-session .employee-section-hint{
  margin-top:1px;
  color:var(--muted);
  font-size:11px;
  line-height:1.4;
}

.report-app.employee-session .employee-section-heading + .mode-switch{
  margin-top:0;
}

.report-app.employee-session .form-divider{
  margin:28px 0 0;
}

.report-app.employee-session .articles-fields{
  margin-top:4px;
  padding:17px;
}

.report-app.employee-session .employee-form textarea{
  min-height:128px;
}

.report-app.employee-session .employee-form .articles-fields textarea{
  min-height:92px;
}

.report-app.employee-session .employee-submit-note{
  display:grid;
  gap:3px;
  margin:25px 0 12px;
  padding:13px 15px;
  border:1px solid #dce5ff;
  border-radius:12px;
  background:var(--blue-soft);
}

.report-app.employee-session .employee-submit-note-title{
  color:#435997;
  font-size:11px;
  font-weight:800;
}

.report-app.employee-session .employee-submit-note-copy{
  color:#6a7893;
  font-size:11px;
  line-height:1.4;
}

.report-app.employee-session .employee-form > .button.wide{
  min-height:52px;
  font-size:13px;
}

.report-app.employee-session .employee-sidebar-context{
  display:grid;
  gap:5px;
  margin:18px 10px 0;
  padding:15px 13px;
  border:1px solid #dce5ff;
  border-radius:14px;
  background:var(--blue-soft);
}

.report-app.employee-session .employee-sidebar-context-kicker{
  color:#7181b1;
  font-size:9px;
  font-weight:800;
  letter-spacing:.1em;
}

.report-app.employee-session .employee-sidebar-context-title{
  color:#435997;
  font-size:12px;
}

.report-app.employee-session .employee-sidebar-context-copy{
  margin:0;
  color:#6a7893;
  font-size:10px;
  line-height:1.45;
}

.report-app.employee-session .employee-empty-kicker{
  margin-bottom:11px;
}

.report-app.employee-session .employee-empty-actions{
  margin-top:22px;
}

.report-app.employee-session .employee-empty-actions .button{
  min-width:190px;
}

.report-app.employee-session .employee-empty-tips{
  display:grid;
  width:min(640px,100%);
  gap:9px;
  margin-top:30px;
  padding-top:18px;
  border-top:1px solid var(--line);
  text-align:left;
}

.report-app.employee-session .employee-empty-tip{
  display:grid;
  grid-template-columns:32px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:9px 11px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft);
}

.report-app.employee-session .employee-empty-tip-number{
  color:var(--blue-deep);
  font-size:11px;
  letter-spacing:.04em;
}

.report-app.employee-session .employee-empty-tip-copy{
  color:#64718a;
  font-size:11px;
  line-height:1.45;
}

@media(max-width:1180px){
  .report-app.employee-session .employee-layout{
    grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);
    gap:28px;
  }

  .report-app.employee-session .employee-intro h2{
    font-size:38px;
  }
}

@media(max-width:900px){
  .report-app.employee-session .employee-layout{
    grid-template-columns:1fr;
    gap:8px;
  }

  .report-app.employee-session .employee-intro{
    position:static;
    padding:8px 0 18px;
  }

  .report-app.employee-session .employee-intro h2{
    max-width:680px;
  }

  .report-app.employee-session .employee-overview,
.report-app.employee-session .employee-steps,
.report-app.employee-session .employee-help{
    max-width:none;
  }
}

@media(max-width:760px){
  .report-app.employee-session .report-main{
    padding:18px 12px 30px;
  }

  .report-app.employee-session .employee-intro h2{
    font-size:32px;
  }

  .report-app.employee-session .employee-form{
    padding:21px 16px 24px;
  }

  .report-app.employee-session .form-head{
    flex-direction:column;
  }

  .report-app.employee-session .employee-form-status{
    align-self:flex-start;
  }

  .report-app.employee-session .employee-overview-stats{
    grid-template-columns:1fr 1fr;
  }

  .report-app.employee-session .employee-sidebar-context{
    margin:8px 0 0;
  }
}

/* Employee navigation separates creation from editing. Keep one page scroll only. */
.report-app.employee-session{
  height:auto !important;
  min-height:100dvh;
  overflow:visible !important;
}

.report-app.employee-session .report-main{
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

.report-app.employee-session .employee-form{
  max-height:none;
  overflow:visible;
}

.report-app.employee-session .employee-create-mode .mode-switch{
  display:block;
  padding:4px;
}

.report-app.employee-session .employee-create-mode .mode-switch button[hidden]{
  display:none !important;
}

.report-app.employee-session .employee-create-mode .mode-switch button:not([hidden]){
  display:block;
  width:100%;
  color:var(--blue-deep);
  background:var(--surface);
  box-shadow:0 3px 10px rgba(46,67,104,.08);
}

.report-app.employee-session.employee-projects-route .employee-layout{
  display:none !important;
}

/* Keep desktop employee screens inside the viewport; only dense panels scroll internally. */
@media(min-width:761px){
  .report-app.employee-session{
    height:100dvh !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  .report-app.employee-session .report-main{
    height:100dvh !important;
    max-height:100dvh !important;
    min-height:0 !important;
    overflow:hidden !important;
  }

  .report-app.employee-session .employee-layout{
    height:calc(100dvh - 132px);
    min-height:0;
    overflow:hidden;
  }

  .report-app.employee-session .employee-intro{
    max-height:100%;
    overflow:auto;
    scrollbar-width:none;
  }

  .report-app.employee-session .employee-form{
    height:100%;
    min-height:0;
    overflow-y:auto;
    scrollbar-width:none;
  }
}

/* Compact the employee instruction column so the guide starts at the top and remains visible. */
@media(min-width:1181px){
  .report-app.employee-session .report-main{
    padding-top:8px !important;
    padding-bottom:14px !important;
  }

  .report-app.employee-session .report-header{
    min-height:34px !important;
    margin-bottom:0 !important;
  }

  .report-app.employee-session .employee-layout{
    height:calc(100dvh - 76px);
    margin-top:0;
  }

  .report-app.employee-session .employee-intro{
    top:0;
    max-height:100%;
    overflow:hidden;
    padding:0 0 8px 4px;
  }

  .report-app.employee-session .employee-intro h2{
    margin-top:4px;
    font-size:clamp(36px,2.6vw,46px);
    line-height:1;
  }

  .report-app.employee-session .employee-intro p{
    margin-top:10px;
    line-height:1.45;
  }

  .report-app.employee-session .employee-overview{
    gap:9px;
    margin-top:14px;
    padding:14px;
  }

  .report-app.employee-session .employee-overview-copy{
    line-height:1.35;
  }

  .report-app.employee-session .employee-overview-stat{
    padding:9px 10px;
  }

  .report-app.employee-session .employee-steps{
    gap:8px;
    margin-top:10px;
    padding:14px;
  }

  .report-app.employee-session .employee-step{
    padding:8px 0;
  }

  .report-app.employee-session .employee-step-copy{
    line-height:1.3;
  }

  .report-app.employee-session .employee-help{
    margin-top:10px;
    padding:12px 14px;
  }
}

/* The employee sidebar only needs navigation; remove the redundant workspace card. */
.report-app.employee-session .employee-sidebar-context{
  display:none !important;
}

/* Password visibility on both login forms. */
.identity-app .login-password-field,
.identity-app .admin-password-dots.login-password-box{
  position:relative;
}

.identity-app .login-password-field > input{
  padding-right:94px;
}

.identity-app .login-password-toggle{
  position:absolute;
  z-index:4;
  min-height:32px;
  padding:5px 8px;
  border:1px solid var(--line-strong);
  border-radius:8px;
  color:var(--blue-deep);
  background:var(--surface);
  font-size:11px;
  font-weight:750;
  line-height:1.1;
}

.identity-app .login-password-field > .login-password-toggle{
  right:8px;
  bottom:8px;
}

.identity-app .admin-password-dots.login-password-box > .login-password-toggle{
  top:50%;
  right:8px;
  transform:translateY(-50%);
}

.identity-app .login-password-toggle:hover{
  border-color:#b9c8e5;
  background:var(--surface-soft);
}

.identity-app .admin-password-dots.login-password-box.login-password-visible input{
  position:absolute;
  z-index:2;
  opacity:1 !important;
  padding:0 94px 0 13px !important;
  color:var(--ink) !important;
  -webkit-text-fill-color:var(--ink) !important;
  -webkit-text-security:none !important;
  caret-color:var(--ink) !important;
  text-align:left !important;
  letter-spacing:0 !important;
  background:var(--surface-soft) !important;
}

.identity-app .admin-password-dots.login-password-box.login-password-visible .admin-password-icons{
  display:none !important;
}

/* Give the report preview the same compact page margins as the exported
 * document so its table uses the available width instead of shrinking twice. */
@media (min-width:761px){
  .report-app:not(.identity-app) .word-page{
    margin:8px 6px !important;
    padding:14px 6px !important;
  }

  .report-app:not(.identity-app) .word-report-table{
    width:100% !important;
    max-width:none !important;
  }

  .report-app:not(.identity-app) .word-report-table th,
.report-app:not(.identity-app) .word-report-table td{
    padding:4px 6px !important;
  }

  .report-app:not(.identity-app) .word-report-table th:first-child,
.report-app:not(.identity-app) .word-report-table td.word-number{
    width:4% !important;
  }

  .report-app:not(.identity-app) .word-report-table th:nth-child(2),
.report-app:not(.identity-app) .word-report-table td.report-project-cell{
    width:35% !important;
  }

  .report-app:not(.identity-app) .word-report-table th:nth-child(3),
.report-app:not(.identity-app) .word-report-table td.report-problem-cell{
    width:32.5% !important;
  }

  .report-app:not(.identity-app) .word-report-table th:nth-child(4),
.report-app:not(.identity-app) .word-report-table td.report-solution-cell{
    width:28.5% !important;
  }
}

/* Order editing: the project is fixed, the deadline sits beside its link,
 * and the problem/solution fields follow the three identifying fields. */
.report-app:not(.identity-app) .order-editor-form > .field,
.report-app:not(.identity-app) .order-editor-form > .two-columns,
.report-app:not(.identity-app) .order-editor-form > .articles-fields,
.report-app:not(.identity-app) .order-editor-form > .form-error,
.report-app:not(.identity-app) .order-editor-form > .dialog-actions{
  min-width:0;
}

.report-app:not(.identity-app) .order-editor-form > .field:has(> textarea) textarea{
  min-height:128px;
}

/* Do not offer creation of a different project while an order is being edited. */
body:has(.dialog-backdrop .order-editor-form) .report-app:not(.identity-app) .header-actions .header-new-project{
  display:none !important;
}

/* Keep article details visually attached to the order/project. */
.report-app:not(.identity-app) .word-report-article{
  display:block;
  padding-left:10px;
  text-indent:-10px;
}

.report-app:not(.identity-app) .word-report-article .article-comment{
  display:block;
  margin:3px 0 0 10px;
  padding-left:0;
  text-indent:0;

}

/* Medium desktops need a distinct layout phase. The previous 1180 px switch
 * left a 1280 px viewport with desktop-sized rails and a wider-than-viewport
 * workspace. Keep the project stream usable before the full three-pane view
 * has enough room. */
@media (min-width:761px) and (max-width:1360px){
  .report-app:not(.identity-app) .global-sidebar{
    width:220px;
    flex-basis:220px;
  }

  .report-app:not(.identity-app) .report-main{
    padding:20px 18px 28px;
  }

  .report-app:not(.identity-app) .header-new-project,
.report-app:not(.identity-app) .preview-toggle{
    max-width:calc(220px - 28px);
  }
}

/* Minimal, accessible login controls. The wording stays available to assistive
 * technology through aria-labels while the visual field labels stay out of
 * the compact entry form. */
.identity-app .identity-card > form.login-greeting::before{
  content:none !important;
  display:none !important;
}

.identity-app .identity-card > form.login-greeting > h2{
  margin-bottom:18px;
  text-align:center;
}

.identity-app .identity-card{
  overflow:hidden;
  border-color:#d6e0f0;
  background:linear-gradient(150deg,#fff 0%,#fbfcff 58%,#f5f8ff 100%);
  box-shadow:0 24px 62px rgba(47,72,125,.14),0 3px 12px rgba(39,66,118,.06);
}

.identity-app .identity-card > form.login-greeting{
  position:relative;
}

.identity-app .identity-card > form.login-greeting::after{
  position:absolute;
  z-index:0;
  top:-50px;
  right:-76px;
  width:174px;
  height:174px;
  border-radius:50%;
  pointer-events:none;
  content:"";
  opacity:.52;
  background:radial-gradient(circle,rgba(97,136,234,.17),rgba(97,136,234,0) 70%);
}

.identity-app .identity-card > form.login-greeting > *{
  position:relative;
  z-index:1;
}

.identity-app .login-form-intro{
  display:flex;
  gap:11px;
  margin:0 0 20px;
  padding:12px 14px;
  align-items:center;
  border:1px solid #dbe5fa;
  border-radius:13px;
  color:#52637e;
  background:linear-gradient(110deg,#f1f5ff,#f9fbff);
}

.identity-app .login-form-intro-icon{
  display:grid;
  width:31px;
  height:31px;
  flex:0 0 31px;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(135deg,#668beb,#3f6ed4);
  box-shadow:0 5px 12px rgba(63,110,212,.22);
  font-size:15px;
}

.identity-app .login-form-intro b{
  display:block;
  margin-bottom:2px;
  color:#2e4576;
  font-size:13px;
  line-height:1.2;
}

.identity-app .login-form-intro p{
  margin:0;
  font-size:12px;
  line-height:1.35;
}

.identity-app .identity-card > form.login-greeting input{
  box-shadow:inset 0 1px 1px rgba(38,61,105,.025),0 2px 5px rgba(39,66,118,.025);
}

.identity-app .identity-card > form.login-greeting .button.primary.wide{
  box-shadow:0 9px 19px rgba(62,104,207,.24);
}

.identity-app .identity-card > form.login-greeting > .login-field-without-label > span{
  display:none !important;
}

.identity-app .identity-card > form.login-greeting > .login-field-without-label{
  gap:0;
  margin-bottom:14px;
}

.identity-app .admin-login-fold > form.login-greeting > .section-kicker,
.identity-app .admin-login-fold > form.login-greeting > .login-field-without-label > span{
  display:none !important;
}

.identity-app .admin-login-fold > form.login-greeting > h3{
  margin:0 0 18px;
  text-align:center;
}

.identity-app .admin-login-fold > form.login-greeting .login-form-intro{
  margin-bottom:20px;
}

.identity-app .admin-login-fold > form.login-greeting .login-form-intro > div{
  text-align:left;
}

.identity-app .admin-login-fold > form.login-greeting > .login-field-without-label{
  gap:0;
  margin-bottom:14px;
}

.identity-app .login-password-field > input{
  padding-right:54px !important;
}

.identity-app .login-password-toggle{
  display:grid;
  width:36px;
  min-width:36px;
  height:36px;
  min-height:36px;
  padding:0;
  place-items:center;
  border:0;
  border-radius:9px;
  color:#5275d8;
  background:transparent;
}

.identity-app .login-password-toggle svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-width:1.8;
}

.identity-app .login-password-toggle:hover{
  color:#274da9;
  background:#eaf0ff;
}

.identity-app .login-password-toggle:focus-visible{
  outline:3px solid rgba(78,116,223,.34);
  outline-offset:2px;
}

.identity-app .identity-card > .admin-login-fold{
  text-align:center;
}

.identity-app .admin-login-fold > summary.button.secondary.wide,
.identity-app .admin-login-fold[open] > summary.button.secondary.wide{
  display:inline-flex;
  width:auto;
  min-height:0;
  height:auto;
  margin:0;
  padding:2px 0;
  border:0;
  border-radius:0;
  color:#3f6ed4;
  background:transparent;
  box-shadow:none;
  font-size:14px !important;
  font-weight:750;
  text-decoration:none;
}

.identity-app .admin-login-fold > summary.button.secondary.wide::marker{
  display:none;
}

.identity-app .admin-login-fold > summary.button.secondary.wide::-webkit-details-marker{
  display:none;
}

.identity-app .admin-login-fold > summary.button.secondary.wide:hover,
.identity-app .admin-login-fold[open] > summary.button.secondary.wide:hover{
  border:0;
  color:#244ca9;
  background:transparent;
  box-shadow:none;
  text-decoration:underline;
  transform:none;
}

.identity-app .admin-login-fold[open] > summary.button.secondary.wide::before,
.identity-app .admin-login-fold[open] > summary.button.secondary.wide::after{
  content:none !important;
}

.login-transition-overlay{
  position:fixed;
  z-index:9999;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  opacity:0;
  background:rgba(250,250,252,.97);
  backdrop-filter:blur(16px);
  transition:opacity 350ms ease;
}

.login-transition-overlay.is-running{
  opacity:1;
}

.login-welcome-text{
  display:grid;
  max-width:100%;
  color:#202333;
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:clamp(36px,6vw,88px);
  font-style:normal;
  font-weight:700;
  letter-spacing:-.025em;
  text-shadow:0 2px 1px rgba(22,30,48,.08),0 8px 24px rgba(22,30,48,.10);
  line-height:1.25;
  text-align:center;
  overflow-wrap:anywhere;
}

.login-welcome-text::before{
  content:attr(data-text);
  padding-right:.12em;
  visibility:hidden;
  grid-area:1 / 1;
}

.login-welcome-typed{
  grid-area:1 / 1;
  text-align:left;
}

.login-welcome-typed::after{
  content:"";
  display:inline-block;
  width:.045em;
  height:.85em;
  margin-left:.06em;
  vertical-align:-.04em;
  background:currentColor;
  animation:login-cursor-blink 850ms steps(1) infinite;
}

@keyframes login-cursor-blink{
  50%{opacity:0}
}

/* Workspace simplification: project work stays in the centre, while the
 * sidebar is limited to navigation and global actions. */
.report-app:not(.identity-app) .global-sidebar > .collection-checklist,
.report-app:not(.identity-app) .global-sidebar > .collection-checklist-top{
  display:none !important;
}

.report-app:not(.identity-app) .global-sidebar > .demo-note{
  padding-top:8px;
  border-top:1px solid var(--line);
  background:transparent;
}

.report-app:not(.identity-app) .global-sidebar > .demo-note > b,
.report-app:not(.identity-app) .global-sidebar > .demo-note > span{
  display:none !important;
}

@media (prefers-reduced-motion:reduce){
  .login-transition-overlay,
  .login-welcome-text{
    transition:none;
    animation:none;
  }
  .login-welcome-typed::after{display:none;animation:none;}

}

/* Final navigation alignment: every desktop section is one consistent row. */
@media (min-width:761px){
  .report-app:not(.identity-app) .global-nav{
    display:grid;
    width:100%;
    gap:8px;
    align-items:stretch;
  }

  .report-app:not(.identity-app) .global-nav-button{
    display:flex;
    width:100%;
    min-width:0;
    min-height:44px;
    margin:0;
    padding:0 14px;
    align-items:center;
    justify-content:flex-start;
    box-sizing:border-box;
    text-align:left;
    transform:none;
  }

  .report-app:not(.identity-app) .global-nav-button > span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .report-app:not(.identity-app) .global-nav-button > b{
    flex:0 0 auto;
    margin-left:auto;
  }

  .report-app:not(.identity-app) .global-nav-button:hover{
    transform:none;
  }
}

/* Override the legacy article-editor ordering rules after the full bundle is
 * assembled so the visible form follows the intended reading order. */
.report-app:not(.identity-app) .order-editor-form > .field:nth-child(1){
  order:1 !important;
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-editor-form > .field:nth-child(2){
  order:2 !important;
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-editor-form > .field:nth-child(4),
.report-app:not(.identity-app) .order-editor-form > .field:nth-child(5){
  order:4 !important;
  grid-column:span 2 !important;
}

.report-app:not(.identity-app) .order-editor-form > .articles-fields{
  order:5 !important;
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-editor-form > .form-error{
  order:6 !important;
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-editor-form > .dialog-actions{
  order:7 !important;
  grid-column:1 / -1 !important;
}

@media (max-width:760px){
  .report-app:not(.identity-app) .order-editor-form > .field:nth-child(4),
.report-app:not(.identity-app) .order-editor-form > .field:nth-child(5){
    grid-column:1 !important;
  }
}

.report-app:not(.identity-app) .order-editor-form{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 12px;
}

.report-app:not(.identity-app) .order-editor-form > .field:nth-child(1){
  order:1 !important;
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-editor-form > .order-details-row{
  display:grid;
  grid-column:1 / -1 !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  order:2 !important;
  min-width:0;
}

.report-app:not(.identity-app) .order-editor-form > .field:nth-child(3),
.report-app:not(.identity-app) .order-editor-form > .field:nth-child(4){
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-editor-form > .field:nth-child(3){
  order:3 !important;
}

.report-app:not(.identity-app) .order-editor-form > .field:nth-child(4){
  order:4 !important;
}

.report-app:not(.identity-app) .order-editor-form > .articles-fields{
  order:5 !important;
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-editor-form > .form-error{
  order:6 !important;
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-editor-form > .dialog-actions{
  order:7 !important;
  grid-column:1 / -1 !important;
}

.report-app:not(.identity-app) .order-details-row .field,
.report-app.employee-session .employee-order-details-row .field{
  min-width:0;
}

.report-app:not(.identity-app) .order-details-row input,
.report-app.employee-session .employee-order-details-row input{
  min-width:0;
}

.report-app.employee-session .employee-order-details-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:13px;
}

.report-app.employee-session .employee-order-details-row + .two-columns{
  display:none !important;
}

@media (max-width:760px){
  .report-app:not(.identity-app) .order-editor-form{
    grid-template-columns:minmax(0,1fr);
  }

  .report-app:not(.identity-app) .order-editor-form > .order-details-row,
.report-app.employee-session .employee-order-details-row{
    grid-template-columns:minmax(0,1fr);
  }
}

.report-app.employee-session .employee-review-row{
  display:grid;
  gap:3px;
  padding:11px 12px;
  border-left:4px solid #b33a41;
  background:#fff;
}

.report-app.employee-session .employee-review-row.approved{
  border-left-color:#27824e;
}

.report-app.employee-session .employee-review-row span{
  font-size:13px;
  font-weight:800;
}

.report-app.employee-session .employee-review-row small{
  color:#60748d;
  font-size:11px;
}

.report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-form) .side-dialog{
  width:min(1480px,100vw);
}

.report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-form) .editor-form{
  padding-right:clamp(24px,6vw,96px);
  padding-left:clamp(24px,6vw,96px);
}

@media (max-width:760px){

  .report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-form) .editor-form{
    padding-right:16px;
    padding-left:16px;
  }
}

/* Employees work from one full-width project area; navigation no longer takes
   up a persistent column. The existing logout handler is moved into the top
   action bar by employee-panel-overrides-v1.js. */
.report-app.employee-session .global-sidebar{
  display:none !important;
}

.report-app.employee-session .report-main{
  flex:1 1 100%;
  width:100%;
  max-width:none;
}

.report-app.employee-session .header-actions .date-stamp,
.report-app.employee-session .header-actions .user-stamp{
  display:none !important;
}

.report-app.employee-session .header-actions .sidebar-logout-button{
  display:inline-flex;
  width:auto;
  min-width:102px;
  min-height:40px;
  align-items:center;
  justify-content:center;
  margin-left:auto;
  padding-inline:15px;
}

/* One employee workspace: the same type, controls, borders and color language
   as the administrator panel, without splitting orders and creation apart. */
.report-app.employee-session .employee-unified-workspace{
  width:100%;
  max-width:1580px;
  margin:0 auto;
  padding:4px 0 30px;
}

.report-app.employee-session .employee-orders-panel{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--surface);
  box-shadow:var(--shadow-soft);
}

.report-app.employee-session .employee-orders-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  padding:24px clamp(20px,3vw,34px);
  border-bottom:1px solid var(--line);
  background:var(--surface-soft);
}

.report-app.employee-session .employee-create-trigger{
  flex:0 0 auto;
  min-height:44px;
  padding-inline:18px;
  white-space:nowrap;
}

.report-app.employee-session .employee-orders-list{
  display:grid;
  gap:10px;
  padding:16px clamp(20px,3vw,34px) 22px;
}

.report-app.employee-session .employee-orders-list .employee-review-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  min-height:68px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-left:4px solid #d79c39;
  background:#fff;
}

.report-app.employee-session .employee-orders-list .employee-review-row.approved{
  border-left-color:#27824e;
}

.report-app.employee-session .employee-orders-list .employee-review-row.rejected{
  border-left-color:#b33a41;
}

.report-app.employee-session .employee-order-summary{
  display:grid;
  min-width:0;
  gap:3px;
}

.report-app.employee-session .employee-order-summary b{
  overflow:hidden;
  color:var(--ink);
  font-size:15px;
  line-height:1.25;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.report-app.employee-session .employee-order-summary span{
  color:#53677f;
  font-size:12px;
  font-weight:800;
}

.report-app.employee-session .employee-order-summary small{
  overflow:hidden;
  color:var(--muted);
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.report-app.employee-session .employee-orders-list .employee-order-edit{
  flex:0 0 44px;
  width:44px;
  height:44px;
  min-height:44px;
  margin-left:auto;
}

.report-app.employee-session .employee-unified-workspace .employee-layout{
  display:block;
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  margin:0;
  overflow:visible;
}

.report-app.employee-session .employee-unified-workspace .employee-intro{
  display:none;
}

.report-app.employee-session .employee-unified-workspace .employee-form{
  width:100%;
  height:auto;
  min-height:0;
  max-height:none;
  margin:0;
  overflow:visible;
  border:0;
  border-radius:0;
  box-shadow:none;
}

@media(min-width:761px){
  .report-app.employee-session .employee-unified-workspace:not(.employee-workspace-v2){
    height:calc(100dvh - 76px);
    overflow-x:hidden;
    overflow-y:auto;
    scrollbar-width:none;
  }
}

@media(max-width:760px){
  .report-app.employee-session .employee-unified-workspace{
    padding:0 0 24px;
  }

  .report-app.employee-session .employee-orders-head{
    align-items:stretch;
    flex-direction:column;
    gap:16px;
    padding:20px 16px;
  }

  .report-app.employee-session .employee-create-trigger{
    width:100%;
  }

  .report-app.employee-session .employee-orders-list{
    padding:14px 16px 18px;
  }

  .report-app.employee-session .employee-orders-list .employee-review-row{
    align-items:flex-start;
  }
}

.report-app.employee-session .employee-review-row{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
}

.report-app.employee-session .employee-review-row > small{
  grid-column:1;
}

.report-app.employee-session .employee-review-row.pending{
  border-left-color:#c8841f;
}

.report-app.employee-session .employee-order-edit{
  display:grid;
  grid-column:2;
  grid-row:1 / span 3;
  width:38px;
  height:38px;
  padding:0;
  place-items:center;
  border:1px solid #9fb2ca;
  border-radius:6px;
  color:#244c83;
  background:#edf4ff;
  font-size:21px;
  font-weight:800;
  line-height:1;
}

.report-app.employee-session .employee-order-edit:hover{
  border-color:#567cae;
  background:#dceaff;
}

.report-app:not(.identity-app) .employee-unified-workspace > *{
  border-radius:12px;
}

.report-app:not(.identity-app) .dialog-backdrop .side-dialog{
  border-radius:16px 0 0 16px;
}

.report-app:not(.identity-app) .articles-label{
  color:#876314;
}

@media(max-width:760px){
  .report-app:not(.identity-app) .dialog-backdrop .side-dialog{
    border-radius:14px 14px 0 0;
  }
}

/* The two narrative fields form a matched, horizontal pair in the order editor. */
.report-app:not(.identity-app) .problem-solution-row{
  display:grid;
  grid-column:1 / -1 !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:18px;
  order:3 !important;
  width:100%;
}

.report-app:not(.identity-app) .problem-solution-row .field{
  min-width:0;
}

.report-app:not(.identity-app) .problem-solution-row textarea{
  min-height:112px;
  height:112px;
}

.report-app:not(.identity-app) .order-editor-form > .articles-fields{
  order:4 !important;
}

/* Article comments are short supporting notes, so keep their editors compact. */
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .article-field-row textarea,
.report-app.employee-session .employee-form .articles-fields textarea{
  min-height:64px !important;
  height:64px !important;
}

@media(max-width:760px){

  .report-app:not(.identity-app) .problem-solution-row{
    grid-template-columns:1fr;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.articles-fields) .article-field-row textarea,
.report-app.employee-session .employee-form .articles-fields textarea{
    min-height:58px !important;
    height:58px !important;
  }
}

/* ==========================================================================
   Admin menu fixes: compact rows, combined report view, restored controls.
   Appended after the calm-canvas cascade so these win with !important.
   ========================================================================== */

/* Hide the duplicate new-project button from the page header. */
.report-app:not(.identity-app) .header-actions .header-new-project{
  display:none !important;
}

/* Combined report view: full-width preview under the page header. */
.report-app:not(.identity-app) .report-main:has(.report-full-view) .report-header{
  display:none !important;
}

.report-app:not(.identity-app) .report-main:has(.report-full-view){
  padding:0 !important;
}

.report-app:not(.identity-app) .report-full-view{
  width:100% !important;
  max-width:none !important;
  height:100dvh !important;
  border:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
}

.report-app:not(.identity-app) .report-full-view .word-page{
  max-width:1200px;
  margin:22px auto !important;
  overflow-y:auto !important;
}

.report-app:not(.identity-app) .report-full-view .word-report-table td.report-problem-cell,
.report-app:not(.identity-app) .report-full-view .word-report-table td.report-solution-cell{
  white-space:pre-line;
}


/* Canonical project rail and order cards. Their old theme rules have been
   removed from 02/03. Selection must never change content visibility or size. */
:root {
  --font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body {
  font-family: var(--font-ui);
  font-size: 14px;
  line-height: 1.5;
}
button, input, textarea, select { font-family: inherit; letter-spacing: normal; }
.report-app h1, .report-app h2, .report-app h3 {
  letter-spacing: -.015em;
  line-height: 1.3;
}
.report-app .dialog-backdrop .side-dialog .dialog-head {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; align-items: center;
  justify-content: space-between; gap: 16px; min-height: 76px;
  padding: 18px 28px; color: var(--ink); background: #fff;
  border-bottom: 1px solid var(--line);
}
.report-app .dialog-backdrop .side-dialog .dialog-head h2 {
  margin: 0; color: var(--ink); font-size: 22px; font-weight: 650;
}
.report-app .dialog-backdrop .side-dialog .dialog-head > button {
  display: inline-flex; align-items: center; justify-content: center;
  width: auto; min-width: 0; min-height: 38px; padding: 8px 14px;
  border: 1px solid var(--line-strong); border-radius: 8px; background: #fff;
  color: #52637d; font-size: 13px; font-weight: 500; line-height: 1.5;
}
.report-app .dialog-backdrop .side-dialog .editor-form :is(input, textarea, select) {
  font-family: var(--font-ui); font-size: 14px; font-weight: 400; line-height: 1.5;
  letter-spacing: normal; color: var(--ink); background: #fff;
}
.report-app .dialog-backdrop .side-dialog .editor-form .field > span {
  color: #52637d; font-size: 13px; font-weight: 500; letter-spacing: normal;
}
.report-app .dialog-backdrop .side-dialog .editor-form > .order-details-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr) minmax(150px, .65fr); }
@media (max-width: 760px) {
  .report-app .dialog-backdrop .side-dialog .editor-form :is(input, textarea, select) { font-size: 16px; }
  .report-app .dialog-backdrop .side-dialog .dialog-head { padding: 16px; }
  .report-app .dialog-backdrop .side-dialog .dialog-head h2 { font-size: 20px; }
  .report-app .dialog-backdrop .side-dialog .editor-form > .order-details-row,
  .report-app .dialog-backdrop .side-dialog .editor-form > .problem-solution-row { grid-template-columns: minmax(0, 1fr); }
}
.report-app:not(.identity-app):not(.employee-session) > .global-sidebar {
  width: 208px;
  flex: 0 0 208px;
}
.report-app:not(.identity-app) .report-main:has(> .workspace-shell) {
  display: flex;
  flex-direction: column;
  height: 100dvh;
  min-height: 0;
  max-height: none;
  padding: 20px;
  overflow: hidden;
}
.report-app:not(.identity-app) .report-main:has(> .workspace-shell) > .report-header { display: none; }
.report-app:not(.identity-app) .workspace-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 16px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}
.report-app:not(.identity-app) .project-rail,
.report-app:not(.identity-app) .project-stream {
  min-width: 0;
  min-height: 0;
  height: 100%;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: none;
  overflow: hidden;
}
.report-app:not(.identity-app) .project-rail {
  display: flex;
  flex-direction: column;
  width: auto;
  padding: 0;
  position: static;
}
.report-app:not(.identity-app) .rail-search {
  display: grid;
  flex: 0 0 auto;
  gap: 12px;
  padding: 18px 16px 12px;
  border: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
}
.report-app:not(.identity-app) .rail-search label { display: grid; gap: 6px; }
.report-app:not(.identity-app) .rail-search input,
.report-app:not(.identity-app) .rail-search select {
  width: 100%;
  min-width: 0;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
}
.report-app:not(.identity-app) .rail-heading {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 16px;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: normal;
  text-transform: none;
}
.report-app:not(.identity-app) .rail-heading > button {
  position: static;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 36px;
  margin: 0;
  padding: 7px 10px;
  border: 1px solid var(--blue);
  border-radius: 8px;
  background: var(--blue);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}
.report-app:not(.identity-app) .project-list {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  min-height: 0;
  padding: 10px;
  overflow: auto;
  scrollbar-gutter: stable;
}
.report-app:not(.identity-app) .project-list > .project-list-item {
  display: grid;
  flex: 0 0 auto;
  grid-template-columns: minmax(0, 1fr) 32px;
  align-items: start;
  gap: 8px;
  position: relative;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  margin: 0;
  padding: 12px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #fff;
  box-shadow: none;
  text-align: left;
  transition: background-color 150ms, border-color 150ms;
}
.report-app:not(.identity-app) .project-list > .project-list-item:hover { background: #f7f9fc; }
.report-app:not(.identity-app) .project-list > .project-list-item.selected {
  border-color: #c5d4f8;
  background: var(--blue-soft);
}
.report-app:not(.identity-app) .project-list > .project-list-item.needs-attention {
  border-color: #edbc69;
  background: #fff4df;
  box-shadow: inset 4px 0 #df8a19;
}
.report-app:not(.identity-app) .project-list > .project-list-item.needs-attention:hover {
  background: #ffefd2;
}
.report-app:not(.identity-app) .project-list > .project-list-item.needs-attention.selected {
  border-color: #df9c38;
  background: #ffebc4;
}
.report-app:not(.identity-app) .project-list-select {
  display: grid;
  align-content: start;
  gap: 4px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--ink);
  background: transparent;
  box-shadow: none;
  text-align: left;
}
.report-app:not(.identity-app) .project-list-select b,
.report-app:not(.identity-app) .project-list-select span,
.report-app:not(.identity-app) .project-list-select small {
  display: block;
  width: auto;
  max-width: 100%;
  overflow: visible;
  white-space: normal;
  overflow-wrap: anywhere;
  text-overflow: clip;
  text-align: left;
  letter-spacing: normal;
}
.report-app:not(.identity-app) .project-list-select b { font-size: 14px; font-weight: 650; line-height: 1.45; }
.report-app:not(.identity-app) .project-list-select span,
.report-app:not(.identity-app) .project-list-select small { color: #637189; font-size: 12px; font-weight: 400; line-height: 1.5; }
.report-app:not(.identity-app) .project-card-actions { display: grid; gap: 6px; position: static; }
.report-app:not(.identity-app) .project-card-action {
  display: grid;
  place-items: center;
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  padding: 0;
  border: 1px solid #d5deeb;
  border-radius: 8px;
  color: var(--blue-deep);
  background: #fff;
  font-size: 19px;
  line-height: 1;
}
.report-app:not(.identity-app) .project-order-count { grid-column: 1 / -1; color: var(--muted); font-size: 12px; font-weight: 400; }
.report-app:not(.identity-app) .project-stream { display: flex; flex-direction: column; container-type: inline-size; }
.report-app:not(.identity-app) .project-stream-head {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  position: static;
  min-width: 0;
  min-height: 0;
  padding: 22px 24px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.report-app:not(.identity-app) .project-summary { flex: 1 1 280px; min-width: 0; }
.report-app:not(.identity-app) .project-title-line { display: block; padding: 0; text-align: left; }
.report-app:not(.identity-app) .project-title-line h2 {
  margin: 0;
  color: var(--ink);
  font-size: 24px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
  white-space: normal;
}
.report-app:not(.identity-app) .project-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  position: static;
  width: auto;
  margin: 10px 0 0;
  padding: 0;
  color: #637189;
  font-size: 13px;
  line-height: 1.5;
  text-align: left;
}
.report-app:not(.identity-app) .project-meta span { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.report-app:not(.identity-app) .project-meta b { color: #46556e; font-weight: 600; }
.report-app:not(.identity-app) .stream-actions { display: flex; flex: 0 0 auto; gap: 8px; position: static; margin: 0; }
.report-app:not(.identity-app) .stream-actions .preview-toggle { min-height: 38px; padding: 8px 12px; font-size: 12px; font-weight: 500; }
.report-app:not(.identity-app) .entry-stack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  min-height: 0;
  padding: 20px;
  overflow: auto;
  scrollbar-gutter: stable;
  background: #f7f9fc;
}
.report-app:not(.identity-app) .report-entry,
.report-app:not(.identity-app) .report-entry.selected {
  display: block;
  flex: 0 0 auto;
  position: relative;
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 2px 4px rgb(30 50 80 / 3%);
  cursor: pointer;
  transform: none;
  transition: none;
}
.report-app:not(.identity-app) .report-entry:focus-visible {
  outline: 3px solid #b8c8ff;
  outline-offset: 2px;
}
.report-app:not(.identity-app) .report-entry.pending-review { border-color: #e5cc9e; }
.report-app:not(.identity-app) .report-entry.needs-attention {
  border-color: #e9b35b;
  background: #fff8ed;
  box-shadow: inset 4px 0 #df8a19, 0 2px 4px rgb(30 50 80 / 3%);
}
.report-app:not(.identity-app) .entry-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  position: static;
  margin: 0;
  padding: 0 0 16px;
  border-bottom: 1px solid #edf0f5;
}
.report-app:not(.identity-app) .entry-title-block { display: grid; flex: 1 1 220px; gap: 6px; min-width: 0; }
.report-app:not(.identity-app) .entry-order-label,
.report-app:not(.identity-app) .entry-order-label a {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: normal;
  white-space: normal;
  overflow-wrap: anywhere;
}
.report-app:not(.identity-app) .entry-order-label a { color: var(--blue-deep); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.report-app:not(.identity-app) .entry-deadline { color: #35445c; font-size: 14px; font-weight: 600; line-height: 1.5; font-variant-numeric: tabular-nums; }
.report-app:not(.identity-app) .entry-head-actions { display: flex; flex: 0 1 auto; flex-wrap: wrap; align-items: center; gap: 8px; }
.report-app:not(.identity-app) .entry-status {
  display: inline-flex;
  align-items: center;
  position: static;
  max-width: 100%;
  padding: 4px 9px;
  border-radius: 6px;
  background: #edf1f7;
  color: #52637d;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  white-space: normal;
}
.report-app:not(.identity-app) .entry-status.approved { color: #276447; background: #eaf5ee; }
.report-app:not(.identity-app) .entry-status.pending { color: #875c15; background: #fff3d9; }
.report-app:not(.identity-app) .entry-status.rejected { color: #a13f46; background: #fff0f0; }
.report-app:not(.identity-app) .entry-edit-action,
.report-app:not(.identity-app) .entry-review-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  width: auto;
  margin: 0;
  padding: 7px 12px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
  color: #3e577c;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
.report-app:not(.identity-app) .entry-review-action.approve { color: #fff; background: #357b55; border-color: #357b55; }
.report-app:not(.identity-app) .entry-review-action.reject { color: #9a3d44; border-color: #e3c2c5; }
.report-app:not(.identity-app) .entry-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  max-height: none;
  margin: 16px 0 0;
  padding: 0;
}
.report-app:not(.identity-app) .entry-body > div {
  min-width: 0;
  min-height: 0;
  max-height: none;
  padding: 14px;
  border: 0;
  border-radius: 8px;
  overflow: visible;
  background: #f6f8fb;
  text-align: left;
}
.report-app:not(.identity-app) .entry-body > .entry-problem-pane { background: #fdf4f0; }
.report-app:not(.identity-app) .entry-body > .entry-solution-pane { background: #eff7f2; }
.report-app:not(.identity-app) .entry-body > .entry-articles { grid-column: 1 / -1; background: #f7f8fb; }
.report-app:not(.identity-app) .entry-label {
  display: block;
  width: auto;
  margin: 0 0 8px;
  padding: 0;
  color: #55647a;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
}
.report-app:not(.identity-app) .entry-body p{
  margin: 0;
  color: #38475d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.6;
  white-space: pre-wrap;
  word-break: normal;
  overflow-wrap: anywhere;
}
.report-app:not(.identity-app) .entry-articles-list { display: grid; gap: 10px; }
.report-app:not(.identity-app) .entry-article-row { display: grid; gap: 4px; padding: 0; }
.report-app:not(.identity-app) .entry-article-row a { font-size: 14px; font-weight: 500; color: var(--blue-deep); overflow-wrap: anywhere; }
.report-app:not(.identity-app) .entry-article-row .article-comment { padding: 0; border: 0; color: #637189; font-size: 13px; }
.report-app:not(.identity-app) .entry-articles-empty { color: #637189; font-size: 13px; }
.report-app:not(.identity-app) .entry-foot {
  display: block;
  position: static;
  width: auto;
  margin: 14px 0 0;
  padding: 0;
  color: #637189;
  font-size: 12px;
  line-height: 1.5;
}
.report-app:not(.identity-app) .entry-foot > span { display: block; white-space: normal; overflow-wrap: anywhere; }
.report-app:not(.identity-app) .entry-foot b { font-weight: 500; }
.report-app.employee-session .employee-review-row > div { min-width: 0; }
.report-app.employee-session .employee-review-row b { white-space: normal; overflow-wrap: anywhere; font-size: 14px; font-weight: 600; }
.report-app.employee-session .employee-form :is(input, select, textarea) { font-size: 14px; font-weight: 400; letter-spacing: normal; }
.report-app.employee-session .employee-form .field > span { font-size: 13px; font-weight: 500; letter-spacing: normal; }
.report-app:not(.identity-app) .empty-stream { display: grid; align-content: center; gap: 12px; min-height: 240px; padding: 32px; text-align: center; }
.report-app:not(.identity-app) .empty-stream h3 { font-size: 20px; }
.report-app:not(.identity-app) .empty-stream p { color: #637189; font-size: 14px; line-height: 1.6; }
.report-app:not(.identity-app) .workspace-shell.with-preview::after {
  content: ""; position: fixed; inset: 0; z-index: 89; background: rgb(24 38 60 / 32%);
}
.report-app:not(.identity-app) .workspace-shell > .word-preview {
  display: flex; flex-direction: column; position: fixed; z-index: 90;
  inset: 24px 24px 24px auto; width: min(1080px, calc(100vw - 48px));
  height: auto; min-width: 0; min-height: 0; max-height: none; margin: 0;
  border: 1px solid var(--line); border-radius: 14px; background: #fff;
  overflow: hidden; box-shadow: var(--shadow-float);
}
.report-app:not(.identity-app) .workspace-shell > .word-preview .word-preview-head {
  display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 12px; padding: 16px 20px;
}
.report-app:not(.identity-app) .workspace-shell > .word-preview .word-page {
  flex: 1 1 auto; min-height: 0; width: auto; max-width: none;
  margin: 0; padding: 24px; overflow: auto; border: 0; border-radius: 0;
}
.report-app:not(.identity-app) .workspace-shell > .word-preview .word-report-table {
  min-width: 680px; width: 100%; font-size: 12px; line-height: 1.5;
}
.report-app:not(.identity-app) .workspace-shell > .word-preview .word-preview-foot { flex: 0 0 auto; padding: 14px 20px; }
.report-app:not(.identity-app) .project-list-select:focus-visible,
.report-app:not(.identity-app) .project-card-action:focus-visible,
.report-app:not(.identity-app) .entry-edit-action:focus-visible,
.report-app:not(.identity-app) .entry-review-action:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

@container (min-width: 900px) {
  .report-app:not(.identity-app) .entry-body { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(180px, .65fr); }
  .report-app:not(.identity-app) .entry-body > .entry-articles { grid-column: auto; }
}
@container (max-width: 520px) {
  .report-app:not(.identity-app) .entry-body { grid-template-columns: minmax(0, 1fr); }
  .report-app:not(.identity-app) .project-stream-head { padding: 18px; }
  .report-app:not(.identity-app) .project-title-line h2 { font-size: 21px; }
  .report-app:not(.identity-app) .entry-stack { padding: 12px; }
  .report-app:not(.identity-app) .report-entry { padding: 16px; }
}
@media (max-width: 1100px) {
  .report-app:not(.identity-app) .workspace-shell { grid-template-columns: 270px minmax(0, 1fr); gap: 12px; }
}
@media (max-width: 900px) {
  .report-app.employee-session .employee-form :is(input, select, textarea) { font-size: 16px; }
  .report-app:not(.identity-app):has(.workspace-shell) { display: block; height: auto; min-height: 100dvh; overflow: visible; }
  .report-app:not(.identity-app):not(.employee-session) > .global-sidebar {
    width: 100%; flex: none; height: auto; min-height: 0; padding: 12px;
    border-right: 0; border-bottom: 1px solid var(--line); overflow: visible;
  }
  .report-app:not(.identity-app) .global-sidebar .global-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .report-app:not(.identity-app) .global-sidebar .global-nav-button { flex: 1 1 auto; width: auto; min-width: 0; padding: 9px 12px; }
  .report-app:not(.identity-app) .global-sidebar > .demo-note { position: static; margin-top: 10px; padding: 0; border: 0; }
  .report-app:not(.identity-app) .report-main:has(> .workspace-shell) { height: auto; padding: 12px; overflow: visible; }
  .report-app:not(.identity-app) .workspace-shell { grid-template-columns: minmax(0, 1fr); height: auto; overflow: visible; }
  .report-app:not(.identity-app) .project-rail { height: auto; max-height: 400px; }
  .report-app:not(.identity-app) .project-list { max-height: 210px; }
  .report-app:not(.identity-app) .project-list > .project-list-item { padding: 10px; }
  .report-app:not(.identity-app) .project-card-actions { display: flex; }
  .report-app:not(.identity-app) .project-list > .project-list-item { grid-template-columns: minmax(0, 1fr) auto; }
  .report-app:not(.identity-app) .project-stream { height: auto; overflow: visible; }
  .report-app:not(.identity-app) .entry-stack { overflow: visible; }
}

/* Changes belong to the order being reviewed, next to its approval controls. */
.report-app .order-change-review { margin-top:18px; padding-top:16px; border-top:1px solid #e1e7f0; }
.report-app .order-change-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px 16px; margin-bottom:14px; }
.report-app .order-change-heading h3 { margin:0; font-size:15px; font-weight:600; color:#263750; }
.report-app .order-change-heading > span { color:#627089; font-size:12px; }
.report-app .order-change-field + .order-change-field { margin-top:14px; }
.report-app .order-change-field h4 { margin:0 0 7px; font-size:13px; color:#35445c; }
.report-app .order-change-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.report-app .order-change-columns > div { padding:12px 14px; border:1px solid #e1e7f0; border-radius:8px; min-width:0; }
.report-app .order-change-columns span { font-size:11px; font-weight:600; color:#627089; }
.report-app .order-change-columns p { margin:6px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.6; color:#263750; }
@media(max-width:650px) { .report-app .order-change-columns { grid-template-columns:minmax(0,1fr); } }

.report-app .current-change-comparison { margin-top:12px; padding-top:12px; }
.report-app .current-change-comparison .order-change-columns > section { min-width:0; padding:16px; border-radius:10px; border:1px solid #dce2eb; }
.report-app .current-change-comparison .comparison-column-title { margin:0 0 18px; font-size:14px; font-weight:700; color:#455168; line-height:1.5; }
.report-app .current-change-comparison .order-change-field h5 { margin:0 0 6px; font-size:13px; font-weight:600; color:#455168; }
.report-app .current-change-comparison .order-change-field + .order-change-field { margin-top:18px; padding-top:14px; border-top:1px solid #dce5df; }
.report-app .report-entry:has(.current-change-comparison) .entry-body { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.report-app .report-entry:has(.current-change-comparison) .entry-articles:has(.entry-articles-empty) { display:none; }
.report-app .report-entry:has(.current-change-comparison) .entry-body:not(:has(.entry-problem-pane, .entry-solution-pane, .entry-articles-list)) { display:none; }


/* Settings rows own their geometry; passwords and action labels can wrap
   without overlapping a name or disappearing behind overflow:hidden. */
.report-app:not(.identity-app) .report-main:has(> .settings-layout) {
  display: block;
  height: 100dvh;
  min-height: 0;
  overflow-y: auto;
  padding: 20px;
  overscroll-behavior-y: contain;
}
.report-app:not(.identity-app) .settings-layout { flex: none; }
@media (max-width: 900px) {
  .report-app:not(.identity-app) .report-main:has(> .settings-layout) { height: auto; overflow: visible; }
}
.report-app:not(.identity-app) .report-main:has(> .settings-layout) > .report-header { display: none; }
.report-app:not(.identity-app) .settings-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 24px;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 0 24px;
}
.report-app:not(.identity-app) .settings-page-header { display: block; grid-column: 1 / -1; padding: 0; }
.report-app:not(.identity-app) .settings-page-header h2 { margin: 0; font-size: 26px; font-weight: 650; }
.report-app:not(.identity-app) .settings-heading-kicker,
.report-app:not(.identity-app) .settings-heading-copy { display: none; }
.report-app:not(.identity-app) .settings-layout > .account-card,
.report-app:not(.identity-app) .settings-layout > .report-metrics,
.report-app:not(.identity-app) .settings-grid > .roster-card {
  min-width: 0;
  margin: 0;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  box-shadow: none;
  overflow: visible;
}
.report-app:not(.identity-app) .settings-layout > .report-metrics { grid-column: 1; grid-row: 2; }
.report-app:not(.identity-app) .settings-layout > .account-card { grid-column: 2; grid-row: 2 / span 2; }
.report-app:not(.identity-app) .settings-grid { display: grid; grid-template-columns: minmax(0, 1fr); grid-column: 1; grid-row: 3; gap: 20px; min-width: 0; }
.report-app:not(.identity-app) .settings-layout h3 { font-size: 20px; font-weight: 600; }
.report-app:not(.identity-app) .account-card-head { display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin: 0 0 18px; }
.report-app:not(.identity-app) .account-card-head p { color: #637189; font-size: 13px; font-weight: 400; line-height: 1.5; }
.report-app:not(.identity-app) .account-card-head .section-kicker { display: none; }
.report-app:not(.identity-app) .account-list { display: grid; gap: 0; width: 100%; max-height: none; overflow: visible; }
.report-app:not(.identity-app) .account-list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: auto;
  max-height: none;
  margin: 0;
  padding: 16px 0;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.report-app:not(.identity-app) .account-list > div > span:first-child {
  display: block; grid-column: 1; grid-row: 1; min-width: 0;
  color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.5;
  white-space: normal; overflow-wrap: anywhere;
}
.report-app:not(.identity-app) .account-list > div > small {
  display: block; grid-column: 2; grid-row: 1; width: auto; max-width: 160px;
  padding: 4px 8px; border: 0; border-radius: 6px; font-size: 11px;
  font-weight: 500; line-height: 1.5; white-space: normal;
}
.report-app:not(.identity-app) .account-ready { color: #276447; background: #eaf5ee; }
.report-app:not(.identity-app) .account-missing { color: #875c15; background: #fff3d9; }
.report-app:not(.identity-app) .account-inline-controls {
  display: flex; grid-column: 1 / -1; grid-row: 2; flex-wrap: wrap; align-items: center;
  gap: 8px; width: 100%; min-width: 0; height: auto; overflow: visible;
}
.report-app:not(.identity-app) .account-inline-password { display: block; flex: 1 1 160px; min-width: 120px; }
.report-app:not(.identity-app) .account-inline-password-input {
  width: 100%; min-width: 0; height: 40px; min-height: 40px; padding: 8px 10px;
  border: 1px solid var(--line-strong); border-radius: 8px; background: #fff;
  color: var(--ink); font-size: 13px; font-weight: 400; letter-spacing: normal;
}
.report-app:not(.identity-app) .account-inline-controls .button {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: auto; min-width: 0; height: 40px; min-height: 40px; padding: 8px 10px;
  border-radius: 8px; font-size: 12px; font-weight: 500; line-height: 1.5;
  white-space: nowrap; text-indent: 0; overflow: visible;
}
.report-app:not(.identity-app) .settings-layout :is(.account-inline-access, .account-inline-delete, .roster-list > div > button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid #c93636;
  border-radius: 8px;
  background: #c93636;
  color: #fff;
  box-shadow: 0 6px 14px rgba(201,54,54,.18);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  text-decoration: none;
  white-space: nowrap;
}
.report-app:not(.identity-app) .settings-layout :is(.account-inline-access, .account-inline-delete, .roster-list > div > button):hover:not(:disabled) { background: #ae2929; border-color: #ae2929; }
.report-app:not(.identity-app) .settings-layout :is(.account-inline-access, .account-inline-delete, .roster-list > div > button):focus-visible { outline: 3px solid #f2b9b9; outline-offset: 2px; }
.report-app:not(.identity-app) .account-inline-message {
  display: block; grid-column: 1 / -1; grid-row: 3; color: #276447;
  font-size: 12px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere;
}
.report-app:not(.identity-app) .account-inline-message.is-error { color: #a13f46; }
.report-app:not(.identity-app) .employee-access-form-hidden { display: none; }
.report-app:not(.identity-app) .settings-layout .field > span { font-size: 13px; font-weight: 500; }
.report-app:not(.identity-app) .settings-layout .field :is(input, select, textarea) { font-size: 14px; font-weight: 400; letter-spacing: normal; }
.report-app:not(.identity-app) .admin-password-form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
.report-app:not(.identity-app) .admin-password-form .password-field-row { display: flex; flex-wrap: wrap; gap: 8px; min-width: 0; }
.report-app:not(.identity-app) .admin-password-form .password-field-row input { flex: 1 1 160px; min-width: 0; width: auto; }
.report-app:not(.identity-app) .admin-password-form button { position: static; width: auto; min-width: 0; white-space: normal; }
.report-app:not(.identity-app) .settings-layout .metrics-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

@media (max-width: 1180px) {
  .report-app:not(.identity-app) .settings-layout { grid-template-columns: minmax(0, 1fr); }
  .report-app:not(.identity-app) .settings-layout > .account-card { grid-column: 1; grid-row: 3; }
  .report-app:not(.identity-app) .settings-grid { grid-row: 4; }
}
@media (max-width: 600px) {
  .report-app:not(.identity-app) .settings-layout > .account-card,
  .report-app:not(.identity-app) .settings-layout > .report-metrics,
  .report-app:not(.identity-app) .settings-grid > .roster-card { padding: 16px; }
  .report-app:not(.identity-app) .settings-layout .metrics-grid { grid-template-columns: minmax(0, 1fr); }
  .report-app:not(.identity-app) .account-inline-password { flex-basis: 100%; }
  .report-app:not(.identity-app) .settings-layout .field :is(input, select, textarea),
  .report-app:not(.identity-app) .account-inline-password-input { font-size: 16px; }
}

/* Readable on-screen Word typography. Exported .doc styles are separate. */
.report-app:not(.identity-app) .word-preview .word-page { font-size: 12px; line-height: 1.5; }
.report-app:not(.identity-app) .word-preview .word-report-table { font-size: 12px; line-height: 1.5; }
.report-app:not(.identity-app) .word-preview .word-report-table :is(th, td, a, span, p, div) { font-size: inherit; line-height: inherit; }
.report-app:not(.identity-app) .word-preview .word-title h3 { font-size: 22px; }
.report-app:not(.identity-app) .word-preview .word-title strong { font-size: 13px; }
.report-app:not(.identity-app) .word-preview .word-summary,
.report-app:not(.identity-app) .word-preview .word-place-date { font-size: 12px; line-height: 1.5; }
.report-app:not(.identity-app) .word-preview .word-preview-head { font-size: 14px; }
.report-app:not(.identity-app) .word-preview .word-preview-head small,
.report-app:not(.identity-app) .word-preview .word-preview-foot { font-size: 12px; line-height: 1.5; }

/* Table rows, rather than independent text blocks, connect each order to its data. */
.report-app .word-report-table .report-project-heading { background: #eef2f7; }
.report-app .word-report-table .report-project-heading td { padding: 10px 8px !important; }
.report-app .word-report-table .report-order-row td { vertical-align: top; padding: 8px !important; white-space: pre-wrap; overflow-wrap: anywhere; }
.report-app .word-report-table .report-order-row .word-order-line { display: block; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.report-app .word-report-table .report-order-title { display: inline !important; margin: 0 !important; padding: 0 !important; white-space: normal; }
.report-app .word-report-table .report-order-title a { margin: 0 !important; padding: 0 !important; }

.report-app:not(.identity-app) .word-report-table td.report-project-cell { text-align: left; }
/* Greeting names are independent of employee login and password fields. */
.account-greeting-controls { grid-column:1 / -1; display:flex; align-items:end; gap:12px; flex-wrap:wrap; margin-top:12px; }
.account-greeting-controls label { display:grid; gap:6px; flex:1 1 180px; font-size:12px; color:var(--muted); }
.account-greeting-controls input { width:100%; min-width:0; }

.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) > p { display:none; }
.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .roster-list > div {
  display:grid; grid-template-columns:minmax(100px, 1fr) minmax(130px, 1.3fr) auto auto;
  align-items:center; gap:10px; padding:10px 0; min-height:0;
}
.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .roster-list > div > span:first-child { grid-column:1; grid-row:1; min-width:0; }
.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .roster-list > div > button { grid-column:4; grid-row:1; }
.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .account-greeting-controls { display:contents; }
.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .greeting-name-field { grid-column:2; grid-row:1; display:block; min-width:0; margin:0; }
.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .account-greeting-controls > button { grid-column:3; grid-row:1; }
.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) :is(.account-greeting-controls input, .account-greeting-controls > button, .roster-list > div > button) {
  height:36px; min-height:36px; margin:0; padding:7px 10px; font-size:12px; line-height:20px; white-space:nowrap;
}
.report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .account-inline-message { grid-column:1 / -1; grid-row:2; }
@media (max-width:600px) {
  .report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .roster-list > div { grid-template-columns:minmax(0, 1fr) auto auto; }
  .report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .roster-list > div > span:first-child { grid-column:1 / -1; }
  .report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .greeting-name-field { grid-column:1; grid-row:2; }
  .report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .account-greeting-controls > button { grid-column:2; grid-row:2; }
  .report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .roster-list > div > button { grid-column:3; grid-row:2; }
  .report-app:not(.identity-app) .roster-card:has(.account-greeting-controls) .account-inline-message { grid-row:3; }
}
.report-app:not(.identity-app) .word-preview-head > div:first-child > span { font-size:24px; font-weight:600; line-height:1.3; }
.report-app .word-report-table .report-order-row td.report-empty-problem { text-align:center; vertical-align:middle; }
.report-app:not(.identity-app) .entry-head-actions .entry-status { justify-content:center; min-height:36px; padding:7px 12px; border:1px solid transparent; border-radius:8px; font-size:13px; box-sizing:border-box; }

/* Native modal supplies focus containment and Escape cancellation. */
.logout-confirm-dialog { box-sizing:border-box; width:min(420px, calc(100vw - 32px)); padding:28px; border:1px solid #e0e6f0; border-radius:18px; background:#fff; color:#1e2c43; box-shadow:0 24px 80px #15274333; font-family:inherit; }
.logout-confirm-dialog::backdrop { background:rgba(26, 39, 62, .35); backdrop-filter:blur(4px); }
.logout-confirm-icon { display:flex; align-items:center; justify-content:center; width:48px; height:48px; margin-bottom:18px; border-radius:14px; color:#4c6fe8; background:#eef2ff; }
.logout-confirm-dialog h2 { margin:0 0 10px; font-size:23px; font-weight:650; line-height:1.3; }
.logout-confirm-dialog p { margin:0; color:#627089; font-size:14px; line-height:1.6; }
.logout-confirm-dialog form { display:flex; justify-content:flex-end; gap:10px; margin-top:26px; }
.logout-confirm-dialog button { min-width:100px; height:40px; padding:0 18px; border:1px solid #d7e0ee; border-radius:9px; font-family:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.logout-confirm-dialog .logout-cancel { background:#fff; color:#465a7a; }
.logout-confirm-dialog .logout-submit { background:#4c6fe8; border-color:#4c6fe8; color:#fff; }
.logout-confirm-dialog .logout-submit:hover { background:#3e5fd2; }
.logout-confirm-dialog .logout-cancel:hover { background:#f4f6fb; }
.logout-confirm-dialog button:focus-visible { outline:3px solid #b8c8ff; outline-offset:3px; }

.logout-confirm-heading { display:flex; align-items:center; gap:14px; margin-bottom:16px; }
.logout-confirm-heading .logout-confirm-icon { flex:0 0 48px; margin:0; }
.logout-confirm-heading h2 { margin:0; }

/* Administrator-only report ordering. */
.report-app:not(.identity-app) .report-order-backdrop { z-index:24; align-items:stretch; }
.report-app:not(.identity-app) .report-order-dialog {
  display:flex; width:min(590px, 100vw); height:100%; min-height:0; margin-left:auto;
  flex-direction:column; overflow:hidden; color:#1e2c43; background:#f7f9fc;
  border-left:1px solid #dce3ed; box-shadow:-18px 0 45px #14223a29;
}
.report-app:not(.identity-app) .report-order-head {
  display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
  padding:24px 26px 20px; border-bottom:1px solid #dfe5ee; background:#fff;
}
.report-app:not(.identity-app) .report-order-head h2 { margin:4px 0 6px; font-size:24px; font-weight:650; letter-spacing:-.025em; }
.report-app:not(.identity-app) .report-order-head p { max-width:430px; color:#68768b; font-size:12px; line-height:1.5; }
.report-app:not(.identity-app) .report-order-head > button {
  display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; padding:0;
  border:1px solid #d7deea; border-radius:8px; color:#52627a; background:#fff; font-size:20px;
}
.report-app:not(.identity-app) .report-order-list {
  display:grid; align-content:start; gap:8px; min-height:0; flex:1; padding:16px 18px;
  overflow:auto; overscroll-behavior:contain;
}
.report-app:not(.identity-app) .report-order-list-row {
  display:grid; grid-template-columns:32px minmax(0, 1fr) auto; align-items:center; gap:9px;
  min-height:58px; padding:8px 10px; border:1px solid #dfe5ed; border-radius:9px;
  background:#fff; box-shadow:0 1px 2px #1a2b4510;
}
.report-app:not(.identity-app) .report-order-number {
  display:grid; width:28px; height:28px; place-items:center; border-radius:7px;
  color:#365576; background:#eef3f8; font-size:12px; font-variant-numeric:tabular-nums;
}
.report-app:not(.identity-app) .report-order-copy { display:grid; min-width:0; gap:3px; }
.report-app:not(.identity-app) .report-order-copy strong { overflow:hidden; color:#24354d; font-size:12px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.report-app:not(.identity-app) .report-order-copy small { overflow:hidden; color:#748196; font-size:10px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.report-app:not(.identity-app) .report-order-arrows { display:flex; align-items:center; gap:4px; }
.report-app:not(.identity-app) .report-order-arrows button {
  display:grid; width:30px; height:30px; place-items:center; padding:0; border:1px solid #d7dfeb;
  border-radius:7px; color:#3f5774; background:#f8fafc; font-size:15px; line-height:1;
}
.report-app:not(.identity-app) .report-order-arrows button:hover:not(:disabled) { border-color:#aabbd0; background:#eef3f8; }
.report-app:not(.identity-app) .report-order-arrows button:disabled { color:#b8c0cb; background:#fbfcfd; cursor:default; }
.report-app:not(.identity-app) .report-order-actions {
  display:flex; justify-content:flex-end; gap:8px; padding:15px 20px;
  border-top:1px solid #dfe5ee; background:#fff;
}
.report-app:not(.identity-app) .report-order-empty { padding:40px 18px; color:#748196; text-align:center; font-size:13px; }
@media (max-width:600px) {
  .report-app:not(.identity-app) .report-order-head { padding:20px 18px 16px; }
  .report-app:not(.identity-app) .report-order-list { padding:12px; }
  .report-app:not(.identity-app) .report-order-list-row { grid-template-columns:28px minmax(0, 1fr) auto; gap:6px; padding-inline:8px; }
}


/* Employee-specific composition, using the same rail and controls as the admin. */
.report-app.employee-session:has(.employee-workspace-v2) { display: flex; height: 100dvh; overflow: hidden; }
.report-app.employee-session:has(.employee-workspace-v2) > .global-sidebar { display: none !important; }
.report-app.employee-session:has(.employee-workspace-v2) .global-nav-button:nth-child(2) { display: none; }
.report-app.employee-session:has(.employee-workspace-v2) .employee-sidebar-context { display: none; }
.report-app.employee-session:has(.employee-workspace-v2) .report-main { flex: 1; min-width: 0; width: auto; max-width: none; height: 100dvh; margin: 0; padding: 20px !important; overflow-y: auto; }
.report-app.employee-session:has(.employee-workspace-v2) .report-header { display: none; }
.report-app.employee-session .employee-workspace-v2 { width: 100%; max-width: none; padding: 0; margin: 0; }
.report-app.employee-session .employee-workspace-v2 .employee-workspace-grid { display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 16px; height: calc(100dvh - 40px); }
.report-app.employee-session .employee-workspace-v2 .project-rail { display: flex; flex-direction: column; }
.report-app.employee-session .employee-workspace-v2 .employee-create-trigger { min-height: 32px; padding: 6px 10px; font-size: 12px; }
.report-app.employee-session .employee-workspace-v2 .employee-orders-panel { display: flex; flex-direction: column; min-width: 0; height: 100%; margin: 0; border-radius: 14px; box-shadow: none; background: #fff; }
.report-app.employee-session .employee-workspace-v2 .employee-orders-head { padding: 20px; align-items: center; background: #fff; gap: 12px; flex: 0 0 auto; }
.report-app.employee-session .employee-workspace-v2 .employee-orders-head h2 { margin: 0 0 6px; font-size: 22px; line-height: 1.3; overflow-wrap: anywhere; }
.report-app.employee-session .employee-workspace-v2 .employee-orders-head small { color: var(--muted); font-size: 12px; }
.report-app.employee-session .employee-workspace-v2 .employee-orders-head > div:first-child { flex: 1; min-width: 0; margin-right: auto; }
.report-app.employee-session .employee-workspace-v2 .employee-orders-head-actions { display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.report-app.employee-session .employee-workspace-v2 .employee-report-preview-trigger { min-height:36px; white-space:nowrap; }
.report-app.employee-session .employee-workspace-v2 .employee-help-trigger { flex: 0 0 36px; width: 36px; min-width: 36px; height: 36px; min-height: 36px; padding: 0; font-size: 18px; border-radius: 6px; }
.report-app.employee-session .employee-workspace-v2 .employee-header-logout { position: static; flex: 0 0 auto; width: auto; min-width: 80px; height: 36px; min-height: 36px; margin: 0 !important; padding: 0 12px; }
.report-app.employee-session .employee-workspace-v2 .employee-orders-scroll { overflow: auto; min-height: 0; flex: 1; }
.report-app.employee-session .employee-workspace-v2 .employee-orders-list { display: grid; gap: 10px; min-width: 920px; padding: 16px; }
.report-app.employee-session .employee-workspace-v2 .employee-review-row { display: grid; grid-template-columns: minmax(200px,1.4fr) minmax(160px,1fr) minmax(160px,1fr) 152px 36px; gap: 14px; align-items: center; height: 84px; min-height: 84px; max-height: 84px; box-sizing: border-box; padding: 10px 12px; border-radius: 8px; overflow: hidden; cursor: pointer; transition: background-color .15s ease, box-shadow .15s ease; }
.report-app.employee-session .employee-workspace-v2 .employee-review-row:hover { background:#f7faff; box-shadow:0 0 0 1px #c7d5ea inset; }
.report-app.employee-session .employee-workspace-v2 .employee-review-row:focus-visible { outline:3px solid #8fb2e4; outline-offset:2px; }
.report-app.employee-session .employee-workspace-v2 .employee-review-row > div { min-width: 0; }
.report-app.employee-session .employee-workspace-v2 .employee-order-summary { gap: 2px; }
.report-app.employee-session .employee-workspace-v2 .employee-order-summary b { display: block; font-size: 13px; line-height: 18px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.report-app.employee-session .employee-workspace-v2 .employee-review-row span { font-size: 12px; line-height: 16px; }
.report-app.employee-session .employee-workspace-v2 .employee-review-row small { display: block; font-size: 11px; line-height: 15px; font-weight: 400; color: #637189; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.report-app.employee-session .employee-workspace-v2 .employee-row-text p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin: 3px 0 0; font-size: 12px; line-height: 17px; white-space: normal; overflow-wrap: anywhere; }
.report-app.employee-session .employee-workspace-v2 .employee-review-row .is-overdue { color: #b42318; font-weight: 500; }
.report-app.employee-session .employee-workspace-v2 .employee-order-edit { position: static; grid-column: 5; grid-row: 1; width: 36px; height: 36px; min-width: 0; margin: 0; padding: 0; }
.employee-empty-copy { padding: 16px; color: #637189; font-size: 14px; }
.employee-report-preview-backdrop { position:fixed; z-index:10020; inset:0; display:flex; align-items:center; justify-content:center; padding:24px; background:#0b183066; backdrop-filter:blur(3px); }
.employee-report-preview-dialog { position:relative; width:min(1120px,100%); height:min(860px,calc(100dvh - 48px)); overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#eef2f7; box-shadow:0 24px 70px #07122655; }
.employee-report-preview-dialog > .word-preview { width:100%; height:100%; overflow:auto; border:0; background:#eef2f7; }
.employee-report-preview-dialog .word-page { max-width:900px; margin:24px auto; }
.employee-report-preview-note { position:absolute; z-index:2; top:16px; left:16px; max-width:560px; padding:9px 12px; border:1px solid #ead7a4; border-radius:8px; color:#765b16; background:#fff9e8; box-shadow:0 3px 12px rgba(68,52,13,.08); font-size:11px; line-height:1.4; }
.employee-report-preview-close { position:absolute; z-index:2; top:13px; right:16px; min-height:34px; }
.report-app .employee-guide { position: fixed; z-index: 10000; right: 28px; bottom: 24px; width: 360px; max-width: calc(100vw - 32px); max-height: min(520px,70dvh); overflow: auto; padding: 20px; border: 1px solid #b9c9f2; border-radius: 14px; background: #fff; color: #17253e; box-shadow: 0 12px 40px #17253e30; }
.report-app .employee-guide header, .report-app .employee-guide footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.report-app .employee-guide header { margin-bottom: 16px; }
.report-app .employee-guide header button { border: 0; background: transparent; font-size: 24px; min-width: 32px; cursor: pointer; }
.report-app .employee-guide-menu { display: grid; gap: 10px; }
.report-app .employee-guide p { font-size: 14px; line-height: 1.6; margin: 14px 0; }
.report-app .employee-guide small { display: block; font-size: 12px; line-height: 1.5; color: #637189; }
.report-app .employee-guide progress { width: 100%; height: 6px; accent-color: #4c6ee8; }
.report-app .employee-guide footer { margin-top: 16px; }
.report-app .employee-guide-target { outline: 3px solid #5476ec !important; outline-offset: 3px; box-shadow: 0 0 0 6px #5476ec22 !important; }
@media(max-width: 1100px) {
  .report-app.employee-session .employee-workspace-v2 .employee-workspace-grid { grid-template-columns: 250px minmax(0,1fr); }
}
@media(max-width: 760px) {
  .report-app.employee-session:has(.employee-workspace-v2) { display: block; height: auto; overflow: visible; }
  .report-app.employee-session:has(.employee-workspace-v2) .report-main { height: auto; padding: 12px; overflow: visible; }
  .report-app.employee-session .employee-workspace-v2 .employee-workspace-grid { grid-template-columns: minmax(0,1fr); height: auto; }
  .report-app.employee-session .employee-workspace-v2 .project-rail { height: 300px; }
  .report-app.employee-session .employee-workspace-v2 .employee-orders-panel { height: 540px; }
  .report-app.employee-session .employee-workspace-v2 .employee-orders-head h2 { font-size: 18px; }
  .report-app .employee-guide { right: 16px; bottom: 16px; }
}
body:has(.dialog-backdrop) .employee-guide { left: 228px; right: auto; }
@media(max-width:760px) { body:has(.dialog-backdrop) .employee-guide { left: 16px; right: 16px; } }
@media(max-width:760px) {
  .report-app.employee-session:has(.employee-workspace-v2) .global-nav { display: block; width: auto; }
  .report-app.employee-session:has(.employee-workspace-v2) .global-nav-button { width: auto; min-width: 120px; white-space: nowrap; }
  .report-app.employee-session:has(.employee-workspace-v2) .sidebar-logout-button { width: auto; min-width: 90px; margin: 0 !important; }
  .report-app.employee-session .employee-workspace-v2 .employee-orders-head { flex-direction: row; text-align: left; }
  .report-app.employee-session .employee-workspace-v2 .employee-orders-head-actions { align-items:flex-end; flex-direction:column-reverse; }
  .report-app.employee-session .employee-workspace-v2 .employee-report-preview-trigger { font-size:11px; }
  .employee-report-preview-backdrop { padding:8px; }
  .employee-report-preview-dialog { height:calc(100dvh - 16px); }
}

.report-app .employee-workspace-v2 .project-list-item.project-review-rejected { background:#fff1f1; border-color:#efcdcd; }
.report-app .employee-workspace-v2 .project-list-item.project-review-approved { background:#edf7f0; border-color:#d3e7d9; }
.report-app .employee-workspace-v2 .project-list-item.project-review-rejected.selected { background:#ffe7e7; border-color:#d98686; box-shadow:inset 3px 0 #bf4545; }
.report-app .employee-workspace-v2 .project-list-item.project-review-approved.selected { background:#e0f1e5; border-color:#83b795; box-shadow:inset 3px 0 #388452; }
.report-app .employee-workspace-v2 .employee-project-name { display:flex; align-items:center; gap:8px; }
.report-app .employee-workspace-v2 .project-rejection-mark { display:inline-flex; flex:0 0 18px; width:18px; height:18px; align-items:center; justify-content:center; border-radius:50%; background:#bd4242; color:#fff; font-size:12px; font-weight:700; font-style:normal; line-height:1; }

.report-app .employee-workspace-v2 .project-list-item.project-review-pending { background:#fff8e6; border-color:#efdfad; }
.report-app .employee-workspace-v2 .project-list-item.project-review-pending.selected { background:#fff0c7; border-color:#d6b85f; box-shadow:inset 3px 0 #b98b24; }
.report-app .employee-workspace-v2 .project-list-select .employee-project-name { display:flex; align-items:center; width:100%; gap:12px; }
.report-app .employee-workspace-v2 .employee-project-name .project-rejection-mark { margin-left:auto; }

/* Order-level weekly collection progress. */
.collection-progress { position:relative; margin-top:14px; }
.collection-progress-trigger { display:flex; width:100%; align-items:center; justify-content:space-between; gap:8px; padding:9px 10px; border:1px solid #ffffff24; border-radius:7px; color:#dce8f3; background:#ffffff0d; font-size:11px; cursor:pointer; }
.collection-progress-trigger:hover { background:#ffffff18; }
.collection-progress-trigger b { color:#fff; white-space:nowrap; }
.collection-progress-drawer { position:fixed; z-index:10010; top:92px; left:174px; display:grid; width:min(380px,calc(100vw - 198px)); max-height:calc(100dvh - 120px); overflow:hidden; border:1px solid #cbd7e6; border-radius:12px; color:#1f3047; background:#fff; box-shadow:0 18px 54px #07162d38; }
.collection-progress-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:16px; border-bottom:1px solid #e0e6ee; background:#f7f9fc; }
.collection-progress-head > div { display:grid; gap:4px; }
.collection-progress-head small { color:#66758a; font-size:11px; }
.collection-progress-head button { width:30px; height:30px; padding:0; border:0; border-radius:5px; color:#506078; background:transparent; font-size:22px; }
.collection-progress-list { min-height:0; overflow:auto; padding:8px 14px; }
.collection-progress-list > div,
.collection-progress-total { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 2px; border-bottom:1px solid #edf0f4; font-size:12px; }
.collection-progress-list strong,
.collection-progress-total strong { white-space:nowrap; font-variant-numeric:tabular-nums; }
.collection-progress-name { font-weight:700; transition:color .16s ease; }
.collection-progress-row.is-complete .collection-progress-name { color:#47735f; }
.collection-progress-row.is-partial .collection-progress-name { color:#94702d; }
.collection-progress-row.is-missing .collection-progress-name { color:#9a5b58; }
.collection-progress-row.is-empty .collection-progress-name { color:#778397; }
.collection-progress-total { padding:13px 16px; border:0; background:#f7f9fc; font-weight:700; }

/* Employee orders now include an explicit weekly acknowledgement action. */
.report-app.employee-session .employee-workspace-v2 .employee-orders-list { min-width:1100px; }
.report-app.employee-session .employee-workspace-v2 .employee-review-row { grid-template-columns:minmax(180px,1.3fr) minmax(145px,1fr) minmax(170px,1.1fr) 135px 150px 36px; }
.report-app.employee-session .employee-workspace-v2 .employee-order-edit { grid-column:6; }
.report-app.employee-session .employee-workspace-v2 .employee-no-changes { min-height:36px; padding:7px 9px; white-space:normal; line-height:1.25; }
.report-app.employee-session .employee-workspace-v2 .employee-no-changes:disabled { color:#52677f; border-color:#d8e0ea; background:#eef3f8; cursor:default; transform:none; }
.report-app.employee-session .employee-order-link { color:#0d5bc5; text-decoration:underline; text-underline-offset:2px; }

/* Report columns: a little more room for solutions, a little less for problems. */
.report-app:not(.identity-app) .word-report-table th:first-child { width:5% !important; }
.report-app:not(.identity-app) .word-report-table th:nth-child(2) { width:36% !important; }
.report-app:not(.identity-app) .word-report-table th:nth-child(3) { width:27% !important; }
.report-app:not(.identity-app) .word-report-table th:nth-child(4) { width:32% !important; }
.report-app:not(.identity-app) .word-report-table .word-problem-article { margin-top:6px; margin-bottom:0; padding-top:5px; padding-bottom:3px; border-top:1px solid #c7cdd4; border-bottom:0; font-weight:400; }
.report-inline-field { display:grid; gap:5px; min-width:0; }
.report-inline-label { color:#5e6c80; font-size:9px !important; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.report-inline-textarea { width:100%; min-height:86px; padding:8px 9px; resize:vertical; border:1px solid #cbd5e2; border-radius:6px; color:#26374d; background:#fff; font:inherit; line-height:1.45; white-space:pre-wrap; }
.report-inline-textarea:hover { border-color:#aebdd0; background:#fbfdff; }
.report-inline-textarea:focus { border-color:#5e91d7; background:#fff; box-shadow:0 0 0 3px rgba(40,108,202,.12); }
.report-inline-status { min-height:14px; color:#6d7b8e; font-size:9px !important; line-height:1.35; }
.report-inline-field.saving .report-inline-status,
.report-inline-field.dirty .report-inline-status { color:#80640a; }
.report-inline-field.saved .report-inline-status { color:#28744a; }
.report-inline-field.error .report-inline-textarea { border-color:#c45b55; background:#fff8f7; }
.report-inline-field.error .report-inline-status { color:#a53a34; }
.report-related-edit { display:block; width:100%; min-height:30px; margin-top:8px; padding:6px 8px; border:1px solid #c3cfdd; border-radius:5px; color:#285a94; background:#f5f8fc; font-size:9px; font-weight:700; line-height:1.35; }
.report-related-edit:hover { border-color:#aebed1; background:#eaf1f9; }

/* Requests for employee deletion stay visible until the administrator decides. */
.deletion-request-list { display:grid; gap:10px; margin:12px 14px 16px; }
.deletion-request-card { display:grid; gap:8px; padding:13px 14px; border:1px solid #edc9c7; border-left:4px solid #bd4545; border-radius:7px; background:#fff7f6; }
.deletion-request-card b { color:#672c2c; font-size:13px; }
.deletion-request-card small { color:#735f61; font-size:11px; }
.deletion-request-card > div { display:flex; gap:8px; flex-wrap:wrap; }

.solution-readonly { color:#536174; background:#f2f4f7 !important; cursor:not-allowed; }

/* Keep project editor action labels intact even when the dialog is narrow. */
.report-app:not(.identity-app) .project-editor-form .dialog-actions { flex-wrap:wrap; }
.report-app:not(.identity-app) .project-editor-form .dialog-actions > .button { flex:0 0 auto; white-space:nowrap; }

/* Existing projects have three related actions; keep them together. */
.report-app:not(.identity-app) .project-editor-existing .dialog-actions { display:flex; justify-content:flex-end; flex-wrap:nowrap; gap:8px; overflow-x:auto; }
.report-app:not(.identity-app) .project-editor-existing .dialog-actions-spacer { display:none; }
.report-app:not(.identity-app) .project-editor-existing .dialog-actions > .button { min-width:0; padding-inline:12px; }

/* Make order identifiers easier to scan while preserving their links. */
.report-app:not(.identity-app) .entry-order-label,
.report-app:not(.identity-app) .entry-order-label a { font-size:18px; font-weight:700; }
.report-app.employee-session .employee-workspace-v2 .employee-order-summary b,
.report-app.employee-session .employee-workspace-v2 .employee-order-summary b a { font-size:16px; line-height:21px; }

/* Keep weekly collection visible without breaking the panel's calm card system. */
.collection-progress { margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.collection-progress-trigger { min-height:54px; padding:10px 11px; border:1px solid #dbe3ee; border-radius:12px; color:var(--ink); background:var(--surface-soft); box-shadow:none; font-size:12px; font-weight:700; text-align:left; transition:background .16s ease,border-color .16s ease,box-shadow .16s ease; }
.collection-progress-trigger:hover { border-color:#cbd6e5; background:#fff; box-shadow:0 4px 12px rgba(46,67,104,.06); }
.collection-progress-trigger.is-complete { border-color:#d4e8de; background:#f3faf7; }
.collection-progress-label { display:grid; min-width:0; gap:2px; }
.collection-progress-label strong { color:var(--ink); font-size:12px; line-height:1.25; }
.collection-progress-label small { color:var(--muted); font-size:10px; font-weight:500; line-height:1.25; }
.collection-progress-trigger.is-complete .collection-progress-label small { color:#668774; }
.collection-progress-trigger b { display:inline-flex; min-width:50px; min-height:28px; align-items:center; justify-content:center; padding:4px 7px; border-radius:999px; color:#52637d; background:#edf1f6; font-size:11px; font-weight:750; }
.collection-progress-trigger.is-complete b { color:#47735f; background:#e2f0e9; }
.collection-progress-drawer { border-color:var(--line); box-shadow:var(--shadow-float); }
.collection-progress-head { border-bottom-color:var(--line); background:var(--surface-soft); }
.collection-progress-head b { color:var(--ink); font-size:14px; }

@media(max-width:760px) {
  .collection-progress-drawer { top:72px; left:12px; width:calc(100vw - 24px); max-height:calc(100dvh - 88px); }
}

/* Two-step project creation and compact order references. */
.report-app:not(.identity-app) .dialog-backdrop:has(.project-editor-form),
.report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-form) { align-items:center; justify-content:center; padding:clamp(14px,3vw,36px); overflow:auto; }
.report-app:not(.identity-app) .dialog-backdrop:has(.project-editor-form) .side-dialog,
.report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-form) .side-dialog { width:min(760px,100%); height:auto; max-height:calc(100dvh - clamp(28px,6vw,72px)); border-radius:16px; overflow-y:auto; box-shadow:0 24px 72px rgba(13,29,52,.28); }
.report-app:not(.identity-app) .dialog-backdrop:has(.project-wizard-order-step) .side-dialog { width:min(1480px,100%); }
.report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-form) .side-dialog { width:min(1480px,100%); }
.report-app:not(.identity-app) .project-creation-wizard { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 12px; }
.report-app:not(.identity-app) .project-creation-wizard > .dialog-note,
.report-app:not(.identity-app) .project-creation-wizard > .two-columns,
.report-app:not(.identity-app) .project-creation-wizard > .field,
.report-app:not(.identity-app) .project-creation-wizard > .order-details-row,
.report-app:not(.identity-app) .project-creation-wizard > .problem-solution-row,
.report-app:not(.identity-app) .project-creation-wizard > .order-related-fields,
.report-app:not(.identity-app) .project-creation-wizard > .form-error,
.report-app:not(.identity-app) .project-creation-wizard > .dialog-actions { grid-column:1 / -1; }
.project-wizard-order-step > .order-details-row { order:1; }
.project-wizard-order-step > .problem-solution-row { order:2 !important; }
.project-wizard-order-step > .form-error { order:5; }
.project-wizard-order-step > .dialog-actions { order:6; }

.report-app:not(.identity-app) .dialog-backdrop .side-dialog .project-wizard-order-step > .order-details-row,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog .order-editor-form > .order-details-row {
  display:grid;
  grid-template-columns:minmax(150px,210px) minmax(260px,1fr) minmax(130px,160px);
  gap:12px;
  align-items:end;
  width:100%;
  min-width:0;
}

.report-app:not(.identity-app) .order-editor-form > .order-related-fields,
.report-app:not(.identity-app) .project-wizard-order-step > .order-related-fields { order:4 !important; grid-column:1 / -1 !important; }
.order-related-fields { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; width:100%; min-width:0; }
.order-related-fields > .articles-fields { grid-column:1 / -1; margin:0; }
.order-related-card,
.linked-record-card { min-width:0; padding:12px; border:1px solid #dce5f0; border-radius:8px; background:#f7f9fc; }
.linked-record-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:10px; color:#35465d; font-size:12px; }
.linked-record-head > div { display:grid; gap:3px; }
.linked-record-head small { color:#718095; font-size:10px; font-weight:500; }
.linked-record-head span { color:#718095; font-size:10px; font-weight:500; line-height:1.35; }
.linked-record-head strong { flex:0 0 auto; padding:3px 6px; border-radius:9px; color:#175db9; background:#e6f0ff; font-size:10px; }
.linked-record-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 38px; gap:10px; align-items:end; }
.linked-record-row + .linked-record-row { margin-top:9px; padding-top:9px; border-top:1px solid #dfe7f0; }
.linked-record-grid .field,
.compact-reference-row .field { min-width:0; margin-bottom:0 !important; }
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.order-related-fields) .linked-record-grid input,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.order-related-fields) .linked-record-grid textarea,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.order-related-fields) .compact-reference-row input,
.report-app:not(.identity-app) .dialog-backdrop .side-dialog:has(.order-related-fields) .compact-reference-row textarea { width:100% !important; min-width:0 !important; min-height:42px !important; height:42px !important; max-height:42px !important; padding:8px 9px !important; resize:none !important; }
.linked-record-grid textarea,
.compact-reference-row textarea { resize:vertical; }
.linked-record-grid .field > span,
.compact-reference-row .field > span { display:flex; min-height:18px; align-items:flex-end; white-space:nowrap; }
.compact-reference-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) 38px; gap:10px; align-items:end; }
.compact-reference-row + .compact-reference-row { margin-top:9px; padding-top:9px; }
.compact-reference-row .remove-article { display:grid; width:38px; height:42px; place-items:center; padding:0; border:1px solid #ead0ce; border-radius:5px; color:#a43d38; background:#fff; font-size:18px; line-height:1; }
.compact-reference-row .remove-article:hover { background:#fff2f1; }
.remove-related-record { display:grid; width:38px; height:42px; place-items:center; padding:0; border:1px solid #ead0ce; border-radius:5px; color:#a43d38; background:#fff; font-size:18px; line-height:1; }
.remove-related-record:hover { background:#fff2f1; }
.order-related-fields .add-article,
.add-related-record { margin-top:9px; padding:5px 0 0; border:0; color:#135fbe; background:transparent; font-size:10px; font-weight:800; }
.report-app:not(.identity-app) .word-report-table .word-problem-related { margin-top:6px; padding-top:5px; border-top:1px solid #c7cdd4; color:#243a55; font-size:6.6px; line-height:1.3; }
.report-app:not(.identity-app) .word-report-table .word-problem-related-comment {
  display:block;
  margin-top:4px;
  color:#263442;
  font-size:inherit;
  line-height:1.4;
  white-space:pre-line;
}

@media(max-width:900px) {
  .order-related-fields,
  .linked-record-grid { grid-template-columns:minmax(0,1fr); }
  .order-related-fields > .articles-fields { grid-column:1; }
  .compact-reference-row { grid-template-columns:minmax(0,1fr) 38px; }
  .compact-reference-row .field { grid-column:1; }
  .compact-reference-row .remove-article { grid-column:2; grid-row:1 / span 3; align-self:end; }
  .linked-record-grid { grid-template-columns:minmax(0,1fr) 38px; }
  .linked-record-grid .field { grid-column:1; }
  .linked-record-grid .remove-related-record { grid-column:2; grid-row:1 / span 3; align-self:end; }
}

@media(max-width:760px) {
  .report-app:not(.identity-app) .project-creation-wizard { grid-template-columns:minmax(0,1fr); }
  .report-app:not(.identity-app) .dialog-backdrop .side-dialog .project-wizard-order-step > .order-details-row,
  .report-app:not(.identity-app) .dialog-backdrop .side-dialog .order-editor-form > .order-details-row { grid-template-columns:minmax(0,1fr); }
  .report-app:not(.identity-app) .dialog-backdrop:has(.project-editor-form),
  .report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-form) { align-items:flex-start; padding:10px; }
  .report-app:not(.identity-app) .dialog-backdrop:has(.project-editor-form) .side-dialog,
  .report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-form) .side-dialog { max-height:calc(100dvh - 20px); border-radius:12px; }
}

/* New-order dialogs must fit a regular desktop viewport without the tiny
   internal scroll left by the roomier edit-dialog spacing. */
@media(min-width:901px) {
  .report-app:not(.identity-app) .dialog-backdrop:has(.project-wizard-order-step) .dialog-head {
    min-height:64px;
    padding:12px 24px;
  }

  .report-app:not(.identity-app) .dialog-backdrop:has(.order-editor-create) .dialog-head {
    display:none;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog .project-wizard-order-step,
  .report-app:not(.identity-app) .dialog-backdrop .side-dialog .order-editor-create {
    gap:10px 12px;
    padding-top:16px;
    padding-bottom:18px;
  }

  .report-app:not(.identity-app) .project-wizard-order-step .problem-solution-row textarea,
  .report-app:not(.identity-app) .order-editor-create .problem-solution-row textarea {
    min-height:88px;
    height:88px;
  }

  .report-app:not(.identity-app) .project-wizard-order-step :is(.order-related-card, .linked-record-card),
  .report-app:not(.identity-app) .order-editor-create :is(.order-related-card, .linked-record-card) {
    padding:10px;
  }

  .report-app:not(.identity-app) .project-wizard-order-step :is(.articles-fields-head, .linked-record-head),
  .report-app:not(.identity-app) .order-editor-create :is(.articles-fields-head, .linked-record-head) {
    margin-bottom:8px;
  }

  .report-app:not(.identity-app) .project-wizard-order-step .order-related-card,
  .report-app:not(.identity-app) .order-editor-create .order-related-card {
    padding:8px 10px;
  }

  .report-app:not(.identity-app) .project-wizard-order-step .order-related-card .articles-fields-head,
  .report-app:not(.identity-app) .order-editor-create .order-related-card .articles-fields-head {
    margin-bottom:5px;
  }

  .report-app:not(.identity-app) .project-wizard-order-step .order-related-card .articles-fields-head > div,
  .report-app:not(.identity-app) .order-editor-create .order-related-card .articles-fields-head > div {
    gap:1px;
  }

  .report-app:not(.identity-app) .project-wizard-order-step .order-related-card .compact-reference-row :is(input, textarea),
  .report-app:not(.identity-app) .order-editor-create .order-related-card .compact-reference-row :is(input, textarea) {
    min-height:38px !important;
    height:38px !important;
    max-height:38px !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }

  .report-app:not(.identity-app) .project-wizard-order-step .order-related-card .add-article,
  .report-app:not(.identity-app) .order-editor-create .order-related-card .add-article {
    margin-top:4px;
    padding-top:0;
  }

  .report-app:not(.identity-app) .dialog-backdrop .side-dialog .project-wizard-order-step > .dialog-actions,
  .report-app:not(.identity-app) .dialog-backdrop .side-dialog .order-editor-create > .dialog-actions {
    min-height:54px;
    margin-top:0;
    padding-top:10px;
  }
}


