/* Shared readable work surfaces; keep the established scenery and cabinet artwork. */
/* Native file selection remains keyboard accessible, without white browser boxes. */
body:is(.admin-page,.portal-page) .cabinet-upload input[type=file]{display:block!important;width:100%!important;max-width:100%;padding:10px 0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#292b22!important;-webkit-text-fill-color:#292b22!important;font:600 16px/1.5 Georgia,serif!important}
body:is(.admin-page,.portal-page) .cabinet-upload input[type=file]::file-selector-button{background:transparent;border:0;border-radius:0;box-shadow:none;color:#292b22;font:700 17px/1.4 Georgia,serif;padding:10px 12px 10px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
body:is(.admin-page,.portal-page) .cabinet-upload :is(summary,label,button){font-family:Georgia,serif!important;color:#292b22!important;-webkit-text-fill-color:#292b22!important;letter-spacing:normal!important;text-shadow:none!important}
.upload-options>summary{cursor:pointer;min-height:44px;padding:10px 0;box-sizing:border-box;font-weight:700}
.upload-options[open]{margin-bottom:18px}.upload-selection:empty{display:none}
body:is(.admin-page,.portal-page) .cabinet-upload>form{padding:12px 0!important;margin:12px auto 24px!important;max-width:680px}
body:is(.admin-page,.portal-page) .cabinet-upload button[type=submit]{font:700 17px/1.4 Georgia,serif!important}
.cabinet-upload[open]>form{animation:unroll-drawer .2s ease-out}
@media(prefers-reduced-motion:reduce){.cabinet-upload[open]>form{animation:none}}
/* Decorative containers are transparent; actual inputs retain their readable surfaces. */
body:is(.admin-page,.portal-page) main :is(.card,.panel,.stat,.jobsite-status,.desk-help,.file-sharing,.completed-projects){background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important}
/* File actions must never compete with a filename for horizontal space. */
body:is(.admin-page,.portal-page) #files li{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important;align-items:start!important;min-width:0;max-width:100%;box-sizing:border-box}
body:is(.admin-page,.portal-page) #files li>*{min-width:0;max-width:100%;box-sizing:border-box;white-space:normal;word-break:normal;overflow-wrap:anywhere}
body:is(.admin-page,.portal-page) #files li>a{display:block;width:100%;line-height:1.5}
body:is(.admin-page,.portal-page) #files .file-sharing{width:100%;margin:4px 0}
body:is(.admin-page,.portal-page) #files .file-sharing :is(input,select){width:100%;min-width:0}
body:is(.admin-page,.portal-page) #files :is(button,summary){white-space:normal;word-break:normal;overflow-wrap:break-word;height:auto;line-height:1.4}
body:is(.admin-page,.portal-page) #files button{justify-self:start}
body.admin-page #access-list .record-row{flex-wrap:wrap;min-width:0;gap:12px}
body.admin-page #access-list .record-row>:is(span,.open-job){flex:1 1 220px;min-width:0;overflow-wrap:anywhere}
body:is(.admin-page,.portal-page) :is(.status,.note){max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:600px){body.admin-page #access-list .record-row{display:grid!important;grid-template-columns:minmax(0,1fr)}body.admin-page #access-list .record-row>*{min-width:0;max-width:100%;justify-self:start;white-space:normal}}
body #inquiry{box-sizing:border-box;width:min(660px,calc(100vw - 28px));max-height:calc(100dvh - 32px);padding:65px clamp(24px,5vw,58px);border:0!important;border-radius:0!important;background:#eee1c2 url('media/brand/jobsite-plan-sheet-v1.png') center/100% 100% no-repeat!important;box-shadow:0 12px 32px #1c140b66!important;color:#27291f!important;overflow:auto}
body #inquiry::backdrop{background:#19160ed9;backdrop-filter:blur(5px)}
body #inquiry{isolation:isolate;background:none!important;box-shadow:none!important}
body #inquiry::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border:65px solid transparent;border-left-width:20px;border-right-width:20px;border-image:url('media/brand/jobsite-plan-sheet-v1.png') 145 55 fill / 65px 20px / 0 stretch;clip-path:polygon(2% 0,98% 0,100% 3%,98% 12%,99% 55%,98% 89%,100% 98%,98% 100%,2% 100%,0 98%,2% 89%,1% 55%,2% 12%,0 3%)}
body #inquiry :is(h2,p,label,summary,a,.close){color:#27291f!important;-webkit-text-fill-color:#27291f!important;text-shadow:none!important;background-image:none!important;filter:none!important}
body #inquiry h2{font:700 clamp(27px,5vw,40px)/1.15 Georgia,serif!important;letter-spacing:0!important}
body #inquiry .close{top:15px;right:18px;min-width:44px;min-height:44px}
body #inquiry :is(input,textarea){color:#27291f!important;-webkit-text-fill-color:#27291f!important;background:#fff9e755!important;font-size:16px!important}
body #inquiry :is(button[type="submit"],button[type="submit"] span){color:#27291f!important;-webkit-text-fill-color:#27291f!important;background-image:none!important;text-shadow:none!important;filter:none!important}
body:is(.portal-page,.admin-page) :is(.member-jobsite,.jobsite-workspace){isolation:isolate;background:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;padding:75px clamp(26px,5vw,58px)!important;box-sizing:border-box;min-width:0}
body:is(.portal-page,.admin-page) :is(.member-jobsite,.jobsite-workspace)::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border:65px solid transparent;border-left-width:20px;border-right-width:20px;border-image:url('media/brand/jobsite-plan-sheet-v1.png') 145 55 fill / 65px 20px / 0 stretch}
body:is(.portal-page,.admin-page) .jobsite-card{background:none!important;box-shadow:none!important;border:0!important;border-bottom:1px solid #78624255!important;padding:20px 0!important;overflow-wrap:anywhere}
body:is(.portal-page,.admin-page) .jobsite-tabs button{background:none!important;border:0!important;color:#343a2b!important;-webkit-text-fill-color:#343a2b!important;border-bottom:2px solid transparent!important;padding:10px 8px!important;min-height:44px}
body:is(.portal-page,.admin-page) .jobsite-tabs button[aria-pressed=true]{border-bottom-color:#82522f!important;text-decoration:underline;text-underline-offset:5px}
body:is(.portal-page,.admin-page) :is(.jobsite-form,.jobsite-empty){background:none!important;border:0!important;box-shadow:none!important;padding-inline:0!important}
body:is(.portal-page,.admin-page) :is(.jobsite-heading,.jobsite-filter,.jobsite-meta){min-width:0;overflow-wrap:anywhere}
body:is(.portal-page,.admin-page) .jobsite-heading>label{min-width:0;max-width:100%}
body:is(.portal-page,.admin-page) .jobsite-heading{display:grid;grid-template-columns:1fr;gap:14px}
body:is(.portal-page,.admin-page) .jobsite-filter label{display:grid;grid-template-columns:auto minmax(130px,1fr);width:100%;gap:12px;align-items:center;white-space:nowrap}
body:is(.portal-page,.admin-page) .jobsite-tabs{flex-wrap:wrap;overflow:visible}
body:is(.portal-page,.admin-page) :is(input,select,textarea){max-width:100%;box-sizing:border-box}
@media(max-width:600px){body:is(.portal-page,.admin-page) :is(input,select,textarea){font-size:16px!important}body:is(.portal-page,.admin-page) :is(.member-jobsite,.jobsite-workspace){padding:58px 22px!important;margin-inline:0!important}body:is(.portal-page,.admin-page) :is(.member-jobsite,.jobsite-workspace)::before{border-image-width:48px 12px}body:is(.portal-page,.admin-page) .jobsite-filter{justify-content:flex-start}body:is(.portal-page,.admin-page) .jobsite-filter label{flex-wrap:wrap}}
/* Plain, readable actions on the plan sheet—not solid rectangular cards. */
body:is(.admin-page,.portal-page) main :is(form button,#files button,.jobsite-card button){background:transparent!important;background-image:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#292b22!important;-webkit-text-fill-color:#292b22!important;text-shadow:none!important;text-decoration:underline;text-underline-offset:4px;min-height:44px;cursor:pointer}
body:is(.admin-page,.portal-page) main :is(form button,#files button,.jobsite-card button):focus-visible{outline:2px solid #705139!important;outline-offset:3px}
