.wt-shell{max-width:1100px;margin:auto;padding:18px}.wt-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.wt-header img{width:52px;height:52px}.wt-shell .panel{padding:20px;margin:16px 0;border:1px solid #dbe4f2;border-radius:20px;background:#fff}.wt-shell label{display:block;font-weight:600;margin:12px 0}.wt-shell input,.wt-shell select,.wt-shell textarea{display:block;width:100%;padding:13px;border:1px solid #c8d5e5;border-radius:12px;font:inherit;box-sizing:border-box}.wt-shell input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}.wt-shell button,.wt-shell a.secondary{display:inline-block;cursor:pointer;font:inherit;border:0;border-radius:12px;padding:12px 17px;margin:5px;background:#eaf1fb;color:#16396a;text-decoration:none}.wt-shell button.primary{background:#0759f9;color:white}.wt-shell button.danger{background:#c52345;color:white}.wt-shell button:disabled{opacity:.5;cursor:wait}.wt-shell [hidden]{display:none!important}.wt-shell{color:#142640;font-family:system-ui,sans-serif}.wt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.wt-message{padding:8px 14px;background:#edf3fc;border-radius:14px;margin:8px 0;overflow-wrap:anywhere}.wt-message.mine{background:#d8f8ee}.wt-messages{max-height:420px;overflow:auto}.wt-verdict{font-size:1.3rem;padding:22px;border-radius:16px;margin:14px 0;font-weight:700}.wt-verdict.green{background:#c5f5dc;color:#054727}.wt-verdict.yellow{background:#fff0b1;color:#533c00}.wt-verdict.red{background:#ffe1e6;color:#8c0926}.wt-shell video{width:100%;max-height:420px;border-radius:14px}.wt-qr{background:white;padding:18px;max-width:320px}.wt-qr svg{width:100%;height:auto}.wt-map{height:300px;border-radius:14px;overflow:hidden}.wt-shell #notice{white-space:pre-wrap;color:#982443}.wt-shell .wt-note{color:#536783;font-size:.95rem}.wt-order{border-left:5px solid #0960f6}.wt-summary{overflow-wrap:anywhere}body[data-transport]{background:#f3f6fb;margin:0}.wt-shell input,.wt-shell textarea{font-size:16px!important}

/* v126 startup: neutral loading until the session and the server role are confirmed (wipye-transport-panel.js). */
.wl-boot #authPanel,.wl-boot #accountBar,.wl-boot #workspace>:not(.wl-loading){display:none!important}
.wl-boot #workspace:empty::before{content:'';display:block;width:28px;height:28px;margin:22vh auto 0;border:3px solid #d7e0ee;border-top-color:#055cff;border-radius:50%;animation:wl-boot-spin .9s linear infinite}
@keyframes wl-boot-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.wl-boot #workspace:empty::before{animation:none}}
