.sourcebudgetscroll{overflow:auto;max-height:70vh;border:1px solid #d0d0d0;touch-action:pan-x pan-y pinch-zoom}.sourcebudget{border-collapse:collapse;table-layout:fixed;width:max-content;min-width:1220px;font-family:Arial,sans-serif;font-size:14px}.sourcebudget td{border:1px solid #d6d6d6;padding:2px 4px;vertical-align:bottom;overflow-wrap:anywhere}.sourcebudget td input{border:0;border-radius:0;background:transparent;font:inherit;color:inherit;width:100%;min-width:0;padding:0;box-sizing:border-box}.sourcebudget .sourceonly{background:#f0f0f0!important;color:#555!important}.sourcebudget .reference{cursor:default}.notebutton{font-size:11px;padding:1px 3px;display:block}.sourcebudget td .error{display:block;min-width:110px;font:12px Arial;color:#b91c1c}.sourcebudget td{position:relative}.sourcebudget .notebutton{position:absolute;top:0;right:0;min-height:0;height:auto;line-height:12px;padding:0 2px;font-size:10px;max-width:75px;background:#fff8c6;border:1px solid #999;border-radius:0;opacity:.85}.sourcebudget td:first-child:has(.notebutton){padding-right:77px}.sourcebudget input{line-height:18px!important}.sourcebudget td a{font-size:inherit}:root{--green: #2f6f5e;--ink: #23262b;--muted: #6b7280;--line: #e5e1da;--bg: #f3f1ec}*{box-sizing:border-box}body{font-family:-apple-system,system-ui,sans-serif;margin:0;background:var(--bg);color:var(--ink);font-size:16px}main{max-width:520px;margin:0 auto;padding:14px 14px 96px}h2{font-size:22px;margin:18px 0 10px}h3{font-size:15px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:22px 0 8px}input,select{font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;width:100%}button{font-size:15px;font-weight:600;min-height:44px;padding:10px 18px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:12px;cursor:pointer}button:disabled{opacity:.45}button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.auth input{margin:8px 0}.top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:6px 2px 12px}.top h1{font-size:20px;margin:0;color:var(--green)}.who{font-size:13px;color:var(--muted);text-align:right}.who button{min-height:36px;padding:6px 12px;font-size:13px;margin-left:6px}.project{display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;margin:10px 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 1px 3px #0000000f}.project strong{font-size:17px;display:block}.project span{display:block;color:var(--muted);font-size:14px;margin-top:2px;font-weight:400}.project:after{content:"›";font-size:26px;color:var(--muted);font-weight:400}.clientblock{background:#fff;border:1px solid var(--line);border-radius:16px;padding:4px 14px 12px;margin:14px 0;box-shadow:0 1px 3px #0000000f}.clientblock h3{color:var(--green);margin:12px 0 4px}.clientblock .project{box-shadow:none;margin:6px 0}.order{border:1px solid var(--line);border-radius:16px;background:#fff;padding:16px;margin:12px 0;box-shadow:0 1px 3px #0000000f}.order>strong{font-size:17px}.item{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0;box-shadow:0 1px 2px #0000000d}.item>div+div{margin-top:6px}.item>div:first-child{font-weight:600;margin-top:0}.muted{color:var(--muted);font-size:14px}.receipt{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.receipt button{min-height:48px}.recform{display:grid;gap:8px;margin-top:10px;background:#faf9f6;border:1px solid var(--line);border-radius:12px;padding:10px}.recform button{background:var(--green);border-color:var(--green);color:#fff}.error{color:#a33}.addrow{display:grid;gap:8px;margin:10px 0}.row{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:6px 0;flex-wrap:wrap}.link{background:none;border:none;color:var(--green);cursor:pointer;padding:4px 0;text-decoration:underline;min-height:0;font-weight:500}a{color:var(--green)}.apphead{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;background:var(--green);color:#fff;margin:-14px -14px 14px;padding:14px 16px}.backbtn{background:#ffffff26;border:none;color:#fff;font-size:26px;line-height:1;min-height:40px;min-width:44px;padding:4px 10px}.apptitle{font-size:17px;font-weight:700}.appsub{font-size:13px;opacity:.85}.bottomnav{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;gap:2px;background:#fff;border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 26px),rgba(0,0,0,.35));mask-image:linear-gradient(to right,#000 calc(100% - 26px),#00000059)}.bottomnav::-webkit-scrollbar{display:none}.bottomnav button{flex:0 0 auto;min-width:78px;padding:0 10px;border:none;background:none;min-height:52px;font-size:14px;font-weight:600;color:var(--muted);border-radius:10px}.bottomnav button[aria-pressed=true]{background:#e7f0ed;color:var(--green)}.assign{margin:-2px 0 10px;padding:0 4px;font-size:14px;color:var(--muted)}.assign select{width:auto;padding:6px 10px;font-size:14px}.chip{display:inline-block;background:#eee;border-radius:10px;padding:2px 8px;margin:2px 4px 2px 0}.chip button{margin-left:4px;min-height:0;padding:0 4px}.parsebox{border:1px solid var(--line);border-radius:14px;padding:12px;margin:10px 0;background:#fff;overflow:hidden}.parserow{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0;align-items:center}.parserow .pname{flex:1 1 100%;min-width:0}.parserow .small{flex:1 1 0;min-width:0}.parserow input{padding:8px 10px;font-size:14px}.parserow input[type=checkbox]{flex:0 0 auto;width:auto}.phead{font-size:12px;text-transform:uppercase;letter-spacing:.03em}.phead span:nth-child(1){flex:0 0 13px}.phead span:nth-child(2){flex:1 1 100%}.phead span:nth-child(3),.phead span:nth-child(4){flex:1 1 0}.perr{color:#a33;font-size:12px;margin:0 0 4px 24px}.charges{border-top:1px dashed var(--line);margin-top:8px;padding-top:6px}.dupwarn{border:1px solid #c9a227;background:#fdf6e3;border-radius:12px;padding:10px;margin-top:8px}.teampanel{border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:24px;background:#fff}.teampanel input,.teampanel select{margin:4px 0}.updatebar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:10px;background:#1d4f43;color:#fff;border-radius:12px;padding:10px 14px;margin-bottom:12px;font-size:14px}.updatebar button{background:#fff;color:#1d4f43;border:none;min-height:36px;padding:6px 14px}.clientname{text-decoration:none;padding:0}.clientname h3{margin:12px 0 4px}.delbtn{margin-left:10px}.clientblock h3{margin-right:8px}.clientblock .muted{margin-right:6px}.itemrow{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;padding:10px 14px;margin:4px 0;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:15px}.itemrow .irname{font-weight:600;min-width:0}.itemrow .irstatus{color:var(--muted);font-size:13px;white-space:nowrap}.itemrow .irstatus.err{color:#b3261e;font-weight:600}.itemrow:after{content:"›";color:var(--muted);font-size:20px;flex:none}.project>div{min-width:0}.holdzone{position:relative;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.receipt button[data-pending]{border-style:dashed;opacity:.75}.pendingtag{color:#b3261e;font-size:13px;font-weight:600;margin:4px 0}.holdmenu{position:absolute;top:4px;right:6px;border:none;background:none;color:var(--muted);font-size:15px;line-height:1;padding:4px 6px;letter-spacing:1px;opacity:.55;z-index:2}.holdzone{position:relative}.holdzone:has(>.itemrow)>.itemrow{padding-right:48px}.holdzone:has(>.row)>.row{padding-right:42px}.holdzone:has(>.itemrow)>.holdmenu,.holdzone:has(>.row)>.holdmenu{top:50%;right:10px;transform:translateY(-50%);opacity:.7}.viewas{padding:8px 12px;background:#f4f6f4;border-bottom:1px solid #dde3dd;font-size:14px}.viewas select{margin-left:6px;padding:4px 6px}.viewasbar{padding:8px 12px;background:#fff8e1;border-bottom:1px solid #e8d9a0;font-size:14px}.badge{display:inline-block;min-width:16px;height:16px;line-height:16px;border-radius:8px;background:#c0392b;color:#fff;font-size:11px;text-align:center;margin-left:4px;padding:0 4px;vertical-align:middle}.bulkrow{cursor:pointer}.bulkrow input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--accent, #111)}.sublabel{display:flex;gap:8px;align-items:center;flex:1 1 auto;min-width:0}.sublabel span{min-width:0;overflow-wrap:break-word}.sublabel input[type=checkbox]{width:18px;height:18px;flex:none}.sheetwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:6px 0}.sheet{min-width:560px}.srow{display:grid;grid-template-columns:2.6fr .6fr .6fr .9fr 1fr .9fr;border-bottom:1px solid #e2e8f0;align-items:start}.srow.shead span{font-size:12px;font-weight:700;color:#64748b;padding:6px 8px;text-transform:uppercase;letter-spacing:.02em}.srow .cell{width:100%;border:0;padding:8px;background:transparent;font-size:14px}.srow .cell:focus{background:#fff;outline:2px solid #14532d;outline-offset:-2px}.srow:hover .cell{background:#f8fafc}.srow .cellname{resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35;font-family:inherit;min-height:34px}.bsheet{min-width:900px;font-size:13px;border:1px solid #e2e8f0}.brow{display:grid;grid-template-columns:2.4fr .55fr .55fr .85fr 1fr .8fr .6fr 14px .55fr .55fr .85fr 1fr;border-bottom:1px solid #e2e8f0;align-items:stretch}.brow>span{padding:6px 8px}.brow .cell{width:100%;border:0;padding:6px 8px;background:transparent;font-size:13px;border-left:1px solid #f1f5f9}.brow .cell:focus{background:#fff;outline:2px solid #14532d;outline-offset:-2px}.brow:hover .cell{background:#f8fafc}.brow .cellname{resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35;font-family:inherit;min-height:30px}.baddr span{font-weight:700;grid-column:1 / -1;background:#f8fafc}.bgroup span{font-weight:700;text-align:center;background:#f1f5f9;border-left:1px solid #e2e8f0}.bplans{grid-column:1;text-align:left!important}.bmat{grid-column:2 / 8}.blab{grid-column:9 / 13}.bhead span{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.02em;background:#f8fafc;border-left:1px solid #f1f5f9}.bsp{padding:0!important;background:transparent}.bsec span{grid-column:1 / -1;font-weight:700;background:#f8fafc}.badd span{grid-column:1 / -1;padding:4px 8px}.badd button{margin-right:6px;font-size:12px}.brate{color:#475569;border-left:1px solid #f1f5f9}.pastebox{width:100%;font-family:inherit;font-size:13px;padding:8px;border:1px solid #cbd5e1;border-radius:6px}.bsheet.nolab .brow{grid-template-columns:2.4fr .55fr .55fr .85fr 1fr .8fr .6fr}.bsheet.nolab{min-width:560px}.bsheet.nolab .bmat{grid-column:2 / 8}.sidechoice{border-left:6px solid #ea580c}.sidelab{border-left-color:#eab308}.renamebox input,.renamebox textarea{width:100%;margin-bottom:6px}.brandlogo{height:40px;width:auto;display:block}.zoombar{display:flex;align-items:center;gap:8px;margin:4px 0}.zoombar button{width:36px;height:32px;font-size:18px;font-weight:700}.sheetwrap{overflow:auto;max-height:72vh;touch-action:pan-x pan-y pinch-zoom;overscroll-behavior:contain;border:1px solid #e2e8f0;border-radius:8px}.bsheet{position:relative}.brow>:first-child{position:sticky;left:0;background:#fff;z-index:2;box-shadow:1px 0 #e2e8f0}.brow.bhead,.brow.bgroup,.brow.baddr{position:sticky;z-index:3}.brow.baddr{top:0}.brow.bgroup{top:31px}.brow.bhead{top:62px}.brow.bhead>:first-child,.brow.bgroup>:first-child,.brow.baddr>:first-child{z-index:4;background:#f8fafc}.brow.bsec>:first-child,.brow.badd>:first-child{position:static}.brow{grid-template-columns:minmax(150px,2.4fr) .55fr .55fr .85fr 1fr .8fr .6fr 14px .55fr .55fr .85fr 1fr}.bsheet.nolab .brow{grid-template-columns:minmax(150px,2.4fr) .55fr .55fr .85fr 1fr .8fr .6fr}.brow.baddr{height:30px}.brow.bgroup{height:28px;top:30px}.brow.bhead{height:30px;top:58px}.bintro{font-size:12px;margin:2px 0 6px}@media (max-width: 480px){.top{padding:4px 2px 8px}.brandlogo{height:30px}.top .who{font-size:12px}.top .who button{font-size:11px;padding:2px 6px}.brow>span,.brow .cell{padding:4px 6px;font-size:12px}.brow .cellname{min-height:24px}.brow.bhead span{font-size:10px}.addrow input,.addrow button{font-size:12px;padding:4px 8px}}.blab{text-align:right!important;padding-right:10px}.brow.baddr{position:static}.brow.bgroup{top:0}.brow.bhead{top:28px}.brow>:first-child{position:static;box-shadow:none}.brow.bhead>:first-child,.brow.bgroup>:first-child,.brow.baddr>:first-child{position:static}.brow.bsec{position:sticky;top:58px;z-index:3}.brow.bsec>:first-child{position:static}.roomlink{display:flex;justify-content:space-between;align-items:center;width:100%;background:none;border:none;padding:0;text-align:left;font:inherit;color:inherit;cursor:pointer}.sidechoice.sidetask{border-left-color:#2e7d5b}.checkrow{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:8px 0}.checkrow input[type=checkbox]{width:20px;height:20px;flex:none}.jokewrap{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.jokecard{max-width:420px;width:100%;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:28px 22px;box-shadow:0 8px 30px #0f172a14}.jokecard img.brandlogo{margin:0 auto 14px}.jokecard p.joketext{font-size:18px;line-height:1.45;margin:0 0 18px}.project-actions>.holdmenu{top:0;right:6px;min-height:24px;height:24px;padding:0 8px}.project-actions>div:first-child>.project{padding-right:42px}.aifab{position:fixed;right:16px;bottom:76px;z-index:40;border-radius:999px;padding:12px 18px;background:#2e7d5b;color:#fff;border:none;font-weight:600;box-shadow:0 6px 18px #0f172a40}.aichatwrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0f172a73;display:flex;align-items:flex-end;justify-content:center}.aichat{background:#f8fafc;width:100%;max-width:560px;height:92dvh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;padding:14px}.aichathead{display:flex;justify-content:space-between;align-items:center}.aichatnote{margin:6px 0;font-size:13px}.aichatmsgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:6px 0}.aimsg{max-width:85%;padding:10px 12px;border-radius:12px;white-space:pre-wrap}.aimsguser{align-self:flex-end;background:#2e7d5b;color:#fff}.aimsgbot{align-self:flex-start;background:#fff;border:1px solid #e2e8f0}.aichatform{display:flex;gap:8px}.aichatform input{flex:1}.arrivalshade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0006;display:flex;align-items:center;justify-content:center;padding:16px}.arrivaldialog{width:min(440px,100%);max-height:90dvh;overflow:auto;background:#fff;border-radius:14px;padding:20px;color:#17202a}.arrivaldialog h3{margin-top:0}.arrivaldialog input{display:block;width:100%;min-height:48px;margin:8px 0;font-size:16px;box-sizing:border-box}.arrivaldialog p{overflow-wrap:anywhere}.arrivaldialog input[type=radio]{display:inline;width:auto;min-height:0;margin-right:6px}.arrivaldialog fieldset label{display:block;padding:8px 0}
