/* Solar Hub 0.6 interactive public services and secure team panels */
.cm-dock{position:fixed;z-index:65;right:12px;top:49%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.cm-dock>button{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;border:1px solid rgba(255,255,255,.5);box-shadow:0 4px 18px #23050d36;color:#fff;background:#710b29;cursor:pointer;font-size:19px;transition:.15s transform,.15s background}
.cm-dock>button:hover,.cm-dock>button:focus-visible{background:#c48617;transform:translateX(-4px);outline:2px solid #fff}
.cm-pwa-install{position:fixed;right:67px;bottom:14px;z-index:65;background:#ffc017;color:#421223;border:1px solid #e2a52a;border-radius:14px;padding:10px 14px;font-size:12px;font-weight:800;box-shadow:0 3px 15px #21070c33;cursor:pointer}
.cm-pwa-install[hidden]{display:none}
.community-modal{font-size:14px;color:#3e2231;line-height:1.55;max-width:1080px;margin:auto}.community-modal h3{font-size:18px;color:#411526;margin:19px 0 12px}
.cm-modal-top{display:flex;gap:8px;align-items:center;justify-content:space-between}
.cm-muted{font-size:12px;color:#8f7180;line-height:1.5}
.cm-notice{background:#fff7d9;color:#805c22;padding:13px 15px;border:1px solid #efd391;border-radius:12px;margin:4px 0 16px;font-size:12px}.cm-success{background:#f1fff5;color:#215b38;border-color:#a4dfb4}
.cm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cm-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.cm-example{border:1px solid #ecdbdf;border-radius:14px;background:#fffafc;padding:16px;min-width:0}.cm-example h4{font-size:16px;color:#461a2a;margin:6px 0}.cm-example b{font-size:12px;color:#9b660f}.cm-example p{font-size:12px;color:#785e6a;line-height:1.65}.cm-example>img{width:100%;height:145px;object-fit:cover;border-radius:9px}.cm-emoji{width:44px;height:44px;background:#fff0ce;border-radius:11px;display:grid;place-items:center;font-size:22px}
.cm-form{display:grid;gap:12px;margin:16px 0}.cm-form label{display:flex;flex-direction:column;gap:6px;color:#5b3849;font-size:12px;font-weight:750}.cm-form input,.cm-form select,.cm-form textarea{width:100%;font:inherit;border:1px solid #e6d5d9;border-radius:11px;background:#fff;padding:12px;color:#3e2231;min-width:0}.cm-form input:focus,.cm-form textarea:focus{outline:2px solid #f3bb32}.cm-form textarea{resize:vertical;min-height:80px}.cm-form .cm-check{display:flex;flex-direction:row;align-items:center}.cm-check input{width:auto}.cm-honeypot{position:absolute!important;left:-10000px!important;top:-10000px!important;width:0;height:0;opacity:0}
.cm-btn,.cm-primary{border:1px solid #ebd8dc;background:#fff;border-radius:11px;padding:11px 14px;font:inherit;font-size:12px;color:#63213d;font-weight:750;cursor:pointer;min-height:40px}.cm-btn:hover{background:#fff3de}.cm-btn:disabled,.cm-primary:disabled{opacity:.55;cursor:not-allowed}.cm-primary{background:#800821!important;color:#fff!important;border-color:#800821!important}.cm-primary:hover{background:#ad1834!important}
.cm-action-row{display:flex;flex-wrap:wrap;gap:10px;margin:13px 0}.cm-action-row>button{max-width:100%}
.cm-row{display:flex;align-items:center;gap:12px;justify-content:space-between;border:1px solid #efdee1;background:#fff;padding:13px;border-radius:11px;margin:6px 0;overflow-wrap:anywhere}.cm-row small{display:block;font-size:10px;color:#927886;margin-top:5px}.cm-row>div{min-width:0}.cm-row>button{flex-shrink:0}
.cm-conversation{max-height:380px;overflow:auto;background:#fcfafb;border-radius:12px;padding:10px;border:1px solid #e9dbdd}.cm-message{padding:12px;border-radius:10px;background:white;border:1px solid #ece0e3;margin:7px 0}.cm-message.cm-staff{background:#fff4d8}.cm-message strong,.cm-message b{font-size:12px}.cm-message p{font-size:13px;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.cm-message small{font-size:10px;color:#907886}
.cm-review{display:grid;gap:9px;padding:17px;background:#fffaf0;border-radius:12px;border:1px solid #ecd8b1}.cm-review>span{font-size:12px;color:#745d66}
.cm-stepbar{font-size:12px;font-weight:800;color:#760b31;background:#fcf5ee;border:1px dashed #dba96d;padding:13px;border-radius:11px;margin:8px 0}
.cm-voice,.cm-answer{padding:14px;border-radius:12px;background:#fff7dd;border:1px solid #eed9ae;overflow-wrap:anywhere}.cm-answer p{white-space:pre-wrap;font-size:13px}.cm-answer small{color:#83677b}
.cm-palettes button{color:#fff;background:#74202b}.cm-palettes .cm-palette-gold{background:#750e2b}.cm-palettes .cm-palette-forest{background:#135f45}.cm-palettes .cm-palette-ocean{background:#146287}.cm-palettes .cm-palette-violet{background:#593278}.cm-palettes .cm-palette-graphite{background:#323441}
.cm-visitor-extra{background:#fff;padding:24px;border:1px solid #f1dfe4;border-radius:16px;margin:24px 0}.cm-feature{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.cm-feature h2{font-size:23px;color:#4d1b2d;margin:5px 0}.cm-feature p{font-size:12px;color:#886a76}
/* User palette options affect all major call-to-action and navigation surfaces, preserving contrast. */
body[data-palette=forest]{--cm-accent:#145d49;--cm-light:#e8f7ed}
body[data-palette=ocean]{--cm-accent:#135f86;--cm-light:#eaf5ff}
body[data-palette=violet]{--cm-accent:#603181;--cm-light:#f3edfc}
body[data-palette=graphite]{--cm-accent:#363945;--cm-light:#f1f2f5}
body[data-palette=gold]{--cm-accent:#800921;--cm-light:#fff4dd}
body[data-palette] .cm-primary{background:var(--cm-accent)!important;border-color:var(--cm-accent)!important}
body[data-palette] .cm-dock>button{background:var(--cm-accent)}
body[data-palette]:not([data-palette=gold]) .vx-admin-hero,body[data-palette]:not([data-palette=gold]) .vx-photohero{box-shadow:inset 0 0 0 9999px color-mix(in srgb,var(--cm-accent) 8%,transparent)}
body[data-palette]:not([data-palette=gold]) .vx-card-icon,body[data-palette]:not([data-palette=gold]) .vx-fact-icon{background:var(--cm-light)!important;color:var(--cm-accent)!important}
body[data-palette]:not([data-palette=gold]) .vx-label,body[data-palette]:not([data-palette=gold]) .vx-section-head h2{color:var(--cm-accent)}
body[data-palette]:not([data-palette=gold]) .nav-btn.active{background:var(--cm-accent)}
@media(min-width:980px){.modal-wrap.open.board-screen .modal{width:min(1080px,calc(100vw - 80px));max-width:1080px}}
@media(max-width:900px){.cm-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.cm-dock{right:6px;top:auto;bottom:8px;transform:none;flex-direction:row;max-width:calc(100vw - 12px);background:#fff9;padding:6px;border-radius:15px;border:1px solid #eee0e4;overflow-x:auto;align-items:center}.cm-dock>button{min-width:34px;width:36px;height:36px;font-size:17px;border-radius:9px}.cm-pwa-install{bottom:55px;right:9px}.cm-profile-grid,.cm-grid{grid-template-columns:1fr 1fr}.cm-visitor-extra{padding:14px}.cm-feature h2{font-size:18px}.cm-btn,.cm-primary{font-size:11px}.modal-wrap.open.board-screen .modal{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.cm-conversation{max-height:50dvh}}
@media(max-width:430px){.cm-profile-grid,.cm-grid{grid-template-columns:1fr}.cm-dock>button{width:36px;min-width:36px}.cm-example>img{height:120px}}
