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