:root { --ink:#080808; --muted:#74757c; --line:#e5e5e8; --wash:#f5f5f7; --violet:#7655df; --serif:Georgia,"Times New Roman",serif; }
* { box-sizing:border-box; }
body { min-height:100vh; margin:0; color:var(--ink); background:var(--wash); font-family:"Helvetica Neue",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
.supplier-auth-shell { min-height:100vh; display:grid; place-items:center; padding:1.5rem; background:radial-gradient(circle at 15% 30%,rgba(247,121,154,.7),transparent 34%),radial-gradient(circle at 55% 45%,rgba(106,197,242,.72),transparent 38%),radial-gradient(circle at 85% 25%,rgba(118,85,223,.65),transparent 38%),#eef2fb; }
.supplier-auth-card { width:min(100%,480px); padding:clamp(1.6rem,5vw,3rem); background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.7); border-radius:1rem; box-shadow:0 30px 90px rgba(34,25,70,.15); backdrop-filter:blur(20px); }
.supplier-logo { width:135px; margin-bottom:3.5rem; }
.supplier-eyebrow { color:var(--violet); font-size:.7rem; font-weight:750; letter-spacing:.13em; }
.supplier-auth-card h1,.supplier-page-title { font-family:var(--serif); font-weight:400; letter-spacing:-.04em; }
.supplier-auth-card h1 { font-size:clamp(1.15rem,3.5vw,2rem); line-height:1.02; }
.form-control,.form-select { min-height:2.9rem; border-color:#d8d8dc; border-radius:.3rem; }
.form-control:focus,.form-select:focus { border-color:var(--violet); box-shadow:0 0 0 .2rem rgba(118,85,223,.12); }
.btn { min-height:2.8rem; border-radius:.3rem; font-weight:650; }
.supplier-topbar { min-height:72px; padding:0 clamp(1.25rem,5vw,4rem); display:flex; align-items:center; justify-content:space-between; background:white; border-bottom:1px solid var(--line); }
.supplier-nav-logo { width:125px; }
.supplier-page-title { font-size:clamp(1.2rem,3vw,2.25rem); line-height:1.02; }
.supplier-panel { background:white; border:1px solid var(--line); border-radius:.75rem; overflow:hidden; box-shadow:0 15px 45px rgba(20,20,30,.05); }
.supplier-panel>header { padding:1.4rem 1.5rem 1rem; border-bottom:1px solid var(--line); }
.supplier-panel h2 { margin:0 0 .25rem; font-family:var(--serif); font-size:1.5rem; font-weight:400; }
.supplier-panel header p { margin:0; color:var(--muted); font-size:.82rem; }
.invoice-total { display:flex; justify-content:space-between; align-items:center; padding:1rem; background:#f2eefc; border-radius:.4rem; }
.invoice-total strong { color:var(--violet); font-size:1.25rem; }
.supplier-invoice { padding:1.2rem 1.5rem; border-bottom:1px solid var(--line); }
.supplier-invoice:last-child { border-bottom:0; }
.supplier-invoice-row { display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.supplier-invoice-number { font-weight:750; }
.supplier-invoice-meta { color:var(--muted); font-size:.78rem; }
.supplier-status { display:inline-block; margin-top:.5rem; padding:.3rem .55rem; border-radius:999px; background:#fff2c7; font-size:.72rem; font-weight:700; }
.supplier-status.validated { background:#dfeaff; color:#27539a; }.supplier-status.rejected { background:#fee2e2;color:#a32222;}.supplier-status.paid { background:#d8f4e5;color:#13754b; }.supplier-status.partial { background:#ffedd5;color:#9a4d0a; }
@media(max-width:575px){.supplier-name{display:none}.supplier-invoice-row{flex-direction:column}.supplier-invoice-row>strong{font-size:1.2rem}}
