.plb-box{max-width:760px;margin:20px auto;padding:22px;border:1px solid #dde3ea;border-radius:12px;background:#fff;font-family:inherit;box-sizing:border-box}
.plb-box.plb-wide{max-width:960px}
.plb-box *{box-sizing:border-box}
.plb-box h3{margin-top:0;color:#0b4f8a}
.plb-note{color:#5b6877;font-size:14px;margin:6px 0 10px}
.plb-row{display:flex;gap:12px;flex-wrap:wrap}.plb-row>div{flex:1 1 220px;min-width:0}
.plb-box label{display:block;font-weight:600;margin:10px 0 4px;font-size:14px}
.plb-box input,.plb-box select,.plb-box textarea{width:100%;padding:10px;border:1px solid #c5ced8;border-radius:8px;font-size:16px;font-family:inherit}
.plb-section{font-weight:700;color:#0b4f8a;margin:14px 0 2px;border-bottom:1px solid #e3eaf2;padding-bottom:4px}.plb-section small{font-weight:400;color:#69788a}
.plb-btn{display:inline-block;background:#0b6fd6;color:#fff!important;border:0;padding:12px 22px;border-radius:8px;cursor:pointer;font-weight:700;margin-top:12px;text-decoration:none!important;font-size:15px;line-height:1.3;width:auto}
.plb-btn:hover{filter:brightness(.92)}.plb-btn.green{background:#1a9e4b}.plb-btn.small{padding:8px 14px;margin-top:0;font-size:14px}
.plb-btn.ghost-dark{background:#fff;color:#0d2238!important;border:1px solid #c5ced8}
.plb-link{margin-left:12px;font-size:14px}
.plb-msg{margin-top:12px;padding:10px 14px;border-radius:8px;display:none}
.plb-msg.ok{display:block;background:#e7f8ee;color:#136b34}.plb-msg.err{display:block;background:#fdeaea;color:#a12626}
.plb-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.plb-tab{background:#f0f4f9;border:0;border-radius:8px;padding:10px 14px;cursor:pointer;font-weight:600;color:#0d2238}.plb-tab.on{background:#0b6fd6;color:#fff}
.plb-job{border:1px solid #dde3ea;border-radius:12px;padding:16px;margin:14px 0;background:#fff;overflow-wrap:anywhere}
.plb-job h4{margin:0 0 6px}.plb-meta{color:#5b6877;font-size:13px;margin-bottom:8px}
.plb-badge{display:inline-block;background:#eaf3ff;color:#0b4f8a;padding:3px 10px;border-radius:20px;font-size:12px;margin:0 6px 4px 0;font-weight:600}
.plb-badge.urgent{background:#ffe9e0;color:#b33a00}
.plb-oaccess.acc-locked{background:#fff3d6;color:#8a5a00}.plb-oaccess.acc-blocked{background:#fdeaea;color:#a12626}.plb-oaccess.acc-paid,.plb-oaccess.acc-free{background:#e7f8ee;color:#136b34}
.plb-live{color:#1a9e4b;font-weight:700;font-size:13px}
.plb-form-wrap{display:none;margin-top:12px;padding-top:6px;border-top:1px dashed #c5ced8}
.plb-newbar{display:none;background:#fff6d6;padding:10px;border-radius:8px;text-align:center;cursor:pointer;margin:10px 0}
/* dashboard */
.plb-dhead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.plb-dhead h3{margin:0 0 4px}.plb-dhead small{color:#69788a;overflow-wrap:anywhere}
.plb-stats{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.plb-stats>div{flex:1 1 120px;background:#f4f8fc;border-radius:10px;padding:12px;text-align:center;color:#5b6877;font-size:14px}.plb-stats strong{display:block;font-size:26px;color:#0b4f8a}
.plb-orow{border:1px solid #e3eaf2;background:#f8fbff;border-radius:10px;padding:12px;margin:10px 0}
.plb-orow-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.plb-orow-top small{display:block;color:#69788a}
.plb-orow-right{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.plb-price{font-weight:800;font-size:18px;color:#0b4f8a;margin-right:4px}
.plb-dot{display:none;width:10px;height:10px;border-radius:50%;background:#e03b3b}.plb-orow.has-new .plb-dot{display:inline-block}
/* room */
.plb-room{margin-top:12px;border-top:1px dashed #c5ced8;padding-top:12px}
.plb-room-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-weight:700;margin-bottom:8px}
.plb-feed{max-height:340px;overflow-y:auto;background:#fff;border:1px solid #e3eaf2;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px}
.plb-b{max-width:82%;padding:8px 12px;border-radius:12px;font-size:14px;overflow-wrap:anywhere}
.plb-b.me{align-self:flex-end;background:#dcefff}.plb-b.them{align-self:flex-start;background:#f1f3f6}
.plb-bh{font-size:12px;color:#5b6877;margin-bottom:2px}.plb-bh span{opacity:.7;margin-left:6px}
.plb-bp{font-weight:800;color:#0b4f8a;font-size:16px}
.plb-sys{align-self:center;background:#fff6d6;color:#6b5200;font-size:13px;padding:6px 12px;border-radius:20px;text-align:center}
.plb-room-note{margin:8px 0;color:#8a5a00;font-size:14px}
.plb-deal-box,.plb-admin-contact{margin-top:8px}.plb-deal-box{background:#e7f8ee;border:1px solid #b8e6c9;border-radius:10px;padding:12px;color:#136b34}
.plb-admin-contact{display:flex;gap:8px;flex-wrap:wrap}
/* modal */
.plb-modal-bg{position:fixed;inset:0;background:rgba(13,34,56,.6);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto}
.plb-modal{background:#fff;max-width:480px;width:100%;border-radius:14px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:100%;overflow-y:auto}
.plb-modal h3{margin-top:0;color:#0d2238}.plb-modal .plb-fee{font-size:30px;font-weight:800;color:#0b6fd6;margin:6px 0}
.plb-modal .plb-btn{width:100%;text-align:center;margin-top:8px}
@media(max-width:600px){.plb-box{padding:16px;margin:12px 0;border-radius:10px}.plb-row>div{flex:1 1 100%}.plb-btn{width:100%;text-align:center}.plb-btn.small{width:auto}.plb-tab{flex:1 1 100%}.plb-b{max-width:94%}.plb-orow-right{width:100%}}

/* user bar + ticker + blinking */
.plb-userbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;background:#f4f8fc;border-radius:8px;padding:8px 12px;margin:0 0 12px;font-size:14px}
.plb-userbar a{margin-left:12px;font-weight:600}.plb-userbar a.plb-logout{background:#0d2238;color:#fff;padding:5px 12px;border-radius:6px;text-decoration:none}
.plb-ticker{display:flex;align-items:stretch;border:1px solid #dde3ea;border-radius:10px;overflow:hidden;background:#fff;margin:12px 0;max-width:100%}
.plb-ticker-label{background:#0b4f8a;color:#fff;font-weight:800;font-size:12px;letter-spacing:.5px;padding:0 14px;display:flex;align-items:center;gap:8px;white-space:nowrap;flex:0 0 auto}
.plb-ticker-view{flex:1;overflow:hidden;position:relative;min-width:0}
.plb-ticker-view:before,.plb-ticker-view:after{content:"";position:absolute;top:0;bottom:0;width:24px;z-index:2;pointer-events:none}
.plb-ticker-view:before{left:0;background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.plb-ticker-view:after{right:0;background:linear-gradient(270deg,#fff,rgba(255,255,255,0))}
.plb-ticker-track{display:flex;width:max-content;animation:plb-run var(--plb-dur,60s) linear infinite;will-change:transform}
.plb-ticker-track:hover{animation-play-state:paused}
.plb-ticker-track.plb-static{animation:none;width:auto}
@keyframes plb-run{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.plb-tk-set{display:flex;flex:0 0 auto}
.plb-tk{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;white-space:nowrap;color:#0d2238!important;text-decoration:none!important;border-right:1px solid #e3eaf2;font-size:14px}
.plb-tk:hover{background:#f4f8fc}
.plb-tk-empty{padding:12px 18px;color:#5b6877;font-size:14px;white-space:nowrap}
.plb-dot-live{display:inline-block;width:9px;height:9px;border-radius:50%;background:#1a9e4b;animation:plb-blink 1s infinite;flex:0 0 auto}
.plb-blink{display:inline-block;color:#fff;background:#e03b3b;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:800;animation:plb-blink 1s infinite;vertical-align:middle}
.plb-tag-new{background:#ff7a1a;color:#fff;font-size:11px;font-weight:800;padding:2px 7px;border-radius:10px}
@keyframes plb-blink{0%,100%{opacity:1}50%{opacity:.2}}
.plb-job.plb-new{animation:plb-flash 2.5s ease}
@keyframes plb-flash{0%{background:#fff6d6;transform:translateY(-8px);opacity:.3}30%{opacity:1;transform:none}100%{background:#fff}}
@media(prefers-reduced-motion:reduce){.plb-ticker-track{animation:none}.plb-ticker-view{overflow-x:auto}.plb-blink,.plb-dot-live{animation:none}}
@media(max-width:600px){.plb-ticker-label .txt{display:none}.plb-ticker-label{padding:0 12px}.plb-tk{padding:11px 16px;font-size:13px}}

/* online status, ratings, statuses, reviews */
.plb-presence{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;margin:0 6px;white-space:nowrap}
.plb-presence i{width:9px;height:9px;border-radius:50%;background:#9aa6b2;display:inline-block}
.plb-presence.on{color:#136b34}.plb-presence.on i{background:#1fbf5b;animation:plb-pulse 1.6s infinite}
.plb-presence.off{color:#7a8794}
@keyframes plb-pulse{0%{box-shadow:0 0 0 0 rgba(31,191,91,.6)}70%{box-shadow:0 0 0 7px rgba(31,191,91,0)}100%{box-shadow:0 0 0 0 rgba(31,191,91,0)}}
.plb-rate{font-size:12px;font-weight:700;color:#b36b00;margin:0 6px;white-space:nowrap}.plb-rate.none{color:#8a96a3;font-weight:500}.plb-rate small{color:#69788a}
.plb-st{display:inline-block;background:#eaf3ff;color:#0b4f8a;font-size:11px;font-weight:800;padding:2px 8px;border-radius:12px}
.plb-st.open{background:#fff3d6;color:#8a5a00}.plb-st.done{background:#1a9e4b;color:#fff}
.plb-phones{margin:8px 0;font-size:16px;line-height:1.8}.plb-phones a{font-weight:800}
.plb-reviewform{margin-top:12px;border-top:1px dashed #9fd6b5;padding-top:10px;color:#0d2238}
.plb-reviewform select,.plb-reviewform textarea{margin:6px 0}
.plb-review-done{margin-top:10px;color:#0d2238}
@media(prefers-reduced-motion:reduce){.plb-presence.on i{animation:none}}

/* reviews */
.plb-rv-filters{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.plb-rv-filter{background:#f0f4f9;border:0;border-radius:20px;padding:8px 16px;cursor:pointer;font-weight:600;color:#0d2238}.plb-rv-filter.on{background:#0b6fd6;color:#fff}
.plb-rv{border:1px solid #e3eaf2;background:#fff;border-radius:12px;padding:14px 16px;margin:10px 0;overflow-wrap:anywhere}
.plb-rv-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:flex-start}
.plb-rv-stars{color:#f5a300;font-size:18px;letter-spacing:1px;white-space:nowrap}
.plb-rv-text{margin:8px 0;font-size:15px}.plb-rv small{color:#69788a}
.plb-rv.plb-new{animation:plb-flash 2.5s ease}
.plb-rv-panel{margin-top:22px;border-top:2px solid #e3eaf2;padding-top:12px}.plb-rv-panel h4{margin:0 0 6px}.plb-rv-sec h5{margin:14px 0 4px;font-size:15px;color:#0d2238}
.plb-todo{border:1px dashed #9fd6b5;background:#f3fbf6;border-radius:10px;padding:12px;margin:8px 0}.plb-todo .plb-reviewform{border:0;padding-top:4px;margin-top:4px}
