/* USUL ERP V2.3 – login/registration (legacy platform look: navy + gold split screen), rider portal (mobile-first), support, settings */
:root{--navy:#11233f;--navy2:#172e50;--gold:#d7a84b;--vbg:#f4f7fb;--vtext:#1d2a3b;--vmuted:#718096;--vborder:#e5ebf3;--vgreen:#14866d;--vred:#d34b52}
.v23-logo{max-width:100%;height:56px;object-fit:contain;display:block}
.login-screen{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr;background:var(--vbg)}
.login-art{background:linear-gradient(145deg,#0e1d34,#17375b 70%,#1f4b73);color:#fff;padding:64px 8%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.login-art:before,.login-art:after{content:"";position:absolute;border:1px solid rgba(215,168,75,.28);border-radius:50%;width:430px;height:430px;inset-inline-start:-160px;top:18%}
.login-art:after{width:620px;height:620px;inset-inline-start:-240px;top:8%}
.login-art>div{position:relative;z-index:1}.login-art h1{font-size:36px;line-height:1.5;max-width:540px;margin:28px 0 14px;color:#fff}.login-art p{max-width:520px;line-height:1.9;color:#cdd8e6}
.logo-shell{display:inline-block;background:#fff;border-radius:16px;padding:10px 16px}.login-footer{color:var(--gold);font-size:12px;letter-spacing:.12em;position:relative;z-index:1}
.login-panel{display:flex;align-items:center;justify-content:center;padding:32px}
.login-card{width:min(440px,100%);background:#fff;border:1px solid var(--vborder);box-shadow:0 18px 50px rgba(17,35,63,.12);border-radius:22px;padding:34px;margin:0}
.reg-card{width:min(720px,100%)}.login-card h2{margin:14px 0 8px;font-size:25px;color:var(--navy)}.login-card .sub{color:var(--vmuted);line-height:1.8;margin:0 0 20px}
.fld{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;font-size:13px;color:var(--vmuted)}.fld input,.fld select,.fld textarea{width:100%;padding:10px 12px;border-radius:10px;font-size:15px}
.btn-primary{background:var(--navy);color:#fff;border-radius:12px;padding:12px 16px;font-size:15px}.btn-primary:hover{background:var(--navy2)}.w-full{width:100%;margin-top:10px}
.login-msg{padding:9px 12px;border-radius:10px;margin:8px 0;font-size:13px;line-height:1.7;background:#eef3f9;color:var(--navy)}.login-msg.bad{background:#fdeaea;color:#a02a2a}.login-msg.ok{background:#e3f6ee;color:#0d6b52}
.login-links{display:flex;justify-content:space-between;margin:12px 0;font-size:13px}
.login-screen.reg .login-panel{align-items:flex-start;overflow:auto}
@media(max-width:860px){.login-screen{grid-template-columns:1fr}.login-art{padding:28px 6%;min-height:0}.login-art h1{font-size:24px;margin:14px 0 6px}.login-art p,.login-footer{display:none}.login-panel{padding:16px}.login-card{padding:22px 18px}.login-art:before,.login-art:after{display:none}}
.chk{display:flex;gap:8px;align-items:center;font-size:13px}.frm1{display:grid;gap:10px}.n{background:var(--vred);color:#fff;border-radius:99px;font-size:11px;padding:1px 6px;margin-inline-start:4px}
/* rider portal */
#rapp{min-height:100vh;background:var(--vbg);color:var(--vtext);padding-bottom:78px}
.rtop{position:sticky;top:0;z-index:20;display:flex;gap:8px;align-items:center;background:var(--navy);color:#fff;padding:10px 14px}.rtop .sp{flex:1}.rtop button{padding:6px 10px}.rbrand{display:flex;gap:10px;align-items:center}.rbrand .v23-logo{height:34px;background:#fff;border-radius:8px;padding:2px 6px}.rbrand small{display:block;color:#b9c7da;font-size:11px}
.rv{max-width:880px;margin:0 auto;padding:16px 14px}.rv h2{color:var(--navy);margin:4px 0 12px}.hello{font-size:19px}
.rtabs{position:fixed;inset-inline:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--vborder);box-shadow:0 -4px 18px rgba(0,0,0,.06)}
.rtabs a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:11px;color:var(--vmuted);text-decoration:none}.rtabs a .vic{font-size:20px}.rtabs a.on{color:var(--navy);font-weight:700;border-top:3px solid var(--gold);margin-top:-1px}
.rcard{background:#fff;border-radius:16px;padding:14px;margin-bottom:14px;box-shadow:0 2px 10px rgba(17,35,63,.06)}.rcard h3{margin:0 0 10px;font-size:15px;color:var(--navy)}
.rk{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;margin:8px 0 12px}.rk .kpi{padding:12px;border-top-color:var(--gold)}.rk .kpi .v{font-size:22px}
.rmenu{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.rmenu a{background:#fff;border-radius:16px;padding:18px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;text-decoration:none;color:var(--navy);font-weight:600;box-shadow:0 2px 10px rgba(17,35,63,.06)}.rmenu .vic{font-size:30px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--vborder)}.rempty{padding:18px;text-align:center;color:var(--vmuted);background:#fff;border-radius:14px}
.prog{height:12px;background:#e8eef4;border-radius:99px;overflow:hidden;margin:6px 0 12px}.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--vgreen),var(--gold))}
.ntc{padding:8px 10px;border-inline-start:4px solid #9cc9e3;background:#f7fafd;border-radius:8px;margin-bottom:8px}.ntc.sev-warn{border-color:#e0a31b;background:#fff8e6}.ntc.sev-danger{border-color:var(--vred);background:#fdf0f0}.ntc.read{opacity:.65}
.ann{padding:8px 0;border-bottom:1px solid var(--vborder)}.btn-link{display:inline-block;background:var(--navy);color:#fff;padding:10px 16px;border-radius:12px;text-decoration:none;margin:4px 0}.btn-link:hover{text-decoration:none;background:var(--navy2)}
.stmt table,.rcard table{font-size:13px}
/* chat */
.chat{display:flex;flex-direction:column;height:calc(100vh - 210px);height:calc(100dvh - 210px);min-height:380px;background:#fff;border-radius:16px;box-shadow:0 2px 10px rgba(17,35,63,.06);overflow:hidden}
.chat-tools{display:flex;gap:6px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--vborder);flex-wrap:wrap}.chat-tools .sp{flex:1}.chat-tools select{padding:4px 6px}
.chat-head{padding:0 10px}.tk-bar{display:flex;gap:8px;align-items:center;padding:6px 0;flex-wrap:wrap}
.chat-th{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;background:#f7f9fc}.chat-th.staff{max-height:56vh;border-radius:12px}
.bub{max-width:82%;padding:8px 12px;border-radius:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word}.bub .who{display:block;font-weight:700;color:var(--vmuted);font-size:11px}.bub .tm{display:block;font-size:10px;color:var(--vmuted);margin-top:2px}
.bub.rider{align-self:flex-start;background:var(--navy);color:#fff}.bub.rider .tm,.bub.rider .who{color:#b9c7da}.bub.bot{align-self:flex-end;background:#fff;border:1px solid var(--vborder)}.bub.staff{align-self:flex-end;background:#e6f4ef;border:1px solid #bfe3d6}.bub.system{align-self:center;background:#fff4d6;color:#7a5700;font-size:12px;max-width:94%;text-align:center}.bub.internal{background:#fdf0d5;border:1px dashed #d6a329}
.chat-welcome{text-align:center;margin:auto;padding:14px;max-width:520px}.bot-av{font-size:44px}.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{background:#fff;color:var(--navy);border:1px solid var(--vborder);border-radius:99px;padding:8px 14px;font-size:13px}.chip:hover{background:#eef3f9}
.chat-act{padding:0 10px}.confirm{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 0}.chat-in{display:flex;gap:8px;padding:10px;border-top:1px solid var(--vborder)}.chat-in textarea{flex:1;min-height:42px;max-height:120px;resize:none;border-radius:12px}
/* staff support */
.tk-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:14px}@media(max-width:980px){.tk-grid{grid-template-columns:1fr}}
.sum{white-space:pre-wrap;background:#f7f9fc;border-radius:10px;padding:10px;font:inherit;margin:0 0 8px}.evl{max-height:260px;overflow:auto;font-size:12px;line-height:2}
.sb{display:flex;gap:10px;align-items:center;margin:6px 0}.sbl{width:210px;font-size:13px}.sbt{flex:1;background:#e8eef4;border-radius:99px;height:14px;overflow:hidden}.sbt i{display:block;height:100%;background:#14658f}.sbt i.BOT_RESOLVED{background:#1b7f4b}.sbt i.HUMAN_RESOLVED{background:#14658f}.sbt i.BOT_ASSISTED_HUMAN_RESOLVED{background:#5b8fb9}.sbt i.UNRESOLVED{background:#d6a329}.sbt i.CLOSED_NO_ACTION{background:#9aa6b2}
/* permission picker */
.perms{max-height:56vh;overflow:auto;margin:10px 0}.pg{border:1px solid var(--vborder);border-radius:12px;margin-bottom:10px;padding:6px 10px}.pg summary{display:flex;gap:8px;align-items:center;cursor:pointer;padding:6px 0}.pg summary b{flex:1}.pgi{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:4px 14px;padding:6px 0}
.perm{display:flex;gap:8px;align-items:center;font-size:13px;padding:4px 0}.perm code{margin-inline-start:auto;font-size:10px;color:var(--vmuted);direction:ltr}.perm.sens em{color:#a8641b;font-style:normal;font-size:11px}.perm input:disabled+span{opacity:.5}
/* settings */
.st-wrap{display:grid;grid-template-columns:240px minmax(0,1fr);gap:16px}.st-nav{position:sticky;top:70px;align-self:start;background:#fff;border-radius:14px;padding:8px;box-shadow:var(--sh)}
.st-nav a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;color:var(--vtext);cursor:pointer}.st-nav a:hover{background:#eef3f9;text-decoration:none}.st-nav a.on{background:var(--navy);color:#fff}.st-nav em{margin-inline-start:auto;font-style:normal;font-size:11px;opacity:.7}
.st-card{background:#fff;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:var(--sh);display:grid;gap:8px}.st-card.sens{border-inline-start:4px solid var(--gold)}.st-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.st-k{font-size:11px;color:var(--vmuted);direction:ltr;text-align:start}.ltr{direction:ltr;font-family:monospace}
@media(max-width:820px){.st-wrap{grid-template-columns:1fr}.st-nav{position:static;display:flex;overflow:auto;gap:4px}.st-nav a{white-space:nowrap}.sbl{width:120px}.bub{max-width:92%}.chat{height:calc(100vh - 200px);height:calc(100dvh - 200px)}}
@media print{.rtop,.rtabs,.chat-in{display:none!important}}
