:root{color:#14201a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#eef1ed;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#eef1ed;min-width:320px;margin:0}button,label{font:inherit}button{cursor:pointer}.appShell{min-height:100vh;padding:12px}.commandBar{background:#fbfcf9;border:1px solid #cfd7ce;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:8px 10px;display:grid}.brandLine,.commandFlags,.statusPill,.miniStatus,.fileChip,.severity,.tabButton{align-items:center;display:flex}.brandLine{gap:10px;min-width:0}.brandMark{color:#fff;background:#1f6b55;border:1px solid #9fb5aa;border-radius:6px;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}h1,h2,h3,p{letter-spacing:0;margin:0}h1{font-size:18px;line-height:1.1}.subTitle{color:#5f6f66;margin-top:3px;font-size:12px}.commandFlags{flex-wrap:wrap;justify-content:flex-end;gap:8px}.statusPill,.miniStatus,.fileChip,.severity,.tabButton{color:#314039;white-space:nowrap;background:#fff;border:1px solid #cbd6cf;border-radius:6px;gap:7px;min-height:28px;padding:5px 8px;font-size:12px;font-weight:750}.miniStatus{color:#506058;background:#f4f7f3}.dot{background:#93a39a;border-radius:99px;width:8px;height:8px}.dot.ready,.dot.fixable{background:#1b7a58}.dot.qa_required{background:#c4771a}.repairDesk{grid-template-columns:260px minmax(0,1fr) 300px;gap:12px;height:calc(100vh - 84px);min-height:680px;padding-top:12px;display:grid}.rail,.spreadsheetDesk,.exportTray,.issueLedger{background:#fbfcf9;border:1px solid #cfd7ce;border-radius:8px}.rail,.exportTray{flex-direction:column;min-width:0;display:flex}.railHeader,.trayHeader,.ledgerHeader{border-bottom:1px solid #dde4dc;padding:12px}.railHeader h2,.trayHeader h2,.ledgerHeader h2{font-size:14px}.railHeader p,.trayHeader p,.ledgerHeader p{color:#617168;margin-top:4px;font-size:12px;line-height:1.35}.uploadSlot{background:#f6f8f4;border:1px dashed #97aaa1;border-radius:8px;gap:10px;margin:12px;padding:14px;display:grid}.uploadSlot svg{color:#1f6b55}.uploadSlot h3{font-size:14px}.uploadSlot p{color:#64756c;font-size:12px;line-height:1.45}.trustGrid{gap:6px;padding-top:2px;display:grid}.trustGrid span,.trustGrid a{color:#516158;background:#fff;border:1px solid #dbe4dc;border-radius:6px;padding:7px 8px;font-size:11px;font-weight:750;line-height:1.25;text-decoration:none;display:block}.trustGrid a{color:#1f6b55}.scanButton,.checkoutButton{color:#fff;cursor:pointer;background:#1f6b55;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-weight:800;display:inline-flex}.checkoutButton:disabled{cursor:wait;opacity:.78}.scanButton input{display:none}.fileFacts,.headerStrip,.trayList,.planStack{gap:8px;padding:0 12px 12px;display:grid}.factRow{background:#fff;border:1px solid #dce4dc;border-radius:6px;gap:3px;padding:9px;display:grid}.factRow span{color:#66756d;text-transform:uppercase;font-size:11px;font-weight:750}.factRow strong{overflow-wrap:anywhere;font-size:13px}.headerStrip{border-top:1px solid #dde4dc;margin-top:auto;padding-top:12px}.fieldBadge{color:#203328;overflow-wrap:anywhere;background:#eef3ef;border:1px solid #cbd6cf;border-radius:5px;width:fit-content;max-width:100%;padding:5px 7px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px;display:inline-flex}.spreadsheetDesk{grid-template-rows:auto auto minmax(0,1fr) auto;min-width:0;display:grid}.sheetTop{background:#f7f9f5;border-bottom:1px solid #cfd7ce;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.sheetTop h2{font-size:15px}.sheetTop p{color:#617168;margin-top:3px;font-size:12px}.countRail{gap:8px;display:flex}.countCell{background:#fff;border:1px solid #d5ded6;border-radius:6px;min-width:76px;padding:7px 8px}.countCell span,.countCell strong{display:block}.countCell span{color:#66756d;font-size:11px}.countCell strong{margin-top:2px;font-size:18px;line-height:1}.actionBanner{color:#294036;background:linear-gradient(90deg,#1f6b551f,#0000 58%),#fbfdf9;border-bottom:1px solid #cfd7ce;align-items:center;gap:9px;min-height:40px;padding:9px 12px;font-size:12px;font-weight:800;display:flex}.actionBanner svg{color:#1f6b55;flex:none}.actionBanner.working{background:linear-gradient(90deg,#1f6b5533,#0000 65%),#eef8f2;border-bottom-color:#b7c9be}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sheetScroll{background-color:#fff;background-image:linear-gradient(#e8ede8 1px,#0000 1px),linear-gradient(90deg,#e8ede8 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:38px 38px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;overflow:auto}.scanState{color:#53645b;text-align:center;align-content:center;place-items:center;gap:8px;min-height:320px;padding:28px;display:grid}.scanState strong{color:#17241e;font-size:15px}.scanState span{max-width:420px;font-size:13px;line-height:1.45}.scanState.no_issues svg{color:#1f6b55}.scanState.empty svg,.scanState.parse_failed svg{color:#c4771a}table{border-collapse:separate;border-spacing:0;background:#fff;width:100%;min-width:900px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #dfe6de;border-right:1px solid #dfe6de;padding:9px 10px;font-size:12px}th{z-index:1;color:#516158;text-transform:uppercase;background:#edf3ed;font-size:11px;font-weight:850;position:sticky;top:0}.rowNum{color:#607268;width:54px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.beforeCell{color:#7a5340;background:#fff8f0}.afterCell{color:#163d2f;background:#eff8f2}.fixCell{color:#33433b;min-width:210px}code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:11px}.severity{width:fit-content;min-height:24px;padding:4px 7px}.severity.warn{color:#875313;background:#fff8e8;border-color:#e4c389}.severity.fixable{color:#176a55;background:#eef8f2;border-color:#9bcbb7}.severity.blocked{color:#9a2f24;background:#fff0ee;border-color:#e2aaa0}.sheetFooter{color:#617168;border-top:1px solid #cfd7ce;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;font-size:12px;display:flex}.copySummaryButton{color:#1f6b55;background:#fff;border:1px solid #b9ccc2;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:30px;padding:0 10px;font-size:12px;font-weight:850;display:inline-flex}.trayList{padding-top:12px}.fileSlot{background:#fff;border:1px solid #d7e0d8;border-radius:7px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:9px;padding:11px;display:grid}.fileSlot.locked{background:linear-gradient(90deg,#1f6b551f,#0000 58%),#fff}.fileSlot strong,.fileSlot span{display:block}.fileSlot strong{font-size:12px}.fileSlot span{color:#65756d;margin-top:2px;font-size:11px}.lockMark{color:#6b7a72}.fileValue{color:#1f6b55;white-space:nowrap;background:#edf7f1;border:1px solid #cbdcd0;border-radius:6px;align-items:center;gap:5px;padding:5px 7px;font-size:11px;font-weight:800;display:inline-flex}.planStack{border-top:1px solid #dde4dc;margin-top:auto;padding-top:12px}.planBox{background:#fff;border:1px solid #dbe4dc;border-radius:7px;gap:3px;padding:9px;display:grid}.planBox.featured{background:#f1f8f3;border-color:#a8c7b7}.planBox strong{font-size:13px}.planBox span{color:#617168;font-size:12px;line-height:1.35}.paymentHold{background:#fff9e9;border:1px solid #d8c68f;border-radius:7px;gap:4px;padding:10px;display:grid}.paymentHold strong{color:#6f470d;font-size:13px}.paymentHold span{color:#6b5a36;font-size:12px;line-height:1.4}.paymentHold.success{background:#f1f8f3;border-color:#b9d4c4}.paymentHold.success strong{color:#195a43}.paymentHold.success span{color:#365d4d}.checkoutButton.secondary{background:#1d3d63}.checkoutButton.subtle{color:#1d3d63;background:#fff;border:1px solid #ccd8d0}.paywallNote{color:#617168;font-size:12px;line-height:1.45}.paywallNote code{color:#203328;font-weight:800}.paywallNote a{color:#1f6b55;font-weight:800}.issueLedger{grid-column:1/-1}.searchRoutes{background:#f8faf7;border:1px solid #cfd7ce;border-radius:8px;grid-column:1/-1}.searchRoutesHeader{border-bottom:1px solid #dde4dc;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.searchRoutesHeader h2{font-size:15px}.searchRoutesHeader p{color:#617168;max-width:720px;margin-top:4px;font-size:12px;line-height:1.45}.searchRoutesHeader a{color:#1f6b55;white-space:nowrap;background:#fff;border:1px solid #b9ccc2;border-radius:6px;justify-content:center;align-items:center;min-height:32px;padding:0 10px;font-size:12px;font-weight:850;text-decoration:none;display:inline-flex}.routeGrid{background:#dde4dc;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.routeCard{color:#14201a;background:#fbfcf9;gap:6px;min-width:0;min-height:118px;padding:13px;text-decoration:none;display:grid}.routeCard span{color:#516158;text-transform:uppercase;background:#eef3ef;border:1px solid #cbd6cf;border-radius:5px;width:fit-content;padding:4px 6px;font-size:10px;font-weight:850}.routeCard strong{font-size:13px;line-height:1.25}.routeCard p{color:#617168;font-size:12px;line-height:1.42}.routeCard:hover{background:#f1f8f3}.ledgerHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.tabs{flex-wrap:wrap;gap:8px;display:flex}.tabButton{border-color:#d4ddd5}.tabButton.active{color:#1f6b55;background:#edf7f1;border-color:#1f6b55}.ledgerRows{border-top:1px solid #dde4dc;grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.ledgerItem{border-right:1px solid #dde4dc;min-height:92px;padding:12px}.ledgerItem:last-child{border-right:0}.ledgerItem span{color:#66756d;text-transform:uppercase;font-size:11px;font-weight:800}.ledgerItem strong{margin-top:6px;font-size:13px;display:block}.ledgerItem p{color:#617168;margin-top:5px;font-size:12px;line-height:1.4}.ledgerItem em{color:#315044;background:#f5f8f4;border:1px solid #d6e1d8;border-radius:6px;margin-top:8px;padding:5px 7px;font-size:11px;font-style:normal;font-weight:750;display:inline-flex}.muted{color:#819088}@media (width<=1100px){.repairDesk{grid-template-columns:240px minmax(0,1fr);height:auto}.exportTray{grid-column:1/-1}}@media (width<=760px){.appShell{padding:8px}.commandBar,.repairDesk,.ledgerRows,.routeGrid{grid-template-columns:1fr}.commandFlags,.sheetTop,.sheetFooter,.ledgerHeader,.searchRoutesHeader{justify-content:flex-start;align-items:flex-start}.commandFlags,.sheetTop,.ledgerHeader,.countRail,.searchRoutesHeader{flex-wrap:wrap}.repairDesk{min-height:0}.ledgerItem{border-bottom:1px solid #dde4dc;border-right:0}}
