*{box-sizing:border-box}body{margin:0;font:15px Segoe UI,Arial;background:#0b0f14;color:#e9eef5}header{display:flex;gap:24px;align-items:center;padding:14px 22px;background:#111821;border-bottom:1px solid #263241;position:sticky;top:0;z-index:5}header b{font-size:20px}header b span{color:#ffb000}nav{display:flex;gap:8px;flex:1}a{color:#cbd7e5;text-decoration:none}nav a,.btn{padding:9px 12px;border-radius:8px;background:#1a2430}.btn{display:inline-block;border:0;color:#10151b;background:#ffb000;font-weight:700;cursor:pointer}.btn.secondary{background:#263241;color:#fff}.user small{color:#92a1b2}main{padding:24px;max-width:1500px;margin:auto}h1{margin-top:0}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat,.panel,.card{background:#121922;border:1px solid #263241;border-radius:12px;padding:16px}.stat strong{display:block;font-size:30px;color:#ffb000}.toolbar{display:flex;gap:10px;align-items:center;margin:14px 0;flex-wrap:wrap}.board{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:12px;overflow:auto}.column{background:#0f151d;border:1px solid #263241;border-radius:12px;padding:10px;min-height:250px}.column h3{margin:4px 4px 10px}.job{background:#18212c;border-left:4px solid #ffb000;border-radius:9px;padding:11px;margin:8px 0}.job.urgent{border-left-color:#ff5f57}.job.low{border-left-color:#63c174}.muted{color:#91a0b0}.tag{display:inline-block;background:#263241;border-radius:999px;padding:3px 7px;font-size:12px;margin:2px}table{width:100%;border-collapse:collapse;background:#121922;border-radius:12px;overflow:hidden}th,td{text-align:left;padding:11px;border-bottom:1px solid #263241}input,select,textarea{width:100%;background:#0d131b;color:#fff;border:1px solid #344253;border-radius:8px;padding:10px}label{display:block;margin:10px 0 5px;color:#b9c5d2}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.full{grid-column:1/-1}.flash{padding:10px;border-radius:8px;background:#15331f;margin:10px 0}.danger{background:#4b2020}.voice{font-size:18px}@media(max-width:900px){.grid{grid-template-columns:1fr 1fr}.board{grid-template-columns:repeat(5,85vw)}header{flex-wrap:wrap}nav{order:3;width:100%;overflow:auto}.formgrid{grid-template-columns:1fr}.user{font-size:12px}}

.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tabs a{background:#1a2430;padding:8px 10px;border-radius:8px}.timeline article{border-left:3px solid #ffb000;padding:10px 14px;margin:12px 0;background:#0f151d;border-radius:0 8px 8px 0}.timeline small{display:block;color:#91a0b0;margin-top:4px}.attachment{padding:10px;margin:8px 0;background:#0f151d;border-radius:8px}.check{width:auto;margin-right:7px}section.panel{margin:16px 0}h2{margin-top:0}
.quick-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;top:0;z-index:5;padding:10px 0;background:#0b1118}.quick-actions .btn{min-height:48px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.photo-card{background:#101923;border:1px solid #2a3848;border-radius:12px;padding:10px}.photo-card img{width:100%;height:150px;object-fit:cover;border-radius:8px}.timeline article{border-left:3px solid #ffad25;padding:10px 14px;margin:12px 0;background:#101923;border-radius:0 10px 10px 0}.timeline article small{display:block;color:#8fa0b3;margin-top:4px}.voicebox{display:flex;gap:8px;align-items:center}.voicebox textarea{flex:1}@media(max-width:700px){header{align-items:flex-start;gap:8px;flex-wrap:wrap}header nav{order:3;width:100%;overflow:auto;white-space:nowrap}.quick-actions{top:0}.formgrid{grid-template-columns:1fr!important}.photo-grid{grid-template-columns:1fr 1fr}.btn{padding:13px 14px}}
.job-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#101720;border:1px solid #263241;border-radius:12px;padding:12px;margin-bottom:10px}.job-summary>div{padding:8px 10px}.job-summary small{display:block;color:#91a0b0;margin-top:4px}.worktabs{display:flex;gap:6px;overflow:auto;margin:12px 0 18px;white-space:nowrap}.worktabs a{padding:10px 13px;background:#17212c;border:1px solid #263241;border-radius:9px}.worktabs a.active{background:#ffb000;color:#10151b;font-weight:700}.section-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.collapsebox{display:none;padding:12px 0 18px}.collapsebox.open{display:block}.inline{display:flex;gap:8px}.inline input{flex:1}.details{display:grid;grid-template-columns:180px 1fr;gap:10px}.details dt{color:#91a0b0}.details dd{margin:0}.compact-form{display:grid;grid-template-columns:1fr 2fr auto auto auto;gap:10px;align-items:end;margin-bottom:18px}.hidden-upload{display:none}.approval-list article,.knowledge-card{background:#0f151d;border:1px solid #263241;border-radius:10px;padding:14px;margin:10px 0}.approval-list small{display:block;color:#91a0b0;margin-top:5px}.knowledge-search{display:grid;grid-template-columns:3fr 1fr 1fr auto;gap:8px}.knowledge-card{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.knowledge-card h3{margin:8px 0}.approval-public{max-width:850px}.approval-actions{display:flex;gap:10px;margin-top:20px}@media(max-width:800px){.job-summary{grid-template-columns:1fr 1fr}.compact-form,.knowledge-search{grid-template-columns:1fr}.knowledge-card{display:block}.knowledge-card .btn{margin-top:10px}.details{grid-template-columns:1fr}.details dt{margin-top:8px}.inline{flex-direction:column}}
.brand{background:transparent!important;padding:0!important;display:flex;align-items:center}.brand-logo{max-height:42px;max-width:230px;object-fit:contain}.settings-logo{max-height:120px;max-width:360px;background:#fff;border-radius:8px;padding:8px}.summary-label{display:block;color:#91a0b0;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.money-positive{font-weight:700}.report-note{font-size:13px;color:#91a0b0}
@media(max-width:700px){.brand-logo{max-height:34px;max-width:180px}}
.client-doc-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:20px 0}.client-doc-head p{text-align:right;line-height:1.5}.job-summary b+small,.job-summary td small,table td small{display:block;color:#91a0b0;margin-top:3px}@media(max-width:700px){.client-doc-head{display:block}.client-doc-head p{text-align:left}}
.reminder-popup{position:fixed;right:18px;top:76px;z-index:50;width:min(430px,calc(100vw - 36px));background:#17212c;border:2px solid #ffb000;border-radius:14px;padding:18px;box-shadow:0 18px 60px #000}.reminder-popup h2{padding-right:30px}.reminder-close{position:absolute;right:10px;top:8px;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.reminder-row{padding:10px 0;border-bottom:1px solid #344253}.reminder-row small{color:#ffb000}

/* v0.6.1 branding patch */
header .brand{display:flex!important;align-items:center!important;justify-content:flex-start;flex:0 0 auto;max-width:190px;height:54px;overflow:hidden;background:transparent!important;padding:0!important}
header .brand .brand-logo{display:block!important;width:auto!important;height:auto!important;max-width:170px!important;max-height:48px!important;object-fit:contain!important;object-position:left center}
.settings-logo{display:block!important;width:auto!important;height:auto!important;max-width:280px!important;max-height:110px!important;object-fit:contain!important;background:#fff;border-radius:8px;padding:8px}
.client-doc-head .brand-logo,.client-doc-head img{width:auto!important;height:auto!important;max-width:220px!important;max-height:100px!important;object-fit:contain!important}
@media(max-width:700px){header .brand{max-width:140px;height:44px}header .brand .brand-logo{max-width:125px!important;max-height:38px!important}.settings-logo{max-width:220px!important;max-height:90px!important}}

/* v0.6.2 login / advertising patch */
.login-page{min-height:100vh;margin:0;background:#0b0f14;color:#e9eef5;display:grid;place-items:center;padding:24px}.login-page main.login-shell{width:min(1050px,100%);padding:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);gap:18px}.login-card{background:#121922;border:1px solid #263241;border-radius:18px;padding:28px;min-width:0}.login-info{display:flex;flex-direction:column}.login-logo{display:block;width:auto;height:auto;max-width:260px;max-height:100px;object-fit:contain;object-position:left center;margin-bottom:18px}.login-wordmark{font-size:28px;margin:0 0 18px}.login-wordmark span{color:#ffb000}.login-info>h2{margin:0 0 12px}.login-contact{line-height:1.55}.login-contact p{margin:7px 0}.login-contact a{color:#e9eef5}.login-form{display:grid;align-items:center}.login-form form{margin-top:18px}.login-submit{width:100%;margin-top:16px;padding:13px}.login-error{background:#4b2020;color:#ffd3d3;border-radius:9px;padding:10px}.login-ad{margin-top:auto;padding-top:20px;border-top:1px solid #2b3745}.login-ad img{display:block;width:100%;height:auto;max-height:230px;object-fit:contain;object-position:left center;border-radius:12px;margin-bottom:12px}.login-ad h3{margin:8px 0}.login-ad p{color:#b9c5d2;line-height:1.5}.ad-preview{margin-top:12px}.ad-preview img{display:block;width:auto;height:auto;max-width:520px;max-height:220px;object-fit:contain;border:1px solid #344253;border-radius:10px;margin-bottom:8px}@media(max-width:760px){.login-page{padding:14px}.login-page main.login-shell{grid-template-columns:1fr}.login-card{padding:20px}.login-logo{max-width:210px;max-height:80px}.login-ad img{max-height:190px}.ad-preview img{max-width:100%;max-height:180px}}


/* v0.6.3 login layout: full-width advertisement above cards */
.login-page{display:block!important;padding:38px 24px!important}
.login-page main.login-shell{width:min(1120px,100%)!important;margin:0 auto!important;padding:0!important;display:block!important}
.login-ad-hero{width:100%;margin:0 0 18px;background:#121922;border:1px solid #263241;border-radius:18px;overflow:hidden;box-shadow:0 14px 38px rgba(0,0,0,.22)}
.login-ad-link{display:block;padding:0!important;background:transparent!important;border-radius:0!important;color:inherit!important}
.login-ad-hero img{display:block;width:100%;height:auto;max-height:390px;object-fit:cover;object-position:center;border:0;margin:0}
.login-ad-copy{padding:16px 20px;border-top:1px solid #263241}
.login-ad-copy h3{margin:0 0 5px}.login-ad-copy p{margin:0;color:#b9c5d2;line-height:1.45}
.login-columns{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:18px;align-items:stretch}
.login-columns .login-card{height:100%}
.login-info{justify-content:center}
.login-form{min-height:100%}
@media(max-width:760px){.login-page{padding:14px!important}.login-ad-hero{margin-bottom:14px;border-radius:14px}.login-ad-hero img{max-height:none;aspect-ratio:auto;object-fit:contain;background:#0b0f14}.login-columns{grid-template-columns:1fr;gap:14px}.login-columns .login-card{height:auto}.login-info{order:1}.login-form{order:2}}

/* v0.6.4 login cosmetics */
.login-ad-hero img{width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:#0b0f14}
.login-columns{align-items:stretch}
.login-columns .login-card{padding:24px 28px}
.login-info{justify-content:center}
.login-form{display:flex;flex-direction:column;justify-content:center}
.login-logo{max-width:130px!important;max-height:120px!important;margin-bottom:14px}
.login-wordmark{font-size:24px;margin-bottom:14px}
.login-contact p{margin:6px 0}
.login-submit{background:#d9272e!important;color:#fff!important;border:0!important}
.login-submit:hover,.login-submit:focus{background:#ef343b!important;color:#fff!important}
@media(max-width:760px){.login-columns .login-card{padding:20px}.login-logo{max-width:115px!important;max-height:105px!important}.login-ad-hero img{max-height:none!important;object-fit:contain!important}}


/* v0.6.5 price list CTA */
.price-list-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:18px;padding:12px 16px;border:1px solid #d9272e;border-radius:10px;background:rgba(217,39,46,.10);color:#fff!important;font-weight:700;text-align:center;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.price-list-btn span{font-size:24px;line-height:16px;margin-left:auto}
.price-list-btn:hover,.price-list-btn:focus{background:#d9272e;border-color:#ef343b;color:#fff!important;transform:translateY(-1px)}
@media(max-width:760px){.price-list-btn{padding:13px 14px}}
