:root{--kl-emerald-950:#022316;--kl-emerald-900:#044e32;--kl-emerald-800:#065f3e;--kl-emerald-700:#047857;--kl-emerald-600:#059669;--kl-emerald-500:#10b981;--kl-emerald-400:#34d399;--kl-emerald-300:#6ee7b7;--kl-emerald-200:#a7f3d0;--kl-emerald-100:#d1fae5;--kl-emerald-50:#f0fdf4;--kl-amber-950:#451a03;--kl-amber-900:#78350f;--kl-amber-800:#92400e;--kl-amber-700:#b45309;--kl-amber-600:#d97706;--kl-amber-500:#f59e0b;--kl-amber-400:#fbbf24;--kl-amber-300:#fcd34d;--kl-amber-200:#fde68a;--kl-amber-100:#fef3c7;--kl-amber-50:#fffbeb;--kl-slate-950:#020617;--kl-slate-900:#0f172a;--kl-slate-800:#1e293b;--kl-slate-700:#334155;--kl-slate-600:#475569;--kl-slate-500:#64748b;--kl-slate-400:#94a3b8;--kl-slate-300:#cbd5e1;--kl-slate-200:#e2e8f0;--kl-slate-100:#f1f5f9;--kl-slate-50:#f8fafc;--kl-blue-900:#1e3a8a;--kl-blue-700:#1d4ed8;--kl-blue-600:#2563eb;--kl-blue-500:#3b82f6;--kl-blue-100:#dbeafe;--kl-blue-50:#eff6ff;--kl-rose-700:#be123c;--kl-rose-600:#e11d48;--kl-rose-500:#f43f5e;--kl-rose-100:#ffe4e6;--kl-rose-50:#fff1f2;--kl-bg-page:#f8fafc;--kl-bg-surface:#fff;--kl-bg-elevated:#fff;--kl-bg-subtle:#f1f5f9;--kl-bg-muted:#e2e8f0;--kl-border-subtle:#e2e8f0;--kl-border-base:#cbd5e1;--kl-border-strong:#94a3b8;--kl-border-focus:#059669;--kl-text-primary:#0f172a;--kl-text-secondary:#475569;--kl-text-muted:#64748b;--kl-text-inverse:#fff;--kl-primary:#044e32;--kl-primary-hover:#065f3e;--kl-primary-active:#022316;--kl-primary-light:#f0fdf4;--kl-primary-text:#fff;--kl-accent:#d97706;--kl-accent-hover:#b45309;--kl-accent-light:#fffbeb;--kl-accent-text:#fff;--kl-success:#059669;--kl-success-bg:#d1fae5;--kl-warning:#d97706;--kl-warning-bg:#fef3c7;--kl-danger:#e11d48;--kl-danger-bg:#ffe4e6;--kl-info:#2563eb;--kl-info-bg:#dbeafe;--kl-role-buyer-bg:#eff6ff;--kl-role-buyer-text:#1e40af;--kl-role-buyer-border:#bfdbfe;--kl-role-farmer-bg:#f0fdf4;--kl-role-farmer-text:#065f3e;--kl-role-farmer-border:#a7f3d0;--kl-role-transporter-bg:#fffbeb;--kl-role-transporter-text:#92400e;--kl-role-transporter-border:#fde68a;--kl-font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--kl-font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--kl-font-mono:"JetBrains Mono", monospace;--kl-space-1:.25rem;--kl-space-2:.5rem;--kl-space-3:.75rem;--kl-space-4:1rem;--kl-space-5:1.25rem;--kl-space-6:1.5rem;--kl-space-8:2rem;--kl-space-10:2.5rem;--kl-space-12:3rem;--kl-space-16:4rem;--kl-radius-sm:6px;--kl-radius-md:10px;--kl-radius-lg:16px;--kl-radius-xl:24px;--kl-radius-full:9999px;--kl-shadow-sm:0 1px 2px 0 #0f172a0d;--kl-shadow-md:0 4px 6px -1px #0f172a14, 0 2px 4px -2px #0f172a0a;--kl-shadow-lg:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a08;--kl-shadow-xl:0 20px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a0a;--kl-shadow-emerald:0 10px 25px -5px #044e3240;--kl-shadow-amber:0 10px 25px -5px #d9770640;--kl-transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--kl-transition-base:.22s cubic-bezier(.4, 0, .2, 1);--kl-transition-smooth:.35s cubic-bezier(.16, 1, .3, 1);--kl-z-sticky:100;--kl-z-header:200;--kl-z-drawer:300;--kl-z-modal:400;--kl-z-toast:500}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{font-family:var(--kl-font-body);color:var(--kl-text-primary);background-color:var(--kl-bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;line-height:1.5}body{min-height:100dvh;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);flex-direction:column;display:flex;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3,h4,h5,h6{font-family:var(--kl-font-display);color:var(--kl-text-primary);letter-spacing:-.02em;font-weight:700;line-height:1.25}h1{font-size:clamp(1.65rem,4vw,2.75rem)}h2{font-size:clamp(1.3rem,3vw,2rem)}h3{font-size:clamp(1.1rem,2.2vw,1.5rem)}h4{font-size:1.0625rem}p{color:var(--kl-text-secondary)}a{color:var(--kl-emerald-700);transition:color var(--kl-transition-fast);text-decoration:none}a:hover{color:var(--kl-emerald-900)}button,input,select,textarea{color:inherit;font-family:inherit;font-size:1rem}@media (width>=768px){button,input,select,textarea{font-size:.9375rem}}button{cursor:pointer;touch-action:manipulation;background:0 0;border:none}.kl-container{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;padding-left:clamp(.75rem,3vw,1.5rem);padding-right:clamp(.75rem,3vw,1.5rem)}@media (width>=768px){.kl-container{padding-left:var(--kl-space-6);padding-right:var(--kl-space-6)}}.kl-app-layout{min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));flex-direction:column;display:flex}@media (width>=768px){.kl-app-layout{padding-bottom:0}}.kl-main-content{flex:1;padding-top:clamp(.75rem,2vw,1.25rem);padding-bottom:clamp(.5rem,1.5vw,1.25rem)}.kl-btn{justify-content:center;align-items:center;gap:var(--kl-space-2);border-radius:var(--kl-radius-md);transition:all var(--kl-transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap;min-height:44px;padding:.6875rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.25;display:inline-flex}.kl-btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.kl-btn-primary{background-color:var(--kl-primary);color:var(--kl-primary-text);box-shadow:var(--kl-shadow-sm)}.kl-btn-primary:hover:not(:disabled){background-color:var(--kl-primary-hover);box-shadow:var(--kl-shadow-emerald);transform:translateY(-1px)}.kl-btn-accent{background-color:var(--kl-accent);color:var(--kl-accent-text)}.kl-btn-accent:hover:not(:disabled){background-color:var(--kl-accent-hover);box-shadow:var(--kl-shadow-amber);transform:translateY(-1px)}.kl-btn-secondary{background-color:var(--kl-bg-surface);color:var(--kl-text-primary);border:1px solid var(--kl-border-base)}.kl-btn-secondary:hover:not(:disabled){background-color:var(--kl-bg-subtle);border-color:var(--kl-border-strong)}.kl-btn-subtle{background-color:var(--kl-primary-light);color:var(--kl-emerald-800)}.kl-btn-subtle:hover:not(:disabled){background-color:var(--kl-emerald-100)}.kl-btn-ghost{color:var(--kl-text-secondary);background-color:#0000}.kl-btn-ghost:hover:not(:disabled){background-color:var(--kl-bg-subtle);color:var(--kl-text-primary)}.kl-btn-sm{border-radius:var(--kl-radius-sm);min-height:36px;padding:.4375rem .875rem;font-size:.8125rem}.kl-btn-lg{border-radius:var(--kl-radius-lg);min-height:52px;padding:.875rem 1.75rem;font-size:1.0625rem}.kl-btn-icon-only{border-radius:var(--kl-radius-md);width:44px;height:44px;padding:0}.kl-card{background:var(--kl-bg-surface);border:1px solid var(--kl-border-subtle);border-radius:var(--kl-radius-lg);padding:var(--kl-space-5);box-shadow:var(--kl-shadow-sm);transition:box-shadow var(--kl-transition-base), border-color var(--kl-transition-base)}.kl-card-hover:hover{border-color:var(--kl-border-base);box-shadow:var(--kl-shadow-md)}.kl-card-header{margin-bottom:var(--kl-space-4);justify-content:space-between;align-items:center;gap:var(--kl-space-3);display:flex}.kl-stat-card{background:var(--kl-bg-surface);border:1px solid var(--kl-border-subtle);border-radius:var(--kl-radius-lg);padding:var(--kl-space-4);gap:var(--kl-space-2);flex-direction:column;display:flex;position:relative;overflow:hidden}.kl-stat-card:before{content:"";background:var(--kl-stat-accent,var(--kl-emerald-500));height:3px;position:absolute;top:0;left:0;right:0}.kl-stat-value{font-family:var(--kl-font-display);color:var(--kl-text-primary);font-size:1.85rem;font-weight:700;line-height:1.1}.kl-stat-label{color:var(--kl-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8125rem;font-weight:600}.kl-stat-subtext{color:var(--kl-text-secondary);align-items:center;gap:.35rem;font-size:.75rem;display:flex}.kl-form-group{gap:var(--kl-space-2);margin-bottom:var(--kl-space-4);flex-direction:column;display:flex}.kl-label{color:var(--kl-text-primary);justify-content:space-between;align-items:center;font-size:.875rem;font-weight:600;display:flex}.kl-input,.kl-select,.kl-textarea{border-radius:var(--kl-radius-md);border:1.5px solid var(--kl-border-base);background-color:var(--kl-bg-surface);width:100%;color:var(--kl-text-primary);transition:border-color var(--kl-transition-fast), box-shadow var(--kl-transition-fast);min-height:46px;padding:.6875rem .9375rem}.kl-input:focus,.kl-select:focus,.kl-textarea:focus{border-color:var(--kl-emerald-600);box-shadow:0 0 0 3px var(--kl-emerald-100);outline:none}.kl-textarea{resize:vertical;min-height:90px}.kl-badge{border-radius:var(--kl-radius-full);letter-spacing:.02em;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.kl-badge-buyer{background-color:var(--kl-role-buyer-bg);color:var(--kl-role-buyer-text);border:1px solid var(--kl-role-buyer-border)}.kl-badge-farmer{background-color:var(--kl-role-farmer-bg);color:var(--kl-role-farmer-text);border:1px solid var(--kl-role-farmer-border)}.kl-badge-transporter{background-color:var(--kl-role-transporter-bg);color:var(--kl-role-transporter-text);border:1px solid var(--kl-role-transporter-border)}.kl-badge-success{background-color:var(--kl-emerald-50);color:var(--kl-emerald-800);border:1px solid var(--kl-emerald-200)}.kl-badge-warning{background-color:var(--kl-amber-50);color:var(--kl-amber-800);border:1px solid var(--kl-amber-200)}.kl-badge-info{background-color:var(--kl-blue-50);color:var(--kl-blue-900);border:1px solid var(--kl-blue-100)}.kl-grade-tag{border-radius:var(--kl-radius-sm);letter-spacing:.03em;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.kl-grade-a{color:#065f3e;background:#ecfdf5;border:1px solid #a7f3d0}.kl-grade-b{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.kl-grade-c{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.kl-progress-wrapper{flex-direction:column;gap:.35rem;display:flex}.kl-progress-track{background-color:var(--kl-slate-200);border-radius:var(--kl-radius-full);height:10px;position:relative;overflow:hidden}.kl-progress-fill{border-radius:var(--kl-radius-full);background:linear-gradient(90deg, var(--kl-emerald-600), var(--kl-emerald-500));height:100%;transition:width var(--kl-transition-smooth)}.kl-progress-fill.status-unlocked{background:linear-gradient(90deg, var(--kl-emerald-600), var(--kl-emerald-400))}.kl-progress-fill.status-approaching{background:linear-gradient(90deg, var(--kl-amber-600), var(--kl-amber-400))}.kl-table-container{border:1px solid var(--kl-border-subtle);border-radius:var(--kl-radius-lg);background:var(--kl-bg-surface);width:100%;overflow-x:auto}.kl-table{border-collapse:collapse;text-align:left;width:100%;font-size:.875rem}.kl-table th{background-color:var(--kl-bg-subtle);color:var(--kl-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--kl-border-subtle);padding:.75rem 1rem;font-size:.75rem;font-weight:600}.kl-table td{border-bottom:1px solid var(--kl-border-subtle);color:var(--kl-text-secondary);padding:.875rem 1rem}.kl-table tbody tr:last-child td{border-bottom:none}.kl-table tbody tr:hover td{background-color:#fafbfc}.kl-modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:var(--kl-z-modal);padding:var(--kl-space-4);background-color:#0f172aa6;justify-content:center;align-items:center;animation:.18s kl-fade-in;display:flex;position:fixed;inset:0}.kl-modal-card{background:var(--kl-bg-surface);border-radius:var(--kl-radius-xl);width:100%;max-width:600px;max-height:calc(100dvh - 32px);box-shadow:var(--kl-shadow-xl);border:1px solid var(--kl-border-subtle);-webkit-overflow-scrolling:touch;animation:.22s cubic-bezier(.16,1,.3,1) kl-scale-up;overflow-y:auto}@media (width<=639px){.kl-modal-overlay{align-items:flex-end;padding:0}.kl-modal-card{border-bottom-right-radius:0;border-bottom-left-radius:0;border-top-left-radius:var(--kl-radius-xl);border-top-right-radius:var(--kl-radius-xl);max-width:100%;max-height:92dvh;animation:.25s cubic-bezier(.16,1,.3,1) kl-sheet-up;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px))!important}}.kl-drag-handle{background-color:var(--kl-slate-300);border-radius:var(--kl-radius-full);width:36px;height:4px;margin:0 auto 1rem;display:block}@media (width>=640px){.kl-drag-handle{display:none}}.kl-scroll-x{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:var(--kl-space-2);display:flex;overflow-x:auto}.kl-scroll-x::-webkit-scrollbar{display:none}@media (pointer:coarse){.kl-btn{min-height:46px}.kl-btn:active{transform:scale(.98)}.kl-card-hover:active{transform:scale(.99)}}@media (hover:none){.kl-card-hover:hover{box-shadow:var(--kl-shadow-sm);border-color:var(--kl-border-subtle)}}.kl-toast-container{bottom:calc(76px + env(safe-area-inset-bottom,0px));left:var(--kl-space-3);right:var(--kl-space-3);z-index:var(--kl-z-toast);gap:var(--kl-space-2);pointer-events:none;flex-direction:column;align-items:center;display:flex;position:fixed}@media (width>=768px){.kl-toast-container{bottom:var(--kl-space-6);left:auto;right:var(--kl-space-6);align-items:flex-end}}.kl-toast{pointer-events:auto;background:var(--kl-slate-900);color:#fff;border-radius:var(--kl-radius-md);box-shadow:var(--kl-shadow-lg);align-items:center;gap:var(--kl-space-3);width:100%;max-width:380px;padding:.75rem 1.125rem;font-size:.875rem;animation:.25s kl-toast-slide;display:flex}@keyframes kl-fade-in{0%{opacity:0}to{opacity:1}}@keyframes kl-scale-up{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes kl-sheet-up{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes kl-toast-slide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes kl-pulse-emerald{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.04)}}.kl-pulse{animation:2s ease-in-out infinite kl-pulse-emerald}.kl-num{font-family:var(--kl-font-mono);font-variant-numeric:tabular-nums}.kl-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
