@import "https://fonts.googleapis.com/css2?family=Archivo+Black&family=Inter:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500&display=swap";:root{--black:#0a0a0a;--white:#fff;--gray-50:#f7f7f7;--gray-100:#ececec;--gray-300:#c7c7c7;--gray-500:#8a8a8a;--gray-700:#3d3d3d;--amber:#946200;--amber-bg:#fff7e6;--red:#d42d2d;--red-bg:#fdecec;--green:#1e8e4e;--green-bg:#e9f7ef;--radius:4px;--font-display:"Archivo Black", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}html,body,#root{min-height:100vh;color:var(--black);font-family:var(--font-body);background:#f4f5f2;margin:0;padding:0}body{-webkit-font-smoothing:antialiased}a{color:inherit}button{font-family:var(--font-body);cursor:pointer}:focus-visible{outline:3px solid var(--black);outline-offset:2px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:3px solid var(--black);background:var(--white);flex-wrap:wrap;justify-content:space-between;align-items:center;row-gap:10px;padding:18px 24px;display:flex}.topbar-mark{font-family:var(--font-display);letter-spacing:.02em;text-transform:uppercase;font-size:15px}.topbar-mark span{color:var(--red)}.topbar-user{color:var(--gray-700);flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:13px;display:flex}.btn-ghost{border:2px solid var(--black);border-radius:var(--radius);color:var(--black);background:0 0;padding:8px 14px;font-size:13px;font-weight:600}.btn-ghost:hover{background:var(--black);color:var(--white)}.page{flex:1;width:100%;max-width:880px;margin:0 auto;padding:40px 24px 80px}.page-wide{max-width:1180px}.page-title{font-family:var(--font-display);letter-spacing:-.01em;margin:0 0 6px;font-size:28px}.page-sub{color:var(--gray-700);margin:0 0 32px;font-size:14px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;display:flex}.page-header .page-sub{margin-bottom:0}.eyebrow{color:var(--gray-500);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:800;line-height:1.2}.admin-nav-wrap{padding-bottom:0}.admin-nav-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.admin-nav-heading h1{font-family:var(--font-display);margin:0;font-size:24px;line-height:1}.admin-nav-heading p{color:var(--gray-700);max-width:420px;margin:0;font-size:14px;line-height:1.45}.card{border:2px solid var(--black);border-radius:var(--radius);background:var(--white);margin-bottom:20px;padding:28px}.step{border-bottom:1px solid var(--gray-100);gap:18px;padding:24px 0;display:flex}.step:last-child{border-bottom:none}.step-num{border:2px solid var(--black);width:32px;height:32px;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.step-num.done{background:var(--green);border-color:var(--green);color:var(--white)}.step-body{flex:1}.step-label{margin-bottom:4px;font-size:15px;font-weight:700}.step-help{color:var(--gray-500);margin-bottom:12px;font-size:13px}label{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-700);margin-bottom:6px;font-size:12px;font-weight:700;display:block}input,select,textarea{border:2px solid var(--black);border-radius:var(--radius);width:100%;font-size:15px;font-family:var(--font-body);background:var(--white);color:var(--black);padding:12px 14px}input:disabled,select:disabled{background:var(--gray-50);color:var(--gray-500)}.field{margin-bottom:18px}.checkbox-field{text-transform:none;letter-spacing:normal;color:var(--gray-700);cursor:pointer;align-items:center;gap:10px;margin-bottom:18px;font-size:13px;font-weight:600;display:flex}.checkbox-field input[type=checkbox]{border:2px solid var(--black);width:18px;height:18px;accent-color:var(--black);border-radius:3px;flex-shrink:0;padding:0}.field-error input,.field-error select{border-color:var(--red);background:var(--red-bg)}.error-text{color:var(--red);margin-top:6px;font-size:13px;font-weight:600}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (width<=560px){.field-row{grid-template-columns:1fr}}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.split-layout{grid-template-columns:280px 1fr;gap:24px;display:grid}@media (width<=700px){.split-layout{grid-template-columns:1fr}}@media (width<=640px){.page{padding:24px 16px 60px}.page-title{font-size:22px}.card{padding:18px}.login-card{padding:28px 22px}.tabs{border-bottom:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.tab{white-space:normal;border:2px solid var(--black);border-radius:var(--radius);text-align:left;min-height:44px;margin-bottom:0;padding:10px 12px}.tab.active{background:var(--black);border-bottom-color:var(--black);color:var(--white)}}.btn-primary{background:var(--black);color:var(--white);border:2px solid var(--black);border-radius:var(--radius);width:100%;padding:14px 22px;font-size:15px;font-weight:700}.btn-primary:hover{opacity:.85}.btn-primary:disabled{background:var(--gray-300);border-color:var(--gray-300);cursor:not-allowed}.btn-secondary{background:var(--white);color:var(--black);border:2px solid var(--black);border-radius:var(--radius);padding:12px 20px;font-size:14px;font-weight:700}.btn-secondary:hover{background:var(--gray-50)}.btn-danger{background:var(--white);color:var(--red);border:2px solid var(--red);border-radius:var(--radius);padding:10px 16px;font-size:13px;font-weight:700}.btn-danger:hover{background:var(--red-bg)}.btn-success{background:var(--green);color:var(--white);border:2px solid var(--green);border-radius:var(--radius);padding:10px 16px;font-size:13px;font-weight:700}.btn-success:hover{opacity:.85}.btn-link{color:var(--black);background:0 0;border:none;padding:0;font-size:14px;font-weight:600;text-decoration:underline}.actions-cell{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.banner{border-radius:var(--radius);border:2px solid;margin-bottom:20px;padding:14px 16px;font-size:14px;font-weight:600}.banner-error{background:var(--red-bg);border-color:var(--red);color:var(--red)}.banner-success{background:var(--green-bg);border-color:var(--green);color:var(--green)}.deadline-note{background:var(--amber-bg);border:2px solid var(--amber);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:4px;margin:-12px 0 24px;padding:14px 16px;display:flex}.deadline-note strong{font-size:14px}.deadline-note span{color:var(--gray-700);font-size:13px;line-height:1.4}.pill{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.pill-pending{background:var(--gray-100);color:var(--gray-700)}.pill-approved,.pill-paid{background:var(--green-bg);color:var(--green)}.pill-payment-pending{background:var(--amber-bg);color:var(--amber)}.pill-rejected{background:var(--red-bg);color:var(--red)}.insight-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:34px;display:grid}.insight-card{background:var(--white);border:2px solid var(--black);border-radius:var(--radius);min-height:108px;padding:18px;box-shadow:4px 4px #0a0a0a14}.insight-card.tone-green{background:var(--green-bg);border-color:var(--green)}.insight-card.tone-warn{background:var(--amber-bg);border-color:var(--amber)}.focus-section,.report-section{border-top:3px solid var(--black);margin-top:28px;padding-top:28px}.section-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;display:flex}.section-header h2{margin:0 0 6px;font-size:20px;line-height:1.2}.section-header p{color:var(--gray-700);margin:0;font-size:14px;line-height:1.45}.section-total{background:var(--white);border:2px solid var(--black);border-radius:var(--radius);text-align:right;min-width:170px;padding:12px 14px}.section-total span,.review-total span,.review-context span,.cell-sub{color:var(--gray-500);font-size:12px;font-weight:700}.section-total span,.review-total span,.review-context span{letter-spacing:.04em;text-transform:uppercase;display:block}.section-total strong,.review-total strong{font-family:var(--font-mono);margin-top:4px;font-size:24px;display:block}.queue-table{border-color:var(--amber)}.queue-table table{table-layout:fixed}.queue-table th,.queue-table td{padding-left:10px;padding-right:10px}.queue-col-contractor{width:22%}.queue-col-period{width:15%}.queue-col-facility{width:25%}.queue-col-amount{width:13%}.queue-col-submitted{width:12%}.queue-col-action{width:13%}.queue-table .btn-success{white-space:nowrap;min-width:108px}.priority-row td{background:#fffcf3}.priority-row:hover td{background:var(--amber-bg)}.money-cell{font-family:var(--font-mono);white-space:nowrap;font-weight:700}.review-stack{gap:22px;display:grid}.review-card{background:var(--white);border:2px solid var(--black);border-radius:var(--radius);padding:22px;box-shadow:5px 5px #0a0a0a14}.review-card-header{justify-content:space-between;gap:24px;margin-bottom:18px;display:flex}.review-card h2{margin:0 0 4px;font-size:22px;line-height:1.2}.review-total{text-align:right}.review-context{grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:16px;display:grid}.review-context div{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius);padding:12px}.review-context strong{margin-top:4px;font-size:14px;display:block}.decision-panel{border-top:1px solid var(--gray-100);grid-template-columns:1fr auto;align-items:end;gap:16px;margin-top:16px;padding-top:16px;display:grid}.decision-panel .field{margin-bottom:0}.decision-actions{gap:10px;display:flex}.table-wrap{border:2px solid var(--black);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;background:var(--black);color:var(--white);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--gray-100);vertical-align:top;padding:12px 14px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--gray-50)}.mobile-list{display:none}.summary-card{border:2px solid var(--black);border-radius:var(--radius);background:var(--white);margin-bottom:12px;padding:16px}.summary-card-main{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:10px;display:flex}.summary-meta{color:var(--gray-700);margin-top:3px;font-size:13px;line-height:1.35}.summary-amount{font-family:var(--font-mono);flex-shrink:0;font-size:18px;font-weight:600}.summary-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.summary-note{border-top:1px solid var(--gray-100);color:var(--gray-700);margin-top:12px;padding-top:10px;font-size:13px}@media (width<=760px){.desktop-table{display:none}.mobile-list{display:block}}.success-screen{text-align:center;padding:60px 20px}.check-circle{background:var(--green);border-radius:50%;justify-content:center;align-items:center;width:96px;height:96px;margin:0 auto 28px;animation:.4s cubic-bezier(.34,1.56,.64,1) pop;display:flex}@keyframes pop{0%{transform:scale(0)}to{transform:scale(1)}}.check-circle svg{width:48px;height:48px}.success-title{font-family:var(--font-display);margin:0 0 10px;font-size:24px}.success-sub{color:var(--gray-700);max-width:420px;margin:0 auto 32px;font-size:15px}@media (prefers-reduced-motion:reduce){.check-circle{animation:none}}.line-item{border:2px dashed var(--gray-300);border-radius:var(--radius);margin-bottom:14px;padding:18px;position:relative}.line-item-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.label-with-help{align-items:center;gap:8px;margin-bottom:6px;display:flex}.label-with-help label{margin-bottom:0}.info-popover{width:24px;height:24px;color:var(--gray-700);justify-content:center;align-items:center;display:inline-flex;position:relative}.info-popover svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.info-tooltip{z-index:20;border:2px solid var(--black);border-radius:var(--radius);background:var(--white);width:min(280px,100vw - 48px);color:var(--black);text-transform:none;letter-spacing:0;box-shadow:4px 4px 0 var(--black);opacity:0;pointer-events:none;padding:10px 12px;font-size:12px;font-weight:600;line-height:1.35;transition:opacity .12s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.info-popover:hover .info-tooltip,.info-popover:focus .info-tooltip{opacity:1}.helper-text{color:var(--gray-700);margin-top:8px;font-size:13px;font-weight:600}.tag-oneoff{background:var(--black);color:var(--white);text-transform:uppercase;letter-spacing:.04em;border-radius:3px;padding:3px 8px;font-size:10px;font-weight:700}.remove-line{color:var(--red);background:0 0;border:none;font-size:13px;font-weight:700}.add-line-btn{border:2px dashed var(--black);border-radius:var(--radius);background:0 0;width:100%;margin-bottom:20px;padding:14px;font-size:14px;font-weight:700}.add-line-btn:hover{background:var(--gray-50)}.login-shell{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{border:3px solid var(--black);border-radius:var(--radius);width:100%;max-width:400px;padding:36px 32px}.login-card-wide{max-width:560px}.login-title{font-family:var(--font-display);margin:0 0 4px;font-size:22px}.login-sub{color:var(--gray-500);margin:0 0 28px;font-size:13px}.contractor-profile-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.contractor-tax-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.contractor-tax-grid div{background:var(--gray-50);border:1px solid var(--gray-100);border-radius:var(--radius);padding:12px}.contractor-tax-grid span{color:var(--gray-500);letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.contractor-tax-grid strong{font-size:14px;line-height:1.35;display:block}.reminder-schedule{border-top:2px solid var(--black);margin-top:24px;padding-top:22px}.reminder-schedule-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.reminder-schedule-heading .eyebrow{margin-bottom:4px;display:block}.reminder-schedule>p{color:var(--gray-700);max-width:620px;margin:0 0 18px;font-size:13px;line-height:1.5}.reminder-schedule-controls{grid-template-columns:minmax(180px,1fr) minmax(190px,1fr) auto;align-items:end;gap:14px;display:grid}.reminder-schedule-controls .field,.reminder-schedule-controls .checkbox-field{margin-bottom:0}.reminder-schedule-controls .btn-primary{white-space:nowrap;width:auto;min-height:46px}.reminder-toggle{align-items:center;min-height:46px}@media (width<=880px){.reminder-schedule-controls{grid-template-columns:1fr;align-items:stretch}.reminder-schedule-controls .btn-primary{width:100%}}.secure-fieldset{border:2px solid var(--black);border-radius:var(--radius);margin:8px 0 18px;padding:16px}.secure-fieldset-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.secure-fieldset-header h3{margin:0 0 4px;font-size:15px}.secure-fieldset-header p,.panel-copy{color:var(--gray-700);margin:0;font-size:13px;line-height:1.4}.export-panel{grid-template-columns:1fr;align-items:stretch;gap:20px;display:grid}.export-controls{grid-template-columns:110px 150px auto auto;align-items:end;gap:12px;display:grid}.export-controls .field{margin-bottom:0}.payer-profile-grid{border-top:1px solid var(--gray-300);grid-template-columns:1.4fr 120px 150px 170px;gap:12px;padding-top:18px;display:grid}.payer-profile-grid .field{margin-bottom:0}.payer-address-wide{grid-column:span 2}.payer-profile-note{color:var(--gray-600);grid-column:1/-1;margin:0;font-size:12px;line-height:1.4}@media (width<=560px){.contractor-profile-header,.contractor-tax-grid,.secure-fieldset-header,.export-panel,.export-controls,.payer-profile-grid{grid-template-columns:1fr;display:grid}.payer-address-wide{grid-column:auto}}.section-title{margin:0 0 18px;font-size:16px}.account-action{width:auto;min-width:160px}.divider-or{color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:12px;margin:22px 0;font-size:12px;display:flex}.divider-or:before,.divider-or:after{content:"";background:var(--gray-300);flex:1;height:1px}.btn-google{border:2px solid var(--black);border-radius:var(--radius);background:var(--white);justify-content:center;align-items:center;gap:10px;width:100%;padding:12px;font-size:14px;font-weight:700;display:flex}.btn-google:hover{background:var(--gray-50)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;margin-bottom:28px;display:grid}.stat-box{border:2px solid var(--black);border-radius:var(--radius);padding:16px}.stat-num{font-family:var(--font-mono);font-size:26px;font-weight:600}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);margin-top:4px;font-size:11px}.empty-state{text-align:center;color:var(--gray-500);padding:60px 20px}.action-empty{border:2px dashed var(--gray-300);border-radius:var(--radius);color:var(--gray-700)}.action-empty strong{color:var(--black);margin-bottom:8px;display:block}.action-empty p{max-width:420px;margin:0 auto;font-size:14px}.empty-action{width:auto;margin-top:18px}.filters-row{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.filters-row select,.filters-row input{width:auto;min-width:160px}.tabs{border-bottom:2px solid var(--black);gap:4px;margin-bottom:24px;display:flex}.tab{text-transform:uppercase;letter-spacing:.03em;color:var(--gray-500);background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:10px 18px;font-size:13px;font-weight:700}.tab.active{color:var(--black);border-bottom-color:var(--red)}.admin-tabs{background:var(--white);border:2px solid var(--black);border-radius:var(--radius);grid-template-columns:repeat(5,minmax(0,1fr));gap:0;display:grid;overflow:hidden}.admin-tabs .tab{border-bottom:0;border-right:1px solid var(--gray-100);text-align:left;text-transform:none;flex-direction:column;align-items:flex-start;gap:5px;min-height:76px;margin-bottom:0;padding:14px;display:flex}.admin-tabs .tab:last-child{border-right:0}.admin-tabs .tab span{color:var(--black);letter-spacing:0;text-transform:none;font-size:14px}.admin-tabs .tab small{color:var(--gray-500);letter-spacing:0;text-transform:none;font-size:11px;font-weight:700;line-height:1.3}.admin-tabs .tab.active{background:var(--black);color:var(--white)}.admin-tabs .tab.active span,.admin-tabs .tab.active small{color:var(--white)}@media (width<=900px){.admin-nav-heading,.page-header,.section-header,.review-card-header{display:grid}.admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-tabs .tab{border-bottom:1px solid var(--gray-100)}.insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-context,.decision-panel{grid-template-columns:1fr}.review-total,.section-total{text-align:left}}@media (width<=560px){.admin-tabs{grid-template-columns:1fr}.admin-tabs .tab{min-height:0}.insight-grid{grid-template-columns:1fr}.decision-actions{display:grid}}@media (width<=640px){.tab.active{background:var(--black);border-color:var(--black);color:var(--white)}}.modal-backdrop{z-index:100;background:#0a0a0a73;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-panel{border:3px solid var(--black);border-radius:var(--radius);background:var(--white);width:min(100%,460px);padding:24px}.modal-copy{color:var(--gray-700);margin:-8px 0 18px;font-size:14px}.confirm-summary{border:2px solid var(--gray-100);border-radius:var(--radius);margin-bottom:18px}.confirm-summary div{border-bottom:1px solid var(--gray-100);justify-content:space-between;gap:12px;padding:10px 12px;display:flex}.confirm-summary div:last-child{border-bottom:0}.confirm-summary span{color:var(--gray-500);text-transform:uppercase;font-size:12px;font-weight:700}.confirm-summary strong{text-align:right}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@media (width<=520px){.modal-panel{padding:18px}.modal-actions button{width:100%}.confirm-summary div{display:block}.confirm-summary strong{text-align:left;margin-top:4px;display:block}}
