:root{--background:#fff;--foreground:#191c20;--primary:#b77f14;--primary-foreground:#111;--border:#e2e5e9;--muted:#f3f4f6;--muted-foreground:#606670;--radius:.65rem;color:#191c20;background:#f5f6f8;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;font-size:16px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,.button{cursor:pointer;background:#fff;border:1px solid #d7dbe1;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:11px 18px;font-weight:600;display:inline-flex}button:hover,.button:hover{filter:brightness(.96)}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #d29a28}.gold{color:#181814;background:#e3ae41;border-color:#e3ae41}.dark{color:#fff;background:#191c20;border-color:#191c20}.muted{color:#636a75}.eyebrow{letter-spacing:.16em;color:#ad7717;font-size:.8rem;font-weight:700}.landing{background:#fff}.public-header,.hero,.intro,.service-grid,.contact,.landing footer{max-width:1200px;margin:auto}.public-header{justify-content:space-between;align-items:center;padding:26px 40px;display:flex}.wordmark{letter-spacing:.08em;font-size:1rem;font-weight:800}.wordmark span{letter-spacing:.3em;color:#a16c10;margin-top:6px;font-size:.65rem;display:block}.admin-link{color:#606670;align-items:center;gap:8px;font-size:.9rem;display:flex}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;padding:55px 40px 75px;display:grid}.hero h1{letter-spacing:-.04em;margin:24px 0;font-family:Georgia,serif;font-size:clamp(2.5rem,4.5vw,4.4rem);font-weight:400;line-height:1.08}.hero h1 em{color:#936417;font-weight:400}.hero p{color:#606670;max-width:480px;margin-bottom:28px;line-height:1.8}.text-link{align-items:center;gap:8px;margin-top:20px;font-size:.9rem;display:flex}.logo-stage img{width:100%;display:block}.intro{border-top:1px solid #e4e4e4;grid-template-columns:1fr 1fr;gap:70px;padding:65px 40px;display:grid}.intro h2,.contact h2{margin:18px 0;font-family:Georgia,serif;font-size:2.5rem;font-weight:400;line-height:1.2}.intro p,.service-grid p{color:#636a75;margin:0 0 15px;line-height:1.8}.service-grid{grid-template-columns:repeat(3,1fr);gap:40px;padding:0 40px 65px;display:grid}.service-grid svg{color:#a67720;width:28px;height:28px}.service-grid h3{margin:18px 0 12px;font-size:1.1rem}.contact{color:#fff;background:#181b1e;justify-content:space-between;align-items:center;gap:30px;padding:50px 40px;display:flex}.contact .eyebrow{color:#e3ae41}.contact p{color:#bbc0c6}.contact-links{gap:22px;display:grid}.contact-links a{overflow-wrap:anywhere;align-items:center;gap:12px;display:flex}.landing footer{color:#636a75;justify-content:space-between;gap:20px;padding:30px 40px;font-size:.85rem;display:flex}.shell{grid-template-columns:235px 1fr;min-height:100vh;display:grid}.sidebar{color:#d1d5db;background:#171a1e;flex-direction:column;gap:25px;height:100vh;padding:25px 20px;display:flex;position:sticky;top:0}.sidebar .brand{color:#fff;align-items:center;gap:10px;font-weight:700;display:flex}.brand img{object-fit:contain;border-radius:50%;width:47px;height:47px}.brand small{color:#dab25f;letter-spacing:.12em;margin-top:5px;font-size:.7rem;display:block}.sidebar nav{gap:7px;display:grid}.sidebar nav button{color:#c7cbd1;background:0 0;border-color:#0000;justify-content:flex-start;font-size:.92rem}.sidebar nav button.active{color:#16191d;background:#e3ae41}.sidebar .bottom{gap:16px;margin-top:auto;font-size:.85rem;display:grid}.workspace{min-width:0;padding:35px 45px}.topline{justify-content:space-between;align-items:center;gap:18px;margin-bottom:28px;display:flex}.topline h1{letter-spacing:-.04em;margin:6px 0;font-size:2rem}.topline p{color:#656d77;margin:0;font-size:.9rem}.actions{flex-wrap:wrap;gap:10px;display:flex}.stats{grid-template-columns:repeat(3,1fr);gap:18px;margin:24px 0;display:grid}.stat,.card{background:#fff;border:1px solid #e0e3e7;border-radius:10px;padding:24px}.stat span{color:#68707a;font-size:.9rem;display:block}.stat strong{margin-top:14px;font-size:1.8rem;font-weight:600;display:block}.panel-title{justify-content:space-between;align-items:center;gap:15px;margin:30px 0 18px;display:flex}.panel-title h2{margin:0;font-size:1.15rem}.empty{text-align:center;background:#fff;border:1px dashed #cdd2d9;border-radius:10px;padding:45px 25px}.empty svg{color:#a88136;margin:0 auto 12px}.empty h3{margin:5px 0 10px}.empty p{color:#68707a;font-size:.95rem;line-height:1.6}.notice{color:#6c501d;background:#fffbef;border:1px solid #e4cd99;border-radius:8px;margin-bottom:20px;padding:14px 18px;font-size:.9rem;line-height:1.5}.error{color:#9d2727;background:#fff0f0;border-color:#eab4b4}.success{color:#286341;background:#eef8f2;border-color:#b8d6c6}.rows{gap:10px;display:grid}.row{text-align:left;background:#fff;border:1px solid #e1e4e8;border-radius:8px;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:20px;font-weight:400;display:flex}.row strong{margin-bottom:6px;font-size:1rem;display:block}.row small{color:#68707a;font-size:.85rem}.row-end{text-align:right}.pill{color:#5a626d;white-space:nowrap;background:#edf0f4;border-radius:20px;padding:5px 10px;font-size:.8rem;display:inline-block}.pill.paid{color:#267248;background:#e5f3eb}.pill.booked{color:#8f6214;background:#fbefd0}.login{background:#171a1e;place-items:center;min-height:100vh;padding:30px;display:grid}.login .card{width:100%;max-width:440px;padding:35px}.login img{width:120px;margin:0 auto 25px;display:block}.login h1{font-size:1.6rem}.login p{color:#68707a;line-height:1.6}.login form{gap:18px;display:grid}.login a{text-align:center;color:#777;margin-top:24px;font-size:.9rem;display:block}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.field{gap:8px;min-width:0;font-size:.9rem;font-weight:600;display:grid}.field input,.field select,.field textarea,input.search{color:#20252a;background:#fff;border:1px solid #cbd0d7;border-radius:6px;width:100%;min-height:45px;padding:12px;font-weight:400}.field textarea{resize:vertical;min-height:85px}.span-2{grid-column:1/-1}.modal-backdrop{z-index:20;background:#10151aa6;justify-content:center;align-items:flex-start;padding:35px 20px;display:flex;position:fixed;inset:0;overflow:auto}.modal{background:#f9fafb;border-radius:12px;width:100%;max-width:720px;padding:28px;box-shadow:0 20px 80px #0003}.modal-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.modal-head h2{margin:0;font-size:1.45rem}.modal-head button{min-width:44px;padding:8px}.modal .actions{justify-content:flex-end;margin-top:25px}.line-item{grid-template-columns:1fr 70px 100px 44px;align-items:end;gap:8px;display:grid}.line-item input{min-width:0}.line-item button{padding:8px}.items{gap:12px;display:grid}.document{background:#fff;border:1px solid #e0e4e9;border-radius:8px;padding:30px}.document-header{justify-content:space-between;gap:25px;display:flex}.document-header img{width:90px;height:90px}.document h3{margin:10px 0;font-size:1.1rem}.document p{color:#626a75;white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;font-size:.9rem;line-height:1.6}.doc-lines{margin-top:25px}.doc-line{border-bottom:1px solid #e7e9ed;justify-content:space-between;gap:20px;padding:12px 0;font-size:.9rem;display:flex}.doc-total{font-size:1.2rem;font-weight:700}.photos{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px;display:grid}.photo{background:#fff;border:1px solid #d7dce2;border-radius:8px;padding:7px;font-size:.8rem;position:relative;overflow:hidden}.photo img{object-fit:cover;border-radius:4px;width:100%;height:110px}.photo label{align-items:center;gap:7px;padding:7px 0;display:flex}.job-details{gap:18px;display:grid}.file-label{cursor:pointer;background:#fff;border:1px dashed #b7bec7;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px;display:inline-flex}.file-label input{max-width:100%;font-size:.9rem}.check{align-items:center;gap:10px;font-size:.95rem;display:flex}.check input{width:18px;height:18px}.settings{max-width:760px}.mobile-brand{display:none}.detail-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}button svg{flex-shrink:0}.loading{text-align:center;color:#68707a;padding:50px}@media (width<=950px){.hero{gap:20px}.hero h1{font-size:3rem}.shell{grid-template-columns:185px 1fr}.sidebar{padding:20px 12px}.workspace{padding:25px}.stats{gap:10px}.stat{padding:18px}.brand img{width:35px;height:35px}.brand{font-size:.8rem}}@media (width<=700px){.public-header{padding:22px}.wordmark{font-size:.8rem}.hero{flex-direction:column-reverse;gap:25px;padding:20px 24px 45px;display:flex}.logo-stage{width:75%;max-width:300px}.hero h1{font-size:2.75rem}.hero-copy{width:100%}.hero p{font-size:1rem}.intro{grid-template-columns:1fr;gap:12px;padding:40px 24px}.intro h2,.contact h2{font-size:2rem}.service-grid{grid-template-columns:1fr;gap:25px;padding:0 24px 40px}.service-grid article{border-top:1px solid #eee;padding-top:25px}.contact{padding:35px 24px;display:block}.contact-links{margin-top:30px;font-size:.9rem}.landing footer{flex-wrap:wrap;padding:25px}.shell{display:block}.sidebar{gap:15px;height:auto;padding:15px;position:static}.sidebar .brand{font-size:1rem}.sidebar .brand img{width:40px;height:40px}.sidebar nav{gap:4px;display:flex;overflow:auto}.sidebar nav button{flex-shrink:0;padding:10px;font-size:.85rem}.sidebar nav svg{width:17px}.sidebar .bottom{display:none}.workspace{padding:22px 16px 45px}.topline{flex-wrap:wrap;align-items:flex-start}.topline h1{font-size:1.8rem}.topline .actions{width:100%}.topline .actions button{flex:1}.stats{gap:7px}.stat{padding:14px 10px}.stat span{font-size:.75rem}.stat strong{font-size:1.3rem}.form-grid,.detail-columns{grid-template-columns:1fr}.span-2{grid-column:auto}.modal-backdrop{padding:12px 8px}.modal,.document{padding:20px 15px}.line-item{grid-template-columns:1fr 65px 85px 38px;gap:5px}.line-item .field:first-child{grid-column:1/-1}.line-item .field:nth-child(2){grid-column:1/2}.line-item button{grid-column:4}.photos{grid-template-columns:repeat(2,1fr)}.row{gap:10px;padding:16px}.row small{font-size:.8rem}.row-end strong{font-size:.9rem}.notice{font-size:.85rem}.login .card{padding:25px}.card{padding:20px}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}img{max-width:100%}.hero>*,.intro>*,.service-grid>*,.contact>*,.public-header>*,.stats>*,.row>*,.doc-line>*,.document-header>*,.detail-columns>*{min-width:0}.field input,.field select,.field textarea,input.search,.file-label input{min-width:0;max-width:100%;font-size:16px}.row,.doc-line,.notice,.card,.contact-links,.landing footer{overflow-wrap:anywhere}.contact-links svg,.admin-link svg{flex-shrink:0}@media (width<=700px){.public-header{flex-wrap:wrap;gap:16px}.hero h1{font-size:clamp(2rem,10vw,2.75rem)}.login{grid-template-columns:minmax(0,1fr);padding:24px 16px}.login .card{min-width:0;padding:24px 20px}.login button{white-space:normal;width:100%}.login form+button{margin-top:16px}.shell,.sidebar,.workspace,.modal,.settings,.file-label{min-width:0;max-width:100%}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat strong{overflow-wrap:anywhere;font-size:clamp(1rem,4.8vw,1.3rem)}.row{flex-wrap:wrap}.row>div:first-child{flex:150px}.row-end{margin-left:auto}.panel-title{flex-wrap:wrap}.actions>*{white-space:normal;max-width:100%}.line-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.line-item .field:first-child{grid-column:1/-1}.line-item .field:nth-child(2){grid-column:1}.line-item .field:nth-child(3){grid-column:2}.line-item button{grid-column:3}.document-header{flex-wrap:wrap;gap:12px}.document-header img{width:65px;height:65px}.photos{grid-template-columns:repeat(2,minmax(0,1fr))}.file-label{flex-wrap:wrap;display:flex}.file-label input{width:100%}.modal-head h2{overflow-wrap:anywhere;min-width:0}}.job-row{background:#fff;border:1px solid #e1e4e8;border-radius:8px;overflow:hidden}.job-row>.row{border:0;border-radius:0}.job-photo-actions{flex-wrap:wrap;gap:10px;padding:0 16px 16px;display:flex}.photo-upload{cursor:pointer;text-align:center;white-space:normal;max-width:100%;position:relative;overflow:hidden}.photo-upload input{opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.photo-upload:focus-within{outline-offset:3px;outline:3px solid #d29a28}.upload-busy{opacity:.55;cursor:wait}@media (width<=700px){.job-photo-actions>*,.job-details .photo-upload{width:100%}}
