:root{--trim:#33383d;--tan:#cdb48a;--cream:#f3ecdc;--orange:#ff6a13;--ink:#c4520e;--paper:#f4f3f0;color:#1a1a1a;background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-font-smoothing:antialiased;font:16px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background:var(--paper);margin:0}#root{min-height:100svh}button,input,textarea{color:inherit;font-family:inherit}*{box-sizing:border-box}body{margin:0}.app{background:var(--paper);color:#1a1a1a;max-width:480px;min-height:100vh;margin:0 auto;padding-bottom:40px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.topbar{background:var(--trim);color:#fff;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.topbar h1{margin:0;font-size:18px}.settings-btn{cursor:pointer;background:0 0;border:none;font-size:20px}.queue-status{padding:8px 20px;font-size:13px}.queue-ok{color:#2e7d32}.queue-off{font-size:inherit;color:#9a4f0f}.queue-pending{color:#b8860b}.queue-error{color:#c62828;font-weight:600}.screen{padding:20px}.screen h2{margin-top:0;font-size:17px}.back{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:0 0 12px;font-size:14px}.list{margin:0 0 16px;padding:0;list-style:none}.list li{margin-bottom:8px}.list button{text-align:left;cursor:pointer;background:#fff;border:1px solid #e3ddd1;border-radius:8px;width:100%;padding:14px 16px;font-size:16px}.list button:active{background:#f3ecdc}.add-row{gap:8px;display:flex}.add-row input{border:1px solid #ccc;border-radius:8px;flex:1;padding:12px;font-size:16px}button.primary{background:var(--trim);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 18px;font-size:16px}button.primary:disabled{cursor:not-allowed;background:#b9b4aa}.photo-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.photo-grid.small img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.photo-thumb{position:relative}.photo-thumb img{aspect-ratio:1;object-fit:cover;border-radius:8px;width:100%}.photo-thumb .retake{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;width:24px;height:24px;position:absolute;top:4px;right:4px}.camera-btn{border:2px dashed var(--ink);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:10px;margin-bottom:12px;padding:16px;font-size:17px}.camera-btn:disabled{opacity:.5}.next-btn,.save-btn{width:100%;margin-top:8px}textarea{border:1px solid #ccc;border-radius:8px;width:100%;margin-bottom:10px;padding:12px;font-family:inherit;font-size:15px}.mic-btn{border:1px solid var(--ink);width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;margin-bottom:10px;padding:12px;font-size:15px}.mic-btn.recording{color:#fff;background:#c62828;border-color:#c62828}.modal{z-index:10;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:10px;width:100%;max-width:400px;padding:20px}.modal-content label{color:#444;margin-bottom:14px;font-size:13px;display:block}.modal-content input{border:1px solid #ccc;border-radius:6px;width:100%;margin-top:4px;padding:10px;font-size:14px;display:block}.modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.modal-actions button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:6px;padding:10px 16px}.modal-actions button.primary{background:var(--trim);color:#fff;border:none}.hint{color:#666;margin:0 0 12px;font-size:13px}.title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.report-btn{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;padding:8px 10px;font-size:14px}.modal-content label.toggle{color:#1a1a1a;align-items:center;gap:10px;font-size:14px;display:flex}.modal-content label.toggle input{width:20px;height:20px;margin:0}.photo-thumb img{cursor:pointer}.photo-thumb .markup{background:var(--trim);color:#fff;cursor:pointer;border:none;border-radius:50%;width:28px;height:28px;font-size:14px;position:absolute;bottom:4px;right:4px}.thumb-tags{background:#ffffffd9;border-radius:10px;gap:2px;padding:0 5px;font-size:12px;display:flex;position:absolute;bottom:4px;left:4px}.thumb-tags:empty{display:none}.annotator{z-index:20;color:#fff;padding:10px 12px calc(12px + env(safe-area-inset-bottom));background:#111;flex-direction:column;display:flex;position:fixed;inset:0}.anno-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.anno-top>button:first-child{color:#9fc3f5;background:0 0;border:none;font-size:16px}.anno-stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.anno-stage canvas{touch-action:none;border-radius:4px;max-width:100%;max-height:100%}.anno-loading{color:#aaa;position:absolute}.anno-tools{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.anno-tools button{color:#fff;background:#222;border:1px solid #444;border-radius:8px;flex:1;min-width:56px;padding:10px 4px;font-size:14px}.anno-tools button.active{background:var(--ink);border-color:var(--ink)}.anno-tools button:disabled{opacity:.4}.anno-tools .swatch{border:3px solid #333;flex:0 0 40px;min-width:40px;height:40px}.anno-tools .swatch.active{border-color:#fff}.anno-text-row{gap:6px;margin-top:8px;display:flex}.anno-text-row input{color:#1a1a1a;caret-color:#ff6a13;background:#fff;border:none;border-radius:8px;flex:1;padding:10px;font-size:16px}.anno-text-row input::placeholder{color:#888}.anno-text-row button{color:#fff;background:#222;border:1px solid #444;border-radius:8px;padding:0 12px}.anno-hint{color:#999;text-align:center;margin:6px 0 0;font-size:12px}.date-row{gap:10px;margin-bottom:10px;display:flex}.date-row label{color:#444;flex:1;font-size:13px}.date-row input{background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;margin-top:4px;padding:10px;font-size:15px;display:block}button.wide{width:100%}.status-line{color:#b8860b;font-size:14px}.error-line{color:#c62828;word-break:break-word;font-size:14px}.ok-line{color:#2e7d32;font-size:14px}.stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0;display:grid}.stats div{text-align:center;background:#fff;border:1px solid #e3ddd1;border-radius:8px;flex-direction:column;padding:10px 4px;display:flex}.stats b{color:var(--trim);font-size:20px}.stats span{color:#666;font-size:12px}.report-day h3{color:var(--trim);border-bottom:2px solid #e3ddd1;margin:16px 0 6px;padding-bottom:4px;font-size:15px}.report-room{background:#fff;border:1px solid #e6e1d7;border-radius:8px;margin-bottom:6px;padding:10px 12px}.report-room-head{justify-content:space-between;font-size:15px;display:flex}.report-room-head a{color:var(--ink);font-size:14px;text-decoration:none}.report-room p{color:#333;margin:6px 0 0;font-size:14px}.draft-head{margin:22px 0 8px;font-size:15px}.ai-btn{background:linear-gradient(90deg, var(--trim), var(--ink));color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;margin-bottom:10px;padding:12px;font-size:15px}.ai-btn:disabled{opacity:.5}textarea.draft{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px}.btn-row{gap:8px;display:flex}.btn-row button{background:#fff;border:1px solid #ccc;border-radius:8px;flex:1;padding:12px;font-size:15px}.btn-row button.primary{background:var(--trim);color:#fff;border:none}.btn-row button:disabled{opacity:.5}button.link{color:var(--ink);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.modal-content{max-height:90vh;overflow-y:auto}.modal-content select{background:#fff;border:1px solid #ccc;border-radius:6px;width:100%;margin-top:4px;padding:10px;font-size:14px;display:block}.reconnect-btn{text-align:left;color:#7a5200;cursor:pointer;background:#fff8e1;border:1px solid #f0c36d;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.queue-error{font-weight:500}.hint.tight{margin:6px 0 0}.notice{cursor:pointer;border-radius:8px;margin-bottom:8px;padding:10px 12px;font-size:14px}.notice.ok{color:#1b5e20;background:#e8f5e9}.notice.bad{color:#b71c1c;background:#ffebee}.notice .x{float:right;opacity:.6}.stay-box{background:#fbf7ef;border:1px solid #e3ddd1;border-radius:8px;margin-bottom:14px;padding:12px}.stay-box p{color:#444;margin:4px 0 10px;font-size:13px}.stay-box p:last-child{margin-bottom:0}.list li.job-row{gap:8px;display:flex}.list li.job-row>button:first-child{flex:1}.list .delete-btn{text-align:center;background:#fff;border:1px solid #f3c7c7;border-radius:8px;flex-shrink:0;width:52px;padding:0;font-size:18px}.list .delete-btn:active{background:#ffebee}.confirm-text{color:#333;margin:0 0 12px;font-size:15px}.confirm-warn{color:#7a5200;background:#fff8e1;border-radius:6px;margin:0 0 12px;padding:8px 10px;font-size:14px}.modal-actions button.danger{color:#fff;background:#c62828;border:none}.version-line{color:#888;margin:0 0 8px;font-size:12px}.topbar{background:var(--trim);border-bottom:4px solid var(--orange);padding:12px 16px}.brand{align-items:center;gap:10px;display:flex}.brand-words{font-family:Oswald,Arial Narrow,Impact,sans-serif;line-height:1}.brand-a{color:var(--cream);letter-spacing:.12em;font-size:19px;font-weight:700}.brand-b{color:var(--tan);letter-spacing:.5em;margin-top:4px;font-size:10px;font-weight:500}.settings-btn{filter:grayscale()brightness(2.2)}.camera-btn{border-color:var(--orange);color:var(--ink)}.mic-btn{border-color:var(--trim);color:var(--trim)}.back,.link{color:var(--ink)}.report-btn{border-color:var(--trim);color:var(--trim)}.job-cards{margin:0 0 16px;padding:0;list-style:none}.job-card{gap:8px;margin-bottom:8px;display:flex}.job-main{text-align:left;cursor:pointer;background:#fff;border:1px solid #e6e1d7;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;padding:8px;display:flex}.job-main:active{background:var(--cream)}.job-thumb{object-fit:cover;border-radius:8px;flex-shrink:0;width:64px;height:64px}.job-thumb.empty{background:#ece8df;place-items:center;display:grid}.job-info{flex-direction:column;min-width:0;display:flex}.job-name{color:#1a1a1a;font-size:16px;font-weight:600}.job-meta{color:#666;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:12px;overflow:hidden}.job-card .delete-btn{background:#fff;border:1px solid #eadcd2;border-radius:10px;flex-shrink:0;width:48px;font-size:17px}.punch-badge{letter-spacing:.04em;color:#fff;background:var(--orange);border-radius:10px;align-self:flex-start;margin-top:5px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.punch-badge.clear{background:#2e7d32}.badge-row{flex-wrap:wrap;gap:5px;margin-top:5px;display:flex}.badge-row .punch-badge{margin:0}.set-sec{background:#fff;border:1px solid #e6e1d7;border-radius:10px;margin-bottom:8px;overflow:hidden}.set-sec.open{border-color:#d9cdb8;box-shadow:0 1px 4px #0000000f}.modal-content .set-head{text-align:left;cursor:pointer;width:100%;color:var(--trim);background:0 0;border:none;border-radius:0;align-items:center;gap:12px;margin:0;padding:12px;display:flex}.set-sec.open .set-head{background:#faf8f4;border-bottom:1px solid #eee8dc}.set-icon{text-align:center;flex-shrink:0;width:26px;font-size:20px}.set-text{flex-direction:column;flex:1;min-width:0;display:flex}.set-title{font-size:16px;font-weight:700}.set-sum{color:#777;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.set-chev{color:#999;font-size:12px}.set-body{padding:10px 10px 2px}.set-body .acct-box{margin-bottom:10px}.set-adv summary{cursor:pointer;color:var(--trim);font-weight:600}.tl-group{margin-top:6px}.team-links .boss-link{flex-wrap:wrap;align-items:center;gap:8px;padding:6px 0;display:flex}.team-links .bl-name{flex:120px;min-width:0}.team-links .tl-actions{flex-wrap:nowrap;gap:4px;margin:0;display:flex}.modal-content .team-links .tl-actions button{white-space:nowrap;margin:0;padding:5px 8px;font-size:12.5px}.tl-label{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 2px;font-size:12px;font-weight:700}.tl-new{border-top:1px solid #e6e1d7;margin-top:12px;padding-top:4px}.tl-new input[type=text],.tl-new select{width:100%;margin-top:6px}.tl-q{color:var(--trim);margin:10px 0 0;font-size:13px;font-weight:600}.tl-make{width:100%;margin-top:10px}.tl-make-row{align-items:stretch;gap:8px;display:flex}.tl-make-row .tl-make{flex:1}.acct-box.team-links button.tl-share{border:1px solid var(--trim);color:var(--trim);background:#fff;border-radius:8px;flex:1;margin-top:10px;padding:10px;font-weight:600}.modal-content label.nt-row input[type=radio]{margin-top:1px}.modal-content label.nt-row{color:#1a1a1a;align-items:flex-start;gap:10px;margin:10px 0;font-size:14px;font-weight:400;line-height:1.35;display:flex}.modal-content label.nt-row input{width:20px;height:20px;accent-color:var(--orange);flex-shrink:0;margin:0}.dz-tape{background:repeating-linear-gradient(-45deg,#fc0 0 12px,#1a1a1a 12px 24px);height:14px}.danger-zone{background:#fff8f7;border:2px solid #c62828;border-radius:10px;margin:14px 0 6px;overflow:hidden}.dz-body{padding:10px 12px 12px}.dz-title{color:#c62828;letter-spacing:.02em;font-size:15px;display:block}.danger-zone .jobs-pick{margin-top:8px}.acct-box .danger-zone .dz-job{color:#fff;cursor:pointer;background:#c62828;border:none;border-radius:8px;width:100%;margin-top:10px;padding:11px;font-size:15px;font-weight:700}.danger-modal{padding-top:0;overflow:hidden}.danger-modal .dz-tape{margin:0 -20px 14px}.ai-photos{margin:4px 0 10px}.ai-photos-bar{align-items:center;gap:14px;margin-bottom:4px;font-size:14px;font-weight:600;display:flex}.ai-photos-bar span{flex:1}.more-jobs{margin:-8px 0 16px}.more-jobs-btn{color:#1a1a1a;cursor:pointer;background:#fff;border:1px solid #e6e1d7;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:14px;font-size:16px;font-weight:600;display:flex}.more-jobs-btn.open{border-bottom-right-radius:0;border-bottom-left-radius:0}.more-jobs-list{background:#fff;border:1px solid #e6e1d7;border-top:0;border-radius:0 0 10px 10px;max-height:55vh;margin:0;padding:0;list-style:none;overflow-y:auto}.more-jobs-list li+li{border-top:1px solid #eee9df}.more-jobs-list button{text-align:left;color:#1a1a1a;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:13px 14px;font-size:15px;display:flex}.more-jobs-list button:active{background:var(--cream)}.more-jobs-list .punch-badge{flex-shrink:0;margin-top:0}.punch-open-btn{border:1px solid #e6e1d7;border-left:4px solid var(--orange);cursor:pointer;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;width:100%;margin:0 0 8px;padding:12px 14px;font-size:16px;display:flex}.punch-open-btn .punch-badge{margin-top:0}.trim-open-btn{border-left-color:var(--tan)}.po-label{align-items:center;display:flex}.po-icon{text-align:center;flex-shrink:0;width:26px;margin-right:8px}.trim-open-go{color:var(--ink);font-size:13px;font-weight:700}.punch-list{margin:0 0 12px;padding:0;list-style:none}.punch-item{border:1px solid #e6e1d7;border-left:4px solid var(--orange);background:#fff;border-radius:10px;gap:12px;margin-bottom:10px;padding:10px;display:flex}.punch-list.closed .punch-item{opacity:.85;border-left-color:#2e7d32}.punch-item img,.punch-item .noimg{object-fit:cover;background:#ece8df;border-radius:8px;flex-shrink:0;width:76px;height:76px}.pi-body{flex:1;min-width:0}.pi-room{color:var(--ink);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.punch-list .pi-group-head{color:var(--ink);text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid #f3ecdc;margin:14px 0 6px;padding-bottom:4px;font-size:13px;font-weight:700;list-style:none}.punch-list .pi-group-head:first-child{margin-top:4px}.pi-group-head button{width:100%;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:2px 0;display:flex}.pi-group-head span.pi-group-go{color:var(--ink);background:0 0;margin-left:auto;padding:0;font-size:18px;line-height:1}.pi-group-head span{color:#33383d;background:#f3ecdc;border-radius:10px;margin-left:6px;padding:0 7px;font-size:12px}.pi-cap{margin:2px 0;font-size:15px}.pi-date{color:#777;font-size:12px}.pi-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pi-actions button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;padding:8px 10px;font-size:14px}.pi-actions button.primary{background:var(--trim);color:#fff;border:none}.closed-toggle{cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:15px}.punch-toggle{border:1px dashed var(--orange);color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;font-size:15px;display:flex}.punch-toggle input{width:20px;height:20px}.punch-toggle.on{background:#fff1e8;border-style:solid;font-weight:600}.closing-banner{color:#1b5e20;background:#e8f5e9;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:14px}.punch-toggle input,.toggle input{accent-color:var(--orange)}.all-btns{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;display:grid}.all-btns button{border:1px solid var(--trim);color:var(--trim);cursor:pointer;background:#fff;border-radius:10px;padding:12px 8px;font-size:15px;font-weight:600}.all-btns button:last-child{background:var(--trim);color:#fff}.ask-box{border:1px solid #e6e1d7;border-left:4px solid var(--orange);background:#fff;border-radius:10px;margin-bottom:12px;padding:12px}.ask-box label{color:var(--trim);margin-bottom:6px;font-size:13px;font-weight:700;display:block}.ask-box textarea{margin-bottom:8px}.chips{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.chip{background:var(--cream);color:var(--trim);cursor:pointer;border:1px solid #e0d6c6;border-radius:14px;padding:6px 10px;font-size:12.5px}.anno-top button.primary{background:var(--orange);color:#fff}.list li.room-row{gap:8px;display:flex}.room-row>button:first-child{flex:1;justify-content:space-between;align-items:center;display:flex}.room-cam{opacity:.55;font-size:15px}.history-btn{border:1px solid var(--trim);color:var(--trim);cursor:pointer;background:#fff;border-radius:8px;flex-shrink:0;padding:0 12px;font-size:14px;font-weight:600}.sub-h{color:#777;font-size:14px;font-weight:400}.history-list{margin:0;padding:0;list-style:none}.history-list li{margin-bottom:8px}.history-list button{text-align:left;border:1px solid #e6e1d7;border-left:4px solid var(--tan);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:10px;width:100%;padding:14px;display:flex}.h-date{font-size:16px;font-weight:600}.h-meta{color:#666;margin-left:auto;font-size:13px}.h-arrow{color:#999;font-size:22px}.day-h{text-transform:uppercase;letter-spacing:.1em;color:#777;margin:18px 0 8px;font-size:13px}.day-note{background:#fff;border:1px solid #e6e1d7;border-radius:8px;gap:10px;margin-bottom:6px;padding:10px 12px;font-size:15px;display:flex}.day-note.punch-open{border-left:4px solid var(--orange)}.day-note.punch-closed{border-left:4px solid #2e7d32}.dn-time{color:var(--ink);white-space:nowrap;padding-top:2px;font-size:13px;font-weight:600}.day-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.day-photo{aspect-ratio:1;background:#e6e1d7;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.day-photo img{object-fit:cover;width:100%;height:100%}.day-photo .ph{color:#999;font-size:20px}.day-photo .mk{background:var(--orange);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid;position:absolute;bottom:4px;right:4px}.list .room-row>button:first-child{flex:1;width:auto;min-width:0}.list .room-row .history-btn{text-align:center;flex-direction:column;flex:none;justify-content:center;align-items:center;width:auto;padding:0 8px;font-size:14px;line-height:1.1;display:flex}.hb-l{letter-spacing:.02em;margin-top:2px;font-size:9.5px;font-weight:600}.fieldy-toggle{color:var(--trim);align-items:center;gap:10px;margin:0 0 10px;font-size:14px;display:flex}.fieldy-toggle input{width:20px;height:20px;accent-color:var(--orange)}.pin-link{margin:-2px 0;padding:2px 6px;text-decoration:none;display:inline-block}.thumb-tags .pin-link{padding:4px 6px}.sync-note{color:#6b7076;margin:4px 0 8px;font-size:12px}.pi-edit label{color:var(--ink);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.pi-edit select,.pi-edit textarea{box-sizing:border-box;color:#222;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;margin-top:4px;padding:8px;font-family:inherit;font-size:15px;font-weight:400;display:block}.pi-actions button.danger{color:#c62828;background:#fff;border:1px solid #c62828}.fieldy-note{border-left:4px solid #2e5fac}.fieldy-note.room-hit{background:#eef3fb}.fieldy-note .dn-cap{flex-direction:column;gap:3px;min-width:0;display:flex}.room-tag{color:#fff;background:#2e5fac;border-radius:10px;align-self:flex-start;padding:1px 8px;font-size:11px;font-weight:700}.fn-sum{color:#333;font-size:14px}.fn-link{color:var(--ink);font-size:13px}.note-tap{cursor:pointer}.note-tap .dn-cap{flex:1}.dn-edit{color:var(--ink);padding:0 2px;font-size:15px}.note-edit{border-left:4px solid var(--ink)}.ne-body{flex:1;min-width:0}.ne-body textarea{box-sizing:border-box;color:#222;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;padding:8px;font-family:inherit;font-size:15px}.room-report-btn{border-left-color:#2e5fac;margin-bottom:12px}.room-spec{border:1px solid #e6e1d7;border-left:4px solid var(--tan,#cdb48a);background:#fff;border-radius:10px;margin:4px 0 14px;padding:10px 12px}.room-spec-h{color:var(--trim);justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px;font-weight:700;display:flex}.room-spec-h .link{color:var(--ink,#c4520e);font-size:13px;font-weight:600}.room-spec-text{white-space:pre-wrap;font-size:15px;line-height:1.45}.room-spec.editing textarea{width:100%;font:inherit;resize:vertical;border:1px solid #ccc;border-radius:8px;padding:8px;font-size:15px}.room-spec-acts{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.room-spec-btn{border-left-color:var(--tan,#cdb48a);margin:4px 0 12px}.sel-open-btn{border-left-color:var(--tan,#cdb48a)}.tbd-tag{color:#3d2c00;vertical-align:1px;background:#e0b100;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:10.5px;font-weight:700;display:inline-block}.room-spec-h .spec-from{margin-left:auto;font-size:12px;font-weight:400}.spec-group{margin-top:6px}.spec-trade{letter-spacing:.08em;text-transform:uppercase;color:var(--ink,#c4520e);border-bottom:1px solid #efe9de;justify-content:space-between;align-items:center;padding:4px 0 3px;font-size:11.5px;font-weight:700;display:flex}.spec-trade .link{text-transform:none;letter-spacing:0;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.spec-empty{color:#999;padding:4px 0;font-size:14px;font-style:italic}.sel-line{border-top:1px solid #f6f2ea;padding:5px 0;font-size:15px;line-height:1.4}.spec-trade+.sel-line{border-top:none}.sel-line small{color:#777;font-size:12.5px;display:block}.sel-log-btn{cursor:pointer;background:0 0;border:none;padding:6px 0 0;font-size:13px;font-weight:600}.sel-log{color:#444;margin:4px 0 0;padding:0;font-size:13px;list-style:none}.sel-log li{padding:2px 0}.sel-log b{color:var(--trim)}.sel-paste{box-sizing:border-box;width:100%;font:inherit;resize:vertical;border:1px solid #ccc;border-radius:8px;padding:8px;font-size:15px}.sel-btns{gap:8px;margin:8px 0 10px;display:flex}.sel-btns button{border:1px solid var(--trim);color:var(--trim);cursor:pointer;background:#fff;border-radius:8px;flex:1;padding:11px;font-size:15px}.sel-btns button.primary{background:var(--trim);color:#fff;border:none}.sel-btns button:disabled{opacity:.55}.sel-files{flex-wrap:wrap;gap:6px;margin:6px 0 0;display:flex}.sel-file{background:#fff;border:1px solid #e6e1d7;border-radius:14px;padding:3px 4px 3px 10px;font-size:13px}.sel-file button{color:#888;cursor:pointer;background:0 0;border:none;padding:0 6px}.sel-sum{border:1px solid #e6e1d7;border-left:4px solid var(--orange);background:#fff;border-radius:10px;margin-bottom:4px;padding:10px 12px;font-size:14px}.sel-unm{background:#fff8e1;border:1px solid #f0d98a;border-radius:8px;margin-bottom:6px;padding:9px 11px;font-size:14px;display:block}.sel-unm select{background:#fff;border:1px solid #ccc;border-radius:6px;width:100%;margin-top:6px;padding:8px;font-size:15px;display:block}.sel-item{background:#fff;border:1px solid #e6e1d7;border-radius:8px;margin-bottom:6px;padding:9px 11px;font-size:14.5px;line-height:1.35}.sel-item.chg{border-left:4px solid var(--orange)}.sel-item.dead{opacity:.5}.sel-item.dead .sel-what{text-decoration:line-through}.sel-what{font-weight:600}.sel-meta{color:#777;font-size:12.5px}.sel-meta:empty{display:none}.nb-box{border:1px solid #e6e1d7;border-left:4px solid var(--tan,#cdb48a);background:#fff;border-radius:10px;margin:0 0 6px;padding:10px 12px;font-size:14.5px}.nb-box p{color:#444;margin:6px 0}.nb-h{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.nb-h .link,.nb-box>.link{cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.nb-btn{border-radius:8px;width:100%;margin-top:6px;padding:11px;font-size:15px}.nb-acts{gap:6px;margin-top:8px;display:flex}.nb-acts button{border:1px solid var(--trim);color:var(--trim);cursor:pointer;background:#fff;border-radius:8px;flex:1;padding:9px 4px;font-size:13.5px}.nb-acts button:disabled{opacity:.55}.nb-again{cursor:pointer;background:0 0;border:none;padding:8px 0 0;font-size:13px;display:block}.nb-changed{background:#fff8e1;border:1px solid #f0d98a;border-radius:8px;margin-top:8px;padding:8px 10px}.nb-row{text-align:left;color:#222;cursor:pointer;background:#faf8f4;border:1px solid #e6e1d7;border-radius:8px;justify-content:space-between;width:100%;margin-bottom:6px;padding:10px 12px;font-size:15px;display:flex}.nb-sub{color:#777;margin:4px 0;font-size:12px}.ask-new{flex-direction:column;gap:6px;margin-bottom:8px;display:flex}.ask-new textarea,.ask-new input,.ask-new select{box-sizing:border-box;width:100%}.ask-new input,.ask-new select,.screen>input{background:#fff;border:1px solid #ccc;border-radius:8px;height:44px;padding:0 10px;font-size:15px}.screen>input{box-sizing:border-box;width:100%}.ask-row{gap:6px;display:flex}.ask-row>*{flex:1;min-width:0}.ask-row button{flex:none}.ask-heads{color:#777;margin-bottom:-4px;font-size:12px}.ask-hint{color:#5f6368;margin:2px 0 0;font-size:12.5px}.ask-item{text-align:left;color:#222;cursor:pointer;background:#faf8f4;border:1px solid #e6e1d7;border-radius:8px;flex-direction:column;gap:2px;width:100%;margin-bottom:6px;padding:9px 12px;font-size:15px;display:flex}.ask-item.late{background:#fdf3f1;border-color:#e2a39b}.ask-item.done{cursor:default;background:#fff}.ask-src{color:#666;white-space:nowrap;background:#efece5;border-radius:6px;margin-left:6px;padding:1px 6px;font-size:11px}.ask-late{color:#b3261e;font-weight:600}.ask-answer{color:#2e6b34;font-size:14px}.ask-q{margin:4px 0;font-size:17px}.ask-note{background:#fff8e1;border:1px solid #f0d98a;border-radius:8px;padding:8px 10px;font-size:14px}.ask-label{color:#777;margin:12px 0 4px;font-size:12px;display:block}.screen input[list],.screen input[type=date]{box-sizing:border-box}.ask-btn{margin-top:8px}.ask-del,.ask-done-btn{cursor:pointer;background:0 0;border:none;padding:12px 0 0;font-size:13px;display:block}.nb-up{cursor:pointer;background:0 0;border:none;padding:0 0 4px;font-size:13px;display:block}.nb-page{border-top:1px solid #f3efe7;align-items:center;gap:10px;padding:7px 2px;font-size:15px;display:flex}.nb-page input{width:20px;height:20px;accent-color:var(--orange);flex-shrink:0}.sel-open-row{text-align:left;color:#222;cursor:pointer;background:#fff;border:1px solid #e6e1d7;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-bottom:6px;padding:10px 12px;font-size:14.5px;display:flex}.signin{z-index:50;color:#f3ecdc;padding:24px 20px calc(24px + env(safe-area-inset-bottom));background:#33383d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.signin-card{text-align:center;width:100%;max-width:380px}.signin-mark{margin:0 auto 14px;display:block}.signin-words{font-family:Oswald,Arial Narrow,Impact,sans-serif;line-height:1}.signin-a{letter-spacing:.14em;color:#f3ecdc;font-size:40px;font-weight:700}.signin-b{letter-spacing:.62em;color:#cdb48a;margin-top:6px;padding-left:.62em;font-size:18px;font-weight:500}.signin-rule{background:#ff6a13;border-radius:2px;width:64px;height:4px;margin:22px auto 14px}.signin-motto{color:#f3ecdc;margin:0 0 6px;font-size:17px;font-weight:600}.signin-tag{color:#cdb48a;margin:0 0 30px;font-size:13px}.gsi-btn{color:#1f1f1f;cursor:pointer;background:#fff;border:1px solid #747775;border-radius:26px;justify-content:center;align-items:center;gap:12px;width:100%;height:52px;font-family:Roboto,Arial,sans-serif;font-size:17px;font-weight:500;display:flex;box-shadow:0 2px #ff6a13}.gsi-btn:disabled{opacity:.7}.signin-stay{color:#f3ecdc;align-items:center;gap:10px;margin:18px 0 6px;font-size:15px;display:inline-flex}.signin-stay input{accent-color:#ff6a13;width:20px;height:20px}.signin-msg{color:#ffd9c2;background:#4a2a1a;border-radius:8px;margin:10px 0;padding:10px 12px;font-size:14px}.signin-fine{color:#a9a49a;margin:22px 0 10px;font-size:12.5px;line-height:1.45}.signin-skip{color:#cdb48a;cursor:pointer;background:0 0;border:none;padding:6px;font-size:13px;text-decoration:underline}.signin-legal{color:#a9a49a;margin:14px 0 0;font-size:12.5px}.signin-legal a{color:#a9a49a}.version-line a{color:#888}.acct-box{background:#f6f3ec;border:1px solid #e3dccd;border-left:4px solid #ff6a13;border-radius:10px;margin-bottom:14px;padding:10px 12px}.acct-box strong{color:#33383d;margin-bottom:4px;display:block}.acct-box p{color:#33383d;margin:0 0 8px;font-size:14px}.acct-box .acct-actions{flex-wrap:wrap;gap:8px;display:flex}.acct-box button{color:#33383d;cursor:pointer;background:#fff;border:1px solid #33383d;border-radius:8px;padding:8px 12px;font-size:14px}.acct-box button.primary{color:#fff;background:#33383d}.profile{z-index:45;padding:20px 16px calc(24px + env(safe-area-inset-bottom));background:#f4f3f0;position:fixed;inset:0;overflow-y:auto}.profile-card{max-width:440px;margin:0 auto}.profile-hero{color:#f3ecdc;background:#33383d;border-bottom:4px solid #ff6a13;border-radius:14px;margin-bottom:18px;padding:18px 18px 16px}.profile-hero h1{letter-spacing:.04em;color:#f3ecdc;margin:8px 0 6px;font-family:Oswald,Arial Narrow,Impact,sans-serif;font-size:26px;font-weight:700}.profile-hero p{color:#cdb48a;margin:0;font-size:14px;line-height:1.4}.profile-h{margin:4px 0 14px}.pf-field{color:#33383d;margin-bottom:12px;font-size:13px;font-weight:700;display:block}.pf-field input{box-sizing:border-box;color:#222;background:#fff;border:1px solid #ccc;border-radius:10px;width:100%;margin-top:5px;padding:11px 12px;font-size:16px;font-weight:400;display:block}.pf-field input:focus{border-color:#ff6a13;outline:2px solid #ff6a13}.pf-preview-h{color:#33383d;margin:6px 0 5px;font-size:13px;font-weight:700}.pf-line.sample{color:#aaa;font-style:italic}.pf-preview{background:#fff;border:1px solid #d9d6cf;border-radius:10px;margin:0 0 14px;font-family:Arial,sans-serif;overflow:hidden}.pf-bar{color:#fff;background:#33383d;padding:8px 10px;font-size:16px;font-weight:700}.pf-sub{color:#fff;background:#ff6a13;margin-bottom:4px;padding:4px 10px;font-size:12px;font-weight:700}.pf-line{color:#222;padding:1px 10px;font-size:12px}.pf-line:last-child{padding-bottom:8px}.pf-actions{justify-content:flex-end;gap:10px;display:flex}.pf-actions button{color:#33383d;cursor:pointer;background:#fff;border:1px solid #33383d;border-radius:10px;padding:12px 18px;font-size:16px}.pf-actions button.primary{color:#fff;background:#33383d;flex:1}.acct-box.info-box,.acct-box.fieldy-box{border-left-color:#2e5fac}.fieldy-box input{box-sizing:border-box;color:#222;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;margin:4px 0 8px;padding:10px;font-size:15px;display:block}.fieldy-box .fb-help{color:#555;font-size:13px}.fieldy-box code{background:#ece8df;border-radius:4px;padding:0 4px}.fieldy-box .fb-ok{color:#2e7d32;margin:8px 0 0;font-size:14px}.fieldy-box .fb-bad{color:#c62828;margin:8px 0 0;font-size:14px}.acct-box.ai-box{border-left-color:#cdb48a}.ai-box input{box-sizing:border-box;color:#222;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;margin:4px 0 6px;padding:10px;font-size:15px;display:block}.ai-box .fb-help{color:#555;font-size:13px}.ai-box .fb-help.small{margin:0 0 6px;font-size:12px}.ai-box .fb-ok{color:#2e7d32;margin:8px 0 0;font-size:14px}.ai-box .fb-bad{color:#c62828;margin:8px 0 0;font-size:14px}.ai-pick{grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 8px;display:grid}.ai-pick button{color:#33383d;background:#fff;border:1px solid #33383d;border-radius:8px;padding:9px 4px!important;font-size:14px!important}.ai-pick button.on{color:#fff;background:#33383d;box-shadow:inset 0 -3px #ff6a13}.small-link{color:#c4520e;background:0 0;border:none;padding:2px 0 8px;font-size:13px;text-decoration:underline;display:block}.acct-box button.small-link{color:#c4520e;background:0 0;border:none;padding:2px 0 8px;font-size:13px;text-decoration:underline}.gem-key{background:#f7f3ea;border-radius:8px;margin:2px 0 8px;padding:10px}.gem-btn{text-align:center;background:#33383d;border-radius:8px;padding:11px;font-size:15px;font-weight:700;text-decoration:none;display:block;box-shadow:inset 0 -3px #ff6a13;color:#fff!important}.gem-key ol{color:#444;margin:8px 0 0;padding-left:20px;font-size:13px}.gem-key li{margin:2px 0}.ai-box .ai-detected{color:#2e7d32;margin:0 0 6px;font-size:14px;font-weight:600}.ai-model label{color:#33383d;margin:4px 0 2px;font-size:13px;font-weight:700;display:block}.ai-model select{box-sizing:border-box;color:#222;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;margin:2px 0 6px;padding:10px;font-size:15px;display:block}.ai-pick{align-items:center;gap:8px;margin-bottom:10px;font-weight:600;display:flex}.clean-row .ai-run{align-self:stretch}.ai-run{margin-bottom:4px}.ai-run-label{color:#444;text-align:left;margin-bottom:6px;font-size:13px;font-weight:600}.ai-run .ai-pick{margin-bottom:0}.ai-opt:disabled{cursor:default;opacity:.75}.ai-opt{background:var(--cream);color:var(--trim);cursor:pointer;border:1px solid #e0d6c6;border-radius:8px;flex:1;padding:10px;font-size:15px;font-weight:700}.ai-opt.on{color:#fff;background:#33383d;border-color:#33383d;box-shadow:inset 0 -3px #ff6a13}.ai-backup{border-top:1px solid #0000001a;margin-top:14px;padding-top:12px}.ai-backup strong{margin-bottom:2px;display:block}.exit-toast{color:#fff;z-index:1000;white-space:nowrap;background:#33383df0;border-radius:22px;padding:10px 18px;font-size:14px;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000040}.hours-open-btn{border-left-color:var(--trim)}.hours-open-btn+.job-cards,.all-btns+.hours-open-btn{margin-top:-6px}.period-nav{align-items:center;gap:8px;margin:4px 0 12px;display:flex}.period-nav>button{border:1px solid var(--trim);width:44px;height:44px;color:var(--trim);cursor:pointer;background:#fff;border-radius:10px;flex-shrink:0;font-size:22px}.period-label{text-align:center;flex-direction:column;flex:1;gap:2px;display:flex}.period-label span{text-transform:uppercase;letter-spacing:.08em;color:#6b7076;font-size:11px}.period-label b{color:var(--trim);font-size:15px}.period-label .link{font-size:12px}.hours-total{background:var(--trim);color:var(--cream);border-bottom:4px solid var(--orange);border-radius:12px;margin-bottom:12px;padding:14px}.ht-big{color:var(--orange);font-family:Oswald,Arial Narrow,Impact,sans-serif;font-size:36px;font-weight:700;line-height:1}.ht-big span{color:var(--tan);font-size:16px}.ht-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ht-chips .hint{color:var(--tan)}.ht-chip{background:#ffffff1a;border:1px solid #fff3;border-radius:14px;padding:4px 10px;font-size:13px}.ht-chip.off{opacity:.75}.ht-chip b{color:var(--orange);margin-left:4px}.hours-days{margin:0 0 14px;padding:0;list-style:none}.hours-day{background:#fff;border:1px solid #e6e1d7;border-radius:10px;margin-bottom:8px;padding:10px 12px}.hours-day.today{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange) inset}.hd-head{color:var(--trim);justify-content:space-between;align-items:center;font-size:15px;display:flex}.hd-today{letter-spacing:.08em;color:#fff;background:var(--orange);vertical-align:middle;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700}.hd-total{color:var(--ink);font-weight:700}.hd-entry{text-align:left;border:none;border-left:3px solid var(--tan);cursor:pointer;background:#faf8f3;border-radius:6px;flex-direction:column;gap:2px;width:100%;margin-top:6px;padding:8px 10px;display:flex}.hd-row{justify-content:space-between;gap:8px;display:flex}.hd-proj{color:var(--trim);font-weight:700}.hd-hrs{color:var(--ink);white-space:nowrap;font-weight:700}.hd-note{color:#5f6368;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.hd-add{color:var(--ink);cursor:pointer;background:0 0;border:1px dashed #cdb48a;border-radius:6px;width:100%;margin-top:6px;padding:7px 10px;font-size:14px;font-weight:600}.hours-export{border:1px solid #e6e1d7;border-left:4px solid var(--orange);background:#fff;border-radius:10px;padding:12px}.hours-export .fb-ok{color:#2e7d32;margin:8px 0 0;font-size:14px}.hours-export .fb-bad{color:#c62828;margin:8px 0 0;font-size:14px}.proj-chips{flex-wrap:wrap;gap:6px;margin:-6px 0 14px;display:flex}.chip.on{background:var(--orange);border-color:var(--orange);color:#fff}.clean-row{flex-direction:column;gap:6px;margin:4px 0 10px;display:flex}.clean-btn{border:1px solid var(--trim);color:var(--trim);cursor:pointer;background:#fff;border-radius:8px;align-self:flex-start;padding:10px 14px;font-size:14px;font-weight:600}.clean-btn:disabled{opacity:.6}.clean-review{max-height:90vh;overflow-y:auto}.clean-list{margin:10px 0;padding:0;list-style:none}.clean-list li{border-top:1px solid #e6e1d7;padding:10px 0}.cl-head{color:var(--trim);margin-bottom:4px;font-size:13px}.cl-orig{color:#80858a;margin-bottom:6px;font-size:12.5px}.clean-list textarea{margin-bottom:0;font-size:14px}.note-open-btn{border-left-color:var(--orange);margin-bottom:14px}.note-room{color:var(--trim);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.note-room select{box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;margin-top:6px;padding:12px;font-size:16px;display:block}.note-room input{box-sizing:border-box;border:1px solid #ccc;border-radius:8px;width:100%;margin-top:6px;padding:12px;font-size:16px;display:block}.note-chips{margin:0 0 12px}.jobs-edit-list{margin:6px 0 4px;padding:0;list-style:none}.jobs-edit-list li{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:15px;display:flex}.jobs-edit-list li button{border:1px solid var(--trim);color:var(--trim);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600}.entry-clean{margin:0 0 12px}.entry-clean .clean-btn{text-align:center;width:100%}.ec-label{color:var(--ink);margin-bottom:4px;font-size:13px;font-weight:700}textarea.grow,.entry-clean textarea{field-sizing:content;resize:none;min-height:6em}.entry-clean textarea{border-color:var(--tan);background:#fff;margin-bottom:4px}.ec-actions{gap:14px;font-size:13px;display:flex}.entry-clean .fb-bad{color:#c62828;margin:6px 0 0;font-size:13px}.saved-reports{border-top:1px solid #e6e1d7;margin-top:22px;padding-top:14px}.sr-head{justify-content:space-between;align-items:baseline;display:flex}.sr-head h3{color:var(--trim);margin:0;font-size:16px}.sr-head .link{font-size:14px}.sr-kinds{margin:8px 0}.sr-job{background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;margin-bottom:8px;padding:10px;font-size:15px}.sr-month{color:#6b7076;text-transform:uppercase;letter-spacing:.06em;margin:12px 0 4px;font-size:12px;font-weight:700}.sr-list{margin:0;padding:0;list-style:none}.sr-list li a{color:var(--trim);border-top:1px solid #eee;align-items:center;gap:10px;padding:10px 4px;text-decoration:none;display:flex}.sr-icon{font-size:20px}.sr-text{flex-direction:column;flex:1;min-width:0;display:flex}.sr-name{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.sr-meta{color:#6b7076;font-size:12px}.sr-open{color:var(--ink);font-size:16px}.jobs-pick{gap:8px;margin:8px 0 4px;display:flex}.jobs-pick select{background:#fff;border:1px solid #ccc;border-radius:8px;flex:1;min-width:0;padding:10px;font-size:15px}.jobs-pick button{border:1px solid var(--trim);color:var(--trim);cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600}.jobs-pick button:disabled{opacity:.45;cursor:default}.open-link{color:inherit;font-weight:700;font-size:inherit;text-decoration:underline}.sr-list li{border-top:1px solid #eee;align-items:stretch;display:flex}.sr-list li a{border-top:none;flex:1;min-width:0}.sr-delete{cursor:pointer;opacity:.55;background:0 0;border:none;flex-shrink:0;width:44px;font-size:17px}.sr-delete:hover{opacity:1}.sr-notice{margin:8px 0;font-size:14px}.sr-notice.fb-ok{color:#2e7d32}.sr-notice.fb-bad{color:#c62828}.job-tools{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0 0 14px;display:grid}.tool-tile.tile-subs{border-top-color:#7a8794}.subs-chips{margin:4px 0 10px}.sub-entry{background:#fff;border:1px solid #e6e1d7;border-left:4px solid #7a8794;border-radius:10px;margin-bottom:10px;padding:10px 12px}.se-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.se-head span{color:#666;white-space:nowrap;font-size:12.5px}.se-room{color:var(--ink);text-transform:uppercase;letter-spacing:.03em;margin-top:2px;font-size:12px;font-weight:700}.se-note{white-space:pre-wrap;margin:6px 0}.se-actions{justify-content:flex-end;margin-top:4px;display:flex}.tool-tile{border:1px solid #e6e1d7;border-top:3px solid var(--orange);cursor:pointer;color:var(--trim);background:#fff;border-radius:10px;flex-direction:column;justify-content:flex-start;align-items:center;gap:2px;min-height:64px;padding:8px 4px 7px;display:flex}.tool-tile.tile-trim{border-top-color:var(--tan)}.tool-tile.tile-hours{border-top-color:var(--trim)}.tt-icon{font-size:18px;line-height:1.2}.tt-name{text-align:center;font-size:12px;font-weight:600;line-height:1.15}.tt-badge{color:#fff;background:#c62828;border-radius:6px;margin-top:1px;padding:1px 5px;font-size:10px;font-weight:700}.tt-badge.clear{background:#2e7d32}.job-fieldy{border-top:1px dashed #e0d6c6;margin-top:10px;padding-top:10px}.job-fieldy label{color:var(--trim);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.job-fieldy input{box-sizing:border-box;width:100%;margin-top:6px;display:block}.said-btn{border:1px solid var(--trim);color:var(--trim);cursor:pointer;background:#fff;border-radius:8px;margin-right:10px;padding:4px 10px;font-size:13px;font-weight:600}.fy-box{background:#fcfbf8;border:1px solid #e0d6c6;border-radius:8px;margin:0 0 12px;padding:8px 10px}.fy-head{color:var(--ink);justify-content:space-between;gap:8px;font-size:13px;font-weight:700;display:flex}.fy-head span{color:#80858a;font-size:12px;font-weight:500}.fy-list{margin:6px 0 0;padding:0;list-style:none}.fy-row{border-top:1px solid #eee8dc;padding:6px 0}.fy-row label{color:var(--ink);cursor:pointer;align-items:flex-start;gap:8px;margin:0;font-size:14px;font-weight:400;display:flex}.fy-row input[type=checkbox]{flex:none;width:18px;height:18px;margin:1px 0 0}.fy-time{color:#80858a;white-space:nowrap;padding-top:1px;font-size:12.5px}.fy-title{font-weight:600}.fy-row:not(.on) .fy-title{color:#80858a;font-weight:500}.fy-why{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 0 26px;display:flex}.fy-why .link{font-size:12px}.fy-tag{color:#5f6368;background:#f1ece2;border-radius:10px;padding:1px 7px;font-size:11.5px}.fy-tag.site{color:#2e6b39;background:#e3f1e5}.fy-tag.name,.fy-tag.room,.fy-tag.clue{color:#9a4f0f;background:#fdeedd}.fy-tag.other,.fy-tag.unsure{color:#607d8b;background:#eceff1}.fy-sum{color:#4a4f54;white-space:pre-wrap;margin:6px 0 0 26px;font-size:13px}.fy-sub{color:#80858a;text-transform:uppercase;letter-spacing:.03em;margin-top:8px;font-size:12px;font-weight:700}.fy-list.personal .fy-row{opacity:.75}.fy-box .hint.tight{margin:6px 0 0;font-size:12px}.said-list{margin:10px 0;padding:0;list-style:none}.said-list li{border-top:1px solid #e6e1d7;padding:8px 0}.sl-head{flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14px;display:flex}.sl-time{color:#80858a;font-size:12.5px}.sl-job{color:var(--trim);background:#f1ece2;border-radius:10px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:700}.sl-job.personal{color:#607d8b;background:#eceff1}.said-list li.personal .sl-sum{color:#9aa0a6}.sl-sum{color:#4a4f54;-webkit-line-clamp:3;cursor:pointer;-webkit-box-orient:vertical;margin-top:3px;font-size:13px;display:-webkit-box;overflow:hidden}.sl-sum.open{display:block}.sl-private summary{color:#9aa0a6;cursor:pointer;margin-top:2px;font-size:12px}.hours-export .acct-actions{gap:8px;margin-top:10px;display:flex}.hours-export .acct-actions button{color:#33383d;cursor:pointer;background:#fff;border:1px solid #33383d;border-radius:8px;flex:1;padding:12px;font-size:15px;font-weight:600}.hours-export .acct-actions button.primary{color:#fff;background:#33383d}.hours-export .acct-actions button:disabled{opacity:.5}.fy-tag.mixed{color:#8a6500;background:#fff4d6}.jobs-pick{flex-wrap:wrap}.jobs-pick select{flex:100%}.jobs-pick button{flex:1}.jobs-pick button.job-del{color:#c62828;border-color:#c62828}.hours-open-btn{text-align:center;border-left-color:var(--orange);border-right:4px solid var(--orange);justify-content:center}.clean-row{text-align:center;align-items:center}.clean-row .clean-btn{align-self:center}.cam-row{gap:8px;display:flex}.cam-row .camera-btn{flex:2}.cam-row .gallery-btn{border-color:var(--trim);color:var(--trim);flex:1;padding:16px 8px;font-size:15px}.gallery-day{color:var(--trim);font-weight:600}.drive-import{max-height:88vh;overflow-y:auto}.drive-import label{color:var(--trim);margin:10px 0 4px;font-size:13px;font-weight:600;display:block}.drive-import label input{box-sizing:border-box;border:1px solid #ccc;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-size:15px;display:block}.di-sum{color:var(--trim);margin:8px 0;font-size:14px}.di-list{margin:0;padding:0;list-style:none}.di-list li{border-top:1px solid #eee8dc;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:8px 0;display:grid}.di-list li.skip .di-folder{color:#9aa0a6}.di-folder{color:var(--trim);grid-column:1/-1;font-size:14px;font-weight:600}.di-folder span{color:#80858a;margin-left:4px;font-size:12.5px;font-weight:400}.di-arrow{display:none}.di-list select{background:#fff;border:1px solid #ccc;border-radius:8px;grid-column:1/-1;width:100%;padding:8px;font-size:14px}.di-new{border:1px solid var(--tan);border-radius:8px;grid-column:1/-1;padding:8px;font-size:14px}.di-progress p{margin:8px 0 0;font-size:14px}.di-bar{background:#eee8dc;border-radius:5px;height:10px;overflow:hidden}.di-bar span{background:var(--orange);height:100%;transition:width .3s;display:block}.photos-head{justify-content:space-between;align-items:center;display:flex}.sel-btn{border:1px solid var(--trim);color:var(--trim);cursor:pointer;background:#fff;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600}button.day-photo{cursor:pointer;background:0 0;border:none;padding:0;position:relative}.day-photo.picked img{outline:3px solid var(--orange);outline-offset:-3px;opacity:.85}.day-photo .pick{color:#fff;background:#00000040;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid;position:absolute;top:6px;right:6px}.day-photo .pick.on{background:var(--orange)}.sel-bar{background:#fff;border:1px solid #e6e1d7;border-radius:10px;align-items:center;gap:8px;margin-top:10px;padding:8px;display:flex;position:sticky;bottom:0;box-shadow:0 -2px 8px #0000000f}.sel-bar span{color:#5f6368;flex:1;font-size:13px}.sel-bar button{border:1px solid var(--trim);color:var(--trim);cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:600}.sel-bar button.danger{color:#c62828;border-color:#c62828}.sel-bar button:disabled{opacity:.45}.move-photos label{color:var(--trim);margin:10px 0 4px;font-size:13px;font-weight:600;display:block}.move-photos select,.move-photos input{box-sizing:border-box;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-size:15px;display:block}.crash h2{color:#c62828}.crash-msg{white-space:pre-wrap;word-break:break-word;color:#8a1c1c;background:#fff4f4;border:1px solid #f1c4c4;border-radius:8px;padding:10px;font-size:13px}.week-fy{margin:10px 0}.fy-toggle{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:0;font-family:inherit}.pi-from{color:#9a4f0f;background:#fdeedd;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:600}.pi-notes{border-left:3px solid #cdb48a;margin:6px 0 0;padding:0 0 0 10px;font-size:14px;list-style:none}.pi-notes li{margin:2px 0}.pi-notes span{color:#80858a;font-size:12px}.pi-notes button.pi-note-del{color:#9aa0a6;background:0 0;border:none;width:auto;min-height:0;margin-left:6px;padding:0 6px;font-size:13px;line-height:1.4}.pi-note-new textarea{width:100%;font:inherit;border:1px solid #ccc;border-radius:8px;margin-top:8px;padding:8px}.tl-perms{margin:2px 0 6px 26px}.tl-perms-row{margin:2px 0 4px}.tl-access .nt-row{margin:4px 0}.tl-access select{margin-top:4px}.tl-jobs{margin:4px 0 0 4px}.tl-custom{margin:2px 0 8px 26px}.tl-custom select{margin-top:6px}.tl-perm-list{color:#80858a;margin-top:4px;font-size:12.5px}.tl-change{background:#f8f5ef;border-radius:8px;margin:6px 0;padding:8px 10px}.acct-box.team-links button.tl-perm{color:#80858a;cursor:pointer;background:#fff;border:1px solid #d9d2c3;border-radius:12px;width:auto;margin:4px 6px 0 0;padding:3px 10px;font-size:12.5px;font-weight:600;display:inline-block}.acct-box.team-links button.tl-perm.on{color:#fff;background:#33383d;border-color:#33383d}.boss-link{border-top:1px solid #e6e1d7;padding:8px 0}.boss-link.off .bl-name{color:#9aa0a6}.bl-name{color:var(--trim);margin-bottom:6px;font-weight:700}.bl-name span{font-size:13px;font-weight:400}.boss-new{gap:8px;margin-top:10px;display:flex}.boss-new input{border:1px solid #ccc;border-radius:8px;flex:1;min-width:0;padding:10px;font-size:15px}.boss-new button{white-space:nowrap}.acct-box button.danger-text{color:#c62828;border-color:#c62828}.qr-box{text-align:center}.qr-box img{width:100%;max-width:320px;height:auto;image-rendering:pixelated;border:1px solid #e6e1d7;border-radius:8px}.boss-link .acct-actions{flex-wrap:wrap}.prio-pick{align-items:center;gap:6px;margin:-4px 0 10px;display:flex}.prio-pick span{color:var(--trim);margin-right:4px;font-size:13px;font-weight:600}.prio-pick button{color:var(--trim);cursor:pointer;background:#fff;border:1px solid #d9d2c3;border-radius:8px;flex:1;padding:8px 0;font-size:14px;font-weight:600}.prio-pick button.prio-mid{border-color:#e0b100}.prio-pick button.prio-high{border-color:#c62828}.prio-pick button.on.prio-normal{background:var(--trim);border-color:var(--trim);color:#fff}.prio-pick button.on.prio-mid{color:#5d4300;background:#ffe082}.prio-pick button.on.prio-high{color:#fff;background:#c62828}.punch-item.prio-high{background:#fde4e1;border-color:#f2b8b2 #f2b8b2 #f2b8b2 #c62828}.punch-item.prio-mid{background:#fff4c7;border-color:#f0dc8f #f0dc8f #f0dc8f #e0b100}.punch-badge.prio-high{background:#c62828;margin-right:6px}.punch-badge.prio-mid{color:#3d2c00;background:#e0b100;margin-right:6px}.ai-log{margin:6px 0 8px}.ai-log .link{font-size:13px}.ai-log ul{max-height:260px;margin:6px 0 0;padding:0;list-style:none;overflow-y:auto}.ai-log li{border-top:1px solid #e6e1d7;padding:6px 0;font-size:13px}.ai-log li.bad b{color:#c62828}.al-top{justify-content:space-between;gap:8px;display:flex}.al-ms{color:var(--trim);white-space:nowrap;font-weight:700}.al-ms.slow{color:#c62828}.al-meta{color:#80858a;font-size:12px}.al-err{color:#c62828}.sheet-pick{max-height:90vh;overflow-y:auto}.sp-tools{color:#5f6368;align-items:center;gap:14px;margin:6px 0;font-size:13px;display:flex}.sp-tools span{color:var(--trim);margin-left:auto;font-weight:600}.sp-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;margin:6px 0 10px;display:grid}.sp-page{cursor:pointer;aspect-ratio:3/4;background:#fff;border:2px solid #e0d6c6;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex;position:relative;overflow:hidden}.sp-page img{object-fit:contain;background:#fff;width:100%;height:100%}.sp-page.on{border-color:var(--orange);box-shadow:0 0 0 2px #ffd9c2}.sp-wait{color:#9aa0a6}.sp-num{color:#f3ecdc;background:#33383dcc;border-radius:4px;padding:0 5px;font-size:11px;font-weight:700;position:absolute;bottom:4px;left:4px}.sp-check{color:#fff;background:#00000040;border:2px solid #fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;display:grid;position:absolute;top:4px;right:4px}.sp-page.on .sp-check{background:var(--orange)}
