:root{color-scheme:light;--bg: #f6f3ed;--surface: #ffffff;--surface-muted: #f1eee7;--text: #1c1b18;--muted: #6b665e;--line: #ded8ce;--primary: #126853;--primary-strong: #0d4f40;--danger: #a33232;--danger-bg: #fff0ed;--warning: #8a5b00;--warning-bg: #fff7df;--ok: #126853;--ok-bg: #e9f6ef;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{min-height:40px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer;font-weight:700;padding:.65rem .85rem}button:hover,button:focus-visible{border-color:var(--primary)}button.primary{border-color:var(--primary);background:var(--primary);color:#fff}button.primary:hover,button.primary:focus-visible{background:var(--primary-strong)}button.danger{border-color:#e2b8b8;color:var(--danger)}button:disabled{cursor:wait;opacity:.65}.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 44px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.brand{display:grid;gap:4px}.brand strong{font-size:1.25rem;letter-spacing:0}.brand span,.muted{color:var(--muted)}.auth-shell{min-height:calc(100vh - 56px);display:grid;place-items:center}.auth-card,.panel,.supplier-card,.notice{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:0 1px 2px #1c1b180a}.auth-card{width:min(430px,100%);padding:24px}.auth-card h1{margin:0 0 8px;font-size:1.45rem}.field{display:grid;gap:7px;margin-bottom:14px}.field label{color:var(--muted);font-size:.9rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);padding:.75rem}textarea{min-height:108px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:3px solid rgba(18,104,83,.14)}.error{color:var(--danger);font-weight:700}.notice{margin-bottom:16px;padding:14px 16px}.notice.error{background:var(--danger-bg);color:var(--danger)}.notice.success{background:var(--ok-bg);color:var(--ok)}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dashboard{display:grid;gap:18px}.panel{padding:20px}.panel-title{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:16px}.panel-title h2{margin:0;font-size:1.15rem}.panel-title.compact{margin-bottom:12px}.supplier-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px}.supplier-form .span-2{grid-column:1 / -1}.supplier-form .form-actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}.supplier-grid{display:grid;gap:12px}.supplier-card{display:grid;gap:12px;padding:16px 18px;border-left:4px solid transparent}.supplier-card:has(.badge.ok:first-child){border-left-color:var(--ok)}.supplier-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.supplier-name{display:grid;gap:4px}.supplier-name strong{font-size:1.08rem;line-height:1.25}.badges{display:flex;flex-wrap:wrap;gap:6px}.badge{border-radius:999px;border:1px solid transparent;padding:.3rem .6rem;background:var(--surface-muted);color:var(--muted);font-size:.78rem;font-weight:800}.badge.ok{border-color:#b9dfcf;background:var(--ok-bg);color:var(--ok)}.badge.warn{border-color:#efd88c;background:var(--warning-bg);color:var(--warning)}.badge.bad{border-color:#efc0bc;background:var(--danger-bg);color:var(--danger)}.supplier-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.meta-item{border:1px solid var(--line);border-radius:6px;background:#fffdf9;padding:9px 10px;min-width:0}.meta-item span{display:block;color:var(--muted);font-size:.78rem;font-weight:800;margin-bottom:4px}.meta-item strong{overflow-wrap:anywhere}.missing-list{margin:6px 0 0;padding-left:18px;color:var(--danger)}.invite-result{display:none;gap:8px;align-items:center;border:1px solid #b9dfcf;border-radius:6px;background:var(--ok-bg);padding:10px}.invite-result.is-visible{display:grid}.invite-result a{color:var(--primary-strong);overflow-wrap:anywhere;font-weight:800}.hidden{display:none!important}@media(max-width:820px){.topbar,.panel-title,.supplier-head{align-items:stretch;flex-direction:column}.supplier-form,.supplier-meta{grid-template-columns:1fr}.page{width:min(100% - 20px,1180px);padding-top:16px}.panel,.supplier-card,.auth-card{padding:16px}}
