:root{--wine:#1b263b;--wine2:#1b263b;--dark:#1b263b;--muted:#1b263b;--border:#fdf9f1;--bg:#fdf9f1;--card:#fdf9f1;--gold:#e5ac39;--radius:13px;--shadow:0 3px 18px rgba(27,38,59,.03)}
*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;font-size:14px;color:var(--dark);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}input:focus,textarea:focus,select:focus{outline:2px solid #1b263b;outline-offset:1px}button:focus-visible,a:focus-visible{outline:3px solid #e5ac39;outline-offset:2px}.sidebar{position:fixed;top:0;bottom:0;left:0;width:258px;background:#fdf9f1;border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:10}.brand{height:95px;display:flex;align-items:center;gap:12px;padding:27px 24px;border-bottom:1px solid var(--border)}.brand-symbol,.login-symbol,.small-symbol{font-family:Georgia,serif;font-weight:bold;background:var(--wine);color:#fdf9f1;border:1px solid var(--gold);display:flex;justify-content:center;align-items:center}.brand-symbol{height:42px;width:42px;font-size:27px}.brand b{display:block;font:700 15px Georgia,serif;letter-spacing:1.1px;color:var(--wine)}.brand small{display:block;letter-spacing:1.4px;font-size:9px;color:var(--gold);margin-top:5px;white-space:nowrap}.nav-kicker{font-size:10px;letter-spacing:1.7px;color:#1b263b;font-weight:700;margin:37px 26px 12px}.side-nav{display:flex;flex-direction:column;gap:5px;padding:0 13px}.side-link{padding:14px 17px;border-radius:9px;display:flex;gap:14px;align-items:center;color:#1b263b;font-weight:600}.side-link>span{font-size:21px;line-height:1}.side-link.active{background:#fdf9f1;color:var(--wine)}.side-link:hover{background:#fdf9f1}.sidebar-bottom{margin-top:auto;padding:22px 18px;border-top:1px solid var(--border);display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;background:#fdf9f1;color:var(--wine);display:flex;justify-content:center;align-items:center;font-weight:750;flex:0 0 auto}.who{min-width:0;flex:1}.who b{display:block;font-size:12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.who small{display:block;color:var(--muted);font-size:11px;margin-top:3px;text-transform:capitalize}.icon-logout{border:0;background:transparent;color:#1b263b;font-size:24px}.mobile-head{display:none}.main{padding:42px 49px 80px;margin-left:258px;max-width:1690px}.main-login{margin-left:0;padding:0;max-width:none}.eyebrow{color:var(--gold);font-weight:800;letter-spacing:2px;font-size:10px}.eyebrow-sep{padding:0 8px;color:#1b263b}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,"Times New Roman",serif;font-size:36px;font-weight:600;letter-spacing:-.8px;line-height:1.13;margin-bottom:10px}h2{font:600 23px Georgia,serif;letter-spacing:-.25px;margin-bottom:6px}h3{font:600 18px Georgia,serif;margin-bottom:8px}.muted{color:var(--muted)}p.muted{line-height:1.5}.sm{font-size:13px}.tiny{font-size:11px;line-height:1.5}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.page-heading .eyebrow{margin-bottom:12px}.page-heading p{margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:10px 17px;border-radius:8px;font-size:12px;font-weight:750;white-space:nowrap;border:1px solid transparent;transition:background .15s}.button.primary{color:#fdf9f1;background:var(--wine)}.button.primary:hover{background:#1b263b}.button.neutral{background:#fdf9f1;border-color:#fdf9f1;color:var(--dark)}.button.neutral:hover{background:#fdf9f1}.button.full{width:100%}.button.small{min-height:31px;padding:6px 10px;font-size:11px}.button:disabled{opacity:.45;cursor:not-allowed}.metric-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin-bottom:26px}.metric{background:#fdf9f1;border:1px solid var(--border);border-radius:var(--radius);padding:21px 24px;box-shadow:var(--shadow)}.metric span{font-size:10px;letter-spacing:1.2px;font-weight:800;color:#1b263b}.metric strong{display:block;font:600 32px Georgia,serif;margin-top:11px;color:var(--wine)}.surface{background:#fdf9f1;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.surface.pad{padding:28px 30px}.filter-bar{display:flex;align-items:center;gap:11px;padding:19px 20px;border-bottom:1px solid var(--border)}.search-wrap{display:flex;align-items:center;gap:9px;flex:1;min-width:100px;background:#fdf9f1;border:1px solid var(--border);padding:0 12px;border-radius:7px}.search-wrap span{font-size:25px;color:#1b263b}.search-wrap input{height:38px;background:transparent;border:0;outline:none!important;width:100%}.filter-bar select{max-width:210px}.filter-bar select,.field-grid select,.form-stack select{height:41px;background:#fdf9f1;border:1px solid #fdf9f1;border-radius:7px;padding:8px 12px;color:var(--dark)}.clear-link{color:var(--wine);font-size:12px;font-weight:600}.responsive-table{overflow-x:auto}table{width:100%;border-collapse:collapse}th{font-size:10px;color:#1b263b;letter-spacing:1.3px;text-align:left;padding:15px 20px;background:#fdf9f1;font-weight:800}td{padding:18px 20px;border-top:1px solid var(--border);font-size:12px}td strong{font-size:13px}td .subline{display:block;color:var(--muted);margin-top:5px;font-size:11px;line-height:1.35}.po-text{color:var(--wine);font-weight:800;white-space:nowrap;letter-spacing:.35px}.row-arrow{font-size:24px;color:var(--wine)}.status-pill{border:1px solid #fdf9f1;color:#1b263b;background:#fdf9f1;padding:7px 11px;border-radius:100px;font-size:10px;font-weight:750;white-space:nowrap;display:inline-block}.status-pill.progress{background:#fdf9f1;border-color:#fdf9f1;color:#e5ac39}.status-pill.done{background:#fdf9f1;color:#1b263b;border-color:#fdf9f1}.status-pill.large{padding:10px 15px;font-size:11px}.empty{text-align:center;padding:65px 22px}.empty h3{margin-bottom:6px}.empty-icon{font-size:38px;color:#1b263b;display:block;margin-bottom:14px}.empty .button{margin-top:18px}.small-empty{padding:60px 20px}.breadcrumbs{display:flex;gap:11px;color:#1b263b;margin-bottom:24px;font-size:12px}.breadcrumbs a{color:var(--wine);font-weight:600}.breadcrumbs b{color:#1b263b}.job-head{margin-bottom:25px}.job-head h1{font-size:42px;margin:7px 0}.client-heading{color:#1b263b;font-weight:650}.tab-scroll{overflow-x:auto;scrollbar-width:thin;margin-bottom:24px}.tabs{display:flex;gap:7px;min-width:max-content;border-bottom:1px solid #fdf9f1;padding-bottom:0}.tab{padding:14px 16px;border-bottom:3px solid transparent;color:#1b263b;white-space:nowrap;font-size:12px;font-weight:700}.tab:hover{color:var(--wine)}.tab.selected{border-bottom-color:var(--wine);color:var(--wine)}.content-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:21px;align-items:start}.stack{display:flex;flex-direction:column;gap:20px;min-width:0}.section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:24px}.section-title h2,.section-title h3{margin-bottom:5px}.section-title p{font-size:12px;margin-bottom:0}.locked,.count-badge{border:1px solid #fdf9f1;color:#1b263b;background:#fdf9f1;border-radius:6px;padding:7px 9px;font-weight:750;font-size:9px;white-space:nowrap;letter-spacing:.7px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px}.span-2{grid-column:span 2}.field-grid label,.form-stack>label{font-size:11px;font-weight:750;color:#1b263b;display:flex;flex-direction:column;gap:8px;min-width:0}.field-grid input,.field-grid select,.form-stack input:not([type=file]),.form-stack select,.form-stack textarea{height:41px;width:100%;border-radius:7px;border:1px solid #fdf9f1;background:#fdf9f1;padding:9px 11px;color:var(--dark);font-size:13px}.field-grid input[disabled],.field-grid input[readonly]{background:#fdf9f1;color:#1b263b}.required{color:#1b263b}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:27px}.detail-pair{display:flex;justify-content:space-between;margin-top:20px;padding:15px 0;border-bottom:1px solid var(--border)}.detail-pair>span{color:var(--muted)}.compact-card h3{font-size:19px}.compact-card .section-title{margin-bottom:12px}.po-feature{font:600 37px Georgia,serif;letter-spacing:1px;color:var(--wine);margin:15px 0 9px}.file-drop{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:98px;border:1px dashed #fdf9f1;border-radius:9px;color:#1b263b;background:#fdf9f1;cursor:pointer;font-size:25px;padding:15px;gap:9px}.file-drop span{font-size:11px;font-weight:700;color:#1b263b;text-align:center;word-break:break-word}.file-drop input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.form-stack{display:flex;flex-direction:column;gap:18px}.form-stack .button{margin-top:4px}.file-input-row{display:flex;align-items:center;gap:12px}.file-input-row>.file-drop{flex:1;min-height:80px}.upload-form{border:1px solid var(--border);background:#fdf9f1;padding:14px;border-radius:10px;margin-bottom:23px}.upload-small{gap:12px}.crew-list{display:flex;flex-direction:column;gap:3px;margin:10px 0 18px;max-height:230px;overflow-y:auto}.checkbox-row{display:flex;align-items:center;gap:11px;padding:9px 7px;border-radius:5px;cursor:pointer}.checkbox-row:hover{background:#fdf9f1}.checkbox-row input{accent-color:var(--wine)}.read-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px}.read-field{min-width:0}.read-field span{color:#1b263b;font-size:10px;font-weight:750;letter-spacing:.4px;display:block;margin-bottom:7px;text-transform:uppercase}.read-field b{font-size:13px;font-weight:650;word-break:break-word}.content-block h3{margin-bottom:14px}.preserve-lines{white-space:pre-wrap;line-height:1.7;font-size:13px}.divider{height:1px;background:var(--border);margin:26px 0}.big-form{max-width:880px}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:15px}.file-card{border:1px solid var(--border);border-radius:9px;overflow:hidden;min-width:0;background:#fdf9f1}.file-card:hover{border-color:#1b263b;box-shadow:0 4px 14px rgba(27,38,59,.05)}.file-art{height:124px;background:#fdf9f1;display:flex;align-items:center;justify-content:center;color:var(--wine)}.file-art>span{font-size:45px}.file-art img{width:100%;height:100%;object-fit:cover}.file-meta{padding:14px}.file-meta strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;margin-bottom:7px}.file-meta span,.file-meta small{display:block;color:var(--muted);font-size:11px;line-height:1.6}.timeline{display:flex;flex-direction:column;gap:17px}.event{display:flex;align-items:flex-start;gap:13px}.event-dot{width:9px;height:9px;border:2px solid #1b263b;border-radius:50%;margin-top:5px;flex:none}.event-body{font-size:11px;min-width:0;line-height:1.6}.event-body>b{display:block;color:var(--wine);font-size:12px;margin:3px 0;text-transform:capitalize}.audit-detail{font-size:11px;color:#1b263b;word-break:break-word;white-space:pre-wrap;max-height:130px;overflow:auto}.team-list{margin-top:20px}.team-person{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid var(--border)}.team-person .team-details{flex:1;min-width:0}.team-details>strong,.team-details>span{display:block}.team-details>span{color:var(--muted);font-size:11px;margin-top:5px}.team-details details{margin-top:10px;font-size:11px}.team-details summary{cursor:pointer;color:var(--wine)}.inline-form{margin-top:10px;display:flex;gap:7px}.inline-form input{min-width:0;flex:1;height:32px;border:1px solid var(--border);border-radius:5px;padding:7px}.light{background:#fdf9f1}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:45px 20px;background:radial-gradient(ellipse at 15% 0%,#fdf9f1 0%,transparent 50%),#fdf9f1}.login-lockup{text-align:center;margin-bottom:31px}.login-symbol{height:64px;width:64px;font-size:41px;margin:0 auto 19px}.login-lockup h1{font-size:33px;color:var(--wine);margin:3px 0}.login-lockup p{letter-spacing:1.3px;text-transform:uppercase;font-size:10px;color:#1b263b;margin:11px 0 0}.login-panel{background:#fdf9f1;border:1px solid #fdf9f1;box-shadow:0 20px 60px rgba(27,38,59,.08);border-radius:15px;width:100%;max-width:430px;padding:35px}.login-panel h2{margin-top:12px;font-size:24px}.login-panel>.muted{margin-bottom:26px;font-size:12px}.login-footer{margin-top:25px;color:#1b263b;font-size:9px;letter-spacing:1.2px}.flash{display:flex;align-items:center;justify-content:space-between;padding:14px 17px;margin-bottom:20px;border-radius:9px;font-weight:650;font-size:12px}.flash.okay{background:#fdf9f1;color:#1b263b;border:1px solid #fdf9f1}.flash.danger{background:#fdf9f1;color:#1b263b;border:1px solid #fdf9f1}.flash-close{border:0;background:transparent;color:inherit;font-size:20px;margin-left:18px}.text-button{background:none;border:0;color:inherit}.mobile-actions{display:flex;gap:12px;align-items:center}
@media(max-width:1150px){.sidebar{width:210px}.main{margin-left:210px;padding:35px 29px 75px}.brand{padding:21px 14px}.brand b{font-size:12px}.content-grid{grid-template-columns:minmax(0,1.55fr) minmax(230px,1fr)}.surface.pad{padding:23px}.tab{padding:13px 14px}}
@media(max-width:800px){.sidebar{display:none}.mobile-head{display:flex;position:sticky;top:0;z-index:10;align-items:center;justify-content:space-between;background:#fdf9f1;border-bottom:1px solid var(--border);height:59px;padding:0 18px}.mobile-brand{display:flex;align-items:center;gap:9px;color:var(--wine);font-family:Georgia,serif;font-weight:750;letter-spacing:.6px;font-size:13px}.small-symbol{height:29px;width:29px;font-size:19px}.mobile-actions{font-size:12px;color:#1b263b}.main{margin:0;padding:27px 17px 80px}.main-login{padding:0}.page-heading{margin-bottom:22px}.page-heading h1{font-size:30px}.job-head h1{font-size:37px}.content-grid{grid-template-columns:1fr}.surface.pad{padding:20px}.tab-scroll{margin-right:-17px;margin-left:-17px;padding:0 17px}.tab{font-size:12px}.metric{padding:15px}.metric strong{font-size:26px}.metric span{font-size:9px}.filter-bar{flex-wrap:wrap}.search-wrap{flex-basis:100%}.filter-bar select{flex:1;max-width:none}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:510px){.page-heading{align-items:flex-start}.page-heading .button{padding:10px 12px;font-size:11px}.page-heading p{font-size:12px}.metric-row{gap:8px}.metric{padding:14px 12px}.metric strong{font-size:25px}.metric span{font-size:8px}.job-head{align-items:center;gap:9px}.job-head h1{font-size:31px}.job-head .muted{font-size:11px;line-height:1.45}.status-pill.large{font-size:9px;white-space:normal;text-align:center;max-width:115px}.field-grid{grid-template-columns:1fr;gap:14px}.field-grid .span-2{grid-column:span 1}.read-grid{grid-template-columns:1fr 1fr}.file-input-row{flex-direction:column;align-items:stretch}.file-input-row .button{width:100%}.file-input-row>.file-drop{width:100%}.responsive-table table{display:block}.responsive-table thead{display:none}.responsive-table tbody{display:flex;flex-direction:column}.responsive-table tr{display:grid;grid-template-columns:1fr auto;gap:6px;position:relative;padding:15px 17px;border-top:1px solid var(--border)}.responsive-table td{border:0;padding:0;grid-column:1}.responsive-table td:first-child{grid-column:1}.responsive-table td:nth-child(2){grid-column:1}.responsive-table td:nth-child(3){color:var(--muted)}.responsive-table td:nth-child(5){display:none}.responsive-table td:nth-child(6){grid-column:2;grid-row:1/5;display:flex;align-items:center}.responsive-table td:nth-child(4){margin-top:4px}.surface.pad{padding:19px}.team-person{flex-wrap:wrap}.login-panel{padding:27px}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.file-art{height:105px}.file-meta{padding:10px}}

/* Preservation Slate & Tile brand system — oxblood, cream and gold */
:root{--wine:#1b263b;--wine2:#1b263b;--dark:#1b263b;--muted:#1b263b;--border:#fdf9f1;--bg:#fdf9f1;--card:#fdf9f1;--gold:#e5ac39;--shadow:0 4px 23px rgba(27,38,59,.045)}
body{background:var(--bg)}.surface,.metric,.login-panel{background:var(--card)}
.sidebar{background:var(--wine);border-right-color:#1b263b;color:#fdf9f1}
.brand{height:210px;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:10px 12px;border-bottom-color:#1b263b}
.brand a{display:block;width:146px;height:146px;overflow:hidden;border-radius:10px}
.brand-logo{display:block;width:100%;height:100%;object-fit:contain}
.brand small{font-size:9px;color:#e5ac39;margin-top:5px;text-align:center;letter-spacing:1.4px}
.nav-kicker{color:#fdf9f1}.side-link{color:#fdf9f1}.side-link.active{background:var(--gold);color:#1b263b}.side-link:hover{background:#1b263b;color:#fdf9f1}
.sidebar-bottom{border-top-color:#1b263b}.who small{color:#fdf9f1}.icon-logout{color:#fdf9f1}.avatar{background:#fdf9f1;color:var(--wine)}
.button.primary,.status-save{background:var(--wine);border-color:var(--wine);color:#fdf9f1}.button.primary:hover{background:var(--wine2)}
.button.neutral{background:#fdf9f1;border-color:#fdf9f1}.tab.selected{color:var(--wine);border-bottom-color:var(--gold)}
.tab:hover{color:var(--wine)}.eyebrow{color:#e5ac39}.po-feature{color:var(--wine)}
.login-container{background:radial-gradient(ellipse at 20% 0%,#fdf9f1,transparent 55%),#fdf9f1}
.login-logo{width:210px;height:210px;object-fit:contain;border-radius:14px;box-shadow:0 10px 30px rgba(27,38,59,.18);margin-bottom:12px}
.login-lockup p{color:var(--wine);font-weight:700}.login-footer{color:#1b263b}
.mobile-head{background:var(--wine);border-bottom-color:var(--gold);color:var(--cream,#fdf9f1)}.mobile-brand,.mobile-actions{color:#fdf9f1}.mobile-logo{width:38px;height:38px;border-radius:6px;object-fit:cover}
/* Prominent Job Status header */
.status-spotlight{margin:0 0 19px;padding:22px 28px;border-radius:13px;border:2px solid #e5ac39;background:linear-gradient(118deg,#1b263b,#1b263b);color:#fdf9f1;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 6px 20px rgba(27,38,59,.13)}
.status-kicker{color:#fdf9f1;letter-spacing:2px;font-size:11px;font-weight:800;margin-bottom:9px}.status-title{font:600 clamp(29px,3.3vw,47px)/1.06 Georgia,serif;letter-spacing:-.3px}.status-spotlight.complete{background:linear-gradient(118deg,#1b263b,#1b263b)}
.status-change{display:flex;flex-direction:column;gap:6px;min-width:285px}.status-change label{font-size:11px;font-weight:750;color:#fdf9f1}.status-change>div{display:flex;gap:6px}.status-change select{min-width:0;width:175px;height:41px;border-radius:6px;padding:7px;background:#fdf9f1;border:1px solid #e5ac39;color:#1b263b}.status-change .button{height:41px;padding:9px 13px;border-color:#e5ac39;background:var(--gold);color:#1b263b}.status-change .button:hover{background:#e5ac39}
.edit-drawer{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}.edit-drawer>summary{display:inline-flex;list-style:none;cursor:pointer}.edit-drawer>summary::-webkit-details-marker{display:none}.edit-drawer[open]>summary{margin-bottom:22px}.edit-drawer-body{background:#fdf9f1;border:1px solid #fdf9f1;border-radius:9px;padding:20px}
/* Inline document viewers and PDF replacement controls */
.file-update{margin-top:19px;display:flex;gap:11px;align-items:center;flex-wrap:wrap}.file-update .file-drop{flex:1;min-width:210px;min-height:74px}.file-update .button{min-width:170px}
.document-meta{background:#fdf9f1;border:1px solid #fdf9f1;padding:13px 15px;border-radius:9px;margin-bottom:14px;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}.document-meta>b{word-break:break-word}.document-meta span{font-size:11px;color:var(--muted)}.document-meta a{margin-left:auto}
.pdf-preview{width:100%;height:clamp(420px,68vh,850px);border:1px solid #fdf9f1;border-radius:8px;background:#fdf9f1}
.text-preview{width:100%;height:320px;border:1px solid var(--border);background:#fdf9f1;border-radius:8px}.image-preview{max-width:100%;max-height:80vh;display:block;margin:auto;object-fit:contain;border-radius:8px}
.legacy-note{margin-top:18px;background:#fdf9f1;border:1px solid #fdf9f1;padding:17px;border-radius:8px}.legacy-note b{font-size:11px}.legacy-note p{margin:10px 0 0}
.document-list{display:flex;flex-direction:column;gap:10px}.document-entry{border:1px solid var(--border);border-radius:10px;background:#fdf9f1}.document-entry>summary{list-style:none;display:flex;align-items:center;gap:14px;cursor:pointer;padding:14px}.document-entry>summary::-webkit-details-marker{display:none}.document-entry[open]{border-color:#e5ac39}.document-entry>summary:hover{background:#fdf9f1}.document-icon{width:43px;height:43px;background:#fdf9f1;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--wine);flex:none}.document-name{flex:1;min-width:0}.document-name strong{display:block;font-size:13px;overflow-wrap:anywhere}.document-name small{display:block;font-size:11px;color:var(--muted);margin-top:5px}.document-open{color:var(--wine);font-size:12px;white-space:nowrap}.document-expanded{padding:14px;border-top:1px solid var(--border);background:#fdf9f1}.document-actions{display:flex;justify-content:flex-end;gap:9px;margin-bottom:12px}
@media(max-width:1150px){.brand{height:180px}.brand a{width:120px;height:120px}}
@media(max-width:800px){.status-spotlight{padding:20px}.status-change{min-width:unset}.status-title{font-size:34px}.mobile-head{background:var(--wine)}}
@media(max-width:510px){.status-spotlight{flex-direction:column;align-items:stretch;gap:19px}.status-title{font-size:37px}.status-change>div{width:100%}.status-change select{flex:1;width:auto}.status-change .button{font-size:11px}.file-update{flex-direction:column;align-items:stretch}.file-update .file-drop{width:100%}.file-update .button{width:100%}.pdf-preview{height:450px}.document-open{font-size:11px}.document-meta a{margin-left:0}}

/* LudoPilot custom palette: Navy #1b263b, Cream #fdf9f1, Gold #e5ac39. */
:root{--wine:#1b263b;--wine2:#1b263b;--dark:#1b263b;--muted:rgba(27,38,59,.73);--border:rgba(27,38,59,.22);--bg:#fdf9f1;--card:#fdf9f1;--gold:#e5ac39;--cream:#fdf9f1;--shadow:0 4px 20px rgba(27,38,59,.06)}
html,body{background:#fdf9f1;color:#1b263b}
.main{background:#fdf9f1}
.sidebar{background:#1b263b;border-color:#e5ac39;color:#fdf9f1}
.brand{height:199px;border-bottom:1px solid rgba(229,172,57,.55);padding:15px 9px;justify-content:center}
.brand a{width:100%;height:152px;display:flex;justify-content:center;align-items:center}
.brand-logo{width:100%;height:100%;object-fit:contain}
.brand small{color:#e5ac39;letter-spacing:2px;font-weight:800;margin:0}
.nav-kicker{color:#e5ac39}
.side-link{color:#fdf9f1;border:1px solid transparent}
.side-link.active{background:#e5ac39;color:#1b263b}
.side-link:hover:not(.active){background:rgba(255,247,231,.12);color:#fdf9f1}
.sidebar-bottom{border-top:1px solid rgba(229,172,57,.5)}
.sidebar-bottom .who b{color:#fdf9f1}
.sidebar-bottom .who small{color:#fdf9f1;opacity:.8}
.avatar{background:#e5ac39;color:#1b263b}
.logout-button{border:1px solid #e5ac39;border-radius:7px;background:#1b263b;color:#fdf9f1;padding:9px 11px;font-size:12px;font-weight:800;white-space:nowrap}
.logout-button:hover{background:#e5ac39;color:#1b263b}
.surface,.metric,.document-entry,.login-panel,.file-card{background:#fdf9f1;border:1px solid rgba(27,38,59,.25);box-shadow:var(--shadow)}
.filter-bar,.upload-form,.document-expanded,.document-entry>summary:hover,.edit-drawer-body,.legacy-note{background:#fdf9f1;border-color:rgba(27,38,59,.23)}
.breadcrumbs,.breadcrumbs b,.client-heading,.read-field b{color:#1b263b}
.breadcrumbs a,.po-text,.row-arrow,.metric strong,.po-feature,.clear-link{color:#1b263b}
.eyebrow,.status-kicker{color:#e5ac39}
.button.primary{background:#1b263b;color:#fdf9f1;border-color:#1b263b}
.button.primary:hover{background:#e5ac39;color:#1b263b;border-color:#1b263b}
.button.neutral{background:#fdf9f1;color:#1b263b;border-color:#1b263b}
.button.neutral:hover{background:#e5ac39;color:#1b263b}
input:focus,textarea:focus,select:focus{outline-color:#e5ac39}
button:focus-visible,a:focus-visible{outline-color:#e5ac39}
.metric span,th,.read-field span,.document-name small{color:rgba(27,38,59,.7)}
th{background:#e5ac39;color:#1b263b}
.search-wrap,.filter-bar select,.field-grid select,.field-grid input,.form-stack input:not([type=file]),.form-stack select,.form-stack textarea,.status-change select{background:#fdf9f1;color:#1b263b;border-color:rgba(27,38,59,.4)}
.search-wrap input{color:#1b263b}
.field-grid input[readonly],.field-grid input[disabled]{background:#fdf9f1;color:rgba(27,38,59,.75)}
.field-grid label,.form-stack>label{color:#1b263b}
.file-drop{background:#fdf9f1;border-color:#1b263b;color:#1b263b}
.file-drop span{color:#1b263b}
.status-spotlight,.status-spotlight.complete{background:#1b263b;border:2px solid #e5ac39;color:#fdf9f1;box-shadow:0 5px 20px rgba(27,38,59,.12)}
.status-title{color:#fdf9f1}
.status-change label{color:#fdf9f1}
.status-change .button{background:#e5ac39;border-color:#e5ac39;color:#1b263b}
.status-change .button:hover{background:#fdf9f1;color:#1b263b}
.tab{color:#1b263b}
.tab.selected{color:#1b263b;border-bottom-color:#e5ac39;background:rgba(229,172,57,.17)}
.tab:hover{color:#1b263b;background:rgba(229,172,57,.12)}
.status-pill,.status-pill.done,.status-pill.progress{color:#1b263b;background:#fdf9f1;border-color:#e5ac39}
.count-badge,.locked{background:#fdf9f1;color:#1b263b;border-color:#e5ac39}
.document-icon{background:#e5ac39;color:#1b263b}
.document-meta{background:#fdf9f1;border-color:#e5ac39}
.document-entry[open]{border-color:#e5ac39}
.document-open,.event-body>b{color:#1b263b}
.event-dot{border-color:#e5ac39}
.login-container{background:#1b263b}
.login-lockup{max-width:380px}
.login-logo{width:min(370px,90vw);height:auto;max-height:250px;object-fit:contain;border-radius:0;box-shadow:none;margin-bottom:0}
.login-lockup p{color:#e5ac39}
.login-footer{color:#fdf9f1}
.login-panel{border:2px solid #e5ac39}
.flash.okay,.flash.danger{background:#fdf9f1;color:#1b263b;border:1px solid #e5ac39}
.mobile-head{background:#1b263b;border-color:#e5ac39;color:#fdf9f1}
.mobile-brand,.mobile-actions{color:#fdf9f1}
.mobile-logo{width:112px;height:52px;object-fit:contain;border-radius:0}
.mobile-actions .text-button{background:#1b263b;color:#fdf9f1;border:1px solid #e5ac39;border-radius:5px;padding:8px 9px;font-weight:700}
@media(max-width:1150px){.brand{height:182px}.brand a{height:129px}}
@media(max-width:800px){.mobile-head{height:65px}.status-spotlight{background:#1b263b}}
@media(max-width:510px){.mobile-logo{width:92px;height:49px}.logout-button{font-size:11px}}

/* LudoPilot v4: archive, notes, file controls, and document reader */
.pdf-preview{width:100%;height:max(860px,calc(100vh - 155px));min-height:860px;border:1px solid rgba(27,38,59,.24);border-radius:7px;background:#fdf9f1}
.pdf-viewer{width:100%;min-width:0;position:relative}
.viewer-tools{display:flex;justify-content:flex-end;gap:9px;margin:9px 0 12px;flex-wrap:wrap}
.pdf-viewer.viewer-fullscreen{position:fixed;inset:0;background:#fdf9f1;z-index:5000;padding:12px;display:flex;flex-direction:column;box-shadow:0 0 0 9999px rgba(27,38,59,.8)}
.pdf-viewer.viewer-fullscreen .pdf-preview{flex:1;height:auto;min-height:0}
.archive-banner{background:#e5ac39;color:#1b263b;padding:15px 18px;margin-bottom:18px;border-radius:9px;font-weight:750}
.archive-form{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fdf9f1;border:1px solid #e5ac39;border-radius:9px;margin:0 0 20px;padding:14px 17px;font-size:12px;font-weight:650}
.delete-button{background:#fdf9f1;border:1px solid #e5ac39;color:#1b263b}
.delete-button:hover{background:#fdf9f1}
.document-delete{display:flex;justify-content:flex-end;margin:10px 0}
.document-actions{align-items:center;flex-wrap:wrap}
.photo-captions{padding:10px 4px 2px;display:flex;flex-direction:column;gap:9px}
.photo-captions label{display:block;font-size:12px;font-weight:700}
.photo-captions input{height:40px;padding:9px 11px;border:1px solid #1b263b;border-radius:6px;background:#fdf9f1;width:100%}
.photo-caption{background:rgba(229,172,57,.16);padding:10px 14px;border-radius:7px;line-height:1.5}
.notes-panel{max-width:1040px}
.chat-thread{display:flex;flex-direction:column;gap:16px;min-height:160px;max-height:70vh;overflow-y:auto;padding:18px 6px;background:rgba(27,38,59,.035);border:1px solid var(--border);border-radius:10px}
.chat-row{display:flex;justify-content:flex-start;padding:0 14px}
.chat-row.mine{justify-content:flex-end}
.chat-bubble{max-width:min(84%,710px);min-width:150px;background:#fdf9f1;border:1px solid var(--border);border-radius:15px 15px 15px 3px;padding:14px 16px;box-shadow:0 3px 12px rgba(27,38,59,.04)}
.chat-row.mine .chat-bubble{background:rgba(229,172,57,.23);border-color:#e5ac39;border-radius:15px 15px 3px 15px}
.chat-bubble p{margin:0 0 10px;overflow-wrap:anywhere}
.chat-signature{font-size:10px;font-weight:750;color:rgba(27,38,59,.7)}
.note-edit{font-size:11px;margin-top:10px}
.note-edit>summary{cursor:pointer;text-decoration:underline;color:#1b263b}
.note-edit form{margin-top:11px;display:flex;flex-direction:column;gap:8px}
.note-compose{display:flex;flex-direction:column;gap:11px;margin-top:20px}
.note-compose label{font-size:12px;font-weight:800}
.note-compose textarea,.note-edit textarea{font:inherit;width:100%;border:1px solid rgba(27,38,59,.45);background:#fdf9f1;color:#1b263b;border-radius:8px;min-height:86px;padding:12px;resize:vertical}
.note-compose .button,.note-edit .button{align-self:flex-end}
.no-notes{padding:10px}
@media(max-width:650px){.pdf-preview{height:82vh;min-height:640px}.pdf-viewer.viewer-fullscreen{padding:6px}.archive-form{align-items:stretch;flex-direction:column}.chat-bubble{max-width:96%}.chat-row{padding:0 7px}}

.task-assignment-list{display:flex;flex-direction:column;gap:9px;margin-top:15px}.assignment-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border,#fdf9f1);border-radius:9px}.assignment-row form{margin:0}.inline-form{flex-wrap:wrap}.read-field b{overflow-wrap:anywhere}

.qualification-tags{display:flex;gap:.35rem;flex-wrap:wrap;margin:.45rem 0}.qualification-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #e5ac39;border-radius:30px;background:#fdf9f1;padding:.2rem .4rem .2rem .7rem;font-size:.75rem}.qualification-chip button{background:none;border:0;cursor:pointer;font-size:1.1rem;line-height:1}.crew-qual-inline{margin:.6rem 0}.tax-setup{border:1px solid #e5ac39;border-radius:10px;padding:1rem;min-width:0}.tax-setup legend{font-weight:600}.tax-setup [data-tax-w2-fields],.tax-setup [data-tax-1099-fields]{display:grid;gap:.7rem;padding:.4rem 0} [hidden]{display:none!important}

/* V7: aligned single-line tax-status checkboxes */
.tax-setup .tax-choice-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;margin:.45rem 0 .65rem}
.tax-setup label.tax-choice{display:inline-flex!important;align-items:center!important;flex-direction:row!important;gap:.45rem;white-space:nowrap;width:auto;line-height:1.35;margin:0;padding:0;cursor:pointer}
.tax-setup label.tax-choice input[type="checkbox"]{display:inline-block;flex:none;width:17px;height:17px;margin:0;vertical-align:middle}
.tax-setup .tax-choice span{white-space:nowrap}
/* V9 accounting previews and invoice entry */
.invoice-entry {border:1px solid var(--border,#dfe3e8);padding:16px;border-radius:9px;margin:12px 0;background:var(--surface,#fff)}
.invoice-entry-head {display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.row-buttons {display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:12px 0}
.ledger-workspace{display:grid;grid-template-columns:minmax(0,65fr) minmax(275px,35fr);gap:14px;align-items:start}
.ledger-doc-panel,.ledger-entry-panel{min-width:0}
.ledger-preview-frame{height:min(77vh,880px);min-height:570px;border:1px solid #dce0e5;border-radius:8px;background:#f1f2f4;display:flex;align-items:center;justify-content:center;overflow:auto;margin:10px 0}
.ledger-preview-frame iframe{display:block;width:100%;height:100%;border:0}
.ledger-preview-frame img{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:auto}
.ledger-doc-list{max-height:210px;overflow-y:auto}
.ledger-doc-list .assignment-row{gap:6px;flex-wrap:wrap}
.ledger-doc-list form {display:inline-block}
.ledger-entry-panel .form-stack{gap:12px}
@media(max-width:880px){.ledger-workspace{grid-template-columns:1fr}.ledger-preview-frame{min-height:420px;height:65vh}}

/* V10: compact Active Jobs metrics, compact always-visible desktop Job navigation */
.job-list-metrics{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;margin:7px 0 12px!important}
.job-list-metrics .metric{min-width:0!important;padding:10px 13px!important;min-height:62px!important}
.job-list-metrics .metric strong{font-size:24px!important;line-height:1.1!important;margin-top:3px!important}
.job-list-metrics .metric span{font-size:10px!important;letter-spacing:.6px!important}
.job-compact-header{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:0 0 7px}
.job-compact-title{min-width:0}.job-compact-title h1{font-size:23px;margin:0 0 2px;line-height:1.14}.job-compact-title span{font-size:11px}
.job-compact-status{display:flex;align-items:center;gap:9px;padding:6px 9px;background:#1b263b;border:1px solid #e5ac39;border-radius:8px;color:#fdf9f1;flex-shrink:0}
.status-short-label{font-size:10px;opacity:.82;text-transform:uppercase}.job-compact-status strong{font-size:13px;white-space:nowrap}
.status-inline{display:flex;align-items:center;gap:5px;margin:0}.status-inline select{height:30px;max-width:170px;font-size:11px;padding:3px;color:#1b263b;background:#fdf9f1}.status-inline .button{height:30px;padding:4px 8px;font-size:11px}
.job-action-bar{display:flex;flex-wrap:nowrap;align-items:center;gap:7px;margin:6px 0}.job-action-bar .button{font-size:11px;padding:7px 10px;white-space:nowrap}.create-invoice-far{margin-left:auto}
.job-archive-control{position:relative}.job-archive-control summary{cursor:pointer;list-style:none}.job-archive-control summary::-webkit-details-marker{display:none}
.archive-popover{position:absolute;z-index:12;top:100%;left:0;min-width:280px;padding:12px;background:#fdf9f1;border:1px solid #e5ac39;border-radius:7px;box-shadow:0 5px 18px #1b263b30;display:grid;gap:8px}
.archive-popover label{display:grid;gap:6px;font-size:11px}.archive-popover textarea{width:100%}
.tabs-v10{display:flex!important;flex-wrap:nowrap!important;overflow:visible!important;gap:1px!important;justify-content:space-between;max-width:100%;margin:4px 0 13px}
.tabs-v10 .tab{flex:0 1 auto;min-width:0;padding:8px 5px!important;font-size:clamp(9px,.73vw,11px)!important;white-space:nowrap!important;text-align:center;letter-spacing:-.3px}
.mobile-job-tab-picker{display:none}
.secondary-owner-list{padding:12px 0;border-top:1px solid #e5ac39;margin-top:12px}.secondary-owner-list h3{margin:0 0 8px}.secondary-owner-list .read-grid{margin:8px 0;padding:8px;border:1px solid #ddd;border-radius:6px}
.additional-owners{border:1px solid #d8dce2;border-radius:9px;padding:16px;margin:13px 0}.additional-owner{border:1px solid #e5ac39;border-radius:8px;padding:14px;margin:10px 0}
.secondary-address-check{display:flex;align-items:center;gap:8px;margin:9px 0;font-size:12px}.secondary-address-check input{width:18px;height:18px}
.contract-verification{padding:12px;background:#fdf9f1;border:1px solid #d4d7de;border-radius:8px;margin:8px 0 16px}
.contract-upload-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;padding:10px 0}.contract-upload-form>div,.contract-upload-form>button{grid-column:1/-1}
.contract-upload-form label{display:grid;gap:5px;font-size:12px;font-weight:650}.contract-upload-form input{width:100%;max-width:100%;min-width:0;padding:9px;border:1px solid #a3abb6;border-radius:5px;background:#fdf9f1}
.contract-review-list{display:grid;gap:8px;margin:8px 0 15px}.contract-review-entry{display:flex;justify-content:space-between;align-items:center;gap:13px;padding:9px;border:1px solid #dee1e5;border-radius:6px;font-size:12px;flex-wrap:wrap}
.contract-decision{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.contract-decision input{min-width:100px;padding:7px;border:1px solid #a3abb6;border-radius:5px}.validation-error{color:#9b242b}.validation-success{color:#257547}
.units-combo{display:flex;position:relative}.units-combo input{width:100%;min-width:0;padding-right:32px}.unit-toggle{position:absolute;right:0;top:0;height:100%;min-width:31px;border:1px solid #a0a7b1;background:#fdf9f1;color:#1b263b;border-radius:0 5px 5px 0;cursor:pointer}
.unit-choice-menu{position:absolute;top:100%;left:0;right:0;z-index:50;background:#fdf9f1;border:1px solid #a0a7b1;box-shadow:0 5px 15px #1b263b30;max-height:240px;overflow:auto;display:grid;grid-template-columns:repeat(2,1fr)}
.unit-choice-menu button{padding:8px;border:0;background:transparent;color:#1b263b;cursor:pointer;font-size:12px;text-align:center}.unit-choice-menu button:hover{background:#f2e8cd}
@media(max-width:1000px){.tabs-v10 .tab{font-size:9px!important;padding:8px 2px!important}.job-compact-header{flex-wrap:wrap}}
@media(max-width:750px){.tabs-v10{display:none!important}.mobile-job-tab-picker{display:grid;gap:4px;margin:7px 0 12px}.mobile-job-tab-picker select{width:100%;padding:9px}.job-list-metrics{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important}.job-list-metrics .metric{padding:7px 5px!important;min-height:55px!important}.job-list-metrics .metric span{font-size:8px!important;letter-spacing:0!important}.job-list-metrics .metric strong{font-size:19px!important}.job-compact-status{flex-wrap:wrap}.job-action-bar{overflow-x:auto}.contract-upload-form{grid-template-columns:1fr}}

/* V11: fast, consistent, full-width invoice entry. */
.invoice-full-width{width:100%;min-width:0}
.invoice-full-width>.surface{width:100%}
.invoice-price-input{width:100%;height:41px;cursor:text;appearance:textfield;-moz-appearance:textfield;display:block;pointer-events:auto}
.invoice-price-input::-webkit-inner-spin-button,.invoice-price-input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}
.invoice-entry .field-grid label{cursor:text}
.unit-choice-menu{display:flex;flex-direction:column;grid-template-columns:none!important}
.unit-choice-menu[hidden]{display:none!important}
.unit-choice-menu button{display:block;width:100%;text-align:left;padding:8px 12px;flex:0 0 auto}
/* V11: consistent upload-first Contract tab. */
.contract-primary-upload{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.contract-primary-upload .file-input-row{width:100%}
.contract-primary-upload .file-drop{width:100%}
.contract-upload-controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.contract-upload-controls label{display:grid;gap:5px;flex:1;min-width:190px;font-weight:700;font-size:12px}
.contract-upload-controls input{width:100%;height:42px;border:1px solid #b6bdc7;border-radius:7px;padding:9px 12px;background:#fff;color:#1b263b;font:inherit}
.contract-upload-controls>.button{min-width:160px}
.contract-verification{background:transparent;border:none;padding:0;margin:0}
.contract-amount-summary{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;background:#fdf9f1;border:1px solid #d4d7de;border-radius:8px;margin:8px 0 10px;flex-wrap:wrap}
.contract-amount-summary strong:last-of-type{font-size:18px;color:#1b263b}
.contract-pending-note{width:100%;font-size:11px;color:#916517}
.contract-confirm-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:650;max-width:360px}
.contract-confirm-label input{flex:0 0 17px;min-width:17px;width:17px;height:17px}
.contract-confirm-error{font-size:11px;max-width:240px}
.form-error-summary{padding:12px 14px;margin:8px 0 15px;background:#fff0ee;border:1px solid #c24749;border-radius:8px;color:#94232c;font-weight:650}
.additional-owner input[data-phone-format]:invalid{border-color:#b33a40}
@media(max-width:750px){.contract-upload-controls{align-items:stretch}.contract-upload-controls>.button{width:100%}}

/* Version 12: one-row invoicing, 16 compact desktop tabs, and dedicated Crews */
.job-header-actions{display:flex;align-items:center;gap:7px;margin-left:auto;flex-shrink:0}
.job-header-actions .job-archive-control{flex-shrink:0}
.job-header-actions .archive-popover{left:auto;right:0}
.crew-assignment-form{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:12px 0 22px}
.crew-assignment-form label{display:grid;gap:5px;font-weight:650;font-size:12px;flex:1;min-width:165px}
.crew-assignment-form select{width:100%;min-height:38px;border:1px solid #bbb;border-radius:6px;padding:6px}
.crew-assignment-form>.button{height:38px}
.tabs-v10 .tab{font-size:clamp(8px,.66vw,10px)!important;padding:7px 3px!important;letter-spacing:-.45px!important}
.invoice-lines-head{display:none}
.invoice-line-number{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.invoice-line-row{display:grid;grid-template-columns:minmax(64px,10fr) minmax(65px,7fr) minmax(220px,68fr) minmax(100px,15fr);gap:8px;align-items:start}
.invoice-line-row>label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:11px;font-weight:750;color:#1b263b}
.invoice-line-row input,.invoice-line-row textarea{box-sizing:border-box;display:block;min-width:0;width:100%;padding:10px 9px;min-height:41px;border-radius:7px;border:1px solid #abb3bd;background:#fdf9f1;color:#1b263b;font:inherit;font-size:13px;line-height:1.5}
.invoice-line-row textarea{resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word}
.invoice-line-row .units-combo input{padding-right:24px}
.invoice-line-row .unit-toggle{min-width:22px}
.invoice-line-total{text-align:right;margin-top:8px;font-size:12px}
.invoice-entry{margin:8px 0;padding:11px}
@media(max-width:900px){.invoice-line-row{grid-template-columns:minmax(62px,10fr) minmax(60px,7fr) minmax(160px,68fr) minmax(85px,15fr);gap:5px}}
@media(max-width:750px){.invoice-line-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.invoice-line-row>label:nth-child(3){grid-column:1/-1;grid-row:2}.invoice-line-row>label:nth-child(4){grid-column:2;grid-row:1}.job-header-actions{flex-wrap:wrap;flex-shrink:1}}

/* Version 13: compact Job Info view and reliable user form sizing */
body .read-grid{row-gap:8px;column-gap:13px}
body .read-field span{margin-bottom:2px}
.sales-team-summary{margin:14px 0 10px;border-top:1px solid var(--border);padding-top:8px}
.sales-team-summary h3{font-size:13px;margin-bottom:7px}
.sales-team-chips{display:flex;flex-wrap:wrap;gap:7px}
.sales-team-chip{font-size:11px;background:#fdf9f1;border:1px solid #e5ac39;border-radius:7px;padding:6px 9px}
.sales-team-form{padding:10px 0;max-width:580px}
.form-stack input,.form-stack select,.tax-setup input,.tax-setup select{box-sizing:border-box;width:100%;max-width:100%;min-width:0}
.tax-setup [hidden]{display:none!important}
.photo-upload-status{padding:12px 14px;border:1px solid #e5ac39;border-radius:8px;margin-top:12px;font-size:12px}
.photo-upload-status progress{width:100%;height:12px;display:block;margin:9px 0}

/* Version 14 refinements */
.field-grid .field-caption{display:inline-flex;align-items:baseline;gap:3px;white-space:nowrap;min-width:0}
.field-caption .required-inline{display:inline;color:#9a2638;font-size:inherit;line-height:inherit;flex:none}
.extra-salespeople{margin:12px 0 0;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.extra-salespeople-list{width:100%;display:flex;flex-direction:column;gap:6px}
.extra-salesperson-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:7px;padding:6px 9px;font-size:12px}
.extra-salesperson-picker{width:100%;display:flex;align-items:end;gap:10px}
.extra-salesperson-picker[hidden]{display:none!important}
.extra-salesperson-picker label,.sales-team-form>label{min-width:0;flex:1;font-size:12px;display:flex;flex-direction:column;gap:5px}
.extra-salesperson-picker select,.sales-team-form select{width:100%;max-width:410px;min-height:39px;border-radius:7px;border:1px solid var(--border);background:#fdf9f1;padding:8px}
.sales-team-form{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding-top:13px}
.sales-team-form .extra-salespeople-list,.sales-team-form .extra-salesperson-picker{max-width:580px}
.contract-preview-layout{display:grid;grid-template-columns:minmax(0, 1.8fr) minmax(200px,1fr);gap:16px;align-items:start;margin-top:10px}
.contract-preview-column{min-width:0}
.contract-local-preview{margin-top:12px;border:1px solid var(--border);border-radius:9px;padding:8px}
.contract-local-preview[hidden]{display:none!important}
.contract-local-preview .viewer-tools{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.contract-local-preview .viewer-tools strong{font-size:12px;overflow-wrap:anywhere;max-width:100%}
.contract-local-preview .pdf-preview{height:clamp(490px,72vh,960px)}
.contract-preview-fields{display:flex;flex-direction:column;gap:12px;min-width:0}
.contract-preview-fields label,.contract-upload-controls label{display:flex;flex-direction:column;gap:6px;min-width:0}
.contract-preview-fields input,.contract-upload-controls input{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.contract-primary-upload .contract-upload-controls{display:flex;flex-direction:column;align-items:stretch;gap:14px;min-width:0}
@media(max-width:750px){.contract-preview-layout{grid-template-columns:1fr}.contract-local-preview .pdf-preview{height:65vh}}

/* V15: thumbnail gallery and edge-to-edge Photo tab viewer */
.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:18px;margin-top:18px}
.photo-tile{min-width:0;border:1px solid rgba(27,38,59,.2);border-radius:9px;overflow:hidden;background:#fff}
.photo-thumb{display:block;width:100%;height:155px;background:#e7edf3;border:0;padding:0;cursor:zoom-in;overflow:hidden}
.photo-thumb:focus-visible{outline:3px solid #e5ac39;outline-offset:-3px}
.photo-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .15s}
.photo-thumb:hover img{transform:scale(1.03)}
.photo-thumb-unsupported{min-height:155px;padding:12px;display:flex;gap:8px;flex-direction:column;align-items:center;justify-content:center;background:#eef2f5}
.photo-tile-info{padding:10px;display:flex;gap:7px;flex-direction:column;overflow-wrap:anywhere;font-size:12px}
.photo-tile-info>span{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.photo-tile-info>small{color:#536174}
.photo-tile-info form{align-self:start;margin:0}
.photo-viewer-open{overflow:hidden}
.photo-lightbox[hidden]{display:none!important}
.photo-lightbox{position:fixed;inset:0;z-index:3000;display:flex;flex-direction:column;box-sizing:border-box;padding:12px;background:#131a24;color:#fff}
.photo-viewer-head{display:flex;align-items:flex-start;justify-content:space-between;padding:2px 14px 10px;min-height:45px}
.photo-viewer-head strong,.photo-viewer-head small{display:block}
.photo-viewer-head strong{font-size:16px}
.photo-viewer-head small{color:#c1cad4;margin-top:3px}
.photo-close{background:transparent;color:#fff;border:0;font-size:37px;line-height:1;cursor:pointer;padding:0 7px}
.photo-viewer-stage{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;gap:8px;flex:1;min-height:0;min-width:0}
.photo-nav{border:1px solid #71849c;border-radius:50%;background:#34475c;color:#fff;font-size:42px;line-height:1;width:48px;height:48px;cursor:pointer;display:grid;place-items:center}
.photo-nav:disabled{visibility:hidden}
.photo-viewer-scroller{min-width:0;min-height:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.photo-viewer-scroller img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px}
.photo-viewer-bottom{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:start;margin:10px 62px 0;min-height:32px}
.photo-viewer-caption{grid-column:1;justify-self:start;margin:4px 0 0;color:#f7f7f7;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
.photo-viewer-bottom [data-photo-full]{grid-column:2;justify-self:center;background:#34475c;color:#fff;border:1px solid #728096}
.photo-lightbox.photo-natural-size .photo-viewer-scroller{display:block;overflow:auto;text-align:left}
.photo-lightbox.photo-natural-size .photo-viewer-scroller img{max-width:none;max-height:none;width:auto;height:auto;object-fit:none}
@media(max-width:680px){.photo-lightbox{padding:7px}.photo-viewer-stage{grid-template-columns:32px minmax(0,1fr) 32px;gap:3px}.photo-nav{width:32px;height:38px;font-size:26px}.photo-viewer-bottom{margin:8px 36px 0}.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}.photo-thumb{height:125px}}


/* V16 - folder tabs (desktop). Inactive tabs are recessed under the active tab. */
@media(min-width:751px){
 .tabs-v10{align-items:flex-end!important;gap:1px!important;border-bottom:3px solid #1b263b!important;padding:3px 0 0!important;min-width:0!important;margin:8px 0 15px!important;overflow:visible!important}
 .tabs-v10 .tab{position:relative!important;isolation:isolate;overflow:hidden;text-overflow:ellipsis;min-width:0!important;flex:1 1 0!important;min-height:39px!important;display:flex;align-items:center;justify-content:center;padding:8px 3px 6px!important;font-size:clamp(11px,.85vw,14px)!important;letter-spacing:-.2px!important;line-height:1.12;border:1px solid #acb0b7!important;border-bottom:0!important;border-radius:11px 11px 0 0!important;background:#e8e7e5!important;color:#1b263b!important;box-shadow:inset 0 -5px 10px rgba(27,38,59,.08)}
 .tabs-v10 .tab:hover{background:#f7f1e6!important}
 .tabs-v10 .tab.selected{background:#fdf9f1!important;color:#1b263b!important;border:2px solid #1b263b!important;border-bottom:3px solid #fdf9f1!important;font-weight:850!important;margin-bottom:-3px!important;min-height:45px!important;z-index:2;box-shadow:0 -2px 5px rgba(27,38,59,.09)}
}
/* V16 measurements: actual document first, adding more below */
.measurements-gallery{min-width:0;margin-bottom:18px}
.measurements-preview-head{display:flex;align-items:center;gap:12px;padding:5px 0 10px;flex-wrap:wrap}
.measurements-preview-head strong{flex:1;min-width:120px;overflow-wrap:anywhere}
.measurements-main-preview{display:block;width:100%;height:min(75vh,900px);min-height:450px;border:1px solid #b9c1cc;border-radius:7px;background:#fff}
.measurements-pick-list{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.measurements-pick-list .current{outline:2px solid #1b263b}
.measurement-file-tools{margin-top:8px}.measurement-file-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ddd;padding:8px 2px}
/* V16 captions can be edited after upload. Long captions never steal photo height. */
.photo-caption-editor{margin:9px 0}.photo-caption-editor summary{cursor:pointer;font-size:12px;color:#1b263b;font-weight:700}
.photo-caption-editor form{display:grid;gap:7px;margin-top:9px}.photo-caption-editor label{font-size:11px}.photo-caption-editor textarea{width:100%;border:1px solid #aab2bb;border-radius:6px;padding:8px;background:#fff;resize:vertical;min-height:66px}.photo-caption-editor button{justify-self:start}
.photo-caption-summary{max-height:54px;overflow:auto;overflow-wrap:anywhere}
.photo-lightbox .photo-viewer-stage{flex:1 1 auto;min-height:0}
.photo-lightbox .photo-viewer-bottom{flex:none;min-height:32px;max-height:104px;grid-template-columns:minmax(0,1fr) auto;margin-top:8px}
.photo-lightbox .photo-viewer-caption{grid-column:1;max-height:92px;overflow-y:auto;overflow-x:hidden;align-self:start;min-width:0;line-height:1.45;scrollbar-width:thin}
.photo-lightbox .photo-viewer-bottom [data-photo-full]{grid-column:2;justify-self:center}

/* V17: variable-width, shared folder tabs on Job and Accounting */
@media(min-width:751px){
 .tabs-v10{width:100%!important;min-width:0!important;display:flex!important;flex-wrap:nowrap!important;gap:2px!important}
 .tabs-v10 .tab{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:none!important;white-space:nowrap!important;text-overflow:clip!important;padding:9px 5px 7px!important;font-size:clamp(11px,.9vw,15px)!important;letter-spacing:-.1px!important}
}
.crew-qual-manager{padding:14px 0;border-bottom:1px solid #d6d9de}.crew-qual-manager h3{font-size:16px;margin-bottom:8px}.crew-qual-manager .qualification-tags{margin:8px 0}.crew-qual-manager .inline-form{display:flex;align-items:flex-end;gap:10px}.crew-qual-manager select{padding:8px;border:1px solid #b4bdc8;border-radius:6px;background:#fff}.mt-heading{margin-top:24px}

/* V18: available workspace first, with a compact heading above Job tabs. */
@media(min-width:801px){
  .main:not(.main-login){padding-top:8px}
  .job-compact-header{margin-top:0;margin-bottom:2px}
  .tabs-v10{margin-top:1px!important;margin-bottom:9px!important;padding-top:0!important}
  .tab-scroll{margin-bottom:12px}
}
@media(max-width:800px){.main:not(.main-login){padding-top:9px}.job-compact-header{margin-top:0}}
/* V18: the measurements document fills most of the remaining screen. */
.measurements-main-preview{height:calc(100dvh - 185px);min-height:580px;max-height:none}
@media(max-width:800px){.measurements-main-preview{height:calc(100dvh - 150px);min-height:440px}}
/* Keep the client-edit affordance with client details, not after the sales section. */
.surface .read-grid + .edit-drawer{margin-top:12px;padding-top:10px}

/* Version 19: compact lists and forms, document height matches portrait letter paper. */
.jobs-page-heading{min-height:0;margin:0 0 5px;justify-content:flex-end}
.jobs-page-heading:has(>div:empty){min-height:0}
.job-list-metrics{gap:5px!important;margin:2px 0 7px!important}
.job-list-metrics .metric{min-height:39px!important;padding:5px 9px!important;display:flex;align-items:center;justify-content:space-between}
.job-list-metrics .metric strong{font-size:19px!important;margin:0!important}
.job-list-metrics .metric span{font-size:9px!important}
.clickable-row{cursor:pointer;transition:background .12s}
.clickable-row:hover,.clickable-row:focus-visible{background:#eee9d9!important;outline:1px solid #e5ac39;outline-offset:-1px}
.sort-invoice-heading{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:0;padding:8px 2px;cursor:pointer;text-transform:inherit;white-space:nowrap}
.sort-invoice-heading:hover{text-decoration:underline}
.document-compact-heading{margin-bottom:4px!important;min-height:0!important}
.measurements-preview-head{padding:0 0 3px!important;gap:5px!important;justify-content:flex-end}
.measurements-gallery{margin:0 0 8px!important}
.portrait-preview iframe.pdf-preview,.portrait-preview iframe.measurements-main-preview{display:block;width:min(100%,1050px);max-width:100%;height:auto;aspect-ratio:8.5 / 11;min-height:0;border:1px solid #b9c1cc;border-radius:5px;background:white}
.pdf-viewer .viewer-tools{margin:0 0 3px!important;padding:0!important}
.invoice-page-heading{margin:0 0 8px!important}
.invoice-page-heading h1{font-size:26px!important;line-height:1.1;margin:0!important}
.invoice-compact{padding:12px 18px!important}
.invoice-compact-form{gap:7px!important}
.invoice-compact-form>label{margin:0!important;gap:3px!important}
.invoice-compact-form>label>input{min-height:36px!important;padding:6px 9px!important}
.invoice-compact [data-invoice-client-card]{gap:6px 14px!important;grid-template-columns:1fr 1.5fr 1.4fr;align-items:start;padding:4px 0}
.invoice-compact .read-field span{margin-bottom:2px!important}
.invoice-compact .read-field b{font-size:12px!important}
.invoice-items-heading{margin:7px 0 0!important;font-size:19px!important}
.invoice-compact .invoice-entry{padding:7px 9px!important;margin:3px 0 5px!important}
.invoice-compact .invoice-line-number{margin:0 0 4px!important}
.invoice-compact .invoice-line-number button{padding:4px 8px!important}
.invoice-compact .invoice-line-row{grid-template-columns:minmax(65px,10fr) minmax(65px,7fr) minmax(210px,63fr) minmax(98px,14fr) minmax(110px,16fr);align-items:end;gap:7px}
.invoice-compact .invoice-line-row>label{gap:2px!important}
.invoice-compact .invoice-line-row input,.invoice-compact .invoice-line-row textarea{min-height:35px;padding:6px 8px}
.invoice-compact .invoice-line-total{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;margin:0;white-space:nowrap;min-height:35px;padding-bottom:2px}
.invoice-compact .row-buttons{margin:4px 0!important}
.invoice-compact .invoice-price-input{height:35px}
@media(max-width:850px){.invoice-compact [data-invoice-client-card]{grid-template-columns:1fr 1fr}.invoice-compact .invoice-line-row{grid-template-columns:1fr 1fr 2fr}.invoice-compact .invoice-line-total{grid-column:3}}
@media(max-width:550px){.invoice-compact [data-invoice-client-card]{grid-template-columns:1fr}.invoice-compact .invoice-line-row{grid-template-columns:1fr 1fr}.invoice-compact .invoice-line-row>label:nth-child(3){grid-column:1/-1;grid-row:auto}.invoice-compact .invoice-line-total{grid-column:2}}

/* V20: efficient single-row invoice entry and stable invoice columns */
.invoice-job-strip{display:flex;align-items:center;gap:18px;min-width:0;margin:0 0 3px}
.invoice-job-chooser{display:flex!important;align-items:center;flex:0 0 300px;gap:9px!important;min-width:0;font-weight:700}
.invoice-job-chooser>span{white-space:nowrap;font-size:12px}
.invoice-job-chooser>input{min-width:0;flex:1;width:155px;min-height:36px;padding:6px 8px}
.invoice-customer-strip{display:grid;grid-template-columns:minmax(110px,1fr) minmax(170px,1.7fr) minmax(150px,1.2fr);gap:12px;align-items:center;min-width:0;flex:1}
.invoice-customer-strip .read-field{min-width:0;margin:0!important;padding:0!important}
.invoice-customer-strip .read-field span{display:block;font-size:10px!important;white-space:nowrap}
.invoice-customer-strip .read-field b{font-size:12px!important;overflow-wrap:anywhere}
.invoice-lines-head,.invoice-compact .invoice-line-row{display:grid!important;grid-template-columns:20px 18px minmax(55px,9fr) minmax(65px,8fr) minmax(170px,60fr) minmax(105px,13fr) minmax(90px,13fr) 24px!important;column-gap:7px;align-items:center}
.invoice-lines-head{font-size:11px;font-weight:750;padding:0 6px;color:#27334a;white-space:nowrap;margin:4px 0 0}
.invoice-entry{margin:3px 0!important;padding:5px 6px!important}
.invoice-compact .invoice-line-row{gap:7px;align-items:center!important}
.invoice-line-row>label{min-width:0!important;align-self:center!important}
.invoice-line-row>label .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.invoice-line-row .invoice-line-total{display:block!important;text-align:right;margin:0!important;min-height:0!important;padding:0!important;white-space:nowrap;font-size:13px}
.invoice-seq{text-align:center;font-size:12px}
.invoice-grip,.invoice-remove{background:transparent;border:0;color:#647184;cursor:grab;font-size:19px;padding:0;line-height:26px;text-align:center}
.invoice-remove{cursor:pointer;font-size:24px;color:#6e3441}
.invoice-grip:focus-visible,.invoice-remove:focus-visible{outline:2px solid #e5ac39;outline-offset:2px}
.invoice-entry.dragging{opacity:.42}.invoice-entry.drop-target{box-shadow:0 0 0 2px #e5ac39}
.invoice-line-row .units-combo{min-width:0}
.invoice-line-row textarea{min-height:35px!important}
.invoice-line-row [data-line-price]{text-align:right;font-variant-numeric:tabular-nums}
.invoice-line-row .field-error{outline:2px solid #b33d45;outline-offset:0}
.invoice-list-table{table-layout:fixed;width:100%}
.invoice-list-table th,.invoice-list-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.invoice-list-table .sort-invoice-heading{width:100%;text-align:left}
.invoice-list-table .invoice-download{font-size:11px;padding:5px 7px;white-space:nowrap}
@media(max-width:1050px){.invoice-job-strip{flex-wrap:wrap}.invoice-job-chooser{flex:0 0 auto}.invoice-customer-strip{flex:1 1 100%}}
@media(max-width:800px){.invoice-lines-head{display:none!important}.invoice-compact .invoice-line-row{display:grid!important;grid-template-columns:20px 18px 1fr 1fr!important;gap:7px}.invoice-line-row>label:nth-of-type(3){grid-column:3/-1}.invoice-line-row>label:nth-of-type(4){grid-column:3}.invoice-line-total{grid-column:4;text-align:right!important}.invoice-remove{grid-column:4;justify-self:end}.invoice-customer-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V20 PDF viewer styles: external stylesheet, compatible with strict CSP */
html:has(body.invoice-viewer-page),body.invoice-viewer-page{height:100%;margin:0;overflow:hidden;background:#272727;color:#fff;font-family:system-ui,sans-serif}
.invoice-pdf-viewer{height:100dvh;display:flex;flex-direction:column}
.invoice-pdf-toolbar{box-sizing:border-box;display:flex;align-items:center;gap:12px;min-height:44px;padding:7px 15px;background:#232b3c}
.invoice-pdf-toolbar a{color:#fff;background:#3c485d;border:0;border-radius:4px;padding:5px 10px;text-decoration:none;white-space:nowrap;font-size:13px}
.invoice-pdf-toolbar strong{margin-right:auto}
.invoice-pdf-viewer iframe{display:block;width:100%;flex:1;min-height:0;border:0}
/* V21 Job generators */
.generator-panel{min-width:0}.generator-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.generator-title form{margin-left:auto}.generator-pdf{margin:8px 0 20px}.generator-pdf .pdf-preview{display:block;width:100%;height:min(1100px,130vh);min-height:560px;border:1px solid #cbd5e1;border-radius:6px;background:white}
.generator-col-labels,.generator-row{display:grid;grid-template-columns:25px 25px 67px 66px minmax(180px,1fr) 25px;align-items:start;gap:6px}
[data-kind="estimate"] .generator-col-labels,[data-kind="estimate"] .generator-row{grid-template-columns:24px 23px 58px 58px minmax(150px,1fr) 92px 42px 42px 103px 24px}
.generator-col-labels{font-size:11px;font-weight:700;color:#64748b;margin-top:12px;margin-bottom:5px}
.generator-row{padding:7px 0;border-bottom:1px solid #e5e7eb}.generator-row input:not([type=checkbox]),.generator-row textarea{width:100%;min-width:0;padding:8px 5px;box-sizing:border-box;font:inherit}
.generator-row textarea{min-height:37px;resize:vertical}.generator-row input[type=checkbox]{margin:12px 0 0 10px;accent-color:#1b263b}.generator-row .generator-grip{cursor:grab;touch-action:none;font-size:17px;border:0;background:transparent;color:#596779}.generator-row .generator-x{border:0;background:transparent;color:#8c1e28;font-size:23px;cursor:pointer}
/* Floating (viewport-anchored) Unit menu: all eight choices stay visible, no inner scroll. */
.generator-unit-menu{position:fixed;z-index:2500;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:35px;gap:5px;width:168px;box-sizing:border-box;padding:8px;background:#fff;border:1px solid #a3afbe;box-shadow:0 7px 20px #1b263b33;border-radius:7px;overflow:visible}
.generator-unit-menu[hidden]{display:none!important}
.generator-unit-choice{display:flex;align-items:center;justify-content:center;background:#f6f8fa;border:1px solid #e0e5ec;border-radius:4px;cursor:pointer;color:#1b263b;font:600 12px Georgia,serif;padding:0}
.generator-unit-choice:hover,.generator-unit-choice.is-active{background:#f2e7cc;border-color:#e5ac39}
.generator-row .generator-line-total{padding-top:12px;text-align:right;font-size:12px}.generator-row.drop-target{border-top:3px solid #e5ac39}.generator-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:11px 0;flex-wrap:wrap}.generator-tax-setting{display:flex;justify-content:flex-end}.generator-tax-setting label{display:flex;align-items:center;gap:8px}.generator-tax-setting input{width:85px}.generator-history{margin-top:15px;padding:12px;border:1px solid #e5e7eb;border-radius:6px;max-height:380px;overflow:auto}.generator-history-entry{font-size:12px;padding:7px 0;border-bottom:1px solid #ddd;overflow-wrap:anywhere}.generator-panel .error{color:#a11d2c}
@media(max-width:1000px){.generator-panel [data-job-generator]{overflow-x:auto}.generator-row,.generator-col-labels{min-width:610px}[data-kind="estimate"] .generator-col-labels,[data-kind="estimate"] .generator-row{min-width:900px}}

/* V24 generator compact layout, consistent headers and tax-exemption workflow. */
.generator-panel .generator-title{margin-bottom:7px;min-height:38px;padding:0;align-items:center}
.generator-panel .generator-title h2{margin:0}
.generator-panel [data-quick-scope]{display:flex;align-items:center;gap:0}
.generator-panel .generator-file-input{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important}
.generator-panel .generator-tax-setting{margin:2px 0 4px;gap:22px;align-items:center;flex-wrap:wrap}
.generator-panel .generator-tax-setting label{font-size:12px;white-space:nowrap}
.generator-panel .generator-tax-setting input[data-generator-tax]{width:110px;padding:7px 8px;border-radius:5px;border:1px solid #a4aab5;height:35px;background:#fff}
.generator-panel .generator-tax-setting .generator-exempt-label{gap:7px;cursor:pointer}
.generator-panel .generator-tax-setting .generator-exempt-label input{width:16px;height:16px;accent-color:#1b263b}
.generator-panel .generator-locked-help{font-size:12px;text-align:right;color:#844b12;margin:2px 0 6px}
.generator-panel .generator-locked-help[hidden]{display:none}
.generator-panel .generator-col-labels{margin-top:5px;align-items:end}
.generator-panel [data-kind=estimate] .generator-col-labels>span:nth-child(7),
.generator-panel [data-kind=estimate] .generator-col-labels>span:nth-child(8){justify-self:center;text-align:center;width:100%}
.generator-panel [data-kind=estimate] .generator-col-labels>span:nth-child(9){text-align:right;justify-self:end}
.generator-panel [data-kind=estimate] .generator-col-labels>span:nth-child(6){text-align:right}
.generator-panel .generator-row input[type=checkbox]{margin:0;align-self:center;justify-self:center;width:16px;height:16px}
.generator-panel .generator-row .generator-line-total{text-align:right;justify-self:stretch;align-self:center;padding:0;font-variant-numeric:tabular-nums}
.generator-panel .generator-main-actions{display:grid;grid-template-columns:1fr 103px 24px;align-items:center}
.generator-panel .generator-main-actions .generator-total-label{grid-column:2;justify-self:end;text-align:right;white-space:nowrap}
.generator-panel .generator-main-actions .generator-error-status:not([hidden]){grid-column:1/-1}
.generator-panel .generator-error-status[hidden]{display:none}
.generator-panel .generator-end-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}
.generator-panel .generator-doc-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:5px}
.generator-panel .generator-doc-controls form{margin:0}
.generator-panel .generator-delete-button{color:#8c1e28}
.generator-panel .generator-confirm{border:1px solid #d8dee8;border-radius:10px;box-shadow:0 10px 35px #17223755;padding:25px;min-width:min(90vw,385px);background:#fdf9f1;color:#1b263b}
.generator-panel .generator-confirm::backdrop{background:#101b3090}
.generator-panel .generator-confirm p{font-size:15px;font-weight:650;margin:0 0 19px}
.generator-panel .generator-confirm-buttons{display:flex;justify-content:flex-end;gap:9px}
.generator-panel .generator-row input:disabled,.generator-panel .generator-row textarea:disabled{background:#eaeaea;opacity:.75;cursor:not-allowed}
.generator-panel .generator-row .generator-grip:disabled,.generator-panel .generator-row .generator-x:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:1000px){.generator-panel .generator-main-actions{min-width:900px}}
@media(max-width:690px){.generator-panel .generator-tax-setting{justify-content:flex-start;gap:10px}.generator-panel .generator-locked-help{text-align:left}.generator-panel .generator-title{flex-wrap:wrap}}
.generator-panel .generator-main-actions>[data-generator-add]{justify-self:start}

/* V25: Invoice-style editable Unit selector in Estimate only. */
.generator-panel .generator-top-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:auto}
.generator-panel .generator-title .generator-top-actions form{margin:0}
.generator-panel [data-kind=estimate] .generator-invoice-unit{width:100%;min-width:0}
.generator-panel [data-kind=estimate] .generator-invoice-unit input{padding-right:27px;min-height:36px}
.generator-panel [data-kind=estimate] .generator-invoice-unit .unit-toggle{min-width:22px}
.generator-panel [data-kind=estimate] .generator-invoice-unit .unit-choice-menu{max-height:none;overflow:visible;display:flex;flex-direction:column}
.generator-panel [data-kind=estimate] .generator-invoice-unit .unit-choice-menu[hidden]{display:none!important}
.generator-panel [data-kind=estimate] .generator-invoice-unit .unit-choice-menu button{padding:5px 8px}

/* V26 compact uniform tab upload headers and Invoice-style generator units. */
.job-document-panel .job-tab-toolbar,.generator-panel .generator-title{
 display:flex;align-items:center;justify-content:flex-start;gap:10px;
 padding:0;margin:0 0 12px;min-height:31px;
}
.job-document-panel .job-tab-toolbar .count-badge{margin-left:auto}
.job-document-panel .job-inline-upload{background:transparent;border:0;padding:0;margin:0 0 12px;box-shadow:none}
.job-document-panel .job-inline-upload .job-tab-toolbar{margin-bottom:0}
.job-hidden-file-input{position:absolute!important;width:1px!important;height:1px!important;
 overflow:hidden!important;clip-path:inset(50%)!important;opacity:0!important;pointer-events:none!important}
.generator-panel .generator-top-actions{margin-left:0}
.generator-panel .generator-title form{margin-left:0}
.generator-panel [data-job-generator] .generator-invoice-unit{width:100%;min-width:0}
.generator-panel [data-job-generator] .generator-invoice-unit input{padding-right:27px;min-height:36px}
.generator-panel [data-job-generator] .generator-invoice-unit .unit-toggle{min-width:22px}
.generator-panel [data-job-generator] .generator-invoice-unit .unit-choice-menu{max-height:none;overflow:visible;display:flex;flex-direction:column}
.generator-panel [data-job-generator] .generator-invoice-unit .unit-choice-menu[hidden]{display:none!important}
.generator-panel [data-job-generator] .generator-invoice-unit .unit-choice-menu button{padding:5px 8px}

/* V27 unified dark-blue actions, currency inputs, qualifications, and invoice-editor alignment. */
.uniform-action-button{box-sizing:border-box!important;width:170px!important;min-width:170px!important;height:38px!important;min-height:38px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;white-space:nowrap!important;padding:7px 9px!important;background:#1b263b!important;border:1px solid #1b263b!important;color:#fdf9f1!important;border-radius:7px!important;line-height:1.15!important;font-weight:700!important}
.uniform-action-button:hover{background:#283853!important}
.job-archive-control>summary.button.primary{background:#1b263b!important;color:#fdf9f1!important;border-color:#1b263b!important}
.nav-svg{display:inline-flex!important;justify-content:center;align-items:center;width:24px;height:24px;flex:0 0 24px;vertical-align:middle}
.nav-svg svg{display:block;width:20px;height:20px;flex:0 0 20px}
.qualification-tags .qualification-chip{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:29px;padding:5px 12px;line-height:1.3}
.qualification-chip form{margin:0;display:inline-flex;align-items:center;justify-content:center}
.currency-field{position:relative;display:flex;align-items:center;width:100%}
.currency-field>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-weight:700;font-size:15px;pointer-events:none;color:#1b263b}
.currency-field>input{padding-left:26px!important;width:100%;box-sizing:border-box}
.insurance-amount-row{display:flex;align-items:end;gap:12px;margin:12px 0 15px}
.insurance-amount-row label{display:flex;flex-direction:column;gap:6px;font-weight:650;font-size:12px;width:230px}
.insurance-amount-row input{min-height:38px;border:1px solid #aeb7c2;border-radius:6px;background:#fff;color:#1b263b}
[data-insurance-save-status]{min-height:14px}
.change-order-pick{display:flex;align-items:center;justify-content:flex-start;margin:4px 0 12px}
.ledger-entry-panel input[data-cents-first-expense]{font-variant-numeric:tabular-nums}
.invoice-compact{border-radius:12px;padding:16px 20px!important}
.invoice-compact .invoice-lines-head{color:#64748b;font-size:11px;margin:10px 0 5px;padding:0 6px}
.invoice-compact .invoice-entry{background:transparent;border:0;border-bottom:1px solid #e5e7eb;border-radius:0;box-shadow:none;padding:7px 6px!important;margin:0!important}
.invoice-compact .invoice-line-row input,.invoice-compact .invoice-line-row textarea{font:inherit;min-height:37px!important;border-radius:5px}
.invoice-compact .invoice-line-total{text-align:right;font-variant-numeric:tabular-nums}
.invoice-compact .row-buttons{margin:12px 0!important;display:flex;align-items:center;justify-content:space-between}
.invoice-compact [data-invoice-total]{font-variant-numeric:tabular-nums}
.invoice-items-heading{display:none!important}
@media(max-width:510px){.uniform-action-button{width:170px!important;min-width:170px!important}.insurance-amount-row{flex-wrap:wrap}}

/* V27: give Estimate's Unit placeholder enough room beside its dropdown chevron. */
.generator-panel [data-kind="estimate"] .generator-col-labels,
.generator-panel [data-kind="estimate"] .generator-row{grid-template-columns:24px 23px 58px 78px minmax(150px,1fr) 92px 42px 42px 103px 24px}

/* V28: use full available horizontal workspace without squeezing content. */
@media(min-width:801px){.main:has(>.job-compact-header){max-width:none;padding-left:clamp(10px,1.05vw,20px);padding-right:clamp(10px,1.05vw,20px)}.main:has(>.job-compact-header) .surface.pad{padding:clamp(13px,1.35vw,22px)}}
/* Remove only the two redundant Info separators; preserve other drawers/dividers. */
.main .stack>.surface:first-child .read-grid+.edit-drawer{border-top:0;padding-top:0;margin-top:12px}
.main .stack>.surface:first-child .sales-team-summary+.edit-drawer{border-top:0;padding-top:0;margin-top:8px}
.contract-amount-summary{display:flex;justify-content:flex-start;align-items:center;gap:16px;flex-wrap:wrap}
.contract-amount-summary .approved-contract-value{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}
.contract-amount-summary .approved-contract-value strong:last-child{font-size:18px}
.contract-amount-summary>.count-badge{margin-left:auto}
.nav-svg .nav-reference-icon{display:block;width:21px;height:21px;object-fit:contain;filter:invert(1)}
.side-link.active .nav-reference-icon{filter:none}
.insurance-save-error[hidden]{display:none}
/* Estimate materials use the same compact currency-entry control as the Rate. */
.generator-panel [data-kind=estimate] .generator-row,.generator-panel [data-kind=estimate] .generator-col-labels{grid-template-columns:23px 22px 53px 71px minmax(170px,1fr) 90px 110px 38px 38px 100px 23px}
.generator-panel [data-kind=estimate] .generator-col-labels>span:nth-child(7){text-align:right;justify-self:stretch}
.generator-panel [data-kind=estimate] .generator-col-labels>span:nth-child(8),.generator-panel [data-kind=estimate] .generator-col-labels>span:nth-child(9){text-align:center;justify-self:stretch}
.generator-panel [data-kind=estimate] .generator-col-labels>span:nth-child(10){text-align:right;justify-self:stretch}
.generator-panel [data-kind=estimate] .generator-row input[name=materials]{font-variant-numeric:tabular-nums}
.generator-difference-alert{color:#7b4705;background:#fff1cf;border:1px solid #e5ac39;border-radius:6px;padding:9px 12px;font-weight:650;font-size:12px;margin:9px 0 8px}
.generator-difference-alert[hidden]{display:none}
.generator-row .generator-diff-field{background:#fff2bd!important;border:2px solid #d69e29!important;border-radius:4px}
.generator-row .units-combo:has(input.generator-diff-field){outline:2px solid #d69e29;border-radius:5px}
.generator-row.generator-only-row{background:#fff2bd;border-left:3px solid #d69e29;padding-left:3px}
.generator-row .generator-only-note{font-size:10px;color:#814a00;grid-column:3 / -2;font-weight:700}
@media(max-width:1260px){.generator-panel [data-kind=estimate]{overflow-x:auto}.generator-panel [data-kind=estimate] .generator-col-labels,.generator-panel [data-kind=estimate] .generator-row{min-width:950px}}

.tabs-v10 .tab:has(.job-tab-icon){display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px}
.job-tab-icon{width:15px;height:15px;object-fit:contain;display:inline-block}

.generator-unmatched-summary{background:#fff9e8;border:1px solid #e5ac39;border-radius:6px;padding:9px 12px;margin:-4px 0 10px;font-size:11px;color:#754400}
.generator-unmatched-summary[hidden]{display:none}
.generator-unmatched-summary ul{margin:5px 0 0;padding-left:19px}

/* V30: align the Invoice Generator's styling and proportions to Scope/Estimate. */
.invoice-compact{padding:14px 16px!important;border-radius:10px;background:var(--surface,#fff)}
.invoice-compact .invoice-lines-head,
.invoice-compact .invoice-line-row{grid-template-columns:23px 22px 58px 78px minmax(170px,1fr) 105px 100px 23px!important;column-gap:8px!important;align-items:center!important}
.invoice-compact .invoice-lines-head{display:grid!important;font-size:11px!important;font-weight:700!important;color:#64748b;margin:7px 0 4px!important;padding:0 5px!important}
.invoice-compact .invoice-entry{padding:7px 5px!important;margin:0!important;background:transparent;border:0;border-bottom:1px solid #e3e6ea;border-radius:0;box-shadow:none}
.invoice-compact .invoice-line-row input,.invoice-compact .invoice-line-row textarea{
  font-family:Georgia,serif!important;font-size:12px!important;color:#1b263b!important;
  background:#fff!important;min-height:36px!important;height:36px;border:1px solid #acb4c1!important;
  border-radius:5px!important;padding:6px 7px!important;box-sizing:border-box!important
}
.invoice-compact .invoice-line-row textarea{height:auto;min-height:36px!important;resize:vertical}
.invoice-compact .invoice-line-row .units-combo input{padding-right:27px!important}
.invoice-compact .invoice-line-row .unit-toggle{min-width:22px}
.invoice-compact .invoice-line-row [data-line-price]{text-align:right;font-variant-numeric:tabular-nums}
.invoice-compact .invoice-line-total{text-align:right!important;font-size:12px!important;justify-self:stretch!important;font-variant-numeric:tabular-nums}
.invoice-compact .row-buttons{margin:11px 0!important}
.invoice-compact [data-add-line]{background:#f3f4f6;color:#1b263b;border-color:#b7bfcb}
.invoice-compact [data-issue-invoice]{background:#1b263b;color:#fdf9f1;border-color:#1b263b}
@media(max-width:950px){.invoice-compact{overflow-x:auto}.invoice-compact .invoice-lines-head,.invoice-compact .invoice-line-row{min-width:790px}}

/* V30: trim user icon source padding and match adjacent 20px vector glyphs. */
.nav-svg .nav-reference-icon{width:22px;height:22px;max-width:none;object-fit:contain}

/* V30: like the Estimate/Scope primary generate action, do not stretch Invoice's button. */
.invoice-compact [data-issue-invoice]{align-self:flex-start;width:auto!important;min-width:195px;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px}

/* Version 31: consistent Job information actions and Photo Report entrance. */
.job-info-action{width:164px!important;min-height:36px!important;justify-content:center!important;font-size:12px!important;padding:9px 14px!important;line-height:1.2!important}
.report-start-bar{margin:12px 0 18px;display:flex;align-items:center;gap:12px}
[data-custom-damage-row][hidden]{display:none!important}

/* V31 Photo Report Generator */
.pr-page-heading h1{font-size:27px}.pr-section{margin:15px 0}.pr-section .section-title{margin-bottom:18px}.pr-actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0}.pr-actions p{margin:5px 0 0}.pr-action-buttons{display:flex;gap:9px;flex-wrap:wrap}.pr-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.pr-fields>label:first-child,.pr-fields>label:nth-child(2),.pr-cover-summary{grid-column:1/-1}.pr-fields label,.pr-section>label,.pr-other-field,.pr-photo-options label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650}.pr-fields textarea,.pr-fields select,.pr-section textarea,.pr-extra-input input,.pr-photo-options textarea{width:100%;border-radius:7px;border:1px solid rgba(27,38,59,.25);background:#fff;padding:9px 10px;color:#1b263b;font-size:13px;max-width:100%}.pr-fields select{height:39px}.pr-cover-summary{display:flex;align-items:center;gap:16px;border:1px solid var(--border);border-radius:9px;padding:14px;min-height:110px}.pr-company-logo{width:112px;height:auto}.pr-cover-summary p{margin:4px 0}.pr-fixed-text{font-size:12px;line-height:1.7;color:#1b263b}.pr-condition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:column;grid-template-rows:repeat(10,auto);gap:7px 22px}.pr-condition{display:flex;align-items:flex-start;gap:7px;font-size:12px;line-height:1.35;min-height:29px}.pr-condition input{width:15px;height:15px;flex:0 0 15px;accent-color:#1b263b;margin:1px 0 0}.pr-other-field{margin:18px 0}.pr-extra-condition{margin-top:18px;border-top:1px solid var(--border);padding-top:15px}.pr-extra-input{display:flex;gap:9px;margin-top:12px;align-items:center}.pr-extra-input input{flex:1}.pr-custom-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:12px}.pr-custom-row span{flex:1}.pr-photo-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:11px;border:1px solid var(--border);border-radius:9px;padding:12px;max-height:360px;overflow:auto}.pr-library-photo{display:flex;flex-direction:column;gap:6px;min-width:0}.pr-library-photo img{width:100%;height:105px;object-fit:cover;border-radius:5px;background:#e8e8e8}.pr-library-photo small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.pr-library-photo button{align-self:flex-start}.pr-selected-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:23px 0 12px;flex-wrap:wrap}.pr-selected-heading h3{margin:0}.pr-selected-heading p{margin:0}.pr-selected-list{display:flex;flex-direction:column;gap:15px}.pr-photo-card{border:1px solid rgba(27,38,59,.23);border-radius:10px;overflow:hidden;background:#fff}.pr-card-head{display:flex;gap:9px;justify-content:space-between;align-items:center;padding:10px 13px;background:#f2e7cc;cursor:grab;flex-wrap:wrap}.pr-card-head strong{font-size:12px;max-width:410px;word-break:break-word}.pr-card-actions{display:flex;gap:5px;flex-wrap:wrap}.pr-photo-card-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;padding:15px}.pr-image-edit{min-width:0}.pr-image-edit small{display:block;margin-top:9px}.pr-image-wrap{position:relative;width:100%;line-height:0;display:inline-block}.pr-image-wrap img{width:100%;height:auto;display:block;user-select:none;pointer-events:none}.pr-crop-rect{position:absolute;box-sizing:border-box;border:2px solid #e5ac39;outline:1px solid rgba(27,38,59,.7);box-shadow:inset 0 0 0 1px #1b263b;cursor:move;touch-action:none}.pr-crop-handle{position:absolute;right:-7px;bottom:-7px;height:15px;width:15px;border:2px solid #1b263b;background:#e5ac39;cursor:nwse-resize}.pr-photo-options{display:flex;flex-direction:column;gap:13px}.pr-photo-options textarea{min-height:65px}.pr-range-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pr-photo-options input[type=range]{width:100%;accent-color:#1b263b}.pr-photo-options output{display:inline-block;font-size:11px;font-weight:400;color:#1b263b}.pr-photo-options>button{align-self:flex-start}.pr-export-list{display:flex;flex-direction:column}.pr-export-row{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--border);padding:12px 0}.pr-export-row strong,.pr-export-row span{display:block}.pr-export-row span{margin-top:6px}
@media(max-width:900px){.pr-condition-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}.pr-photo-card-body{grid-template-columns:1fr}.pr-image-wrap{max-width:450px}}
@media(max-width:620px){.pr-actions{align-items:flex-start;flex-direction:column}.pr-fields{grid-template-columns:1fr}.pr-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(14,auto)}.pr-extra-input{flex-direction:column;align-items:stretch}.pr-photo-card-body{padding:10px}.pr-cover-summary{flex-wrap:wrap}.pr-export-row{align-items:flex-start;flex-direction:column}}

/* V32: caption popovers do not change the photo tile's dimensions. */
.photo-tile{position:relative}
.photo-caption-editor{position:relative;margin:3px 0;min-height:20px}
.photo-caption-editor[open] form{position:absolute;top:100%;left:0;width:min(280px,calc(100vw - 36px));z-index:18;margin:2px 0 0;padding:8px;background:#fff;box-shadow:0 5px 16px rgba(0,0,0,.24);border:1px solid #aab2bb;border-radius:8px}
.photo-caption-editor textarea{min-height:52px!important;max-height:100px;resize:none;font-size:12px;line-height:1.4}
.photo-caption-summary[hidden]{display:none}
/* Photo Report visual picker, independent annotation manipulation, embedded viewer. */
.pr-fields>.pr-wide-field,.pr-fields>.pr-picker-field{grid-column:1/-1}
.pr-label-title{display:inline!important;line-height:1.4}
.pr-picker-field{min-width:0}
.pr-visual-picker{display:flex;gap:10px;flex-wrap:wrap;max-height:315px;overflow-y:auto;padding:10px;border:1px solid #c5cbd4;border-radius:8px}
.pr-pick-photo{width:133px;padding:6px;display:flex;flex-direction:column;gap:6px;align-items:stretch;border:2px solid transparent;border-radius:8px;background:#f5f6f7}
.pr-pick-photo.selected{border-color:#e5ac39;background:#fff8e7}
.pr-pick-photo small{font-size:10px;word-break:break-word;max-height:29px;overflow:hidden}
.pr-pick-thumb{display:block;width:100%;height:95px;padding:0;border:0;background:#e9edf2;border-radius:6px;cursor:zoom-in;overflow:hidden}
.pr-pick-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pr-preview-modal:not([hidden]){position:fixed;inset:0;background:rgba(0,0,0,.87);display:flex;align-items:center;justify-content:center;z-index:3500;padding:20px}
.pr-preview-inner{display:flex;flex-direction:column;gap:10px;align-items:center;max-width:92vw;max-height:92vh;color:#fff}
.pr-preview-inner img{object-fit:contain;max-width:90vw;max-height:78vh}
.pr-crop-handle{width:16px;height:16px;background:#e5ac39;border:2px solid #1b263b;position:absolute;z-index:5;touch-action:none}
.pr-crop-handle-br{right:-8px;bottom:-8px;cursor:nwse-resize}
.pr-crop-handle-tl{left:-8px;top:-8px;right:auto;bottom:auto;cursor:nwse-resize}
.pr-annotation-layer{position:absolute;inset:0;overflow:visible;width:100%;height:100%;pointer-events:none;touch-action:none}
.pr-annotation-layer [data-ann-index]{pointer-events:all;cursor:move;touch-action:none}
.pr-annotation-layer [data-role="radius"],.pr-annotation-layer [data-role="start"],.pr-annotation-layer [data-role="end"]{cursor:crosshair}
.pr-annotation-actions{margin-top:11px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.pr-annotation-actions label{font-size:12px;display:flex;gap:6px;align-items:center}
.pr-annotation-actions select{border:1px solid #aab2bb;border-radius:6px;padding:6px;background:#fff}
.pr-export-actions{display:flex;gap:8px;flex-wrap:wrap}
.pr-report-viewer{display:block;width:100%;height:calc(100vh - 190px);min-height:640px;border:1px solid #b8c0c9;border-radius:7px;background:#fff}
.pr-condition-grid{grid-auto-flow:column;grid-template-rows:repeat(10,auto)}
@media(max-width:620px){.pr-condition-grid{grid-template-rows:repeat(15,auto)}}

.photo-tile{overflow:visible!important}
.photo-tile:has(.photo-caption-editor[open]){z-index:15}

/* V34 report editor: crop/annotation isolation and stable caption editor */
.pr-annotation-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:7;touch-action:none}
.pr-annotation-layer [data-ann-index]{pointer-events:stroke}
.pr-annotation-layer circle[data-role="radius"],.pr-annotation-layer circle[data-role="start"],.pr-annotation-layer circle[data-role="end"]{pointer-events:all}
.pr-crop-rect{z-index:3}
.pr-crop-handle-tr{top:-8px;right:-8px;bottom:auto;left:auto;cursor:nesw-resize}
.pr-crop-handle-bl{bottom:-8px;left:-8px;top:auto;right:auto;cursor:nesw-resize}
.pr-cover-edit{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:11px;padding:10px 0}
.pr-cover-edit label{display:flex;flex-direction:column;gap:5px}
.pr-cover-edit input{width:100%;height:38px;border:1px solid rgba(27,38,59,.25);border-radius:7px;padding:8px 10px;color:#1b263b;background:#fff}
.pr-caption-view{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pr-caption-view span{max-width:100%;overflow-wrap:anywhere;font-size:12px}
.pr-photo-options [data-caption][hidden]{display:none}
.nav-svg svg{stroke-linecap:round;stroke-linejoin:round}

.insurance-verification{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 0;margin:9px 0 18px}
.insurance-verification>strong{font-size:12px}
.insurance-review-form{display:inline-flex}

/* V35 refinement */
.brand{gap:0}.brand-build-version{display:block;color:#e5ac39!important;font-family:Georgia,serif;font-size:15px!important;font-weight:700;letter-spacing:1.5px!important;margin:0 0 7px!important}
.generator-panel .generator-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.generator-panel .generator-title .generator-difference-alert{margin:0 0 0 auto;max-width:55%;text-align:right;flex:0 1 auto}
.generator-panel .generator-import-gold{background:#e5ac39!important;color:#1b263b!important;border-color:#d7a22a!important;white-space:nowrap}
.generator-panel [data-generator-import],.generator-panel [data-pick-scope]{min-height:33px;height:33px;width:193px;max-width:193px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-size:11px;padding:6px 8px}
.contract-primary-upload .contract-preview-layout{display:flex;flex-direction:column;align-items:flex-start}
.contract-primary-upload .contract-preview-column{width:auto}
.contract-primary-upload .contract-upload-controls{width:min(100%,360px);align-items:flex-start}
.contract-primary-upload .contract-upload-controls label{width:100%}
.insurance-document-previews{display:flex;flex-direction:column;gap:22px;margin-top:20px}
.insurance-document-preview{border:1px solid var(--border);padding:12px;border-radius:8px;min-width:0}
.insurance-document-preview strong{font-size:12px;overflow-wrap:anywhere}
.insurance-preview-frame{width:100%;height:580px;border:1px solid #cdd1d7;background:white}
.insurance-preview-image{display:block;max-width:100%;max-height:650px;object-fit:contain;margin:12px auto}
.pr-fields input[type=date]{height:39px;border:1px solid rgba(27,38,59,.25);border-radius:7px;padding:8px 10px;background:white;color:#1b263b;font:inherit}
.pr-heading-editor{padding:12px;border:1px solid var(--border);border-radius:8px;margin:12px 0 18px}
.pr-heading-editor h4{margin:0 0 9px;font-size:12px}
.pr-heading-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(170px,1fr) auto;gap:8px;margin:8px 0;align-items:center}
.pr-heading-row input,.pr-heading-row select{min-width:0;width:100%;padding:8px;border:1px solid #abb4bd;border-radius:6px;background:white}
.pr-photo-options [data-caption]{display:block!important;min-height:65px}
@media(max-width:650px){.pr-heading-row{grid-template-columns:1fr}.generator-panel .generator-title .generator-difference-alert{max-width:100%;flex-basis:100%}}

/* V36: conditional Photo Report buttons and stable focused RG editing */
.photo-report-tab-button{box-sizing:border-box;min-width:170px;width:170px;height:38px;min-height:38px;display:inline-flex;justify-content:center;align-items:center;padding:7px 9px;text-align:center;font-size:11px;line-height:1.15}
.photo-report-view-gold,.photo-report-view-gold:hover{background:#e5ac39!important;color:#1b263b!important;border-color:#d4a025!important}
.pr-library-photo[hidden],.pr-photo-heading[hidden],.pr-photo-heading [hidden],.pr-card-actions [hidden],.pr-validation-message[hidden]{display:none!important}
.pr-photo-heading{padding:9px 14px;background:#fff9eb;border-bottom:1px solid #ded3bd;display:flex;align-items:center;gap:8px}
.pr-photo-heading strong{font-size:12px;cursor:text;min-height:24px;display:flex;align-items:center}
.pr-photo-heading strong:empty::before{content:'Click to edit heading';color:#646b75;font-weight:400}
.pr-photo-heading input{width:min(100%,520px);border:1px solid #b2b8c1;border-radius:6px;padding:8px 10px;font-size:13px}
.pr-validation-message{color:#88252b;font-size:12px;font-weight:700;max-width:600px}
.pr-invalid{outline:3px solid #b53a3c!important;outline-offset:5px;border-radius:5px;scroll-margin-top:25px}
.pr-annotation-layer circle[data-role="move"],.pr-annotation-layer path[data-role="move"]{pointer-events:all}
.pr-condition-grid{grid-auto-flow:row;grid-template-rows:none}
@media(max-width:620px){.pr-condition-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}}

.pr-card-identity{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.pr-card-identity button[hidden]{display:none!important}

/* V37 RG photo upload, per-photo text editing and report narrative */
.pr-upload-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pr-add-text-panel{margin-top:20px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.pr-add-text-panel [data-pr-summary-text-container]{width:100%}
.pr-add-text-panel label,.pr-photo-text-editor label{display:flex;flex-direction:column;gap:8px;color:#1b263b;font-weight:650;font-size:12px}
.pr-add-text-panel textarea,.pr-photo-text-editor textarea{display:block;width:100%;border-radius:7px;border:1px solid #c8c4bb;padding:11px;font:inherit;line-height:1.5;resize:vertical}
.pr-add-text-panel [data-pr-remove-summary-text]{margin-top:9px}
.pr-photo-text-editor{padding:15px 15px 0;background:#fdf9f1}

/* V38: compact date, selected-only cover/storm picker, separate report-content editor. */
.pr-date-field{width:max-content;max-width:100%}
.pr-date-field input[type=date]{width:190px;max-width:100%;min-width:0}
.pr-pick-photo[hidden],.pr-pick-photo [hidden],.pr-change-photo[hidden]{display:none!important}
.pr-change-photo{margin-top:10px}
.pr-add-content-buttons{display:flex;flex-wrap:wrap;gap:9px}
.pr-add-content-editor{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:13px;max-width:800px}
.pr-add-content-editor[hidden]{display:none!important}
.pr-add-content-editor label{font-size:12px;font-weight:650}
.pr-add-content-editor input,.pr-add-content-editor textarea{box-sizing:border-box;width:100%;border-radius:7px;border:1px solid rgba(27,38,59,.25);padding:9px 10px;background:#fff;color:#1b263b;font-size:13px}
/* Chosen cover/storm photograph is displayed whole, not as a cropped picker thumbnail. */
.pr-library-photo[hidden]{display:none!important}
.pr-visual-picker[data-pr-selected-only="true"] .pr-pick-photo.selected{width:min(420px,100%)}
.pr-visual-picker[data-pr-selected-only="true"] .pr-pick-thumb{height:auto;aspect-ratio:4/3;background:#f4f5f6}
.pr-visual-picker[data-pr-selected-only="true"] .pr-pick-thumb img{object-fit:contain}

/* V43 Photo Report controls */
.pr-annotation-actions [data-thickness-control][hidden]{display:none!important}
.pr-annotation-actions [data-thickness-control] input[type=range]{width:115px;accent-color:#1b263b}
.pr-add-content-editor.pr-v43-section{width:min(100%,800px);border-bottom:1px solid var(--border);padding-bottom:13px}
.pr-add-content-editor.pr-v43-section label{display:flex;flex-direction:column;gap:7px;width:100%}
.pr-photo-options .pr-size-slider{width:100%;max-width:320px}
.pr-photo-options .pr-size-slider input{width:100%}

/* V1.1 follow-up: provide a genuine scrollable zoomed photo-editing canvas. */
.pr-image-viewport{position:relative;display:block;width:100%;max-height:560px;min-height:100px;overflow:auto;overscroll-behavior:contain;border-radius:5px;scrollbar-gutter:stable;background:#f5f5f5}
.pr-image-viewport .pr-image-wrap{flex:none;max-width:none;}

/* v1.4: keep the rotated image beneath the crop frame and SVG annotation overlay. */
.pr-image-viewport .pr-image-wrap{isolation:isolate}
.pr-image-viewport .pr-image-wrap > img{z-index:0}

/* v1.5: show the entire photo and all four crop handles; no internal scrolling. */
.pr-image-viewport{max-height:none;min-height:0;overflow:visible;scrollbar-gutter:auto;padding:12px;box-sizing:border-box;background:#f5f5f5;border-radius:5px}
.pr-image-viewport .pr-image-wrap{max-width:none}
.pr-image-edit{min-width:0}
