:root{color:#203029;font-synthesis:none;text-rendering:optimizelegibility;--green:#1d4d3f;--green-2:#2d6a56;--green-soft:#e6efe9;--ink:#203029;--muted:#6f7b74;--line:#dfe5df;--surface:#fff;--surface-2:#f8faf7;--warning:#c47a19;--danger:#b94b45;--good:#2c7a52;--shadow:0 12px 35px #1f352b14;background:#f3f5f1;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f3f5f1;min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:.35rem;font-size:clamp(1.65rem,3vw,2.25rem)}h2{margin-bottom:.25rem;font-size:1.12rem}h3{margin-bottom:.35rem}small{color:var(--muted)}code{word-break:break-all;background:#eef2ee;border-radius:.45rem;padding:.35rem .55rem}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#edf5f0;background:#173f34;flex-direction:column;height:100vh;padding:1.2rem .85rem;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:.75rem;padding:.35rem .5rem 1.1rem;display:flex}.brand-mark{color:#173f34;letter-spacing:-.05em;background:#dbe7b2;border-radius:14px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.brand div:last-child{flex-direction:column;gap:.12rem;display:flex}.brand span{color:#bcd0c5;font-size:.72rem}.sidebar nav{flex-direction:column;gap:.15rem;padding-top:1rem;display:flex;overflow:auto}.sidebar nav a{color:#c7d7cf;border-radius:.75rem;align-items:center;gap:.75rem;padding:.67rem .75rem;font-size:.92rem;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff1a}.sidebar-footer{color:#aac1b6;align-items:center;gap:.65rem;margin-top:auto;padding:.9rem .6rem .2rem;font-size:.75rem;display:flex}.main-column{min-width:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:20;background:#f8faf7e6;justify-content:space-between;align-items:center;height:76px;padding:0 clamp(1rem,3vw,2.4rem);display:flex;position:sticky;top:0}.topbar>div:first-child{flex-direction:column;display:flex}.topbar small{font-size:.72rem}.topbar strong{font-size:1rem}.mode-pill{background:#edf1ed;border-radius:999px;padding:.38rem .65rem;font-size:.72rem;font-weight:700}.mode-pill.supabase{color:#236044;background:#dff0e7}.page-content{max-width:1500px;margin:0 auto;padding:clamp(1rem,3vw,2.4rem) clamp(1rem,3vw,2.4rem) 5.5rem}.page-stack{flex-direction:column;gap:1.25rem;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.page-header p{color:var(--muted);max-width:720px;margin:0}.mobile-nav{display:none}.button{border:1px solid var(--line);cursor:pointer;min-height:42px;color:var(--ink);background:#fff;border-radius:.7rem;justify-content:center;align-items:center;gap:.5rem;padding:.65rem .9rem;font-weight:750;display:inline-flex}.button:hover{transform:translateY(-1px);box-shadow:0 5px 15px #1e322814}.button.primary{background:var(--green);color:#fff;border-color:var(--green)}.button.ghost{background:#fff}.button.danger{color:#9f3935;background:#fff2f1;border-color:#ecc1bf}.button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.large-button{width:100%;min-height:50px;font-size:1rem}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.icon-button:hover{background:#edf1ed}.metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem;display:grid}.metrics-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;gap:.8rem;min-width:0;padding:1rem;display:flex;box-shadow:0 5px 18px #1f352b09}.metric-icon{background:#eff3ef;border-radius:.8rem;flex:none;place-items:center;width:42px;height:42px;display:grid}.metric-card p{color:var(--muted);margin-bottom:.25rem;font-size:.78rem}.metric-card strong{letter-spacing:-.04em;font-size:1.55rem;display:block}.metric-card small{margin-top:.16rem;font-size:.7rem;display:block}.metric-card.tone-good .metric-icon{color:var(--good);background:#e1f0e8}.metric-card.tone-warning .metric-icon{color:var(--warning);background:#fff1dc}.metric-card.tone-danger .metric-icon{color:var(--danger);background:#fbe7e5}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.panel,.table-card{background:var(--surface);border:1px solid var(--line);border-radius:1rem;box-shadow:0 5px 20px #1f352b0a}.panel{padding:1.1rem}.panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem;display:flex}.panel-header p{color:var(--muted);margin:0;font-size:.82rem}.panel-header a{color:var(--green-2);align-items:center;gap:.25rem;font-size:.8rem;font-weight:750;display:flex}.list-stack{flex-direction:column;display:flex}.list-row{border-top:1px solid #edf0ed;align-items:center;gap:.75rem;padding:.75rem 0;display:flex}.list-row:first-child{border-top:0}.list-row .grow{flex-direction:column;min-width:0;display:flex}.list-row .grow strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.list-row span,.list-row small{color:var(--muted);font-size:.78rem}.grow{flex:1;min-width:0}.row-icon{background:var(--green-soft);width:36px;height:36px;color:var(--green);border-radius:.7rem;flex:none;place-items:center;display:grid}.row-icon.large{border-radius:.9rem;width:48px;height:48px}.row-icon.warning{color:var(--warning);background:#fff0dc}.muted{color:var(--muted)}.muted.small{font-size:.78rem}.status-badge{color:#5a665f;white-space:nowrap;text-transform:capitalize;background:#edf1ed;border-radius:999px;justify-content:center;align-items:center;width:max-content;padding:.28rem .52rem;font-size:.68rem;font-weight:800;display:inline-flex}.status-ready,.status-completed,.status-pass,.status-active,.status-in-stock,.status-owner{color:#246347;background:#dff0e7}.status-occupied,.status-in-progress,.status-reception{color:#2d6093;background:#e4edf7}.status-cleaning,.status-waiting,.status-medium,.status-expiring,.status-low-stock{color:#9b6419;background:#fff0d9}.status-maintenance,.status-needs-attention,.status-high,.status-fail{color:#a84640;background:#fbe6e4}.status-out-of-service,.status-urgent{color:#fff;background:#a93d38}.status-open,.status-grounds,.status-cleaner,.status-manager,.status-viewer{color:#665398;background:#ece9f7}.status-low{color:#647068;background:#edf1ed}.priority-dot{background:#aeb7b1;border-radius:50%;flex:none;width:10px;height:10px}.priority-dot.large{width:13px;height:13px}.priority-dot[data-priority=Low]{background:#7a9182}.priority-dot[data-priority=Medium]{background:#d39235}.priority-dot[data-priority=High]{background:#d35e53}.priority-dot[data-priority=Urgent]{background:#8e2926;box-shadow:0 0 0 4px #f6dad8}.toolbar{align-items:center;gap:.7rem;display:flex}.toolbar select{min-width:160px}.search-box{border:1px solid var(--line);background:#fff;border-radius:.75rem;flex:1;align-items:center;gap:.55rem;padding:0 .8rem;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%;padding:.75rem 0}select,input,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd8d1;border-radius:.65rem;padding:.68rem .72rem}textarea{resize:vertical;line-height:1.4}label{color:#4f5e56;flex-direction:column;gap:.35rem;font-size:.79rem;font-weight:700;display:flex}.stack{flex-direction:column;gap:.9rem;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.form-grid .full{grid-column:1/-1}.form-actions{justify-content:flex-end;gap:.6rem;padding-top:.5rem;display:flex}.form-message{color:var(--muted);font-size:.8rem}.card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.site-card,.job-card,.stock-card,.incident-card{text-align:left;border:1px solid var(--line);cursor:pointer;color:inherit;background:#fff;border-radius:1rem;padding:1rem;box-shadow:0 5px 18px #1f352b09}.site-card:hover,.job-card:hover,.stock-card:hover,.incident-card:hover{box-shadow:var(--shadow);border-color:#b8c9bd;transform:translateY(-2px)}.site-card-top,.job-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:.85rem;display:flex}.site-card h3{margin-bottom:.2rem}.site-card>p{color:var(--muted);font-size:.78rem}.site-card-stats{color:var(--muted);border-top:1px solid #edf0ed;gap:1rem;padding-top:.7rem;font-size:.75rem;display:flex}.site-card-stats strong{color:var(--ink)}.guest-strip{background:#f3f7f4;border-radius:.65rem;flex-direction:column;margin-top:.8rem;padding:.55rem .65rem;display:flex}.guest-strip small{text-transform:uppercase;letter-spacing:.08em;font-size:.6rem}.table-card{overflow:hidden}.table-card .panel-header{padding:1rem 1rem 0}.responsive-table{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th{text-align:left;text-transform:uppercase;letter-spacing:.055em;color:var(--muted);background:#f7f9f6;padding:.75rem 1rem;font-size:.68rem}td{border-top:1px solid #edf0ed;padding:.85rem 1rem;font-size:.84rem}tbody tr{cursor:pointer}tbody tr:hover{background:#fafcf9}.cell-with-icon{align-items:center;gap:.65rem;display:flex}.cell-with-icon div{flex-direction:column;display:flex}.progress{background:#e8ece8;border-radius:999px;width:110px;height:6px;margin-bottom:.25rem;overflow:hidden}.progress span{background:var(--green-2);border-radius:inherit;height:100%;display:block}.tabs{background:#e8ece8;border-radius:.75rem;gap:.35rem;width:max-content;padding:.25rem;display:flex}.tabs button{cursor:pointer;color:#657069;background:0 0;border:0;border-radius:.55rem;padding:.55rem .9rem;font-weight:700}.tabs button.active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #14322314}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#11221b8c;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:1rem;flex-direction:column;width:min(620px,100%);max-height:90vh;display:flex;overflow:hidden;box-shadow:0 30px 80px #0a1e144d}.modal-card.modal-wide{width:min(980px,100%)}.modal-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:1rem 1.15rem;display:flex}.modal-card>header h2{margin:0}.modal-content{padding:1.1rem;overflow:auto}.detail-layout{grid-template-columns:minmax(0,1.5fr) minmax(250px,.7fr);gap:1.2rem;display:grid}.detail-sidebar{border:1px solid var(--line);background:#f6f8f5;border-radius:.85rem;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.detail-sidebar>p{justify-content:space-between;gap:1rem;margin:0;font-size:.8rem;display:flex}.detail-sidebar>p span{color:var(--muted);text-align:right}.info-box{background:#eff4f0;border:1px solid #dde6df;border-radius:.7rem;flex-direction:column;gap:.2rem;padding:.75rem;display:flex}.info-box small{text-transform:uppercase;letter-spacing:.05em;font-size:.62rem}.prose{color:#47564e;white-space:pre-line;line-height:1.6}.job-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;display:grid}.job-card h3{margin-bottom:.4rem}.job-card>p{color:var(--muted);height:3.5em;font-size:.8rem;line-height:1.45;overflow:hidden}.job-meta{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.72rem;display:flex}.job-meta span{align-items:center;gap:.35rem;display:flex}.job-footer{color:var(--muted);border-top:1px solid #edf0ed;justify-content:space-between;align-items:center;margin-top:.8rem;padding-top:.75rem;font-size:.72rem;display:flex}.checklist{flex-direction:column;display:flex}.checklist h3{align-items:center;gap:.45rem;display:flex}.check-item{cursor:pointer;border-top:1px solid #edf0ed;flex-direction:row;align-items:center;padding:.75rem .25rem}.check-item input{display:none}.check-item>span{color:var(--ink);align-items:center;gap:.65rem;font-size:.88rem;display:flex}.check-item.done>span{color:var(--muted);text-decoration:line-through}.fake-check{border:2px solid #afbbb3;border-radius:50%;width:20px;height:20px}.template-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;display:grid}.template-card{border:1px solid var(--line);background:#fff;border-radius:.9rem;align-items:flex-start;gap:.75rem;padding:.9rem;display:flex}.template-card h3{font-size:.9rem}.template-card p{color:var(--muted);margin-bottom:.35rem;font-size:.73rem}.inspection-form{flex-direction:column;gap:.75rem;display:flex}.inspection-banner{background:var(--green-soft);color:var(--green);border-radius:.8rem;align-items:center;gap:.75rem;padding:.8rem;display:flex}.inspection-banner div{flex-direction:column;display:flex}.inspection-row{border-top:1px solid var(--line);gap:.8rem;padding:.9rem 0;display:flex}.inspection-number{background:#eef2ee;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.75rem;font-weight:800;display:grid}.segmented{flex-wrap:wrap;gap:.35rem;margin:.6rem 0;display:flex}.segmented button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:.6rem;align-items:center;gap:.3rem;padding:.5rem .65rem;font-size:.72rem;font-weight:700;display:flex}.segmented button.active{background:var(--green);color:#fff;border-color:var(--green)}.qr-display{border:1px solid var(--line);border-radius:.9rem;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.qr-placeholder{background:#fff;border:8px dotted #203029;place-items:center;width:100px;height:100px;font-size:1.4rem;font-weight:900;display:grid}.qr-display>div:last-child{flex-direction:column;gap:.4rem;display:flex}.stock-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem;display:grid}.stock-card{grid-template-columns:auto 1fr auto;align-items:start;gap:.8rem;display:grid}.stock-card.low{background:#fffaf2;border-color:#e6bd7b}.stock-icon{width:45px;height:45px;color:var(--green);background:#edf2ee;border-radius:.8rem;place-items:center;display:grid}.stock-card h3{margin:.25rem 0;font-size:.9rem}.stock-card p{margin:0}.stock-card p strong{font-size:1.3rem}.stock-card span{color:var(--muted);font-size:.7rem}.stock-adjust{flex-direction:column;gap:1rem;display:flex}.stock-quantity{text-align:center;flex-direction:column;display:flex}.stock-quantity strong{letter-spacing:-.06em;font-size:3rem}.adjust-buttons{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.incident-list{flex-direction:column;gap:.7rem;display:flex}.incident-card{align-items:flex-start;gap:.8rem;width:100%;display:flex}.incident-card p{color:var(--muted);margin:.35rem 0;font-size:.8rem}.incident-title{align-items:center;gap:.6rem;display:flex}.incident-title h3{margin:0}.contractor-card{border:1px solid var(--line);background:#fff;border-radius:1rem;padding:1rem}.contractor-card>p{color:var(--muted)}.contact-lines{flex-direction:column;gap:.2rem;margin:.75rem 0;font-size:.78rem;display:flex}.document-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.document-grid div{background:#f5f8f5;border-radius:.6rem;flex-direction:column;padding:.55rem;display:flex}.document-grid strong{font-size:.75rem}.staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.staff-card{border:1px solid var(--line);background:#fff;border-radius:.9rem;align-items:center;gap:.75rem;padding:.9rem;display:flex}.staff-card h3,.staff-card p{margin:0 0 .2rem}.staff-card p{color:var(--muted);font-size:.75rem}.avatar{width:45px;height:45px;color:var(--green);background:#e8f0eb;border-radius:50%;place-items:center;display:grid}.switch input{display:none}.switch span{cursor:pointer;background:#cdd5d0;border-radius:999px;width:42px;height:24px;display:block;position:relative}.switch span:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #0003}.switch input:checked+span{background:var(--good)}.switch input:checked+span:after{transform:translate(18px)}.bar-chart{flex-direction:column;gap:.7rem;display:flex}.bar-row{grid-template-columns:90px 1fr 24px;align-items:center;gap:.65rem;font-size:.75rem;display:grid}.bar-row>div{background:#e8ede9;border-radius:999px;height:10px;overflow:hidden}.bar-row i{background:var(--green-2);border-radius:inherit;height:100%;display:block}.donut-summary{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.donut-summary div{background:#f4f7f4;border-radius:.75rem;flex-direction:column;padding:.8rem;display:flex}.donut-summary strong{font-size:1.55rem}.donut-summary span{color:var(--muted);font-size:.72rem}.scan-layout{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem;display:grid}.scanner-panel,.scan-result{border:1px solid var(--line);background:#fff;border-radius:1rem;padding:1rem}.camera-window{aspect-ratio:4/3;color:#fff;background:#15251f;border-radius:.9rem;place-items:center;max-height:520px;margin-bottom:.8rem;display:grid;position:relative;overflow:hidden}.camera-window>div{color:#c7d6ce;flex-direction:column;align-items:center;gap:.55rem;display:flex}.camera-window video{object-fit:cover;width:100%;height:100%}.camera-window i{border-style:solid;border-color:#dce8b7;width:46px;height:46px;position:absolute}.camera-window i:first-of-type{border-width:4px 0 0 4px;top:18px;left:18px}.camera-window i:nth-of-type(2){border-width:4px 4px 0 0;top:18px;right:18px}.camera-window i:nth-of-type(3){border-width:0 0 4px 4px;bottom:18px;left:18px}.camera-window i:nth-of-type(4){border-width:0 4px 4px 0;bottom:18px;right:18px}.scan-message{text-align:center;color:var(--muted);font-size:.78rem}.manual-scan{gap:.5rem;margin-top:.75rem;display:flex}.manual-scan label{border:1px solid var(--line);border-radius:.65rem;flex-direction:row;flex:1;align-items:center;padding:0 .7rem}.manual-scan input{border:0;outline:0}.result-empty,.result-card{flex-direction:column;justify-content:center;align-items:flex-start;gap:.55rem;min-height:100%;display:flex}.result-empty{text-align:center;color:var(--muted);align-items:center}.result-card h2{margin:0;font-size:1.5rem}.result-actions{flex-direction:column;gap:.5rem;width:100%;margin-top:1rem;display:flex}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.toggle-row{border:1px solid var(--line);border-radius:.7rem;flex-direction:row;justify-content:space-between;align-items:center;padding:.8rem}.toggle-row span{flex-direction:column;display:flex}.toggle-row input{width:20px;height:20px}.integration-status{background:#f4f7f4;border-radius:.75rem;align-items:center;gap:.7rem;margin-bottom:.75rem;padding:.8rem;display:flex}.integration-status>div{flex-direction:column;display:flex}.connection-dot{background:#aeb7b1;border-radius:50%;width:12px;height:12px}.connection-dot.connected{background:var(--good);box-shadow:0 0 0 4px #d9eee2}.toast-message{z-index:120;color:#fff;box-shadow:var(--shadow);background:#173f34;border-radius:.75rem;padding:.8rem 1rem;position:fixed;bottom:1.2rem;right:1.2rem}.empty-state{text-align:center;min-height:220px;color:var(--muted);border:1px dashed #bfc9c1;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex}.app-loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;gap:.75rem;display:flex}.spinner{border:3px solid #d9e1db;border-top-color:var(--green);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-page{background:linear-gradient(145deg,#173f34,#2e6b56);place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{background:#fff;border-radius:1.1rem;width:min(420px,100%);padding:1.5rem;box-shadow:0 30px 70px #00000040}.login-card .brand-mark{margin-bottom:1rem}.login-card p{color:var(--muted)}.error-panel{color:var(--danger)}@media (width<=1200px){.metrics-grid,.card-grid{grid-template-columns:repeat(3,1fr)}.template-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.app-shell{display:block}.sidebar{display:none}.topbar{height:66px}.page-content{padding:1rem 1rem 6.5rem}.mobile-nav{z-index:60;height:72px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 25px #14281e14}.mobile-nav a{color:#708078;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.58rem;display:flex}.mobile-nav a.active{color:var(--green);font-weight:800}.dashboard-grid,.settings-grid,.scan-layout{grid-template-columns:1fr}.card-grid,.job-grid,.stock-grid,.staff-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.topbar small{white-space:nowrap;text-overflow:ellipsis;max-width:210px;overflow:hidden}.mode-pill{display:none}.page-header{flex-direction:column;align-items:flex-start}.page-header .button{width:100%}.metrics-grid,.metrics-grid.four{grid-template-columns:repeat(2,1fr)}.metric-card{padding:.8rem}.metric-card strong{font-size:1.3rem}.metric-icon{width:36px;height:36px}.card-grid,.job-grid,.stock-grid,.staff-grid,.template-grid{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.toolbar select{width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.detail-layout{grid-template-columns:1fr}.manual-scan{flex-direction:column}.mobile-nav a:nth-child(5){display:none}.mobile-nav{grid-template-columns:repeat(5,1fr)}.document-grid{grid-template-columns:1fr}}.backup-banner{color:#805718;background:#fff8e8;border:1px solid #e4bf7a;border-radius:.9rem;align-items:center;gap:.8rem;padding:.85rem 1rem;display:flex}.backup-banner div{flex-direction:column;flex:1;display:flex}.backup-banner span{opacity:.82;font-size:.78rem}.free-feature-list{flex-direction:column;gap:.5rem;margin:.75rem 0 1rem;display:flex}.free-feature-list span{align-items:center;gap:.5rem;font-size:.82rem;display:flex}.free-feature-list svg{width:17px;color:var(--good)}.table-link{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:0;font-weight:750;display:inline-flex}.danger-icon{color:var(--danger)}.messages-layout{grid-template-columns:minmax(280px,340px) minmax(0,1fr);align-items:start;gap:1rem;display:grid}.channel-list,.chat-panel{min-height:640px}.channel-stack{flex-direction:column;gap:.6rem;display:flex}.channel-button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:.95rem;align-items:flex-start;gap:.75rem;width:100%;padding:.9rem;display:flex}.channel-button:hover,.channel-button.active{background:#f5f8f6;border-color:#bdd1c7}.channel-icon{width:40px;height:40px;color:var(--green);background:#e8f0eb;border-radius:.85rem;flex:none;place-items:center;display:grid}.channel-copy{flex-direction:column;gap:.18rem;min-width:0;display:flex}.channel-copy span,.channel-copy small{color:var(--muted)}.channel-copy small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.unread-pill{background:var(--green);color:#fff;border-radius:999px;flex:none;place-items:center;min-width:26px;height:26px;padding:0 .45rem;font-size:.76rem;font-weight:800;display:grid}.chat-panel{flex-direction:column;display:flex}.chat-thread{flex-direction:column;flex:1;gap:.8rem;min-height:380px;padding:.1rem .1rem .5rem;display:flex;overflow:auto}.chat-bubble{border:1px solid var(--line);background:#fff;border-radius:1rem;max-width:min(760px,86%);padding:.85rem .95rem;box-shadow:0 4px 14px #1f352b0a}.chat-bubble.mine{background:#edf6f0;border-color:#cfe2d5;align-self:flex-end}.chat-bubble.theirs{align-self:flex-start}.bubble-meta{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.45rem;display:flex}.bubble-meta strong{font-size:.9rem}.bubble-meta span{color:var(--muted);font-size:.72rem}.chat-bubble p{white-space:pre-wrap;margin:0}.bubble-actions{justify-content:flex-end;margin-top:.55rem;display:flex}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-weight:700;display:inline-flex}.reply-preview{color:#41554c;background:#f5f8f6;border-radius:.75rem;align-items:flex-start;gap:.45rem;margin-bottom:.5rem;padding:.55rem .65rem;font-size:.8rem;display:flex}.reply-preview strong{color:#1f332b}.chat-composer{border-top:1px solid var(--line);flex-direction:column;gap:.75rem;margin-top:auto;padding-top:.9rem;display:flex}.chat-composer textarea{resize:vertical;width:100%}.reply-banner{border:1px solid var(--line);background:#f8faf7;border-radius:.8rem;align-items:flex-start;gap:.6rem;padding:.7rem .8rem;display:flex}.reply-banner>div{flex-direction:column;flex:1;gap:.15rem;display:flex}.reply-banner span{color:var(--muted);font-size:.8rem}.composer-actions{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.composer-actions small{color:var(--muted)}@media (width<=900px){.messages-layout{grid-template-columns:1fr}.channel-list,.chat-panel{min-height:auto}}@media (width<=640px){.chat-bubble{max-width:100%}.composer-actions{flex-direction:column;align-items:stretch}.composer-actions .button{width:100%}}.stock-group-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.stock-group-tab{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:1rem;align-items:center;gap:.75rem;padding:1rem;display:flex}.stock-group-tab>svg{color:var(--green)}.stock-group-tab>div{flex-direction:column;gap:.15rem;display:flex}.stock-group-tab span{color:var(--muted);font-size:.75rem}.stock-group-tab.active{color:#fff;background:var(--green);border-color:var(--green)}.stock-group-tab.active>svg,.stock-group-tab.active span{color:#fff}@media (width<=640px){.stock-group-tabs{grid-template-columns:1fr}}
