:root{--font-sans: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--grain-opacity: .02;--bg: #f9fafb;--surface: #ffffff;--surface-2: #f3f4f6;--header: #f3f4f6;--text: #111827;--muted: #6b7280;--border: #d6dae0;--border-strong: #c3c8d0;--accent: #0e7490;--accent-press: #155e75;--accent-bg: #e0f7fb;--on-accent: #ffffff;--danger: #dc2626;--success: #16a34a;--shadow: 0 12px 40px -12px rgba(15, 23, 42, .2)}:root[data-theme=dark]{--bg: #030712;--surface: #111827;--surface-2: #1f2937;--header: #1f2937;--text: #f3f4f6;--muted: #9ca3af;--border: #1f2937;--border-strong: #374151;--accent: #22d3ee;--accent-press: #67e8f9;--accent-bg: rgba(34, 211, 238, .16);--on-accent: #04161a;--shadow: 0 18px 50px -14px rgba(0, 0, 0, .62)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;pointer-events:none;opacity:var(--grain-opacity, .03);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:140px 140px}@media (prefers-reduced-motion: reduce){body:before{opacity:calc(var(--grain-opacity, .03) * .5)}}.field{display:block;margin-bottom:14px}.field>label{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:6px}input,select,textarea{width:100%;font-family:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.7}textarea{line-height:1.5}.btn{font-family:inherit;font-size:14px;font-weight:500;padding:10px 18px;border-radius:9px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .15s,border-color .15s,opacity .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--accent-press)}.btn-ghost{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-ghost:hover:not(:disabled){border-color:var(--border-strong)}.btn-danger{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-success{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);border-color:var(--success)}.btn-success:hover:not(:disabled){background:var(--success);color:#fff}.btn-sm{padding:6px 12px;font-size:12.5px;border-radius:7px}:where(a,button,[role=button],[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.error-text{color:var(--danger);font-size:13px;margin-top:4px}.success-text{color:var(--success);font-size:13px;margin-top:4px;display:flex;align-items:center;gap:6px}.skeleton{border-radius:6px;background:linear-gradient(90deg,var(--surface-2) 25%,var(--border-strong) 50%,var(--surface-2) 75%);background-size:400px 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}.badge{font-size:11px;font-weight:600;padding:2px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}.badge-master{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.badge-manager{background:color-mix(in srgb,#7c3aed 16%,transparent);color:#7c3aed}.badge-provider{background:color-mix(in srgb,#0d9488 18%,transparent);color:#0d9488}.badge-subprovider{background:color-mix(in srgb,#0891b2 16%,transparent);color:#0891b2}.badge-owner{background:color-mix(in srgb,#2563eb 16%,transparent);color:#2563eb}.badge-staff{background:var(--surface-2);color:var(--muted)}.badge-off{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}@keyframes flux-sheen{0%{transform:translate(-120%)}to{transform:translate(260%)}}@keyframes flux-label-in{0%{opacity:0;transform:translateY(10px) scale(.96);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}[data-glow]{position:relative;isolation:isolate}[data-glow]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:var(--glow-border, 1.5px);background:radial-gradient(var(--glow-size, 260px) var(--glow-size, 260px) at calc(var(--glow-x, -1000) * 1px) calc(var(--glow-y, -1000) * 1px),var(--glow-color, #22d3ee),transparent 55%);background-attachment:fixed;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;pointer-events:none;z-index:2}[data-glow]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(calc(var(--glow-size, 260px) * .85) calc(var(--glow-size, 260px) * .85) at calc(var(--glow-x, -1000) * 1px) calc(var(--glow-y, -1000) * 1px),var(--glow-color, #22d3ee),transparent 50%);background-attachment:fixed;opacity:var(--glow-bloom, .08);pointer-events:none;z-index:-1}@media (prefers-reduced-motion: reduce){[data-glow]:before,[data-glow]:after{display:none}}@keyframes fluid-dd-in{0%{opacity:0;transform:translateY(-6px) scaleY(.96)}to{opacity:1;transform:translateY(0) scaleY(1)}}@keyframes toast-in-right{0%{opacity:0;transform:translate(115%)}to{opacity:1;transform:translate(0)}}@keyframes toast-out-right{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(115%)}}@keyframes toast-in-top{0%{opacity:0;transform:translateY(-24px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out-top{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-24px)}}.ub-bell-btn{position:relative;width:38px;height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:11px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;transition:background .2s,border-color .2s,color .2s,transform .12s}.ub-bell-btn:hover{border-color:var(--border-strong);color:var(--text);background:color-mix(in srgb,var(--text) 6%,var(--surface-2))}.ub-bell-btn:active{transform:scale(.94)}.ub-bell-btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 35%,transparent)}.ub-bell-btn.is-ringing{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.ub-bell-btn.is-ringing:hover{background:color-mix(in srgb,var(--accent) 22%,var(--surface))}.ub-close{cursor:pointer;background:transparent;border:none;color:var(--muted);padding:4px;border-radius:8px;display:inline-flex;transition:background .15s,color .15s}.ub-close:hover{background:var(--surface-2);color:var(--text)}.ub-close:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 30%,transparent)}@keyframes bell-swing{0%,55%,to{transform:rotate(0)}61%{transform:rotate(13deg)}67%{transform:rotate(-10deg)}73%{transform:rotate(7deg)}79%{transform:rotate(-4deg)}85%{transform:rotate(1deg)}}@keyframes bell-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.6}}@keyframes bell-halo{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 48%,transparent)}70%{box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}@keyframes bell-panel-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.ub-bell-icon{animation:bell-swing 2.6s ease-in-out infinite;transform-origin:50% 3px}.ub-bell-dot{animation:bell-dot 1.5s ease-in-out infinite}.ub-halo{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;animation:bell-halo 2s ease-out infinite}@media (prefers-reduced-motion: reduce){.ub-bell-icon,.ub-bell-dot,.ub-halo{animation:none!important}}.ft-cal-day:hover{border-color:var(--accent)!important}.ft-cal-day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ft-cal-day:active{transform:scale(.94)}@media (prefers-reduced-motion: reduce){.ft-cal-day{transition:none!important}.ft-cal-day:active{transform:none}}@media (max-width: 900px){html,body{max-width:100%;overflow-x:hidden}input,select,textarea{font-size:16px}.btn{min-height:44px}.btn-sm{min-height:38px}}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-top{padding-top:env(safe-area-inset-top)}.guide-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:var(--bg);display:flex;flex-direction:column;animation:guide-fade .22s ease}@keyframes guide-fade{0%{opacity:0}to{opacity:1}}.guide-font{font-family:"Noto Sans","Noto Sans Khmer","Noto Sans SC",var(--font-sans)}.guide-scroll{line-height:1.7}.guide-topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--header);border-bottom:1px solid var(--border);flex-shrink:0}.guide-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.guide-inner{max-width:860px;margin:0 auto;padding:28px 20px 80px}.guide-seg{display:inline-flex;gap:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:3px}.guide-seg button{cursor:pointer;border:none;border-radius:7px;padding:7px 13px;font-size:13px;font-family:inherit;background:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:6px;transition:background .15s,color .15s}.guide-seg button:hover:not(.is-active){color:var(--text)}.guide-seg button.is-active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000002e}.guide-section{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px;margin-top:18px;box-shadow:var(--shadow)}.guide-section-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.guide-section-num{width:30px;height:30px;flex-shrink:0;border-radius:9px;background:var(--accent-bg);color:var(--accent);display:inline-flex;align-items:center;justify-content:center;font-size:16px}.guide-grid{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start;margin-top:14px}.guide-steps{margin:0;padding:0;list-style:none;counter-reset:gstep}.guide-steps li{position:relative;padding:7px 0 7px 38px;counter-increment:gstep}.guide-steps li:before{content:counter(gstep);position:absolute;left:0;top:6px;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono)}.guide-figure{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px}.guide-figure svg{width:100%;height:auto;display:block}.guide-pin-bg{fill:var(--accent)}.guide-pin-tx{fill:var(--on-accent);font-weight:700}@media (max-width: 720px){.guide-grid{grid-template-columns:1fr}.guide-inner{padding:20px 14px 80px}.guide-section{padding:18px}}@media (prefers-reduced-motion: reduce){.guide-overlay{animation:none}}.guide-callout{display:flex;gap:11px;align-items:flex-start;background:var(--accent-bg);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:12px;padding:14px 16px;margin-top:16px}.guide-callout i{color:var(--accent);font-size:19px;flex-shrink:0;margin-top:1px}.guide-chart-wrap{margin-top:18px;border:1px solid var(--border);border-radius:12px;overflow:hidden}.guide-chart{width:100%;border-collapse:collapse;font-size:13px;min-width:540px}.guide-chart th,.guide-chart td{padding:9px 12px;text-align:center;white-space:nowrap}.guide-chart thead th{background:var(--header);color:var(--muted);font-weight:600;font-size:12px;border-bottom:1px solid var(--border)}.guide-chart tbody tr+tr td{border-top:1px solid var(--border)}.guide-chart td:first-child,.guide-chart th:first-child{text-align:left;font-weight:600;position:sticky;left:0;background:var(--surface)}.guide-chart thead th:first-child{background:var(--header)}.guide-chart .c-up{color:var(--success);font-weight:600}.guide-chart .c-down{color:var(--danger);font-weight:600}.guide-chart .c-none{color:var(--muted);opacity:.6}.guide-tk{border:1px solid var(--border);border-left:4px solid var(--tk, var(--accent));border-radius:12px;padding:15px 17px;margin-top:14px;background:var(--surface-2)}.guide-tk-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.guide-tk-name{font-weight:700;font-size:15px;color:var(--tk, var(--accent));display:inline-flex;align-items:center;gap:7px}.guide-tk-for{margin:8px 0 0;color:var(--text)}.guide-tk-formula{margin-top:10px;font-family:var(--font-mono);font-size:12.5px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 11px;color:var(--text)}.guide-tk-ex{margin-top:9px;font-size:13px;color:var(--muted);border-left:2px solid var(--border-strong);padding-left:11px}@keyframes login-shield-glow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}@media (prefers-reduced-motion: reduce){[data-motion=glow]{animation:none!important}}.guide-tk-ex b{color:var(--text)}
