:root{--blue:#173b57;--blue2:#255d89;--bg:#eef3f6;--panel:#fff;--text:#16222b;--muted:#6f7f8c;--line:#dce4ea;--accent:#2178ad;--danger:#b64242;--bubble:#fff;--mine:#d9edf9}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);height:100vh;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;border-radius:10px;background:var(--blue);color:#fff;padding:10px 14px}button:hover{filter:brightness(1.04)}button.ghost{background:#edf2f5;color:var(--blue);border:1px solid var(--line)}button.danger{background:var(--danger)}button.small{padding:7px 10px;font-size:13px}.hidden{display:none!important}.app{display:flex;width:100%;height:100vh}.sidebar{width:360px;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{height:72px;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--blue);color:white}.brand img{width:48px;height:48px;border-radius:12px;object-fit:cover}.brand strong{display:block;font-size:17px}.brand span{display:block;font-size:12px;opacity:.8;margin-top:3px}.navtabs{display:flex;border-bottom:1px solid var(--line)}.navtabs button{flex:1;background:white;color:var(--muted);border-radius:0;padding:12px 5px;border-bottom:3px solid transparent}.navtabs button.active{color:var(--blue);border-bottom-color:var(--blue);font-weight:bold}.side-section{flex:1;overflow:auto}.section-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line)}.section-head b{font-size:14px}.iconbtn{background:#eef3f7;color:var(--blue);padding:7px 10px;border-radius:8px}.group-item,.contact-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid #edf1f4;cursor:pointer}.group-item:hover,.contact-item:hover,.group-item.active{background:#edf5fa}.avatar{width:44px;height:44px;border-radius:50%;background:#d9e6ee;display:flex;align-items:center;justify-content:center;font-weight:bold;color:var(--blue);object-fit:cover;flex:0 0 auto}.group-main{min-width:0;flex:1}.group-main b,.group-main span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-main span{font-size:12px;color:var(--muted);margin-top:4px}.badge{min-width:22px;height:22px;border-radius:11px;background:var(--blue2);color:white;display:flex;align-items:center;justify-content:center;font-size:11px;padding:0 6px}.search{width:calc(100% - 24px);margin:10px 12px;border:1px solid var(--line);padding:10px;border-radius:10px}.sidebar-footer{padding:10px;border-top:1px solid var(--line)}.sidebar-footer button{width:100%}.chat{flex:1;min-width:0;display:flex;flex-direction:column;background:#e7edf1}.chat-header{height:72px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:10px 18px;justify-content:space-between}.chat-header b{display:block}.chat-header span{display:block;color:var(--muted);font-size:12px;margin-top:4px}.chat-actions{display:flex;gap:8px}.messages{flex:1;overflow:auto;padding:18px 7%;background-color:#e5ecf0;background-size:cover;background-position:center}.messages.bg1{background-image:linear-gradient(rgba(235,242,246,.82),rgba(235,242,246,.82)),url('/static/assets/backgrounds/bg1.jpg')}.messages.bg2{background-image:linear-gradient(rgba(235,242,246,.82),rgba(235,242,246,.82)),url('/static/assets/backgrounds/bg2.jpg')}.messages.bg3{background-image:linear-gradient(rgba(235,242,246,.82),rgba(235,242,246,.82)),url('/static/assets/backgrounds/bg3.jpg')}.messages.bg4{background-image:linear-gradient(rgba(235,242,246,.82),rgba(235,242,246,.82)),url('/static/assets/backgrounds/bg4.jpg')}.empty{text-align:center;color:var(--muted);margin-top:30vh}.msg{display:flex;margin:7px 0;align-items:flex-end;gap:7px}.msg.mine{justify-content:flex-end}.bubble{max-width:min(680px,75%);background:var(--bubble);padding:9px 11px;border-radius:13px;box-shadow:0 1px 2px #0001;position:relative}.mine .bubble{background:var(--mine)}.sender{font-size:12px;color:var(--blue2);font-weight:bold;margin-bottom:4px}.msgtext{white-space:pre-wrap;overflow-wrap:anywhere}.meta{display:flex;gap:6px;justify-content:flex-end;color:#73818b;font-size:10px;margin-top:5px}.replyquote{border-left:3px solid var(--blue2);padding:5px 7px;background:#ffffff99;border-radius:6px;margin-bottom:6px;font-size:12px}.attachment{margin-top:7px}.attachment img,.attachment video{display:block;max-width:100%;max-height:430px;border-radius:9px}.filecard{display:flex;gap:9px;align-items:center;padding:9px;background:#f4f7f9;border-radius:8px}.filecard a{color:var(--blue2);text-decoration:none}.msg-menu{position:absolute;right:7px;top:5px;background:transparent;color:#60727e;padding:1px 5px}.composer{background:white;border-top:1px solid var(--line);padding:10px 12px;display:flex;gap:8px;align-items:flex-end}.composer textarea{flex:1;resize:none;border:1px solid var(--line);border-radius:12px;padding:10px 12px;max-height:120px;outline:none}.composer .attach{background:#edf2f5;color:var(--blue);padding:10px}.composer .send{padding:10px 16px}.typing{height:20px;background:white;color:var(--muted);font-size:11px;padding:3px 14px}.replybar{background:#f6f9fb;border-top:1px solid var(--line);padding:8px 14px;display:flex;justify-content:space-between;align-items:center;font-size:12px}.replybar button{padding:2px 7px;background:transparent;color:var(--blue);font-size:20px}.overlay,.modal{position:fixed;inset:0;background:#10202dcc;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.card,.modal-card{background:white;border-radius:18px;padding:24px;width:min(520px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 60px #0005}.auth-card{text-align:center}.hero-logo{width:96px;height:96px;border-radius:22px;object-fit:cover}.card h1,.card h2{color:var(--blue)}.card label,.modal-card label{display:block;text-align:left;font-weight:bold;font-size:13px;margin:12px 0 5px}.card input,.modal-card input,.modal-card textarea,.modal-card select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px}.card button{margin-top:14px}.hint{font-size:12px;color:var(--muted);line-height:1.4}.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1}.modal-card{position:relative;width:min(720px,100%)}.close{position:absolute;right:12px;top:10px;background:transparent;color:var(--blue);font-size:24px;padding:4px 8px}.modal h2{margin-top:0;color:var(--blue)}.admin-menu{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:10px}.admin-menu button{font-size:12px;padding:8px;background:#e9f0f5;color:var(--blue)}#adminPanel{padding:10px}.admin-card{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}.admin-card h4{margin:0 0 5px}.switch{display:flex;align-items:center;gap:8px}.switch input{width:auto}.toast{position:fixed;right:20px;bottom:20px;background:#173b57;color:white;padding:12px 16px;border-radius:10px;z-index:200;box-shadow:0 6px 20px #0003}.install-page{overflow:auto;display:flex;min-height:100vh;align-items:center;justify-content:center;padding:20px;background:#edf3f7}.install-card{background:white;border-radius:20px;padding:28px;text-align:center;width:min(460px,100%);box-shadow:0 15px 50px #0002}.qr{width:230px;height:230px}.server-address{font-weight:bold;color:var(--blue);margin:10px 0;word-break:break-all}.buttonlike{display:block;background:var(--blue);color:white;text-decoration:none;padding:11px;border-radius:10px;margin:10px 0}.mobile-only{display:none}.dark{--bg:#101820;--panel:#17232c;--text:#edf4f7;--muted:#91a3af;--line:#2c3d48;--bubble:#20313d;--mine:#234d65}.dark .navtabs button,.dark .chat-header,.dark .composer,.dark .typing{background:#17232c;color:var(--text)}.dark .iconbtn,.dark button.ghost{background:#22333f;color:#d9e9f2;border-color:#344956}.dark .group-item:hover,.dark .contact-item:hover,.dark .group-item.active{background:#203440}.dark .messages{background-color:#101820}.dark .filecard{background:#17232c}.dark input,.dark textarea,.dark select{background:#101820;color:white;border-color:#344956}.callbar{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:150;background:#173b57;color:white;border-radius:14px;padding:12px 16px;box-shadow:0 8px 30px #0005;display:flex;gap:10px;align-items:center}.callbar button{background:white;color:#173b57;padding:6px 10px}.callbar .danger{background:#b64242;color:white}
@media(max-width:800px){.sidebar{position:absolute;left:0;top:0;bottom:0;width:min(88vw,360px);transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0)}.mobile-only{display:block}.messages{padding:12px}.bubble{max-width:86%}.chat-header{padding:8px 10px}.composer{padding:8px 6px}.composer .attach{font-size:11px;padding:8px}.composer .send{font-size:12px;padding:9px}.brand{height:64px}.chat-header{height:64px}}
/* v0.10 additions */
.pad{padding:12px}.contacts-toggle{padding:10px 12px;border-bottom:1px solid var(--line);background:#f8fafb}.contacts-toggle .hint{display:block;margin-top:4px}.contacts-inline{border-top:4px solid var(--bg)}.contacts-tools{padding:8px 0;border-bottom:1px solid var(--line)}.contacts-tools .search{margin:4px 12px 7px}.contacts-tools .row{padding:0 12px}.drag-handle,.pinbtn{background:transparent;color:#758692;padding:6px 4px;flex:0 0 auto}.drag-handle{font-size:18px;touch-action:none;cursor:grab}.pinbtn{opacity:.45}.pinbtn.on{opacity:1}.group-item.dragging{opacity:.55;background:#dcecf6}.group-item .badge{margin-left:2px}.stack{display:flex;flex-direction:column;gap:8px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role{display:inline-block;padding:2px 7px;border-radius:10px;background:#e7eef3;color:var(--blue);font-size:11px;margin-left:5px}.role.senior{background:#fff0c8;color:#7a5400}.status{display:inline-block;margin-top:4px;font-size:10px;font-weight:bold;padding:3px 7px;border-radius:9px}.status.active{background:#dff5e5;color:#196b32}.status.off{background:#edf0f2;color:#6f7f8c}.broadcast p{white-space:pre-wrap}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:6px 0 10px}.checklist label{font-weight:normal;margin:0!important;padding:7px;border:1px solid var(--line);border-radius:8px}.poll{min-width:min(460px,70vw)}.poll>b{display:block;margin-bottom:8px}.poll-option{position:relative;overflow:hidden;width:100%;margin:5px 0;background:#eef3f6;color:var(--text);border:1px solid var(--line);display:flex;justify-content:space-between;text-align:left;z-index:1}.poll-option i{position:absolute;left:0;bottom:0;top:0;background:#cce5f5;z-index:-1;opacity:.65}.poll-option.chosen{border-color:var(--blue2)}.poll-option:disabled{cursor:default;filter:none}.poll small{display:block;margin-top:7px;color:var(--muted)}.system-msg .bubble{border:1px solid #d7b668}.downloadlink{display:inline-block;margin-top:5px;font-size:12px}.notify-banner{background:#fff6d9;border-bottom:1px solid #ead18b;padding:8px 12px;display:flex;align-items:center;gap:8px;font-size:12px}.notify-banner span{flex:1}.notify-banner button{padding:6px 9px;font-size:12px}.methane-panel{background:var(--panel);border-bottom:1px solid var(--line);max-height:43vh;overflow:auto;padding:10px}.methane-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.methane-head b,.methane-head span{display:block}.methane-head span{font-size:11px;color:var(--muted);margin-top:3px}.buttonlike.compact{display:inline-block;margin:0;padding:8px 10px;white-space:nowrap}.stations{display:grid;grid-template-columns:1fr 1fr;gap:6px}.station{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:7px;background:var(--panel)}.statusdot{width:13px;height:13px;border-radius:50%;background:#a6b2ba;flex:0 0 auto}.station.available .statusdot{background:#26a653;box-shadow:0 0 0 3px #dff5e5}.station.unavailable .statusdot{background:#d64a4a;box-shadow:0 0 0 3px #fae2e2}.station-main{min-width:0;flex:1}.station-main b,.station-main small{display:block}.station-main b{font-size:12px}.station-main small{font-size:10px;color:var(--muted);margin-top:2px}.station-actions{display:flex;gap:3px}.station-actions button{padding:5px 7px;font-size:10px}.station-actions .yes{background:#2b9850}.station-actions .no{background:#b64242}.rent-calendar{display:grid;grid-template-columns:1fr 1fr;gap:7px}.rent-date{display:flex!important;align-items:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:8px;margin:0!important;font-weight:normal!important}.rent-date input{width:auto!important}.rent-date span{flex:1}.rent-date b{font-size:10px;color:var(--muted)}.rent-date.paid{background:#e6f7eb;border-color:#abd8b8}.rent-date.paid b{color:#24713b}.rent-date.past{opacity:.65}.reminder-overlay{position:fixed;inset:0;background:#09151fcc;display:flex;align-items:center;justify-content:center;z-index:300;padding:18px}.reminder-card{width:min(470px,100%);background:white;border-radius:22px;padding:24px;text-align:center;box-shadow:0 20px 70px #0007}.reminder-card img{width:76px;height:76px;border-radius:18px;object-fit:cover}.reminder-card h2{color:var(--blue);margin-bottom:8px}.reminder-card p{font-size:18px;line-height:1.35}.reminder-card small{display:block;margin-top:12px;color:#6f7f8c}.dark .contacts-toggle,.dark .notify-banner{background:#1d2c36}.dark .contacts-toggle{border-color:#2c3d48}.dark .notify-banner{color:#f3e6ae;border-color:#66572a}.dark .poll-option{background:#1b2c37}.dark .poll-option i{background:#285a78}.dark .reminder-card{background:#17232c;color:#fff}.dark .station{background:#17232c}
@media(max-width:800px){.settings-grid,.stations,.checklist,.rent-calendar{grid-template-columns:1fr}.methane-panel{max-height:48vh}.methane-head{align-items:flex-start;flex-direction:column}.group-item{padding-left:6px}.drag-handle{padding:7px 3px}.composer .attach{font-size:10px;padding:7px 6px}}
.member-checks{max-height:55vh;overflow:auto;border:1px solid var(--line);border-radius:10px;margin:8px 0 12px}.member-checks label{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:8px 10px;border-bottom:1px solid var(--line);font-weight:normal!important}.member-checks label:last-child{border-bottom:0}.member-checks input{width:auto!important}.member-checks small{margin-left:auto;color:var(--muted)}
/* v0.11 additions */
.composer .attach:disabled{opacity:.35;cursor:not-allowed}.template-select{display:flex!important;align-items:center;gap:8px;margin:0 0 8px!important}.template-select input{width:auto!important}.template-card p{white-space:pre-wrap}.admin-card small{display:block;margin-top:4px;color:var(--muted)}
/* v0.12 additions */
.sender-link{display:block;border:0;background:transparent;color:var(--blue2);font:inherit;font-size:12px;font-weight:700;padding:0;margin:0 28px 4px 0;text-align:left;cursor:pointer}.mine .sender-link{color:#d7edf8}.deleted-msg .bubble,.deleted-bubble{background:transparent!important;box-shadow:none;border:0!important;min-width:74px;padding:2px 6px!important}.deleted-marker{font-size:10px;font-style:italic;color:var(--muted);line-height:1.1}.deleted-bubble .meta{margin-top:1px;font-size:9px;justify-content:flex-start;color:var(--muted)}
.methane-panel{max-height:52vh;padding:6px}.methane-head{margin-bottom:5px;gap:5px}.methane-head b{font-size:12px}.methane-head span{font-size:9px;margin-top:1px}.buttonlike.compact{padding:5px 7px;font-size:10px;border-radius:7px}.stations{grid-template-columns:1fr 1fr;gap:4px}.compact-station{display:block;padding:4px 5px;border-radius:7px}.station-top{display:flex;align-items:baseline;gap:5px;min-width:0;margin-bottom:3px}.station-top b{font-size:10.5px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.station-top small{font-size:8px;color:var(--muted);white-space:nowrap}.station-actions.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px}.station-actions.three button{min-height:24px;padding:2px 3px;font-size:8.5px;line-height:1;border:1px solid #aeb9c1;background:#eef1f3;color:#4f5e68;border-radius:5px;box-shadow:none}.station-actions.three .work.active{background:#269b4b;color:#fff;border-color:#228743}.station-actions.three .stop.active{background:#c94747;color:#fff;border-color:#ae3b3b}.station-actions.three .queue.active{background:#287fc2;color:#fff;border-color:#246fa8}.station-actions.three button:disabled{opacity:.38;cursor:not-allowed}.dark .station-actions.three button{background:#263640;color:#c8d4db;border-color:#485963}.dark .station-actions.three .work.active{background:#258c46;color:#fff}.dark .station-actions.three .stop.active{background:#b84242;color:#fff}.dark .station-actions.three .queue.active{background:#286fa7;color:#fff}
@media(max-width:800px){.methane-panel{max-height:58vh;padding:4px}.methane-head{display:grid;grid-template-columns:1fr auto;align-items:center}.methane-head span{display:none}.stations{grid-template-columns:1fr;gap:3px}.compact-station{padding:3px 4px}.station-top{margin-bottom:2px}.station-top b{font-size:10px}.station-top small{font-size:7.5px}.station-actions.three button{min-height:23px;font-size:8px;padding:1px 2px}}
/* v0.12 methane ultra-compact row layout */
.compact-station{display:grid;grid-template-columns:minmax(118px,1fr) 176px;align-items:center;gap:5px}.compact-station .station-top{display:block;margin:0;min-width:0}.compact-station .station-top b{display:block;white-space:normal;overflow:visible;text-overflow:clip;font-size:10px;line-height:1.05}.compact-station .station-top small{display:block;margin-top:1px;font-size:7.5px;line-height:1;white-space:nowrap}.compact-station .station-actions.three{width:176px}.compact-station .station-actions.three button{min-height:22px}
@media(max-width:430px){.compact-station{grid-template-columns:minmax(105px,1fr) 164px;gap:3px}.compact-station .station-actions.three{width:164px}.compact-station .station-actions.three button{font-size:7.5px;min-height:22px;padding:1px}.compact-station .station-top b{font-size:9.5px}}
/* v0.13 additions */
.methane-toolbar{display:flex;flex-direction:column;gap:4px;margin-bottom:4px}.methane-app-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 5px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.methane-app-row b,.methane-app-row small{display:block}.methane-app-row b{font-size:10.5px}.methane-app-row small{font-size:8px;color:var(--muted);margin-top:1px}.methane-collapse{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;background:#eef3f6;color:var(--blue);border:1px solid var(--line);padding:5px 7px;border-radius:7px}.methane-collapse span{display:block}.methane-collapse b,.methane-collapse small{display:block}.methane-collapse b{font-size:10.5px}.methane-collapse small{font-size:8px;color:var(--muted);margin-top:1px}.methane-collapse strong{font-size:16px;line-height:1}.dark .methane-app-row{background:#17232c}.dark .methane-collapse{background:#22333f;color:#d9e9f2}.status.manual{background:#e7eef8;color:#285d8f}.broadcast-actions{display:flex;gap:5px;justify-content:flex-end;align-items:flex-start}.broadcast-actions>*{flex:0 0 auto}.autoreg-box{margin-top:12px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#f5f7f8}.autoreg-box.on{border-color:#83c497;background:#e8f7ed}.dark .autoreg-box{background:#1b2a33}.dark .autoreg-box.on{background:#1b3a27;border-color:#397d4e}
@media(max-width:800px){.methane-app-row{padding:3px 4px}.methane-collapse{padding:4px 5px}.methane-app-row b,.methane-collapse b{font-size:10px}.methane-app-row small,.methane-collapse small{font-size:7.5px}.broadcast-actions{width:100%;justify-content:flex-start}}

/* v0.14 corporate black/gold visual system */
:root{
  --brand-black:#171717;--brand-graphite:#292A2C;--brand-soft:#3A3A3C;
  --brand-gold:#C9A45D;--brand-gold-light:#E0C27B;--brand-bronze:#8F7040;
  --blue:#292A2C;--blue2:#8F7040;--accent:#C9A45D;--bg:#F4F3F0;--panel:#fff;
  --text:#222;--muted:#6B6B6B;--line:#D8D6D1;--bubble:#fff;--mine:#F0E6D1;
  --ok:#477A57;--bad:#8A4949;--queue:#526E87;
}
body{background:var(--bg)}
.brand{background:linear-gradient(135deg,#171717,#333);border-bottom:1px solid #6f592f}
.brand img{border:1px solid #b99555}
.navtabs button.active{color:#6e5427;border-bottom-color:var(--brand-gold)}
.admin-tab #adminShield{filter:saturate(.9);font-size:17px}.admin-tab.active{color:#80632f!important}
button{background:linear-gradient(180deg,#d3b471,#b89450);color:#1f1f1f;font-weight:700;border:1px solid #a27f3f}
button.ghost,.iconbtn{background:#f1eee8;color:#3a3123;border:1px solid #d6cbb8}
button.danger{background:#7f4545;color:#fff;border-color:#6f3939}
.group-item:hover,.contact-item:hover,.group-item.active{background:#f5f0e7}
.badge{background:var(--brand-gold);color:#1d1d1d;font-weight:800}
.chat{background:#e9e6df}.messages{background-color:#ebe8e1}
.sender-link{color:#80612a}.mine .sender-link{color:#654c24}
.role{background:#eee6d6;color:#5e4823}.role.senior{background:#ead39a;color:#4f3912;border:1px solid #c7a45c}
.status.active{background:#e2eee5;color:#315f3d;border:1px solid #a8c3af}.status.off{background:#e7edf2;color:#52677b;border:1px solid #c1cfda}
.broadcast-active{border:2px solid #7daa88!important;background:#f4faf5!important}.broadcast-inactive{border:2px solid #9db0bf!important;background:#f5f8fa!important}
.autoreg-box.on{border-color:#7daa88;background:#edf7ef}

/* Accessible deterministic avatars: JS sets background + high-contrast foreground. */
.avatar.initials{font-weight:800;letter-spacing:.02em;border:1px solid rgba(0,0,0,.12);text-shadow:none}
.avatar.initials.one{font-size:20px}.avatar.initials.two{font-size:16px}

/* Delivery/read states intentionally differ strongly in BOTH color and count. */
.delivery-state{display:inline-flex;align-items:center;gap:1px;font-size:14px;font-weight:900;letter-spacing:-2px;min-width:20px;justify-content:flex-end}
.delivery-state.pending{color:#808080}.delivery-state.server{color:#1769b0}.delivery-state.delivered{color:#1769b0}.delivery-state.read{color:#2d8a4b}.delivery-state.failed{color:#9e3434;letter-spacing:0}

.update-banner{background:#211f1b;color:#f5e5bd;border-bottom:1px solid #8f7040;padding:7px 12px;display:flex;gap:8px;align-items:center;font-size:12px}.update-banner span{flex:1}.update-banner button{padding:5px 9px;font-size:11px}
.rent-banner{background:#222;border-bottom:1px solid #8f7040;display:flex;align-items:center;justify-content:center;padding:3px 8px;cursor:pointer;min-height:34px}
.rent-banner img{display:block;max-height:42px;max-width:min(720px,100%);width:auto;object-fit:contain}
.jump-down{position:absolute;right:24px;bottom:86px;border-radius:22px;min-width:48px;height:44px;box-shadow:0 4px 16px #0004;z-index:35;padding:6px 12px}
.unread-divider{display:flex;align-items:center;gap:10px;color:#725a2e;font-size:11px;font-weight:800;margin:12px 0}.unread-divider:before,.unread-divider:after{content:"";height:1px;background:#c9a45d;flex:1}
.pinned-chip{display:inline-block;font-size:9px;padding:2px 5px;border-radius:8px;background:#efe1bd;color:#6b4d17;margin-right:4px}
.message-tip{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);z-index:120;background:#292a2c;color:#fff;border:1px solid #c9a45d;border-radius:12px;padding:10px 14px;box-shadow:0 8px 30px #0005;max-width:360px;font-size:12px}

.methane-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.methane-detail-grid label{margin:0!important}.methane-status-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:8px 0}.methane-status-row button{font-size:11px;padding:8px 5px;background:#e3e3e0;border-color:#c8c8c2;color:#343434}.methane-status-row .work.active{background:var(--ok);color:white}.methane-status-row .stop.active{background:var(--bad);color:white}.methane-status-row .repair.active{background:#75624f;color:white}.history-item{padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.history-item:last-child{border:0}.history-item small{display:block;color:var(--muted);margin-top:3px}

.document-status{display:inline-block;border-radius:10px;padding:3px 7px;font-size:10px;font-weight:800}.document-status.received{background:#dfeee3;color:#315f3d}.document-status.pending{background:#eee7d8;color:#6f592f}
.storage-meter{height:12px;border-radius:7px;overflow:hidden;background:#e2e2df;margin:8px 0}.storage-meter i{display:block;height:100%;background:#7c8d69}.storage-meter.warning i{background:#a07b46}.storage-meter.critical i{background:#8a4949}
.shield-badge{display:inline-flex;align-items:center;justify-content:center;color:#c9a45d;font-size:18px}.shield-badge.senior:before{content:'❧';font-size:12px;margin-right:-3px}.shield-badge.senior:after{content:'❧';font-size:12px;transform:scaleX(-1);margin-left:-3px}

.dark{--bg:#151515;--panel:#222224;--text:#F2F2F2;--muted:#A9A9A9;--line:#3a3a3c;--bubble:#292a2c;--mine:#443a29}
.dark body,.dark{background:#151515;color:#f2f2f2}.dark .sidebar,.dark .chat-header,.dark .modal-card{background:#222224;color:#f2f2f2}.dark .chat{background:#151515}.dark .messages{background-color:#181818}.dark .navtabs button{background:#222224;color:#aaa}.dark .navtabs button.active{color:#e0c27b}.dark button.ghost,.dark .iconbtn{background:#303034;color:#e0c27b;border-color:#4c463c}.dark .group-item:hover,.dark .contact-item:hover,.dark .group-item.active{background:#302c24}.dark .bubble{background:#292a2c;color:#f2f2f2}.dark .mine .bubble{background:#443a29}.dark .broadcast-active{background:#1e2d22!important}.dark .broadcast-inactive{background:#222a31!important}.dark .rent-banner{background:#171717}

@media(min-width:801px){
  /* On desktop the personal rental reminder is a compact side-card rather than a full-width banner. */
  .rent-banner{position:fixed;left:10px;top:76px;width:340px;z-index:45;border:1px solid #8f7040;border-radius:9px;padding:3px;box-shadow:0 4px 14px #0003}
  .rent-banner img{max-width:332px;max-height:54px}
}
@media(max-width:800px){.rent-banner img{width:100%;max-height:40px}.jump-down{right:14px;bottom:78px}.methane-detail-grid{grid-template-columns:1fr}}
/* v0.14 final UX refinements */
:root{--text-scale:1;--brand-gold:#c9a45d;--brand-gold-light:#e0c27b;--brand-graphite:#292a2c;--ok:#477a57;--bad:#8a4949;--steel:#526e87}
body{font-size:calc(15px * var(--text-scale))}
.station-row{width:100%;border:1px solid var(--line);background:var(--panel);color:var(--text);text-align:left;display:flex!important;align-items:center;justify-content:space-between;gap:7px;min-height:38px;box-shadow:none}
.station-row .station-top{display:block;min-width:0;flex:1;margin:0}.station-row .station-top b,.station-row .station-top small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-row.available{border-left:4px solid var(--ok)}.station-row.unavailable{border-left:4px solid var(--bad)}.station-row.repair{border-left:4px solid #75624f}.station-row.closed_schedule{border-left:4px solid #6b6b6b}.station-row.unknown{border-left:4px solid #9a9488}
.dark .station-row{background:#222224;color:#f2f2f2}
.storage-notice{border-color:#c9a45d!important}.storage-warning{border-color:#a07b46!important}.storage-critical{border-color:#8a4949!important}.storage-percent{font-size:22px;font-weight:800;margin-top:6px}
#adminShield{color:#c9a45d;text-shadow:0 1px 2px #0003}.admin-tab:not(.hidden){border-color:#c9a45d!important}
.buttonlike input[hidden]{display:none!important}
@media(max-width:800px){.station-row{min-height:34px;padding:4px 6px}.station-row .station-top b{font-size:10.5px}.station-row .station-top small,.station-row>small{font-size:8px}}
