*{box-sizing:border-box}
body{font-family:system-ui,Arial,sans-serif;margin:0;background:#f4f6f5;color:#1c2420}
.topbar{background:#0b3d2e;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;flex-wrap:wrap;gap:8px}
.brand{font-size:19px;font-weight:700}.brand span{font-weight:400;color:#bfe3d3;font-size:15px}
.tabs{display:flex;gap:6px;padding:10px 14px;background:#fff;border-bottom:1px solid #dde5e1;flex-wrap:wrap}
.tab{border:1px solid #cfd8d3;background:#fff;padding:8px 14px;border-radius:20px;cursor:pointer;font-size:14px}
.tab.active{background:#12805c;color:#fff;border-color:#12805c}
main{max-width:1150px;margin:0 auto;padding:18px 14px 60px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.card{background:#fff;border:1px solid #e0e7e3;border-radius:12px;padding:14px}
.card b{font-size:22px;display:block}.card span{color:#61706a;font-size:13px}
.card.rev b{color:#0b7a4b}
.panel{background:#fff;border:1px solid #e0e7e3;border-radius:12px;padding:16px;margin-bottom:16px}
.panel h2,.panel h3{margin-top:0}
.btn{border:1px solid #12805c;background:#fff;color:#0b3d2e;padding:8px 14px;border-radius:8px;cursor:pointer;font-size:14px}
.btn.primary{background:#12805c;color:#fff}.btn.small{padding:4px 10px;font-size:13px}
.btn.danger{border-color:#c0392b;color:#c0392b}.btn:disabled{opacity:.5;cursor:default}
.w100{width:100%}
input,select,textarea{width:100%;padding:9px;border:1px solid #c9d4ce;border-radius:8px;font-size:14px;margin:4px 0 10px;background:#fff}
textarea{min-height:90px;white-space:pre-wrap}
label{font-size:13px;color:#3d4a44;font-weight:600}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.grid2{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{border-bottom:1px solid #e6ece9;padding:8px;text-align:left;vertical-align:top}
.badge{display:inline-block;padding:2px 9px;border-radius:12px;background:#e6f4ec;color:#0b5c3a;font-size:12px;font-weight:600;white-space:nowrap}
.kanban{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.kcol{background:#eef3f0;border-radius:12px;padding:10px;min-height:80px}
.kcol h4{margin:4px 0 10px;font-size:13px;text-transform:uppercase;color:#486158}
.kcard{background:#fff;border:1px solid #dfe7e2;border-radius:10px;padding:10px;margin-bottom:8px;font-size:13px}
.kcard b{font-size:14px}
.rowbtns{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.muted{color:#71817a;font-size:13px}.err{color:#c0392b}
.chatbox{background:#e7dfd3;border-radius:12px;padding:14px;height:430px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.msg{max-width:82%;padding:9px 12px;border-radius:12px;font-size:14px;white-space:pre-wrap;line-height:1.45}
.msg.agent{background:#fff;align-self:flex-start;border-bottom-left-radius:2px}
.msg.lead{background:#d9fdd3;align-self:flex-end;border-bottom-right-radius:2px}
.chatinput{display:flex;gap:8px;margin-top:10px}.chatinput input{flex:1;margin:0}
.checks label{display:flex;gap:8px;align-items:center;font-size:14px;margin:6px 0}.checks input{width:auto;margin:0}
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:#0b3d2e}
.login-card{background:#fff;border-radius:14px;padding:28px;width:min(360px,92vw)}
.login-card h1{margin:0;color:#0b3d2e}.sub{color:#61706a;margin-top:4px}.hint{font-size:12px;color:#71817a}
#toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#0b3d2e;color:#fff;padding:10px 18px;border-radius:20px;display:none;font-size:14px;z-index:50}
.svgwrap{border:1px solid #e0e7e3;border-radius:10px;padding:8px;overflow:auto;background:#fafafa}
.svgwrap svg{max-width:320px;height:auto}
.task{padding:7px 0;border-bottom:1px dashed #e0e7e3;font-size:14px}
a{color:#12805c}
.server-note{max-width:1150px;margin:0 auto 26px;padding:12px 16px;background:#fff8e6;border:1px solid #ecd9a0;border-radius:12px;color:#5b4b12;font-size:13px;line-height:1.5}
/* Invoice (screen view + print sheet) */
.invoice-sheet{background:#fff;max-width:720px;margin:0 auto;color:#222}
.invoice-sheet h1{color:#0b3d2e;margin-bottom:2px}
.invoice-sheet table{width:100%;border-collapse:collapse;margin-top:20px}
.invoice-sheet td,.invoice-sheet th{border:1px solid #ccc;padding:10px;text-align:left}
.invoice-sheet .r{text-align:right}.invoice-sheet .tot{font-weight:bold;background:#f4f8f6}
#printSheet{display:none}
@media print{
  #appShell,#loginView,#toast{display:none!important}
  #printSheet{display:block!important}
  body{background:#fff}
}
