@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap');
:root{--ink:#172c2c;--muted:#788582;--line:#e4e9e5;--green:#28634d;--bg:#f6f7f4;--orange:#d18d4c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b9ca80;outline-offset:3px}aside{position:fixed;inset:0 auto 0 0;width:232px;background:#fff;border-right:1px solid var(--line);padding:32px 22px;display:flex;flex-direction:column}.brand{text-decoration:none;color:var(--ink);display:block;letter-spacing:-1px}.brand b{font:800 24px Manrope,sans-serif}.brand b span{font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:2.4px;margin-top:7px;color:var(--green)}.workspace{margin:38px -4px 32px;padding:12px 8px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:7px;font-weight:600;font-size:12px}.workspace-icon{padding:10px 7px;background:#e9eee5;border-radius:5px;color:var(--green)}small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.nav-label{color:#97a09c;font-size:10px;letter-spacing:1.5px;margin:0 12px 13px}nav button{width:100%;border:0;background:none;text-align:left;padding:13px 12px;margin:3px 0;border-radius:5px;color:#707c78;display:flex;gap:12px;align-items:center;font-size:13px}nav button.active{background:#edf2e9;color:#27513e;font-weight:700}nav .navicon{font-size:18px;width:20px}nav .count{margin-left:auto;background:#e4e9df;padding:2px 7px;border-radius:4px;font-size:10px}.sidebar-foot{margin-top:auto;font-size:11px;color:#63746a;padding:15px 8px 0;border-top:1px solid var(--line)}.sidebar-foot p{font-size:11px;color:#96a099;margin:7px 0 15px 12px}.dot{display:inline-block;height:6px;width:6px;background:#68966e;border-radius:50%;margin-right:6px}.text{border:0;background:none;color:var(--muted);padding:0;font-size:11px}.shell{margin-left:232px}header{height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;justify-content:space-between;align-items:center}.breadcrumb{font-size:12px;color:#8c9690}.breadcrumb span{margin:0 14px;color:#c7cdc8}.breadcrumb b{font-weight:500;color:#4c6055}.header-right{display:flex;align-items:center;gap:22px}.demo{font-size:9px;font-weight:700;color:#728461;background:#f0f3e9;border:1px solid #e4e9da;padding:6px 10px;border-radius:4px;letter-spacing:1px}.avatar{width:29px;height:29px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#eaf0e4;font-size:10px;color:#617552;font-weight:600;flex-shrink:0}.avatar.dark{background:#244d3c;color:white;width:33px;height:33px}.icon-btn{border:0;background:none;font-size:22px;position:relative;color:#75867b}.icon-btn i{position:absolute;width:5px;height:5px;background:#c2814f;top:4px;right:4px;border-radius:50%}main{max-width:1600px;margin:auto;padding:34px 38px 28px}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}h1{font:750 28px Manrope,sans-serif;letter-spacing:-1px;margin:4px 0 8px}p.subtitle{font-size:12px;color:var(--muted);margin:0}.eyebrow{font-size:10px;color:var(--green);letter-spacing:1.5px;font-weight:700}.button{border:1px solid var(--line);border-radius:5px;padding:10px 15px;background:#fff;color:#536359;font-size:12px;font-weight:600;display:inline-flex;gap:8px;align-items:center}.button.primary{background:#285c47;color:#fff;border-color:#285c47}.button:hover{filter:brightness(.97)}.actions{display:flex;gap:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:26px}.stat{background:#fff;border:1px solid var(--line);border-radius:7px;padding:21px 22px;position:relative}.stat-label{font-size:11px;color:#75847b}.stat-num{font:700 30px Manrope;margin:12px 0}.stat-note{font-size:10px;color:#839086}.stat-icon{position:absolute;right:18px;top:18px;background:#f2f4ef;border-radius:6px;padding:7px;color:#758a74}.stat-note strong{color:#42785c;font-weight:500}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 305px;gap:23px}.panel{background:#fff;border:1px solid var(--line);border-radius:7px;overflow:hidden;margin-bottom:23px}.panel-head{padding:21px 22px 17px;display:flex;justify-content:space-between;align-items:center}h2{font:700 14px Manrope;margin:0}.panel-sub{font-size:10px;color:#8a958e;margin-top:5px}.link{border:0;background:none;color:#45705a;font-size:11px;padding:0;cursor:pointer}.toolbar{padding:0 22px 16px;display:flex;gap:9px;align-items:center;flex-wrap:wrap}.search{border:1px solid var(--line);border-radius:5px;display:flex;align-items:center;padding:8px 11px;gap:8px;min-width:210px;flex:1;color:#839087}.search input{border:0;outline:none;width:100%;font-size:11px;background:transparent}.filter{border:1px solid var(--line);border-radius:5px;padding:8px 10px;background:#fff;color:#66766c;font-size:11px;max-width:190px}table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}th{font-weight:500;color:#8c978f;background:#fafbf8;padding:12px 16px;border-top:1px solid #edf0e9;border-bottom:1px solid #edf0e9;font-size:10px}td{padding:16px;border-bottom:1px solid #eef1eb}tbody tr:last-child td{border-bottom:0}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:#fbfcf8}.company-name{font-weight:600;color:#364d40;font-size:11px}.subline{display:block;color:#929b94;font-size:10px;margin-top:5px}.badge{display:inline-flex;white-space:nowrap;align-items:center;gap:5px;padding:5px 7px;background:#edf2e9;border-radius:4px;color:#5b7753;font-size:9px;font-weight:500}.badge.amber{color:#a57b3f;background:#fbf2df}.badge.red{color:#bd7460;background:#fbede7}.badge.blue{color:#617f9a;background:#eaf1f6}.badge.grey{color:#7c8981;background:#f0f2ef}.service-chip{font-size:9px;border:1px solid #e1e8de;border-radius:3px;padding:4px 6px;color:#73856b}.progress{height:4px;background:#eef1e9;border-radius:10px;overflow:hidden;min-width:55px}.progress span{display:block;height:100%;background:#81a075}.progress-row{display:flex;align-items:center;gap:8px;color:#8a968c;font-size:9px}.attention-item{padding:16px 20px;border-top:1px solid #edf0e9;display:flex;gap:11px;cursor:pointer}.attention-icon{font-size:13px;background:#fcf1e8;color:#bd865b;padding:6px;height:26px;border-radius:4px}.attention-item h3{font-size:11px;font-weight:600;margin:0 0 6px}.attention-item p{font-size:10px;color:#8a958e;margin:0 0 8px;line-height:1.5}.attention-item .due{font-size:9px;color:#be7f5d}.attention-item:hover{background:#fafbf8}.service-summary{display:flex;align-items:center;gap:12px;padding:12px 22px}.service-summary .symbol{width:32px;height:32px;border-radius:6px;background:#eff3e9;display:grid;place-items:center;color:#718962}.service-summary .label{flex:1;font-size:11px}.service-summary .number{font:700 16px Manrope;color:#536c52}.service-summary small{font-size:9px}.panel-foot{border-top:1px solid var(--line);padding:13px 22px;color:#8b978f;font-size:10px;display:flex;justify-content:space-between}.activity{padding:6px 22px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.activity p{font-size:11px;line-height:1.6;margin:0 0 8px;color:#5f7266}.activity small{font-size:9px}.activity .dot{vertical-align:middle}footer{padding:0 38px 22px;font-size:10px;color:#97a198;display:flex;justify-content:space-between}.table-wrap{overflow:auto}.detail-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:23px}.pad{padding:22px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:17px;font-size:11px;color:#6c7b71}.field input,.field select,.field textarea{padding:10px;border:1px solid #dfe6dc;border-radius:5px;background:#fff;color:#304d3c;min-width:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.check-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf0e9;font-size:12px}.check-item input{accent-color:#386e51;width:16px;height:16px}.check-item label{flex:1;cursor:pointer}.check-item small{font-size:10px}.stage{display:flex;gap:10px;padding:12px 0;align-items:center;font-size:11px}.stage .stage-num{width:24px;height:24px;display:grid;place-items:center;border:1px solid #e3e9dc;border-radius:50%;font-size:10px;color:#8a9b80}.stage.done .stage-num{background:#e8efe1;color:#567845}.stage.current{font-weight:700;color:#2c644c}.stage.current .stage-num{background:#30674e;color:white}.info-row{display:flex;justify-content:space-between;padding:12px 0;font-size:12px;border-bottom:1px solid #edf0e9}.info-row span{color:#859185}.bundle-card{border:1px solid var(--line);border-radius:6px;padding:17px;margin:12px 0;cursor:pointer}.bundle-card:hover{background:#f8faf4}.bundle-card h3{margin:0 0 12px;font-size:12px}.empty{padding:40px;text-align:center;color:#8a978c;font-size:12px}.task-row{display:flex;align-items:center;gap:14px;padding:17px 22px;border-top:1px solid var(--line)}.task-row .task-main{flex:1}.task-main b{font-size:12px}.task-row input{accent-color:#28634d;width:17px;height:17px}.done-task b{text-decoration:line-through;color:#92a08e}.notice{background:#eef3e7;border:1px solid #e0e8d6;color:#667a58;border-radius:5px;padding:13px 16px;font-size:11px;margin-bottom:22px}dialog{border:1px solid var(--line);border-radius:10px;width:540px;max-width:94vw;padding:26px;color:var(--ink);box-shadow:0 20px 100px #18302033}dialog::backdrop{background:#18302466;backdrop-filter:blur(2px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.modal-head h2{font-size:18px}.close{border:0;background:none;font-size:23px;color:#849180}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);padding-top:18px;margin-top:10px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#244c39;color:white;padding:12px 22px;border-radius:6px;font-size:12px;display:none;z-index:10}.date-caption{font-size:11px;color:#849181}.mobile-nav{display:none}@media(min-width:1500px){main{padding-top:42px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 340px}td{padding:19px 20px}}@media(max-width:1150px){aside{width:190px;padding:28px 15px}.shell{margin-left:190px}main{padding:25px}.dashboard-grid{grid-template-columns:1fr}.right-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.brand b{font-size:21px}header{padding:0 25px}.stats{gap:10px}.stat{padding:17px}.detail-grid{grid-template-columns:1.5fr 1fr}}@media(max-width:760px){aside{position:relative;width:100%;padding:17px}.brand small,.workspace,.nav-label,.sidebar-foot{display:none}nav{display:flex;overflow:auto;margin-top:12px;gap:5px}nav button{white-space:nowrap;width:auto;padding:9px;font-size:11px}nav .navicon,nav .count{display:none}.shell{margin:0}header{height:55px;padding:0 18px}main{padding:24px 16px}.header-right{gap:13px}.demo{font-size:8px}.page-title{gap:15px;align-items:flex-start}h1{font-size:23px}.stats{grid-template-columns:1fr 1fr}.stat-num{font-size:26px}.right-column,.detail-grid{display:block}.activity{grid-template-columns:1fr;gap:17px}.date-caption{display:none}.button{padding:9px;font-size:10px}.form-grid{grid-template-columns:1fr}.page-title .actions{flex-wrap:wrap;justify-content:flex-end}footer{padding:5px 16px 20px;font-size:9px}.panel-head{padding:18px}.toolbar{padding-left:18px;padding-right:18px}td,th{white-space:nowrap}.stat-note{font-size:9px}}
/* Job record additions reuse the existing workspace design. */
.job-detail .info-row{gap:16px;align-items:start}.job-detail .info-row b{font-weight:500;text-align:right;overflow-wrap:anywhere;max-width:62%}.job-detail .info-row>span{flex-shrink:0;max-width:45%}.job-detail .next-action{font-size:14px;line-height:1.6;margin:0 0 10px;overflow-wrap:anywhere}.job-detail .note-content{white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere;font-size:12px}.job-history{list-style:none;padding:0 24px 8px;margin:0}.job-history li{border-left:2px solid #e4eadf;padding:0 0 20px 16px}.job-history time{font-size:10px;color:#879481}.job-history p{font-size:12px;line-height:1.7;margin:6px 0 0;overflow-wrap:anywhere}.job-form-error{padding:12px;background:#fbede7;color:#974f39;border-radius:5px;font-size:12px}.job-detail .task-row{flex-wrap:wrap}.job-detail .task-main{min-width:140px}.job-detail .subline{line-height:1.7}.job-detail .bundle-card:focus-visible,tr.clickable:focus-visible{outline:2px solid #75966a;outline-offset:-2px}dialog:has(#jobEditor){width:680px;max-height:90vh;overflow:auto}#jobEditor .panel-sub{line-height:1.6;margin:0 0 18px}#jobEditor textarea{resize:vertical}#jobEditor input:disabled{color:#7b8976;background:#f4f6f0}
/* Workflow administration uses the existing workspace components. */
.template-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.template-grid .panel{margin:0}.template-grid .info-row{gap:20px;align-items:start;font-size:11px}.template-grid .info-row b{font-weight:500;text-align:right;max-width:65%;overflow-wrap:anywhere}.template-editor-section{border:1px solid var(--line);border-radius:6px;padding:17px;margin:18px 0}.template-editor-section>.panel-head{padding:0 0 14px}.template-editor-section>h2{margin-bottom:13px}.template-list-row{display:flex;gap:14px;align-items:start;border-top:1px solid var(--line);padding:14px 0 0}.template-list-row>.link{margin-top:29px}.list-row-fields{flex:1;min-width:0}.current-stage{font-size:11px;line-height:1.7;display:flex;gap:8px;align-items:start;margin:0 0 16px}.current-stage input{accent-color:var(--green);margin-top:3px}.task-state{max-width:145px}.task-row{flex-wrap:wrap}.task-main{min-width:160px}.creation-task{display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding-top:15px;margin-top:13px;font-size:12px}.creation-task>span{flex:1}.creation-task>.field{width:155px;margin:0}.template-editor-section summary{font-size:11px;color:var(--green);cursor:pointer;margin:15px 0}dialog:has(#templateEditor),dialog:has(#newTemplateJob),dialog:has(#jobListEditor){width:740px;max-height:90vh;overflow:auto}.template-editor-section .panel-sub{line-height:1.7;margin-bottom:14px}@media(max-width:760px){.template-grid{grid-template-columns:1fr}.creation-task{display:block}.creation-task>.field{width:100%;margin-top:12px}.template-list-row .form-grid{display:block}}
/* Read-only workflow review; existing screens retain their styling. */
.review-summary{margin:16px 0 20px}.review-summary ul{padding-left:17px;font-size:11px;color:#7f8c76;line-height:1.9}.workflow-review .table-wrap td{white-space:normal;vertical-align:top;min-width:140px;line-height:1.65}.workflow-review .table-wrap td:first-child{min-width:220px;width:32%}.review-missing{color:#a47b43;background:#fbf3e3;padding:3px 6px;border-radius:3px;font-size:10px;display:inline-block}.review-status-form{display:grid;grid-template-columns:180px 1fr;gap:0 18px;align-items:end}.review-status-form .current-stage{grid-column:1/-1}.review-status-form>.button{justify-self:start;margin-bottom:14px}.review-history{margin-top:18px;font-size:11px;color:#71836c}.review-history summary{cursor:pointer}.review-history ol{padding-left:20px;line-height:2}.review-findings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.review-findings li{border:1px solid #ece8db;border-radius:5px;padding:14px;background:#fffdf8}.review-findings b{font-size:12px;color:#886d43}.review-findings p{font-size:11px;line-height:1.7;color:#84907b;margin:7px 0 0}.workflow-review .panel-foot{display:block;line-height:1.7}.workflow-review .pad>p{font-size:12px;line-height:1.8}.review-subheading{font:700 12px Manrope,sans-serif;margin:14px 0}.review-reference-list{padding-left:18px;font-size:12px;line-height:1.8}.review-reference-list li{margin:9px 0}.review-reference-list small{line-height:1.8}.review-linked{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.workflow-review .panel-sub{line-height:1.8}.workflow-review .panel-head>div:last-child>small{max-width:190px;text-align:right}aside nav{min-height:0;overflow-y:auto}.sidebar-foot{flex-shrink:0}@media(max-width:760px){.review-status-form,.review-findings{grid-template-columns:1fr}.workflow-review .table-wrap td{min-width:145px}.workflow-review .panel-head{align-items:start;gap:10px}aside nav{overflow-x:auto}}
/* Operator Licence V2 and simulated email centre reuse existing workspace styling. */
.v2-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.v2-columns h3,.ol-evidence h3,.job-detail h3{font-size:12px}.v2-columns ul{padding-left:18px;line-height:1.8;font-size:12px}.v2-columns p{font-size:12px;line-height:1.8}.ol-condition,.ol-evidence{padding:15px 0;border-bottom:1px solid var(--line)}.ol-condition>b,.ol-evidence>b{font-size:12px}.ol-condition{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.ol-condition>b{grid-column:1/-1}.ol-condition .field{margin-bottom:0}.ol-condition>.button{justify-self:start}.ol-evidence .form-grid{margin-top:12px}.email-body{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.8 'DM Sans',sans-serif;background:#f7f9f3;border:1px solid var(--line);border-radius:5px;padding:18px}.simulation-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}dialog:has(#emailTemplateEditor),dialog:has(#emailPreviewForm),dialog:has(#queuedEmailEditor){width:730px;max-height:90vh;overflow:auto}#demoIdentity{border:0;cursor:pointer}.info-row{gap:12px}.detail-grid h3{font-size:12px}.detail-grid>.panel .pad p{line-height:1.8}nav{flex-shrink:1}.sidebar-foot{padding-top:10px}@media(max-width:760px){.v2-columns,.ol-condition{grid-template-columns:1fr}.ol-condition>b{grid-column:auto}}

/* Keep notifications above the native dialog and its blurred backdrop. */
#toast[popover]{inset:auto auto 28px 50%;margin:0;border:0;max-width:calc(100vw - 32px);overflow:visible}#toast[popover]::backdrop{background:transparent;backdrop-filter:none;pointer-events:none}

/* Operator Licence questionnaire usability: saved overview and missing answers. */
.q-overview-scroll{overflow-x:auto}.q-overview table{width:100%;font-size:13px}.q-overview td,.q-overview th{vertical-align:top}.q-overview .button{white-space:normal;min-width:110px}
#qEditor .q-incomplete-field{border-left:3px solid #a96a26;padding-left:10px;background:#fff9ed}#qEditor [aria-invalid="true"]{outline:2px solid #a96a26;outline-offset:1px}#qIncomplete .link{text-align:left;white-space:normal}#qIncomplete ul{padding-left:18px}
