:root{--bg:#eceff4;--card:#fff;--text:#131b28;--muted:#8b95a5;--primary:#1668ff;--primary-dark:#0a56e6;--ink:#141d2e;--success:#159a5b;--success-bg:#e4f6ec;--danger:#e5484d;--danger-bg:#fdecec;--amber:#c07d26;--amber-bg:#fcf0dd;--border:#e7ebf1;--field:#f2f5f9;--radius:22px;--shadow:0 4px 18px #1423460f;color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Inter,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0}.landing{flex-direction:column;justify-content:center;align-items:center;gap:28px;min-height:100vh;padding:24px;display:flex}.landing .logo{letter-spacing:-.5px;font-size:30px;font-weight:700}.landing .logo span{color:var(--primary)}.landing .tagline{color:var(--muted);text-align:center;margin-top:4px}.role-cards{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.role-card{background:var(--card);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:16px;width:220px;padding:22px;transition:transform .1s,box-shadow .1s}.role-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #1428501a}.role-card .ico{font-size:34px}.role-card h3{margin:10px 0 4px;font-size:18px}.role-card p{color:var(--muted);margin:0;font-size:13px}.phone-wrap{justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.phone{background:var(--card);border:10px solid #11161d;border-radius:38px;flex-direction:column;width:390px;max-width:100%;height:min(840px,100vh - 32px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #0f192d40}.phone .statusbar{color:#101828;background:var(--bg);flex:none;justify-content:space-between;align-items:center;height:44px;padding:0 20px;font-size:14px;font-weight:700;display:flex}.phone .statusbar .fixleo-logo{background:#fff;border-radius:20px;align-items:center;gap:5px;padding:4px 12px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #1423461a}.phone .statusbar .fixleo-logo .lion{font-size:13px}.screen{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.screen-head{flex:none;align-items:center;min-height:60px;padding:6px 16px 10px;display:flex;position:relative}.screen-head .back{width:40px;height:40px;box-shadow:var(--shadow);cursor:pointer;color:var(--text);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:20px;display:flex}.screen-head .title{width:fit-content;max-width:calc(100% - 120px);box-shadow:var(--shadow);text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#fff;border-radius:22px;margin:0 auto;padding:9px 20px;font-size:15px;font-weight:700;position:absolute;left:60px;right:60px;overflow:hidden}.screen-body{flex:1;padding:8px 16px 20px;overflow-y:auto}.screen-foot{flex:none;padding:12px 16px 18px}.m-heading{letter-spacing:-.5px;margin-bottom:6px;font-size:23px;font-weight:800}.m-sub{color:var(--muted);margin-bottom:18px;font-size:14px}.m-field{margin-bottom:14px;display:block}.m-field>span{color:var(--muted);margin-bottom:7px;font-size:13px;font-weight:500;display:block}.m-field input,.m-field textarea,.m-field select{width:100%;font:inherit;background:var(--field);color:var(--text);border:1px solid #0000;border-radius:14px;padding:14px 15px;font-size:15px}.m-field input::placeholder,.m-field textarea::placeholder{color:#aab2c0}.m-field input:focus,.m-field textarea:focus,.m-field select:focus{border-color:var(--primary);background:#fff;outline:none}.m-field textarea{resize:none;min-height:96px}.m-btn{width:100%;font:inherit;background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:26px;margin-bottom:10px;padding:16px;font-size:16px;font-weight:700;transition:background .12s,transform 50ms;box-shadow:0 6px 16px #1668ff3d}.m-btn:hover{background:var(--primary-dark)}.m-btn:active{transform:scale(.99)}.m-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.m-btn.ghost{background:var(--field);color:var(--text);box-shadow:none}.m-btn.ghost:hover{background:#e8edf3}.opt-row{border:1px solid var(--border);cursor:pointer;background:var(--card);border-radius:12px;align-items:center;gap:12px;margin-bottom:10px;padding:14px;display:flex}.opt-row .ico{background:#eaf1ff;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.opt-row .nm{flex:1;font-size:15px}.opt-row .chk{border:2px solid var(--border);color:#fff;border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.opt-row.on .chk{background:var(--primary);border-color:var(--primary)}.pills{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pill{text-align:center;cursor:pointer;box-shadow:var(--shadow);background:#fff;border:1px solid #0000;border-radius:20px;padding:9px 15px;font-size:13px;font-weight:500;transition:background .12s,color .12s}.pill.on{background:var(--primary);color:#fff;font-weight:700;box-shadow:0 4px 12px #1668ff38}.segmented{background:#e2e7ee;border-radius:22px;margin-bottom:14px;padding:4px;display:flex}.segmented .seg{text-align:center;cursor:pointer;color:var(--muted);border-radius:18px;flex:1;padding:9px;font-size:14px;font-weight:600}.segmented .seg.on{color:var(--text);background:#fff;box-shadow:0 2px 6px #1423461a}.banner{text-align:center;border-radius:16px;margin-bottom:14px;padding:15px}.banner.amber{background:var(--amber-bg)}.banner.green{background:var(--success-bg)}.banner.info{background:#e6efff}.banner .bico{font-size:26px}.banner h4{margin:6px 0 2px;font-size:15px}.banner p{color:var(--muted);margin:0;font-size:13px}.checklist{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:4px 14px}.check-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:11px 0;font-size:14px;display:flex}.check-item:last-child{border-bottom:none}.check-item.done{color:var(--text)}.check-item.pending{color:var(--muted)}.check-item .ci{color:var(--success)}.check-item.pending .ci{color:var(--muted)}.upload-box{cursor:pointer;border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;margin-bottom:12px;padding:16px;display:flex}.upload-box.empty{border-style:dashed;border-color:var(--primary)}.upload-box.done{border-color:var(--success);background:var(--success-bg)}.upload-box .uico{background:#eaf1ff;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.upload-box.done .uico{background:#d6efdf}.upload-box .ut{flex:1}.upload-box .ut b{font-size:14px;display:block}.upload-box .ut small{color:var(--muted);font-size:12px}.photo-pick{flex-direction:column;align-items:center;gap:8px;margin:12px 0 20px;display:flex}.photo-pick .circle{background:#eaf1ff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:26px;display:flex;overflow:hidden}.photo-pick .circle img{object-fit:cover;width:100%;height:100%}.photo-pick .lbl{color:var(--primary);font-size:14px;font-weight:500}.center-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px;display:flex}.big-check{background:var(--success-bg);width:84px;height:84px;color:var(--success);border-radius:50%;justify-content:center;align-items:center;margin-bottom:18px;font-size:40px;display:flex}.msg{border-radius:10px;margin-top:10px;padding:9px 12px;font-size:13px}.msg.err{background:var(--danger-bg);color:var(--danger)}.msg.ok{background:var(--success-bg);color:var(--success)}.admin{min-height:100vh;display:flex}.sidebar{background:var(--card);border-right:1px solid var(--border);flex:none;width:232px;padding:16px 12px}.sidebar .brand{align-items:center;gap:10px;padding:6px 8px 16px;display:flex}.sidebar .brand .mark{background:var(--primary);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;display:flex}.sidebar .brand b{font-size:16px}.sidebar .brand small{color:var(--primary);font-size:11px;display:block}.nav-item{color:var(--muted);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:9px;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding:10px 12px;font-size:14px;display:flex}.nav-item:hover{background:var(--field)}.nav-item.active{color:var(--primary);background:#eaf1ff;font-weight:500}.nav-item .dot{opacity:.5;background:currentColor;border-radius:50%;width:7px;height:7px}.admin-main{flex-direction:column;flex:1;min-width:0;display:flex}.admin-top{border-bottom:1px solid var(--border);background:var(--card);flex:none;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.admin-top h2{font-size:18px}.admin-content{flex:1;padding:22px 24px;overflow:auto}.toolbar2{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:16px;display:flex}.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px}.panel h3{margin-bottom:12px;font-size:15px}table.tbl{border-collapse:collapse;background:var(--card);border:1px solid var(--border);border-radius:12px;width:100%;font-size:13px;overflow:hidden}table.tbl th{text-align:left;background:var(--field);color:var(--muted);border-bottom:1px solid var(--border);padding:11px 12px;font-weight:500}table.tbl td{border-bottom:1px solid var(--border);padding:11px 12px}table.tbl tr:last-child td{border-bottom:none}table.tbl tr:hover td{background:#fafbfc}.badge2{border-radius:20px;padding:2px 9px;font-size:11px;font-weight:500}.badge2.unverified,.badge2.not_submitted{background:var(--field);color:var(--muted)}.badge2.active,.badge2.approved{background:var(--success-bg);color:var(--success)}.badge2.blocked,.badge2.rejected{background:var(--danger-bg);color:var(--danger)}.badge2.pending{background:var(--amber-bg);color:var(--amber)}input.in,select.in,textarea.in{font:inherit;border:1px solid var(--border);background:#fff;border-radius:8px;width:100%;padding:8px 10px;font-size:13px}.lbl2{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.btn2{font:inherit;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:8px 13px;font-size:13px}.btn2:hover{background:var(--field)}.btn2.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn2.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn2.success{background:var(--success);color:#fff;border-color:var(--success)}.btn2:disabled{opacity:.5;cursor:default}.btn2.sm{padding:4px 9px;font-size:12px}.overlay{z-index:20;background:#0a142847;justify-content:flex-end;display:flex;position:fixed;inset:0}.slideover{background:var(--card);width:460px;max-width:92vw;height:100%;padding:20px;overflow:auto}.slideover .so-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.slideover .so-head h3{font-size:17px}.slideover .so-head .x{cursor:pointer;color:var(--muted);font-size:20px}.kv{border-bottom:1px solid var(--border);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.kv .k{color:var(--muted)}.kv .v{font-weight:500}.doc-prev{text-align:center;color:var(--primary);background:#eaf1ff;border-radius:10px;margin:8px 0;padding:26px;font-size:13px}.doc-prev img{border-radius:8px;max-width:100%}.ck{cursor:pointer;align-items:center;gap:9px;padding:8px 0;font-size:14px;display:flex}.ck .box{border:2px solid var(--border);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.ck.on .box{background:var(--primary);border-color:var(--primary)}.json{color:#cdd9ea;white-space:pre-wrap;word-break:break-word;background:#161d29;border-radius:8px;max-height:240px;margin:8px 0 0;padding:10px;font-family:ui-monospace,monospace;font-size:11px;overflow:auto}.muted{color:var(--muted)}.spacer{height:14px}.row2{flex-wrap:wrap;gap:8px;display:flex}.token-pill{background:var(--field);color:var(--muted);border-radius:20px;padding:3px 9px;font-size:11px}.token-pill.on{background:var(--success-bg);color:var(--success)}.bell{cursor:pointer;background:0 0;border:none;padding:4px;font-size:20px;position:relative}.bell-badge{color:#fff;background:#ef4444;border-radius:8px;justify-content:center;align-items:center;min-width:15px;height:15px;padding:0 3px;font-size:10px;display:inline-flex;position:absolute;top:-2px;right:-4px}.bell-panel{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:280px;max-height:360px;padding:8px;position:absolute;top:34px;right:0;overflow-y:auto;box-shadow:0 8px 30px #0000001f}.bell-head{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:4px 6px 8px;display:flex}.bell-item{border-bottom:1px solid #f8fafc;padding:8px 6px;font-size:13px}.bell-item.unread{background:#eff6ff;border-radius:8px}.bell-time{color:#9ca3af;margin-top:2px;font-size:11px}.link{color:#2563eb;cursor:pointer;background:0 0;border:none;font-size:12px}.top-progress{z-index:100;background:linear-gradient(90deg, var(--primary), #60a5fa, var(--primary));transform-origin:0;opacity:0;pointer-events:none;background-size:200% 100%;width:100%;height:3px;transition:transform .2s,opacity .3s;position:fixed;top:0;left:0;transform:scaleX(0)}.top-progress.on{opacity:1;animation:1s linear infinite tp-slide;transform:scaleX(1)}@keyframes tp-slide{0%{background-position:0 0}to{background-position:-200% 0}}.toast-host{z-index:120;flex-direction:column;gap:8px;width:min(440px,94vw);display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;animation:.18s toast-in;display:flex;box-shadow:0 12px 32px #0f192d2e}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.toast.error{border-left:4px solid var(--danger)}.toast.success{border-left:4px solid var(--success)}.toast.info{border-left:4px solid var(--primary)}.toast-ico{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;font-size:12px;display:flex}.toast.error .toast-ico{background:var(--danger)}.toast.success .toast-ico{background:var(--success)}.toast.info .toast-ico{background:var(--primary)}.toast-body{flex:1;min-width:0}.toast-title{word-break:break-word;font-size:13px;font-weight:600}.toast-detail{color:var(--muted);word-break:break-word;margin-top:2px;font-size:13px}.toast-req{background:var(--field);color:var(--muted);cursor:pointer;border:none;border-radius:6px;margin-top:6px;padding:2px 7px;font-family:ui-monospace,monospace;font-size:11px}.toast-x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px}.netpanel{z-index:90;width:100%;font-size:12px;position:fixed;bottom:0;left:0}.netbar{cursor:pointer;color:#cbd5e1;width:100%;font:inherit;background:#0f172a;border:none;border-top:1px solid #1e293b;align-items:center;gap:10px;padding:6px 14px;font-size:12px;display:flex}.netbar .net-ico{font-size:13px}.netbar .net-fail{background:var(--danger);color:#fff;border-radius:10px;padding:1px 7px;font-size:11px}.netbar .net-last{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-left:8px;font-family:ui-monospace,monospace;overflow:hidden}.netbar .net-last.err{color:#f87171}.netbar .net-caret{margin-left:auto}.netbody{color:#cbd5e1;background:#0b1220;flex-direction:column;max-height:46vh;display:flex}.nettools{border-bottom:1px solid #1e293b;align-items:center;gap:8px;padding:8px 12px;display:flex}.chip{color:#cbd5e1;cursor:pointer;background:#16203a;border:1px solid #334155;border-radius:7px;padding:3px 9px;font-size:11px}.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}.netlist{flex:1;overflow-y:auto}.netrow{cursor:pointer;border-bottom:1px solid #111a2e;align-items:center;gap:10px;padding:5px 12px;font-family:ui-monospace,monospace;display:flex}.netrow:hover{background:#111a2e}.netrow.sel{background:#16233f}.netrow.err{background:#ef444414}.net-status{flex:none;width:34px;font-weight:700}.net-status.s{color:#4ade80}.net-status.w{color:#fbbf24}.net-status.e{color:#f87171}.net-method{color:#93c5fd;flex:none;width:52px}.net-path{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.net-ms{color:#64748b;flex:none}.netdetail{border-top:1px solid #1e293b;max-height:22vh;padding:10px 12px;overflow-y:auto}.netdetail-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.netdetail-head b{color:#e2e8f0;word-break:break-all;font-family:ui-monospace,monospace;font-size:11px}.netdetail-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin:6px 0 2px;font-size:10px}.errorbox{background:var(--danger-bg);color:#b42318;border:1px solid #f4c9c9;border-radius:11px;align-items:flex-start;gap:9px;margin-top:10px;padding:11px 13px;font-size:13px;display:flex}.errorbox .eb-ico{background:var(--danger);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;font-size:11px;display:flex}.health-pill{border:1px solid var(--border);background:#fff;border-radius:20px;align-items:center;gap:7px;margin-top:14px;padding:6px 13px;font-size:13px;font-weight:500;display:inline-flex}.health-pill .hp-dot{border-radius:50%;width:8px;height:8px}.health-pill.ok{color:var(--success)}.health-pill.ok .hp-dot{background:var(--success)}.health-pill.down{color:var(--danger)}.health-pill.down .hp-dot{background:var(--danger)}.health-pill.checking{color:var(--amber)}.health-pill.checking .hp-dot{background:var(--amber);animation:1s infinite pulse}@keyframes pulse{50%{opacity:.35}}.landing-base{color:var(--muted);margin-top:8px;font-family:ui-monospace,monospace;font-size:12px}.settings-fab{font:inherit;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:7px;padding:8px 13px;font-size:13px;display:inline-flex;box-shadow:0 4px 14px #0f192d1f}.settings-dot{border-radius:50%;flex:none;width:8px;height:8px}.settings-panel{width:290px;margin-bottom:8px;box-shadow:0 12px 34px #00000029}.settings-row{align-items:center;gap:8px;display:flex}.settings-tokens{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}body{padding-bottom:30px}.profile-card{background:var(--card);box-shadow:var(--shadow);border-radius:18px;margin-bottom:12px;padding:16px}.profile-card .kv{border-bottom:none;padding:4px 0}.profile-card .kv .k{color:var(--text)}.profile-card .kv .v,.profile-card b{font-weight:700}.card-section{background:var(--card);box-shadow:var(--shadow);border-radius:18px;margin-bottom:12px;padding:16px}.chip-cat{box-shadow:var(--shadow);background:#fff;border-radius:18px;align-items:center;gap:6px;margin-bottom:12px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.status-badge{white-space:nowrap;border-radius:20px;padding:4px 11px;font-size:12px;font-weight:600;display:inline-block}.status-badge.green{background:var(--success-bg);color:var(--success)}.status-badge.amber{background:var(--amber-bg);color:var(--amber)}.status-badge.blue{color:var(--primary);background:#e6efff}.status-badge.grey{background:var(--field);color:var(--muted)}.status-badge.red{background:var(--danger-bg);color:var(--danger)}.hero-card{background:var(--ink);color:#fff;border-radius:20px;margin-bottom:12px;padding:20px}.hero-card .hero-label{color:#9aa6bd;font-size:13px}.hero-card .hero-amount{letter-spacing:-.5px;margin:2px 0 14px;font-size:30px;font-weight:800}.hero-card .hero-btn{width:100%;color:var(--text);font:inherit;cursor:pointer;background:#fff;border:none;border-radius:16px;padding:14px;font-size:15px;font-weight:700}.stat-row{gap:10px;margin-bottom:12px;display:flex}.stat-card{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:16px;flex:1;padding:14px 10px}.stat-card b{font-size:18px;font-weight:800;display:block}.stat-card small{color:var(--muted);font-size:11px}.bottom-nav{padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--border);z-index:5;background:#fff;justify-content:space-around;margin:8px -16px -20px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 20px #1423460d}.bottom-nav .bn-item{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.bottom-nav .bn-item .bn-ico{font-size:19px;line-height:1}.bottom-nav .bn-item.on{color:var(--primary)}.bottom-nav .bn-item.on .bn-ico{transform:translateY(-1px)}.profile-card .kv small{color:var(--muted);font-weight:400}
