:root{--ink:#101828;--muted:#667085;--line:#e5e9f0;--blue:#0868e8;--blue2:#095bd1;--bg:#f5f7fa;--green:#08a45c;--orange:#f79009;--sidebar:98px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;color:var(--ink);font:14px Inter,"Segoe UI",Arial,sans-serif}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);z-index:20;background:linear-gradient(180deg,#0874ef,#075fd5);color:#fff;display:flex;flex-direction:column;align-items:stretch}.side-brand{height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:12px;font-weight:700;border-bottom:1px solid #ffffff25}.brand-mark{font-size:29px;font-weight:1000;font-style:italic;line-height:28px}.sidebar nav{display:flex;flex-direction:column;padding:18px 8px;gap:5px}.sidebar nav a,.side-bottom a{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 3px;border-radius:9px;color:#dcecff;text-decoration:none;font-size:12px}.sidebar nav a span{font-size:24px;line-height:24px}.sidebar nav a.active{background:#ffffff20;color:#fff}.sidebar .disabled{opacity:.65;cursor:default}.side-bottom{margin-top:auto;padding:12px 8px 18px;text-align:center}.side-bottom button{background:transparent;border:0;color:#dcecff;padding:8px;font-size:12px}.app-shell{margin-left:var(--sidebar);min-height:100vh}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr minmax(280px,405px) 1fr;align-items:center;padding:0 28px;gap:24px}.breadcrumbs{display:flex;align-items:center;gap:10px;color:var(--muted);white-space:nowrap}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs b{color:var(--ink)}.global-search{height:40px;border:1px solid #d8dee8;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 12px;color:#667085;font-size:19px}.global-search input{border:0;padding:0;width:100%;outline:0;font-size:13px}.profile{justify-self:end;display:flex;gap:10px;align-items:center}.profile small{display:block;color:var(--muted);margin-top:2px}.avatar{width:35px;height:35px;border-radius:50%;background:#dceaff;color:var(--blue);display:grid;place-items:center;font-weight:800}main{max-width:1500px;margin:0 auto;padding:28px}.page-head,.heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:22px}.page-head h1,.heading h1,.narrow h1{font-size:30px;letter-spacing:-.6px;margin:3px 0 5px}.page-head p,.heading p{color:var(--muted);margin:0}.eyebrow{font-size:10px!important;letter-spacing:1.8px;color:var(--blue)!important;font-weight:800}.button,button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border:0;border-radius:8px;padding:10px 16px;font-weight:650;text-decoration:none;cursor:pointer}.button:hover,button:hover{background:var(--blue2)}.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.secondary:hover{background:#f8fafc}.danger{background:#fff;color:#d92d20;border:1px solid #f3c4c0}.danger:hover{background:#fff5f4}.small{padding:6px 9px}.kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.kpi{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;gap:13px;align-items:flex-start;box-shadow:0 1px 2px #10182808}.kpi-icon{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:19px;font-weight:800}.kpi-icon.blue{background:#eaf3ff;color:#0868e8}.kpi-icon.green{background:#e9f9f0;color:#08a45c}.kpi-icon.violet{background:#f2edff;color:#7a5af8}.kpi-icon.orange{background:#fff2e6;color:#f79009}.kpi-icon.cyan{background:#e9f9fb;color:#0694a2}.kpi small{display:block;color:var(--muted)}.kpi strong{font-size:25px;display:block;margin:4px 0}.kpi strong.money{font-size:19px;white-space:nowrap}.kpi em{font-size:11px;color:#079455;font-style:normal}.panel,section,.card,.summary,.stat{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px #10182808}.panel,section{padding:20px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.section-title h2,.section-title h3{margin:0}.section-title p{margin:4px 0 14px;color:var(--muted)}.section-title a{color:var(--blue);text-decoration:none}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.6px;background:#fafbfc}th,td{padding:12px 13px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}td a{color:var(--ink);font-weight:650;text-decoration:none}.badge{display:inline-block;border-radius:99px;padding:4px 9px;background:#eef2f6;font-size:12px}.badge.in_progress{color:#175cd3;background:#eff4ff}.badge.draft{color:#475467;background:#f2f4f7}.badge.completed{color:#067647;background:#ecfdf3}.badge.cancelled{color:#b42318;background:#fef3f2}.narrow{max-width:850px;margin:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:22px}.stack{display:flex;flex-direction:column;gap:16px}.wide{grid-column:1/-1}label{font-weight:650;display:flex;flex-direction:column;gap:7px}input,textarea,select{border:1px solid #d0d5dd;border-radius:7px;padding:10px;background:#fff;font:inherit;color:inherit}textarea{min-height:80px}.upload{padding:18px;border:1px dashed #98a2b3;border-radius:8px}.upload small,small{display:block;color:var(--muted);margin-top:4px}.actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:17px}.actions a{color:var(--muted)}.login{max-width:380px;margin:9vh auto;text-align:center}.logo{margin:auto;background:var(--blue);color:#fff;width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-weight:900}.login .card{text-align:left}.alert{color:#b42318;background:#feeceb;padding:10px;border-radius:7px;margin:12px 0}.search{display:flex;gap:8px;max-width:520px;margin-bottom:18px}.search input{flex:1}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.card{padding:19px}.top{margin-top:16px}.dot{width:9px;height:9px;background:#bbb;border-radius:50%}.dot.active{background:#16a36e}.editable input{min-width:90px;width:100%}.editable td:nth-child(2) input{min-width:240px}.summary{display:grid;grid-template-columns:repeat(4,1fr);padding:17px;margin-bottom:18px}.summary>div{padding:3px 18px;border-right:1px solid var(--line)}.summary>div:last-child{border:0}.summary span{color:var(--muted);display:block}.summary strong{display:block;font-size:21px;margin-top:4px}.summary .total strong{color:#079455}.sort{text-align:right;color:var(--muted);margin:12px}.sort a{color:var(--blue)}.item{background:#fff;border:1px solid var(--line);border-radius:11px;margin-bottom:14px}.item>summary{display:flex;justify-content:space-between;align-items:center;padding:17px;cursor:pointer}.item>.table-wrap{border-left:0;border-right:0;border-radius:0}.add-offer{padding:14px 18px}.add-offer>summary{color:var(--blue);cursor:pointer}.inline,.dropdown{display:flex;gap:6px}.dropdown{flex-wrap:wrap;justify-content:flex-end}.selected-row{background:#f0fdf8}.best,.fast,.demo{display:inline-block;font-size:9px;padding:2px 4px;margin-left:4px;border-radius:3px;color:#087454;background:#dff8ee}.fast{color:#1859b6;background:#e7f0ff}.demo{color:#8a5100;background:#fff1d6}.empty{text-align:center;color:var(--muted);padding:26px}.mode-tabs{display:flex;gap:5px;margin:15px 0}.mode{background:#e8edf5;color:#344054}.mode.active{background:var(--blue);color:#fff}.manual-hint{padding:15px;background:#eff6ff;border-radius:8px}.manual-hint span{display:block;color:var(--muted);margin-top:4px}.empty-state{background:#fff;border:1px dashed #98a2b3;border-radius:10px;padding:30px;text-align:center}.empty-state span{display:block;color:var(--muted);margin-top:6px}.workflow{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:18px}.workflow-step{display:flex;align-items:center;gap:9px;padding:9px 14px;position:relative}.workflow-step:not(:last-child):after{content:'›';position:absolute;right:0;font-size:24px;color:#98a2b3}.step-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f2f4f7;color:#667085;font-weight:700}.workflow-step.done .step-dot{background:#0aaa60;color:#fff}.workflow-step.current{background:#eff6ff;border-radius:8px;color:#175cd3}.workflow-step.current .step-dot{background:#0868e8;color:#fff}.workflow-step small{font-size:10px}.request-overview{display:grid;grid-template-columns:1.05fr 1.35fr;gap:16px;margin-bottom:18px}.request-info{padding:20px}.request-info h2{margin:0 0 15px}.request-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.request-meta div{padding:13px 0}.request-meta span{display:block;color:var(--muted);font-size:11px}.request-meta b{display:block;margin-top:4px}.request-description{color:#475467;line-height:1.5}.supplier-preview{padding:20px}.supplier-preview h2{margin:0}.supplier-preview-list{display:flex;flex-direction:column;margin-top:10px}.supplier-preview-row{display:grid;grid-template-columns:1fr 90px 100px;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.supplier-preview-row:last-child{border:0}.supplier-preview-row strong{display:block}.supplier-preview-row .score{font-size:20px;color:#079455;font-weight:800}
@media(max-width:1150px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.request-overview{grid-template-columns:1fr}.global-search{display:none}.topbar{grid-template-columns:1fr 1fr}.workflow{overflow:auto}.workflow-step{min-width:170px}}
@media(max-width:800px){:root{--sidebar:0px}.sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center}.side-brand{height:58px;width:78px;border:0}.sidebar nav{flex-direction:row;overflow:auto;padding:5px;flex:1}.sidebar nav a{min-width:70px;padding:7px 3px}.sidebar nav a span{font-size:17px}.sidebar nav .disabled,.side-bottom{display:none}.app-shell{margin:0}.topbar{display:none}main{padding:18px}.kpi-grid{grid-template-columns:1fr 1fr}.stats,.cards,.summary{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.page-head,.heading{align-items:flex-start;gap:14px}.dropdown{justify-content:flex-start}.profile{display:none}}
@media(max-width:520px){.kpi-grid,.stats,.cards,.summary{grid-template-columns:1fr}.page-head,.heading{flex-direction:column}.summary>div{border-right:0;border-bottom:1px solid var(--line);padding:10px}.kpi strong.money{font-size:17px}}
