:root{--ink:#172127;--orange:#ff7900;--dark:#12191e;--paper:#f3f4f3;--line:#d9ddde}*{box-sizing:border-box}body{margin:0;font:15px/1.6 Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}a{text-decoration:none;color:inherit}h1,h2,p{margin:0 0 14px}h1{font-size:clamp(32px,4vw,52px);line-height:1.1;letter-spacing:-.03em}h2{font-size:22px}button,input,textarea,select{font:inherit}.wrap{max-width:1130px;margin:auto;padding:0 22px}.header{background:var(--dark);box-shadow:0 2px 15px #0003}.nav{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.logo{width:220px;display:block}.nav nav{display:flex;gap:22px;flex-wrap:wrap;color:white;font-weight:700;font-size:13px;text-transform:uppercase}.nav a:hover,.orange{color:#d65d00}.nav nav a:hover{color:var(--orange)}.content{min-height:70vh;padding-top:36px;padding-bottom:70px}.hero{background:#1a262d;color:white;padding:47px;border-top:5px solid var(--orange);margin:0 0 26px}.hero p{max-width:760px;color:#d6e0e4}.kicker{text-transform:uppercase;letter-spacing:.15em;color:var(--orange);font-size:12px;font-weight:800}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.btn{background:var(--orange);border:none;border-radius:3px;color:white;padding:12px 18px;font-weight:800;cursor:pointer;display:inline-block}.btn:hover{background:#d96100}.btn.ghost{background:transparent;border:1px solid #abb7bf}.btn.ghost-dark{background:#26343e}.btn.muted{background:#45525b}.panel{background:white;border:1px solid var(--line);padding:26px;border-radius:5px;margin-bottom:18px;box-shadow:0 3px 15px #0d1d2208}.narrow{max-width:620px;margin:20px auto}.wide{max-width:940px;margin:20px auto}.form{display:grid;gap:18px;margin-top:20px}.form label,.filter label{font-weight:700;font-size:14px;display:block}.form label input:not([type=checkbox]),.form label select,.form label textarea,.filter input,.filter select{width:100%;display:block;margin-top:6px;border:1px solid #bfc8ce;border-radius:4px;padding:11px;background:white;color:#172127}.form textarea{resize:vertical}.filter{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:15px;align-items:end}.filter button{margin-bottom:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.listing{border-top:4px solid var(--orange)}.sub{color:#61707a;font-size:13px}.pill{background:#fff0df;color:#a04c00;padding:5px 9px;display:inline-block;border-radius:3px;font-weight:800;font-size:11px;text-transform:uppercase}.notice{background:#fff4e5;border:1px solid #edcb9f;padding:13px;margin-bottom:20px;border-radius:4px}.notice.error{background:#ffebeb;border-color:#edb5b5}.notice.success{background:#e9f9ee;border-color:#aadabc}.multiline{white-space:pre-line;overflow-wrap:anywhere}.checks{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}.checks label,.checkbox{font-weight:400!important}.status{padding:12px;background:#fff4e5;margin:18px 0}.admincard{border-left:4px solid var(--orange)}.linkbutton{border:0;background:none;color:#a85300;text-decoration:underline;padding:8px 0;cursor:pointer}footer{background:#12191e;color:#b7c3c9;padding:30px 0;margin-top:20px}footer a{color:var(--orange)}@media(max-width:820px){.filter{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:550px){.hero{padding:26px}.filter,.checks{grid-template-columns:1fr}.nav{padding-top:15px;padding-bottom:15px}.logo{width:185px}}

/* Keep user-supplied company names and descriptions inside listing cards. */
.grid > *, .listing, .panel {min-width:0}
.listing p, .listing h2, .panel .multiline, .admincard p {overflow-wrap:anywhere;word-break:normal}
.contractor-logo {width:90px;height:90px;max-width:100%;object-fit:contain;background:#fff;border:1px solid #e5e9ec;border-radius:6px;padding:6px;flex:none}
.contractor-listing-heading {display:flex;align-items:center;gap:14px;min-width:0}
.contractor-listing-heading > div {min-width:0}
.logo-help{font-size:12px;color:#66737b}
.description-count{font-size:12px;color:#66737b;display:block;margin-top:3px}

/* Contractor admin submission comparison */
.review-table{border:1px solid #d9ddde;border-radius:5px;overflow:hidden;margin:12px 0 24px}
.review-row{padding:14px;border-bottom:1px solid #d9ddde;overflow-wrap:anywhere}
.review-row:last-child{border-bottom:0}
.review-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:10px 0 16px}
.review-comparison>div{min-width:0;border:1px solid #d9ddde;background:#f9faf9;padding:13px;border-radius:5px}
.review-label{display:block;color:#52626c;font-size:12px;text-transform:uppercase;font-weight:800;margin-bottom:7px}
.review-value{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.review-images img{display:block;max-width:100%;width:260px;height:180px;object-fit:contain;background:white;border:1px solid #cbd3d8;border-radius:4px;padding:8px}
@media(max-width:650px){.review-comparison{grid-template-columns:1fr}}

/* Toronto Welders unified stacked account forms (2026-10). */
.auth-card {width:100%;max-width:480px;margin:22px auto 38px;padding:32px 34px;overflow-wrap:anywhere;}
.auth-card h1 {font-size:clamp(28px,3.8vw,38px);line-height:1.14;margin:8px 0 18px;}
.auth-card > p {line-height:1.55;}
.auth-card form {display:flex;flex-direction:column;align-items:stretch;gap:18px;margin:23px 0 18px;width:100%;min-width:0;}
.auth-card form > label {display:block;width:100%;min-width:0;font-size:14px;font-weight:700;line-height:1.4;}
.auth-card form > label > input:not([type=checkbox]),
.auth-card form > label > select,
.auth-card form > label > textarea {display:block;width:100%;min-width:0;max-width:100%;margin:8px 0 0;padding:12px 13px;min-height:46px;background:#fff;border:1px solid #b9c4ca;border-radius:5px;color:#172127;font:inherit;box-sizing:border-box;}
.auth-card form input:focus-visible {outline:3px solid #ff790055;border-color:#cc6100;}
.auth-card form > .btn, .auth-card form > button {display:block;width:100%;min-height:48px;text-align:center;margin:5px 0 0;}
.auth-card form > input[type=hidden]{display:none;}
.auth-card a:not(.btn){color:#aa4c00;text-decoration:underline;text-underline-offset:2px;}
@media(max-width:560px){.auth-card{padding:24px 20px;margin:8px auto 24px}.auth-card h1{font-size:30px;}}

/* Welder profile and private ticket manager */
.tw-welder-profile{max-width:760px;margin:20px auto;padding:30px;min-width:0}
.tw-welder-profile h1{font-size:clamp(28px,4vw,40px)}
.tw-welder-profile h2{margin:12px 0 10px}
.tw-profile-form{display:flex;flex-direction:column;gap:17px;align-items:stretch;max-width:550px}
.tw-profile-form>label{display:block;font-size:14px;font-weight:700;width:100%;min-width:0}
.tw-profile-form>label>input,.tw-profile-form>label>textarea,.tw-profile-form>label>select{display:block;width:100%;max-width:100%;margin-top:7px;min-height:43px;padding:11px;border:1px solid #bbc4cb;border-radius:5px;background:#fff;color:#172127;box-sizing:border-box}
.tw-profile-form textarea{resize:vertical}
.tw-profile-form .btn{width:100%;max-width:550px;min-height:47px}
.tw-ticket-form{display:flex;flex-direction:column;gap:18px}
.tw-ticket-fieldset{border:1px solid #d9ddde;border-radius:6px;padding:16px;min-width:0}
.tw-ticket-fieldset legend{font-weight:800;padding:0 6px}
.tw-ticket-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tw-ticket-option{display:flex;align-items:start;gap:10px;line-height:1.4;overflow-wrap:anywhere;cursor:pointer}
.tw-ticket-option input{margin-top:4px;flex:none;width:18px;height:18px;accent-color:#ff7900}
.tw-ticket-form>.btn{max-width:550px}
.tw-doc-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:15px 0;border-bottom:1px solid #d9ddde;overflow-wrap:anywhere}
.tw-doc-row>div:first-child{min-width:0}
.tw-doc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tw-doc-actions .btn{white-space:nowrap}
.tw-welder-profile button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:650px){.tw-ticket-checks{grid-template-columns:1fr}.tw-doc-row{align-items:start;flex-direction:column}.tw-welder-profile{padding:20px}}

/* Welder profile V2: readable 3-column ticket cards and detailed records */
.tw-welder-profile{max-width:980px}
.tw-ticket-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tw-ticket-option{background:#f7f9fa;border:1px solid #dde4e7;border-radius:7px;padding:13px;min-height:64px;align-items:center}
.tw-ticket-option input{margin-top:0}
.tw-v2-record-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0 28px}
.tw-v2-record-form label{font-weight:700;font-size:14px;display:block;min-width:0}
.tw-v2-record-form label>input,.tw-v2-record-form label>select{display:block;width:100%;padding:11px;min-height:44px;margin-top:6px;border:1px solid #b9c4ca;border-radius:5px;background:white}
.tw-v2-span{grid-column:1/-1}.tw-v2-record{padding:17px;margin:12px 0;border:1px solid #dce3e7;background:#f8f9f9;border-radius:7px}
.tw-v2-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.tw-v2-upload{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tw-v2-upload input{max-width:270px}
@media(max-width:780px){.tw-ticket-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.tw-ticket-checks,.tw-v2-record-form{grid-template-columns:1fr}.tw-v2-span{grid-column:auto}}

/* V2 welding ticket attachment: full-width field, consistent with other form controls. */
.tw-v2-record-form label>input[type=file]{box-sizing:border-box;max-width:100%;height:auto;padding:10px}
.tw-v2-record-form label>small{display:block;margin-top:6px;font-weight:400;color:#52616b}

/* V3: welder home + mobile-business workflows, scoped */
.tw-v3 .tw-v3-links,.tw-v3 .tw-v3-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.tw-v3 .tw-v3-stats>div,.tw-v3 .tw-v3-section,.tw-v3 .tw-v3-document{border:1px solid #ddd;border-radius:12px;padding:14px;margin:10px 0}.tw-v3 .tw-v3-stats strong{display:block;font-size:28px}.tw-v3 .tw-v3-stats span{display:block;font-size:13px}.tw-v3 .tw-v3-document{display:flex;justify-content:space-between;align-items:center;gap:15px}.tw-v3 .tw-v3-document p{margin:4px 0}.tw-v3 .tw-v3-choice,.tw-v3 .tw-v3-upload,.tw-v3 .tw-v3-form{display:grid;gap:14px;max-width:670px}.tw-v3 .tw-v3-choice label{display:flex;align-items:center;gap:9px}.tw-v3 .tw-v3-choice input{width:auto}.tw-v3 .tw-v3-form label{display:grid;gap:7px}.tw-v3 .tw-v3-form input,.tw-v3 .tw-v3-form textarea,.tw-v3 .tw-v3-form select{max-width:100%;box-sizing:border-box}.tw-v3 details{margin:24px 0}.tw-v3 .sub{overflow-wrap:anywhere}@media(max-width:650px){.tw-v3 .tw-v3-links,.tw-v3 .tw-v3-stats{grid-template-columns:1fr}.tw-v3 .tw-v3-document{align-items:flex-start;flex-direction:column}}

/* V3.1 branding and responsive work-type cards */
.tw-v4-workcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 14px}
.tw-v4-workcard{min-width:0;display:flex;align-items:center;gap:18px;padding:23px 18px;border:2px solid #d8dfe3;border-radius:12px;background:white;cursor:pointer;transition:border-color .15s,background .15s;line-height:1.3}
.tw-v4-workcard:has(input:checked){border-color:#ff7900;background:#fff6ed}
.tw-v4-workcard:focus-within{outline:3px solid #ffa54b;outline-offset:2px}
.tw-v4-workcard input{width:23px;height:23px;flex:none;accent-color:#ff7900;margin:0}
.tw-v4-workcard strong{display:block;font-size:17px;line-height:1.3}
.tw-v4-workcard small{display:block;color:#61707a;margin-top:6px;font-size:13px}
.tw-v4-workicon{display:inline-flex;font-size:33px;align-items:center;justify-content:center;width:44px;color:#ef7900;flex:none}
.tw-v4-workform>.btn{margin:5px 0 16px}
.tw-v4-colors{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tw-v4-colors input[type=color]{height:52px;padding:4px;cursor:pointer}
.tw-v4-branding{margin:24px 0;padding:20px;border:1px solid #dee5e9;border-radius:10px}
.tw-v4-logo-preview{width:120px;height:110px;object-fit:contain;border:1px solid #dde2e6;padding:10px;border-radius:8px;margin:10px 0;background:white}
.tw-v4-listing-preview,.tw-v4-public-listing{padding:18px;margin:14px 0;border:1px solid #dde4e9;border-top:5px solid var(--brand-primary,#ff7900);border-radius:10px;background:#fff;overflow-wrap:anywhere}
.tw-v4-listing-heading{display:flex;align-items:center;gap:18px;min-width:0;margin-bottom:12px}
.tw-v4-listing-heading img{height:90px;width:100px;object-fit:contain;background:#fff;border:1px solid #e2e7ea;border-radius:8px;padding:8px;flex:none}
.tw-v4-listing-heading strong,.tw-v4-listing-heading h2{display:block;color:var(--brand-secondary,#172127);margin:0;font-size:23px}
.tw-v4-listing-heading small{color:#64717b;display:block;margin-top:6px}
.tw-v4-public-listing h2 a{color:inherit}
@media(max-width:660px){.tw-v4-workcards,.tw-v4-colors{grid-template-columns:1fr}.tw-v4-workcard{padding:17px}.tw-v4-listing-heading img{width:74px;height:74px}}

/* Timesheets: primary dashboard destination, work-type SVGs unchanged */
.tw-timesheet-feature{display:flex;align-items:center;gap:18px;text-decoration:none;color:#172127;background:#fff7f0;border:2px solid #ff7900;border-radius:13px;padding:19px 20px;margin:17px 0 20px;transition:box-shadow .15s,background .15s}
.tw-timesheet-feature:hover,.tw-timesheet-feature:focus-visible{background:#fff0df;box-shadow:0 3px 16px rgba(255,121,0,.12)}
.tw-timesheet-feature:focus-visible{outline:3px solid #172127;outline-offset:3px}
.tw-timesheet-feature-icon{flex:none;color:#ff7900;background:white;border:1px solid #ffd1a1;border-radius:12px;display:flex;align-items:center;justify-content:center;width:71px;height:71px}
.tw-timesheet-feature-copy{flex:1;min-width:0;display:block}
.tw-timesheet-feature-copy strong{font-size:24px;display:block;line-height:1.2;color:#172127}
.tw-timesheet-feature-copy small{display:block;font-size:14px;color:#566875;margin-top:7px}
.tw-timesheet-feature-action{background:#ff7900;border-radius:7px;padding:12px 15px;color:white;font-weight:700;font-size:14px;text-align:center;flex:none}
@media(max-width:690px){.tw-timesheet-feature{flex-wrap:wrap;gap:12px;padding:15px}.tw-timesheet-feature-icon{height:58px;width:58px}.tw-timesheet-feature-icon svg{height:37px;width:37px}.tw-timesheet-feature-copy strong{font-size:20px}.tw-timesheet-feature-action{width:100%;box-sizing:border-box}}
