/* Synthetic Serve original CRM preview only; never rewrite original Drive CSS. */
.topbar .serve-original-topbar-logo {
 position:absolute;
 left:50%;
 top:50%;
 width:124px;
 height:40px;
 transform:translate(-50%,-50%);
 display:flex;
 justify-content:center;
 align-items:center;
 pointer-events:none;
 z-index:1;
}
.topbar .serve-original-topbar-logo img {
 display:block;
 width:100%;
 max-height:100%;
 height:auto;
 object-fit:contain;
}
#view-today .live-status > div {
 display:flex;
 flex-direction:column;
 align-items:flex-start;
 gap:6px;
 min-width:0;
}
#view-today .live-status #liveTitle,
#view-today .live-status #liveSub {
 display:block;
 line-height:1.25;
}
#view-today .live-status #liveSub {white-space:normal}
@media(max-width:1600px) {
 .topbar {flex-wrap:wrap}
 .topbar .serve-original-topbar-logo {
  position:static;
  transform:none;
  flex:0 1 150px;
  width:150px;
  height:40px;
  margin:0 auto;
 }
 .topbar .spacer {flex:0 0 0}
}
@media(max-width:700px) {
 .topbar .serve-original-topbar-logo {
  order:-1;
  flex:0 0 100%;
  width:100%;
  height:42px;
  margin:2px auto 4px;
 }
 .topbar .serve-original-topbar-logo img {width:124px}
}

/* Live driver roster inside the original Serve settings design. */
#view-settings .driver-settings-card{min-height:280px}
#view-settings .driver-settings-list{max-height:440px;overflow:auto;align-content:start}
#view-settings .driver-settings-row{padding:12px 14px;gap:12px}
#view-settings .driver-settings-main b{font-size:14px}
#view-settings .driver-settings-meta{font-size:12px}
#view-settings .driver-settings-actions{gap:8px}
#view-settings .driver-settings-actions button{font-size:12px;padding:8px 12px}
#view-settings .driver-settings-empty{font-size:13px;color:#76767c}
.serve-original-driver-revoked{color:#b42318}
.serve-original-driver-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.serve-original-driver-tools .btn{font-size:13px}
#driverSettingsOverlay .driver-settings-modal{box-sizing:border-box;width:min(560px,calc(100vw - 24px));max-height:90vh;overflow-y:auto}
#driverSettingsOverlay .serve-original-driver-enroll{display:grid;gap:12px;margin:12px 0 16px;padding:18px;border-radius:16px;background:#f6f6f8}
#driverSettingsOverlay .serve-original-driver-enroll .field{min-height:44px}
#driverSettingsOverlay .serve-original-driver-enroll button{min-height:44px}
#driverSettingsOverlay .serve-original-driver-enroll [role=status]{font-size:13px;min-height:18px}
#driverSettingsOverlay .serve-original-driver-receipt{margin:16px 0}
#driverSettingsOverlay .serve-original-driver-receipt svg{display:block;width:min(260px,100%);height:auto;margin:12px auto}
#driverSettingsOverlay .serve-original-driver-receipt p{font-size:13px;overflow-wrap:anywhere}
#driverSettingsOverlay .serve-original-driver-receipt p:nth-of-type(2){font-weight:700;color:#176b3d}
#driverSettingsOverlay .modal-head h2{font-size:21px}
#driverSettingsOverlay .modal-head{margin-bottom:12px}
#driverSettingsOverlay .btn{text-decoration:none}
@media(max-width:720px){#view-settings .driver-settings-row{grid-template-columns:1fr}#view-settings .driver-settings-actions{justify-content:flex-start}}

/* Server-backed employee profile and native Serve confirmation dialogs. */
#view-settings .serve-original-driver-profile-link{flex:1 1 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;text-align:left;border:0;background:transparent;padding:3px 5px;cursor:pointer;border-radius:10px;color:inherit}
#view-settings .serve-original-driver-profile-link:hover{background:#f5f5f7}
#view-settings .serve-original-driver-profile-link:focus-visible{outline:2px solid #256b40;outline-offset:2px}
#view-settings .serve-original-driver-profile-link .driver-settings-main{min-width:0}
#view-settings .serve-original-driver-profile-label{font-size:12px;font-weight:650;color:#666b70;white-space:nowrap}
#view-settings .serve-original-driver-fixture-note{font-size:12px;color:#777;padding:6px 3px;margin:0}
.serve-original-driver-profile{z-index:78}
.serve-original-driver-confirm{z-index:90}
.serve-original-driver-profile .serve-original-driver-profile-modal{width:min(860px,calc(100vw - 24px));max-height:90vh;overflow:auto;padding:22px}
.serve-original-driver-profile-head{display:flex;justify-content:space-between;gap:16px}
.serve-original-driver-profile .employee-file-title{display:flex;align-items:center;gap:16px}
.serve-original-driver-avatar{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:18px;background:#e7eee9;color:#24673a;font-size:26px;font-weight:800}
.serve-original-driver-profile .employee-file-eyebrow{font-size:10px;font-weight:800;color:#868689;letter-spacing:.07em}
.serve-original-driver-profile .employee-file-title h2{margin:6px 0;font-size:24px}
.serve-original-driver-profile-sub{font-size:13px;color:#656569;margin:0}
.serve-original-driver-profile-body{padding:18px 0}
.serve-original-driver-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.serve-original-driver-detail{background:#f6f6f8;border:1px solid #ececf0;border-radius:14px;padding:14px;display:grid;gap:5px}
.serve-original-driver-detail span{font-size:12px;color:#747479}
.serve-original-driver-detail strong{font-size:15px;color:#181818;overflow-wrap:anywhere}
.serve-original-driver-profile-hint{font-size:13px;color:#656569;line-height:1.5;margin:18px 0 0}
.serve-original-driver-profile-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.serve-original-driver-confirm-modal{width:min(480px,calc(100vw - 24px));padding:24px}
.serve-original-driver-confirm-modal h2{font-size:21px;margin:0 0 12px}
.serve-original-driver-confirm-modal p{font-size:15px;line-height:1.55;color:#5f6064}
.serve-original-driver-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}
.serve-original-driver-danger{color:#b42318!important}
.serve-original-driver-confirm-actions .serve-original-driver-danger{background:#b42318!important;color:#fff!important}
#driverSettingsOverlay .serve-original-driver-issue-status{font-weight:650;color:#217444}
#driverSettingsOverlay .serve-original-driver-enroll[hidden],#driverSettingsOverlay .serve-original-driver-receipt[hidden]{display:none!important}
@media(max-width:600px){#view-settings .driver-settings-row{grid-template-columns:1fr}#view-settings .serve-original-driver-profile-label{display:none}.serve-original-driver-detail-grid{grid-template-columns:1fr}.serve-original-driver-profile .employee-file-title{align-items:flex-start}.serve-original-driver-avatar{flex-basis:44px;height:44px}.serve-original-driver-confirm-actions{flex-wrap:wrap}}

/* Original opening-hours and closure management adapted to server persistence. */
#view-settings .serve-hours-hint{grid-column:1/-1;font-size:12px;color:#777;margin:3px 0}
#view-settings #hours .hour-row input.field{min-width:0;padding:8px 6px}
#view-settings #serveOriginalSaveEta{margin-top:9px}
#vacationListOverlay .vacation-list-row{grid-template-columns:28px 68px minmax(130px,1fr) 104px 83px;gap:8px;align-items:center}
#vacationListOverlay .vacation-list-row span{font-size:12px;overflow-wrap:anywhere}
#vacationListOverlay .vacation-list-row button{font-size:11px;padding:8px}
@media(max-width:700px){
 #view-settings .hour-row{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr) 55px}
 #vacationListOverlay .vacation-list-row{grid-template-columns:25px 64px minmax(0,1fr)}
}

#vacationOverlay .vacation-day.editing{outline:2px solid #157347;outline-offset:-2px}

#menuManageOverlay .serve-original-group [data-group-name]{min-width:145px}
#menuManageOverlay .serve-original-options [data-option-detail]{min-width:105px}
#menuManageOverlay .editor-bottom #deleteManagedItemBtn{margin-right:auto}
#menuManageOverlay .serve-original-delete-backdrop[hidden]{display:none!important}
#menuManageOverlay .serve-original-delete-backdrop{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.68);backdrop-filter:blur(5px)}
#menuManageOverlay .serve-original-delete-dialog{width:min(100%,440px);background:#fff;color:#161616;border-radius:17px;padding:25px;box-shadow:0 18px 48px rgba(0,0,0,.26)}
#menuManageOverlay .serve-original-delete-dialog h3{font-size:20px;margin:0 0 10px}
#menuManageOverlay .serve-original-delete-description{font-size:14px;line-height:1.5}
#menuManageOverlay .serve-original-delete-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:20px}

/* Operational safety: displayed default hours remain a draft until staff CAS. */
#view-settings #hours .serve-hours-unconfigured{grid-column:1/-1;display:flex;
 flex-direction:column;align-items:flex-start;gap:11px;padding:14px 16px;
 margin:8px 0;border:1px solid #e6d5a2;border-radius:12px;background:rgba(248,220,151,.13)}
#view-settings #hours .serve-hours-unconfigured .serve-hours-hint{
 color:inherit;font-size:13px;line-height:1.55;margin:0}
#view-settings #hours .serve-hours-unconfigured .btn{max-width:100%;white-space:normal}

/* Staff-authorized recent customer view; no fictional loyalty stamps. */
#view-loyalty .loyalty-head-badge{background:#eef0ed;color:#5b655e;border:1px solid #d8ded8}
#view-loyalty .serve-recent-customer-status{margin:0 0 12px;color:#607066;font-size:13px}
#view-loyalty .serve-recent-customer-note{color:#66716a;font-size:12px;line-height:1.55;margin:8px 0}
#view-loyalty .serve-recent-customer-count{font-weight:650;font-size:15px;margin:4px 0}
#view-loyalty .customer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:12px}
#view-loyalty .serve-recent-customer-card{font:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;
 align-items:stretch;gap:8px;background:#fff;border:1px solid #e0e6e0;border-radius:13px;padding:15px;
 cursor:pointer;min-height:128px}
#view-loyalty .serve-recent-customer-card:hover,#view-loyalty .serve-recent-customer-card:focus-visible{
 border-color:#26794d;box-shadow:0 3px 15px rgba(0,0,0,.07)}
#view-loyalty .serve-recent-customer-card .serve-recent-customer-name{font-size:15px}
#view-loyalty .serve-recent-customer-phone{font-size:13px}
#view-loyalty .serve-recent-customer-counts,
#view-loyalty .serve-recent-customer-last{font-size:12px;color:#5f6b62}
#customerDetailOverlay .serve-recent-customer-profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
#customerDetailOverlay .serve-recent-customer-stat{display:flex;flex-direction:column;gap:4px;padding:10px;
 border-radius:9px;background:#f4f6f4;font-size:12px}
#customerDetailOverlay .serve-recent-customer-stat strong{font-size:16px}
#customerDetailOverlay .serve-recent-customer-order{display:grid;grid-template-columns:minmax(140px,1fr) minmax(100px,1fr) auto;
 gap:12px;padding:12px 0;border-bottom:1px solid #e4e8e4;font-size:13px}
#customerDetailOverlay .serve-recent-customer-note{font-size:12px;color:#68766d;margin:16px 0}
@media(max-width:550px){#customerDetailOverlay .serve-recent-customer-order{grid-template-columns:1fr auto}
#customerDetailOverlay .serve-recent-customer-order span:nth-child(2){grid-column:1}}

#view-loyalty .serve-historic-customer-status{font-size:13px;color:#536459;margin-bottom:14px}
#view-loyalty .serve-historic-customer-count{font-size:15px;font-weight:700}
#view-loyalty .serve-historic-customer-note{font-size:12px;color:#67766d}
#view-loyalty .customer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
#view-loyalty .serve-historic-customer-card{display:flex;flex-direction:column;text-align:left;gap:8px;
 background:#fff;border:1px solid #dce5de;border-radius:14px;padding:16px;cursor:pointer;font:inherit;color:inherit}
#view-loyalty .serve-historic-customer-card:hover,#view-loyalty .serve-historic-customer-card:focus-visible{border-color:#287c4b}
#view-loyalty .serve-historic-customer-card span,#view-loyalty .serve-historic-customer-card small{color:#526357;font-size:12px}
#view-loyalty .serve-historic-customer-more{margin:16px 0}
#customerDetailOverlay .serve-historic-customer-stats{display:flex;flex-wrap:wrap;gap:9px;margin:10px 0}
#customerDetailOverlay .serve-historic-customer-stats p{padding:9px;border-radius:9px;background:#f3f7f4}
#customerDetailOverlay .serve-historic-customer-order{display:flex;gap:12px;justify-content:space-between;padding:11px 0;border-bottom:1px solid #e2e9e4;font-size:13px}
#customerDetailOverlay .serve-historic-customer-orders-more{margin:16px}

/* Original Serve employee document records, server-backed and mobile-friendly. */
.serve-original-driver-profile .serve-employee-documents{padding:10px 0 20px}
.serve-original-driver-profile .serve-employee-documents>h3{font-size:18px;margin:8px 0}
.serve-original-driver-profile .serve-employee-documents>p{font-size:13px;color:#5f6a62}
.serve-original-driver-profile .serve-employee-document-picker{display:inline-flex;align-items:center;gap:12px;
 padding:12px 15px;border:1px dashed #90b19e;border-radius:12px;font-size:13px;font-weight:600;margin:13px 0}
.serve-original-driver-profile .serve-employee-document-picker input{font:inherit;max-width:100%}
.serve-original-driver-profile .serve-employee-document-list{display:grid;gap:9px;margin-top:12px}
.serve-original-driver-profile .serve-employee-document-list .employee-record-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
 border:1px solid #dee6df;background:#fafcfa;border-radius:12px;padding:13px}
.serve-original-driver-profile .serve-employee-document-list .employee-record-card-main{flex:1 1 200px;min-width:0;display:grid;gap:4px}
.serve-original-driver-profile .serve-employee-document-list .employee-record-card-main b{overflow-wrap:anywhere}
.serve-original-driver-profile .serve-employee-document-list .employee-record-card-main span{font-size:12px;color:#606962}
.serve-original-driver-profile .serve-employee-document-status{color:#456655;font-size:12px}
@media(max-width:540px){.serve-original-driver-profile .serve-employee-document-list .employee-record-card{align-items:stretch}
.serve-original-driver-profile .serve-employee-document-picker{display:flex;flex-wrap:wrap}}
/* Original Serve live file explorer with familiar toolbar, hierarchy and details mode. */
.serve-original-driver-profile .serve-live-file-explorer{position:relative;display:flex;flex-direction:column;
 gap:10px;border:1px solid #dde6de;border-radius:16px;padding:14px;margin:4px 0 22px;background:#fff}
.serve-original-driver-profile .serve-live-file-explorer .serve-explorer-toolbar{
 display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.serve-original-driver-profile .serve-live-file-explorer .serve-explorer-breadcrumb{
 flex:1 1 220px;display:flex;gap:3px;align-items:center;min-width:0;flex-wrap:wrap}
.serve-original-driver-profile .serve-live-file-explorer .serve-explorer-breadcrumb button{
 background:transparent;border:0;color:#225e41;font:inherit;cursor:pointer;max-width:150px;
 text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.serve-original-driver-profile .serve-live-file-explorer .serve-explorer-toolbar .serve-live-files-search{
 padding:10px;border:1px solid #dce5df;border-radius:10px;min-width:190px;flex:1 1 190px}
.serve-original-driver-profile .serve-live-file-explorer .serve-explorer-commandbar{display:flex;flex-wrap:wrap;gap:7px}
.serve-original-driver-profile .serve-live-file-explorer .serve-explorer-secondary{
 padding:8px 11px;font:inherit;font-size:13px;background:#f4f8f5;border:1px solid #dce5de;
 color:#234932;border-radius:9px;cursor:pointer}
.serve-original-driver-profile .serve-live-file-explorer button:disabled{opacity:.45;cursor:not-allowed}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-explorer-status{
 font-size:12px;color:#496b50;margin:3px 0}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-explorer-list{display:flex;flex-direction:column;gap:5px}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-explorer-table-header,
.serve-original-driver-profile .serve-live-file-explorer .serve-live-file-row{
 display:grid;grid-template-columns:minmax(130px,3fr) minmax(65px,1fr) minmax(52px,.8fr) minmax(80px,1.1fr);
 gap:10px;align-items:center;text-align:left}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-explorer-table-header{
 color:#66766c;font-size:12px;padding:10px}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-file-row{
 border:1px solid #e2e8e3;background:#fff;color:#24322a;border-radius:9px;
 padding:11px;cursor:pointer;font:inherit;font-size:13px}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-file-row strong{
 min-width:0;overflow-wrap:anywhere}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-file-row.selected{
 border-color:#3e9162;background:#eef7f0}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-file-row.tile{
 display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:100px}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-explorer-selection{
 display:flex;flex-wrap:wrap;align-items:center;gap:8px;border-top:1px solid #e4e9e5;padding-top:12px}
.serve-original-driver-profile .serve-live-file-explorer .serve-live-folder-target{
 padding:7px;border:1px solid #dce5de;border-radius:9px;max-width:230px}
.serve-original-driver-profile .serve-live-file-explorer .serve-explorer-empty{padding:20px;font-size:13px;color:#667269}
@media(max-width:670px){
 .serve-original-driver-profile .serve-live-file-explorer .serve-live-explorer-table-header{display:none}
 .serve-original-driver-profile .serve-live-file-explorer .serve-live-file-row{grid-template-columns:1fr 1fr}
 .serve-original-driver-profile .serve-live-file-explorer .serve-live-file-row strong{grid-column:1/-1}
}
/* Original Serve shift plan, PostgreSQL-backed instead of browser demo storage. */
.serve-shift-status{padding:7px 25px;margin:0;border-bottom:1px solid #ececf0;font-size:12px;color:#5b6760;background:#f5f9f6}
.serve-shift-status.is-error{color:#a21d19;background:#fff5f4}
#shiftPlanGrid .shift-period-add{opacity:1}
#shiftPlanGrid .shift-week-day-body{overflow:auto}
#shiftPlanGrid .shift-month-day-body{overflow:auto;max-height:calc(100% - 27px)}
#shiftEditorOverlay .serve-shift-driver{grid-column:1 / -1}
#shiftEditorOverlay .serve-shift-driver select{width:100%;height:52px;border:1px solid #dcdce1;border-radius:13px;background:#f5f5f7;padding:0 13px;font:inherit;font-size:14px}
#shiftPlanOverlay .shift-period-switch-btn:focus-visible,#shiftPlanGrid button:focus-visible{outline:2px solid #226d45;outline-offset:3px}


/* Original Serve employee file: live PG18-backed form, not the archived localStorage editor. */
.serve-original-driver-profile .serve-employee-record-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 10px;padding-bottom:10px;border-bottom:1px solid #e4e8e4}
.serve-original-driver-profile .serve-employee-record-tab{padding:9px 14px;border:1px solid #dce4de;background:#f6f8f6;border-radius:10px;font:inherit;font-size:13px;cursor:pointer}
.serve-original-driver-profile .serve-employee-record-tab.active{background:#215c3d;color:#fff;border-color:#215c3d}
.serve-original-driver-profile .serve-employee-record-status{min-height:20px;margin:7px 0 17px;color:#477257;font-size:12px}
.serve-original-driver-profile .serve-employee-record-status.is-error{color:#a21d19}
.serve-original-driver-profile .employee-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.serve-original-driver-profile .employee-field{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600;color:#353c37}
.serve-original-driver-profile .employee-field input,.serve-original-driver-profile .employee-field textarea,
.serve-original-driver-profile .employee-field select{width:100%;box-sizing:border-box;border:1px solid #d5ddd7;border-radius:10px;padding:10px 12px;background:#fff;color:#1a2520;font:inherit;font-size:14px}
.serve-original-driver-profile .employee-field textarea{min-height:80px;resize:vertical}
.serve-original-driver-profile .serve-employee-record-form>.btn,.serve-original-driver-profile .serve-employee-absence-form>.btn{margin:14px 9px 4px 0}
.serve-original-driver-profile .serve-employee-absence-form{margin:16px 0 0;padding:15px;border:1px solid #d5e1d8;border-radius:12px}
.serve-original-driver-profile .serve-employee-absence-list{display:flex;flex-direction:column;gap:9px}
.serve-original-driver-profile .employee-record-card{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid #e1e7e2;border-radius:12px}
.serve-original-driver-profile .employee-record-card-main{flex:1 1 210px;display:flex;flex-direction:column;gap:3px;font-size:13px}
.serve-original-driver-profile .employee-record-card-main small{color:#5e6861}
.serve-original-driver-profile button:focus-visible{outline:2px solid #235b41;outline-offset:3px}
@media(max-width:620px){.serve-original-driver-profile .employee-edit-grid{grid-template-columns:1fr}.serve-original-driver-profile .serve-employee-record-tab{flex:1 1 40%}}


/* Original Serve document studio: authorized editor, text preview and version restore. */
.serve-original-document-studio{z-index:2147483630}
.serve-original-document-studio .serve-document-studio-modal{width:min(94vw,1120px);max-width:1120px;
 max-height:min(94vh,920px);overflow:auto;padding:22px;background:#fff}
.serve-original-document-studio .serve-document-studio-header{display:flex;gap:16px;
 align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e3e9e4;padding-bottom:15px}
.serve-original-document-studio .serve-document-studio-header small{color:#597964;font-size:11px;letter-spacing:.1em}
.serve-original-document-studio .serve-document-studio-header h2{font-size:23px;margin:5px 0}
.serve-original-document-studio .serve-document-studio-details{display:grid;
 grid-template-columns:3fr 1fr;gap:15px;padding:15px 0}
.serve-original-document-studio label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:13px}
.serve-original-document-studio input,.serve-original-document-studio select,
.serve-original-document-studio textarea{box-sizing:border-box;width:100%;background:#fff;color:#1f3026;
 border:1px solid #d9e4dd;border-radius:9px;padding:10px;font:inherit}
.serve-original-document-studio .serve-document-studio-columns{display:grid;
 grid-template-columns:1fr 1fr;gap:14px;min-height:325px}
.serve-original-document-studio .serve-document-studio-editor{display:flex;flex-direction:column}
.serve-original-document-studio #serveDocEditorText{flex:1;min-height:325px;font-family:monospace;
 font-size:13px;line-height:1.6;resize:vertical}
.serve-original-document-studio .serve-document-studio-preview{background:#f7faf8;
 border:1px solid #dfe7e1;border-radius:11px;padding:13px;overflow:auto;max-height:520px}
.serve-original-document-studio #serveDocEditorPreview{
 overflow-wrap:anywhere;font-size:13px;line-height:1.6}
.serve-original-document-studio #serveDocEditorPreview.serve-document-studio-plain{
 white-space:pre-wrap;font-family:monospace}
.serve-original-document-studio .serve-document-studio-markdown h1,
.serve-original-document-studio .serve-document-studio-markdown h2,
.serve-original-document-studio .serve-document-studio-markdown h3{
 color:#20392a;line-height:1.3;margin:13px 0 8px}
.serve-original-document-studio .serve-document-studio-markdown h1{font-size:22px}
.serve-original-document-studio .serve-document-studio-markdown h2{font-size:18px}
.serve-original-document-studio .serve-document-studio-markdown h3{font-size:15px}
.serve-original-document-studio .serve-document-studio-markdown p{margin:5px 0}
.serve-original-document-studio .serve-document-studio-markdown .serve-doc-md-break{min-height:9px}
.serve-original-document-studio .serve-document-studio-markdown .serve-doc-md-li{
 margin:4px 0 4px 10px}
.serve-original-document-studio .serve-document-studio-footer{display:flex;align-items:center;
 justify-content:space-between;gap:12px;padding:16px 0}
.serve-original-document-studio .serve-document-studio-status{font-size:13px;color:#3b714e}
.serve-original-document-studio .serve-document-studio-status.is-error{color:#a52824}
.serve-original-document-studio .serve-document-studio-versions{border-top:1px solid #e2e9e4;
 padding-top:12px}
.serve-original-document-studio .serve-document-studio-versions h3{font-size:16px;margin:3px 0 10px}
.serve-original-document-studio .serve-document-studio-version-actions{display:flex;align-items:center;
 gap:10px;max-width:540px}
.serve-original-document-studio .serve-document-studio-versions p{font-size:12px;color:#647368}
@media(max-width:700px){
 .serve-original-document-studio .serve-document-studio-modal{padding:14px}
 .serve-original-document-studio .serve-document-studio-columns,
 .serve-original-document-studio .serve-document-studio-details{grid-template-columns:1fr}
 .serve-original-document-studio .serve-document-studio-preview{max-height:250px}
 .serve-original-document-studio #serveDocEditorText{min-height:245px}
 .serve-original-document-studio .serve-document-studio-footer{flex-wrap:wrap}
}

/* Confirmation from the personal file must remain above document studio. */
#serveOriginalDriverConfirm.open{z-index:2147483640}


/* Original Serve tenant-scoped document template manager. */
.serve-original-document-templates{z-index:2147483635}
.serve-original-document-templates .serve-document-template-modal{
 width:min(94vw,1050px);max-width:1050px;max-height:min(94vh,960px);
 overflow:auto;padding:22px;background:#fff}
.serve-original-document-templates .serve-template-head{
 display:flex;align-items:center;justify-content:space-between;gap:15px;
 border-bottom:1px solid #e0e9e2;padding-bottom:13px}
.serve-original-document-templates .serve-template-head h2{font-size:22px;margin:0}
.serve-original-document-templates .serve-template-nav{
 display:flex;flex-wrap:wrap;gap:9px;margin:14px 0}
.serve-original-document-templates .serve-template-status{
 min-height:18px;margin:10px 0;color:#3d7655;font-size:13px}
.serve-original-document-templates .serve-template-status.is-error{color:#a52c25}
.serve-original-document-templates .serve-template-list,
.serve-original-document-templates .serve-template-history{display:grid;gap:11px}
.serve-original-document-templates .serve-template-row,
.serve-original-document-templates .serve-template-version-row{
 display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:13px;
 border:1px solid #e1e9e3;border-radius:12px}
.serve-original-document-templates .serve-template-row-main{
 display:flex;flex:1 1 230px;min-width:0;flex-direction:column;gap:5px}
.serve-original-document-templates .serve-template-row-main strong{font-size:15px}
.serve-original-document-templates .serve-template-row-main span,
.serve-original-document-templates .serve-template-row-main p{font-size:12px;color:#607167}
.serve-original-document-templates .serve-template-row-actions{
 display:flex;gap:6px;flex-wrap:wrap}
.serve-original-document-templates .serve-template-meta{
 display:grid;grid-template-columns:2fr 3fr 1fr;gap:12px}
.serve-original-document-templates .serve-template-field{
 display:flex;flex-direction:column;gap:6px;min-width:0;font-size:13px;font-weight:600}
.serve-original-document-templates input:not([type=checkbox]),
.serve-original-document-templates select,.serve-original-document-templates textarea{
 width:100%;box-sizing:border-box;border:1px solid #d5e1da;border-radius:9px;
 background:#fff;color:#1a3023;font:inherit;font-size:13px;padding:10px}
.serve-original-document-templates .serve-template-builder>h3{font-size:17px;margin:20px 0 10px}
.serve-original-document-templates .serve-template-blocks{display:grid;gap:10px}
.serve-original-document-templates .serve-template-block{
 background:#f9fbf9;border:1px solid #dbe5dc;border-radius:12px;padding:12px;
 display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
.serve-original-document-templates .serve-template-block-head{
 display:flex;align-items:center;justify-content:space-between;grid-column:1/-1;gap:10px}
.serve-original-document-templates .serve-template-add-block,
.serve-original-document-templates .serve-template-footer{
 display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin-top:16px}
.serve-original-document-templates .serve-template-add-block select{max-width:240px}
.serve-original-document-templates .serve-template-use{display:grid;gap:12px}
.serve-original-document-templates .serve-template-generated-preview{
 white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8f6;
 border:1px solid #dbe5df;border-radius:10px;padding:12px;max-height:320px;overflow:auto;
 font-size:12px;line-height:1.6}
.serve-original-document-templates .serve-template-version-preview{
 flex:1 1 100%;width:100%;margin:7px 0 0;box-sizing:border-box}
@media(max-width:690px){
 .serve-original-document-templates .serve-document-template-modal{padding:14px}
 .serve-original-document-templates .serve-template-meta,
 .serve-original-document-templates .serve-template-block{grid-template-columns:1fr}
 .serve-original-document-templates .serve-template-block-head{grid-column:1}
}


/* Original Serve staff file recycle bin: reversible deletions, explicit permanent purge. */
.serve-original-file-trash{z-index:2147483635}
.serve-original-file-trash .serve-original-trash-modal{
 width:min(94vw,900px);max-width:900px;max-height:min(90vh,850px);
 overflow:auto;padding:22px;background:#fff}
.serve-original-file-trash .serve-trash-header{
 display:flex;justify-content:space-between;align-items:flex-start;gap:20px;
 padding-bottom:12px;border-bottom:1px solid #dfe7e0}
.serve-original-file-trash .serve-trash-header h2{font-size:22px;margin:0 0 4px}
.serve-original-file-trash .serve-trash-header p{font-size:13px;color:#606c64;margin:0}
.serve-original-file-trash .serve-trash-toolbar{
 display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.serve-original-file-trash .serve-trash-status{
 font-size:13px;color:#3b7150;min-height:18px;margin:9px 0}
.serve-original-file-trash .serve-trash-status.is-error{color:#b52b25}
.serve-original-file-trash .serve-trash-list{display:flex;flex-direction:column;gap:9px}
.serve-original-file-trash .serve-trash-empty{
 font-size:14px;color:#718075;padding:24px 16px;text-align:center}
.serve-original-file-trash .serve-trash-row{
 display:flex;gap:10px;align-items:center;flex-wrap:wrap;
 padding:13px;border:1px solid #dee8e0;border-radius:12px;background:#fbfdfb}
.serve-original-file-trash .serve-trash-row-info{
 display:flex;flex:1 1 225px;min-width:0;flex-direction:column;gap:4px}
.serve-original-file-trash .serve-trash-row-info strong{font-size:14px;overflow-wrap:anywhere}
.serve-original-file-trash .serve-trash-row-info span,
.serve-original-file-trash .serve-trash-row-info small{font-size:12px;color:#5b7060}
.serve-original-file-trash button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:600px){
 .serve-original-file-trash .serve-original-trash-modal{padding:14px}
 .serve-original-file-trash .serve-trash-row{align-items:stretch}
 .serve-original-file-trash .serve-trash-row button{flex:1}
}

/* Original document template builder: ordered blocks and live document preview. */
.serve-original-document-templates .serve-template-block-head{
 flex-wrap:wrap;align-items:center}
.serve-original-document-templates .serve-template-block-actions{
 display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.serve-original-document-templates .serve-template-block-actions button{
 min-height:32px;padding:6px 9px;font-size:12px}
.serve-original-document-templates #serveTemplateBuilderPreview{
 margin:8px 0 15px;min-height:80px;max-height:360px;
 overflow:auto;background:#f5f8f6;color:#20392a;
 padding:15px;border:1px solid #dde7e0;border-radius:10px;
 white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}

/* Original Serve authorized file preview; no public files or persistent object URLs. */
.serve-original-file-preview{z-index:2147483635}
.serve-original-file-preview .serve-file-preview-modal{
 width:min(94vw,1040px);max-width:1040px;max-height:min(92vh,900px);
 display:flex;flex-direction:column;overflow:auto;background:#fff;padding:18px}
.serve-original-file-preview .serve-file-preview-header{
 display:flex;justify-content:space-between;align-items:center;
 flex-wrap:wrap;gap:12px;border-bottom:1px solid #e2e9e3;padding-bottom:10px}
.serve-original-file-preview .serve-file-preview-header h2{
 font-size:20px;margin:0;overflow-wrap:anywhere}
.serve-original-file-preview .serve-file-preview-status{
 color:#4c6e57;font-size:13px;margin:10px 0}
.serve-original-file-preview .serve-file-preview-body{
 background:#f7faf8;border:1px solid #dce6de;border-radius:10px;
 min-height:180px;max-height:min(65vh,650px);overflow:auto;
 display:flex;align-items:stretch;justify-content:center}
.serve-original-file-preview .serve-file-preview-text{
 white-space:pre-wrap;overflow-wrap:anywhere;
 font:13px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;
 color:#26362a;text-align:left;width:100%;padding:18px;margin:0}
.serve-original-file-preview .serve-file-preview-image{
 width:auto;height:auto;max-width:100%;max-height:65vh;object-fit:contain}
.serve-original-file-preview .serve-file-preview-pdf{
 width:100%;height:min(65vh,650px);min-height:420px;border:0}
.serve-original-file-preview .serve-file-preview-footer{
 display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
@media(max-width:600px){
 .serve-original-file-preview .serve-file-preview-modal{padding:12px}
 .serve-original-file-preview .serve-file-preview-pdf{min-height:320px}
}
