@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;--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{background:var(--white);min-height:100vh;color:var(--black);font-family:var(--font-body);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);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}.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}.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{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.tab{white-space:nowrap;padding:10px 14px}}.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}.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)}.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{background:var(--green-bg);color:var(--green)}.pill-rejected{background:var(--red-bg);color:var(--red)}.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)}.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}.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-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}.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}.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)}
