*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans CJK SC,Helvetica Neue,Arial,sans-serif;color:#1e293b;background-color:#f8fafc;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;background-color:#f8fafc}#root{min-height:100vh}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #cbd5e1;background:#fff;border-radius:.375rem;padding:.5rem .75rem;color:#334155}button:hover:not(:disabled){border-color:#94a3b8;background:#f8fafc}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}table{border-collapse:collapse;width:100%}.min-h-screen{min-height:100vh}.bg-slate-50{background-color:#f8fafc}.bg-white{background-color:#fff}.bg-slate-100{background-color:#f1f5f9}.bg-blue-50{background-color:#eff6ff}.bg-gray-50{background-color:#f9fafb}.bg-blue-600{background-color:#2563eb}.bg-amber-100{background-color:#fef3c7}.text-white{color:#fff}.text-slate-800{color:#1e293b}.text-slate-600{color:#475569}.text-slate-700{color:#334155}.text-amber-800{color:#92400e}.text-blue-800{color:#1e40af}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.text-red-600{color:#dc2626}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-xl{font-size:1.25rem;line-height:1.75}.text-sm{font-size:.875rem}.text-xs{font-size:.75rem}.block{display:block}.flex{display:flex}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.flex-1{flex:1 1 0%}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.ml-auto{margin-left:auto}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-4{padding-top:1rem;padding-bottom:1rem}.p-4{padding:1rem}.rounded{border-radius:.375rem}.rounded-full{border-radius:9999px}.border{border:1px solid #e2e8f0}.border-b{border-bottom:1px solid #e2e8f0}.border-slate-200{border-color:#e2e8f0}.border-blue-200{border-color:#bfdbfe}.max-w-5xl{max-width:64rem}.mx-auto{margin-left:auto;margin-right:auto}.overflow-x-auto{overflow-x:auto;-webkit-overflow-scrolling:touch}.min-w-full{min-width:100%}.disabled\:opacity-50:disabled{opacity:.5}.supplier-dashboard__header,.supplier-profile-page h1,h2,h3{color:#1e293b;font-weight:600;letter-spacing:.01em}.border-b.bg-white{box-shadow:0 1px 3px #0f172a0a;background:#fff}button,.actions button,.bg-blue-600{transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.bg-blue-600:hover:not(:disabled){background-color:#1d4ed8}.bg-slate-100:hover:not(:disabled){background-color:#e2e8f0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #2563eb;outline-offset:2px}input,textarea,select{width:100%;border:1px solid #cbd5e1;border-radius:.375rem;padding:.5rem .75rem;background:#fff;color:#1e293b;transition:border-color .15s ease,box-shadow .15s ease}input:focus,textarea:focus,select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb26;outline:none}textarea{resize:vertical;min-height:6rem}input[type=checkbox],input[type=radio]{width:auto}table{border-collapse:collapse;background:#fff}th,td{text-align:left;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;vertical-align:middle}th{font-weight:600;background:#f8fafc;color:#475569;white-space:nowrap}tbody tr:hover{background:#f8fafc}.overflow-x-auto{border:1px solid #e2e8f0;border-radius:.5rem;background:#fff}.supplier-dashboard__summary,.summary-card,.supplier-dashboard__profile,.supplier-dashboard__quotations,.supplier-dashboard__qualifications,.supplier-dashboard__footer,.notice,.error{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 1px 2px #0f172a0a}.summary-card{padding:1.25rem}.supplier-dashboard{max-width:1200px;margin:0 auto;padding:1.5rem}.supplier-dashboard__header{margin-bottom:1rem}.supplier-dashboard__tenant{color:#64748b;font-size:.875rem;margin-top:.25rem}.supplier-dashboard__summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;padding:0;border:0;box-shadow:none;background:transparent}.summary-card__label{color:#64748b;font-size:.875rem;font-weight:500}.summary-card__value{color:#0f172a;font-size:1.5rem;font-weight:700;margin-top:.25rem}.notice,.error{padding:1rem;font-size:.875rem}.notice{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.demo-note{background:#fefce8;border:1px solid #fde68a;border-radius:.375rem;padding:.75rem 1rem;color:#854d0e;font-size:.875rem}.supplier-profile-page{display:flex;flex-direction:column;gap:1.5rem;max-width:1040px;margin:0 auto;padding:1.5rem}.supplier-profile-page section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem}.supplier-profile-page section h3,.supplier-profile-page section>p,.supplier-profile-page section>ul{grid-column:1 / -1}.supplier-profile-page label{display:flex;flex-direction:column;gap:.375rem;color:#475569;font-size:.875rem}.supplier-profile-page section>.error{align-self:start}.supplier-profile-page .notice,.supplier-profile-page .error{order:-1}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 0}.supplier-dashboard__quotations,.supplier-dashboard__qualifications{padding:1.25rem;margin-top:1rem}.supplier-dashboard__profile,.supplier-dashboard__footer{margin-top:1.5rem;padding:1.25rem}@media (max-width: 760px){.px-6{padding-left:1rem;padding-right:1rem}.py-4{padding-top:.75rem;padding-bottom:.75rem}.flex-wrap{gap:.5rem}.ml-auto{margin-left:0}.max-w-5xl{max-width:100%}.summary-card{padding:1rem}.supplier-dashboard__summary{display:flex;flex-direction:column;gap:.75rem}.supplier-dashboard,.supplier-profile-page{padding:1rem}.supplier-profile-page section{grid-template-columns:1fr}.actions{flex-direction:column;align-items:stretch}table{min-width:600px}th,td{padding:.5rem .75rem;font-size:.875rem}input,textarea,select{font-size:1rem}}
