:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#223d35;background:#f5f5f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;border:0;border-radius:8px;padding:12px 17px;background:#eaf0e9;color:#174b40;font-weight:600}button:hover{filter:brightness(.96)}button.primary{background:#174b40;color:white}button.ghost{background:transparent}button:disabled{opacity:.45;cursor:default}a{color:#174b40}header{height:84px;border-bottom:1px solid #dce1d7;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{display:flex;align-items:center;gap:12px}.mark{background:#174b40;color:#f5e9cb;font-family:Georgia,serif;font-size:32px;padding:4px 14px;border-radius:10px}.brand strong{letter-spacing:3px;font-size:17px}.brand small{display:block;letter-spacing:.8px;color:#778379;margin-top:4px;font-size:10px}.connection{font-size:12px;color:#617067}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#569477;margin-right:6px}nav{display:flex;gap:6px}nav button.active{background:#174b40;color:#fff}main{max-width:1400px;margin:0 auto;padding:35px 5vw 70px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;color:#768274}h1{font:normal 34px Georgia,serif;margin:8px 0}p{color:#738074;line-height:1.6;font-size:13px;margin:8px 0}.badge{font-size:11px;border:1px solid #d6dfd0;border-radius:20px;padding:7px 12px;white-space:nowrap}.workspace{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:28px;align-items:start}.panel{background:white;border:1px solid #dfe4d9;border-radius:12px;margin-bottom:18px;padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.section-title h2{font-size:16px;margin:0}.step{font-size:11px;color:#82917c;margin-right:9px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:11px;letter-spacing:.15px;font-weight:600;color:#63735f}label span{font-weight:400;color:#929b8d}input,select{width:100%;padding:12px 10px;background:#fcfcf9;border:1px solid #dce2d5;border-radius:6px;margin-top:7px;color:#253d34;min-width:0}input:focus,select:focus{outline:2px solid #a4bba0;outline-offset:1px}.wide{grid-column:1/-1}.measure{border-top:1px solid #e5e8de;padding-top:20px;margin-top:20px}.measure:first-of-type{border:0;margin-top:0;padding-top:0}.measure-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:12px}.numbers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:16px;background:#f4f6ee;border-radius:8px;margin:16px 0}.numbers input,.numbers select{background:white}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.chip{font-size:11px;padding:8px 10px;border:1px solid #dfe5d8;background:white}.chip.selected{background:#e3ecdd;border-color:#a8b99e}.add{width:100%;background:white;border:1px dashed #a5b39b;margin-top:18px}.aside{position:sticky;top:20px}.preview-head{display:flex;justify-content:space-between;align-items:center;padding:0 2px 15px}.preview-head strong{font-size:12px}.paper{background:#fff;padding:30px;min-height:400px;box-shadow:0 5px 22px #233f3310;color:#202520}.paper h3{font-size:18px;margin:0 0 7px}.paper p{font-size:12px;color:#60675e;margin:4px 0;overflow-wrap:anywhere}.paper hr{border:0;border-top:1px solid #e6e8e2;margin:22px 0}.note-room{font-size:14px;margin:20px 0 7px}.note-line{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.paper-footer{font-size:9px;color:#9b9d95;letter-spacing:1px;margin-top:35px}.actions{display:flex;gap:10px;margin-top:18px}.actions button{flex:1}.notice{padding:13px 15px;background:#f1f3e9;border-radius:7px;font-size:11px;line-height:1.7;color:#68765f;margin-top:16px}.errors{color:#a13928;background:#fff0eb;padding:14px;font-size:12px;border-radius:8px;margin-bottom:16px}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:12px;margin:22px 0}.record{display:flex;align-items:center;justify-content:space-between;gap:15px}.record strong{display:block;font-size:16px}.record small{color:#829079;font-size:12px}.empty{text-align:center;padding:70px 20px}#toast:not(:empty){position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:#203f34;color:#fff;padding:14px 20px;border-radius:9px;box-shadow:0 5px 25px #0002;max-width:90vw;font-size:13px;z-index:10}.option-row{display:flex;gap:9px;align-items:center;margin:8px 0}.option-row input{margin:0}.help{max-width:760px}.help h2{font:24px Georgia,serif}.help li{font-size:13px;line-height:1.8;color:#67745f}.link-button{font-size:12px}.mobile-note{font-size:10px;color:#819078;margin-top:10px}@media(max-width:850px){header{height:auto;min-height:80px;padding:16px 5vw;flex-wrap:wrap;gap:14px}.connection{display:none}nav{width:100%;border-top:1px solid #eee;padding-top:10px}nav button{flex:1;font-size:12px;padding:10px}main{padding-top:24px}.workspace{grid-template-columns:1fr}.aside{position:static}.intro{align-items:flex-start}h1{font-size:29px}.panel{padding:20px}.filters{grid-template-columns:1fr 1fr}.filters input:first-child{grid-column:1/-1}.paper{min-height:300px}.record{flex-wrap:wrap}.badge{font-size:10px}.grid{gap:12px}.numbers{padding:12px;gap:8px}.numbers label{font-size:10px}.brand small{font-size:9px}}@media print{header,.editor,.intro,.preview-head,.actions,.notice,.mobile-note{display:none}.workspace{display:block}.paper{box-shadow:none}.aside{position:static}}
.login-page{max-width:500px;padding-top:65px}.login-page h1{font-size:36px}.login-page form{margin-top:28px}.login-page form>label{margin-bottom:20px}.login-page form button{width:100%;margin-top:12px}.login-page .remember{display:flex;align-items:center;gap:10px;font-size:12px;line-height:1.5}.remember input{width:17px;height:17px;margin:0;accent-color:#174b40}.login-help{font-size:11px;line-height:1.7}.login-error{font-size:12px;color:#a13928;line-height:1.7}.staff-signout{font-size:11px}@media(max-width:850px){.staff-signout{font-size:10px;padding:8px}.login-page{padding-top:35px}}
.actions{flex-wrap:wrap}.actions button{min-width:120px}.project-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px}.project-heading h2{font:24px Georgia,serif;margin:6px 0}.version-row{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #e5e8de;padding:16px 0}.version-row strong{font-size:13px}.version-row p{font-size:11px}.version-row small{color:#7b8575;font-size:10px}.version-row.matching strong:before{content:'●';color:#569477;font-size:8px;margin-right:8px}@media(max-width:600px){.project-heading{align-items:flex-start;flex-direction:column}.version-row button{font-size:11px;padding:10px}.version-row p{max-width:200px}.project-heading button{font-size:11px}}
.location-help{font-size:12px;margin-bottom:18px}.location-card{border:1px solid #dce2d5;border-radius:9px;margin-top:14px;overflow:hidden}.location-card>summary,.room-card>summary{padding:15px;cursor:pointer;background:#f3f6ee;list-style-position:inside}.location-card summary strong{font-size:13px}.location-card summary span{display:block;font-size:10px;color:#77866e;margin:6px 0 0 18px}.location-content{padding:16px}.room-card{border-top:1px solid #e2e7dc;margin-top:18px}.room-card>summary{background:#fafbf7}.room-content{padding:16px 0 0}.room-content>.measure{margin-top:16px}.note-heading{font-size:14px;font-weight:700;margin-bottom:6px}.note-floor,.note-apartment{margin-bottom:5px}.note-line{line-height:1.7}.location-content>.actions{padding-top:10px}@media(max-width:500px){.location-content{padding:12px}.room-content{padding-top:12px}.location-content>.actions{display:grid;grid-template-columns:1fr}.location-card summary strong{font-size:12px}}
.paper .customer-heading{font-family:inherit;font-size:18px;font-weight:700;line-height:1.4;color:#202520;margin:0 0 7px}
.simple-location{border:0;margin-top:0;overflow:visible}.simple-location>summary{display:none}.simple-location>.location-content{padding:0}.simple-location .room-card:first-child{margin-top:0;border-top:0}
.style-option-group{border-bottom:1px solid #e0e5d9;padding:12px 0 18px}.style-option-group details{font-size:12px;color:#64765e;margin-top:10px}.style-option-group summary{cursor:pointer}.style-option-group textarea{display:block;width:100%;font:inherit;border:1px solid #dce2d5;border-radius:6px;padding:10px;margin-top:8px}.style-option-group .option-row{align-items:end}.style-option-group .option-row input{margin-top:7px}.help h2{margin-top:0}
textarea[data-field="comments"]{display:block;width:100%;font:inherit;line-height:1.6;border:1px solid #dce2d5;border-radius:7px;padding:12px;margin-top:8px;resize:vertical}.paper .note-comments{margin-top:28px;color:#202520;white-space:pre-wrap;overflow-wrap:anywhere}.shared-labels{margin-top:24px;padding:16px;background:#f4f6ee;border-radius:8px}.shared-labels summary{cursor:pointer;font-size:13px;font-weight:600}.style-edit-row{align-items:end}

/* Mobile Safari zooms focused fields below 16px; retain pinch zoom accessibility. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.workspace>*{min-width:0}.panel,.location-content,.room-content{min-width:0}.intro>div{min-width:0}.paper a{overflow-wrap:anywhere}
@media(max-width:850px),(pointer:coarse){input,select,textarea,textarea[data-field="comments"],.style-option-group textarea{font-size:16px}.grid>*{min-width:0}input[type="date"]{max-width:100%;min-inline-size:0}.intro{flex-wrap:wrap;gap:10px}.option-row{flex-wrap:wrap}.option-row input,.option-row label{flex:1;min-width:120px}.project-heading h2{overflow-wrap:anywhere}.paper{padding:20px}header .brand{max-width:100%}}

.save-image-dialog{max-width:min(94vw,700px);max-height:90dvh;border:1px solid #dce2d5;border-radius:12px;padding:16px;overflow:auto}.save-image-dialog::backdrop{background:#0008}.save-image-dialog img{display:block;width:100%;height:auto}.save-image-dialog p{font-size:14px}
