:root {
  --mkgd-cyan:#1fa8c7;
  --mkgd-green:#52c84c;
  --mkgd-charcoal:#333333;
  --bg:#f4f7f8;
  --panel:#ffffff;
  --line:#e4e9eb;
  --muted:#7a858a;
  --outgoing:#e7f8ee;
  --incoming:#ffffff;
  --internal:#fff7df;
  --shadow:0 10px 35px rgba(25,45,52,.08);
}
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,system-ui,sans-serif;color:var(--mkgd-charcoal);background:var(--bg)}button,input,textarea,select{font:inherit}.hidden{display:none!important}
.login-shell{min-height:100%;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#eefbfc,#f2fbf1)}
.login-card{width:min(420px,100%);background:white;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}
.login-card h1{margin:18px 0 4px}.login-card p{margin:0 0 26px;color:var(--muted)}.login-card label{display:grid;gap:7px;margin:14px 0;font-size:13px;font-weight:600}.login-card input{padding:13px 14px;border:1px solid var(--line);border-radius:11px;outline:none}.login-card input:focus{border-color:var(--mkgd-cyan);box-shadow:0 0 0 3px rgba(31,168,199,.12)}
.brand-mark{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;color:white;font-weight:800;font-size:26px;background:linear-gradient(145deg,var(--mkgd-cyan),var(--mkgd-green))}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:20px;margin:4px auto 16px}
.primary{border:0;border-radius:11px;padding:12px 16px;background:linear-gradient(135deg,var(--mkgd-cyan),var(--mkgd-green));color:white;font-weight:700;cursor:pointer}.login-card .primary{width:100%;margin-top:10px}.error{color:#b42318;font-size:13px;margin-top:10px}
.app-shell{height:100vh;display:grid;grid-template-columns:72px 370px 1fr;background:white}.nav-rail{border-right:1px solid var(--line);background:#fbfcfc;padding:14px 10px;display:flex;flex-direction:column;gap:8px}.rail-button,.icon-button{border:0;background:transparent;cursor:pointer;border-radius:12px}.rail-button{height:46px;font-size:19px}.rail-button:hover,.rail-button.active{background:#eaf7f8}.rail-spacer{flex:1}
.sidebar{border-right:1px solid var(--line);min-width:0;display:flex;flex-direction:column;background:white}.sidebar-header{height:78px;padding:15px 18px;display:flex;align-items:center;justify-content:space-between}.sidebar-header h2{margin:2px 0 0;font-size:22px}.eyebrow{color:var(--mkgd-green);font-size:11px;font-weight:800;letter-spacing:.14em}.icon-button{width:38px;height:38px;background:#eef8f9;color:var(--mkgd-cyan);font-size:24px}.search-wrap{padding:0 14px 12px}.search-wrap input,.modal-search{width:100%;border:1px solid var(--line);background:#f7f9f9;border-radius:12px;padding:11px 13px;outline:none}.sidebar-content{overflow:auto}.conversation-row{display:grid;grid-template-columns:46px 1fr auto;gap:11px;padding:13px 16px;cursor:pointer;border-top:1px solid #f3f4f4}.conversation-row:hover,.conversation-row.active{background:#f4fbfb}.avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#d9f6f8,#ddf5dc);font-weight:700;color:#31757f}.row-name{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-preview{color:var(--muted);font-size:12px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{display:grid;justify-items:end;gap:7px;color:var(--muted);font-size:11px}.badge{min-width:20px;height:20px;padding:0 6px;border-radius:10px;display:grid;place-items:center;background:var(--mkgd-green);color:white;font-size:11px;font-weight:700}
.conversation-pane{min-width:0;background:#eef2f2;position:relative}.empty-state{height:100%;display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-state h2{color:var(--mkgd-charcoal);margin:10px 0 5px}.empty-icon{font-size:42px}.conversation-view{height:100%;display:grid;grid-template-rows:78px 1fr auto}.conversation-header{background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px}.conversation-header h3{margin:0 0 4px}.muted{color:var(--muted);font-size:12px}.soft-button{border:1px solid var(--line);background:white;border-radius:10px;padding:9px 13px;cursor:pointer}.message-list{overflow:auto;padding:24px max(22px,5vw);background:radial-gradient(circle at 10% 15%,rgba(31,168,199,.05),transparent 28%),radial-gradient(circle at 90% 80%,rgba(82,200,76,.05),transparent 30%),#edf1f1}.message{max-width:70%;margin:7px 0;padding:10px 12px;border-radius:13px;box-shadow:0 1px 2px rgba(0,0,0,.05);background:var(--incoming)}.message.outbound{margin-left:auto;background:var(--outgoing);border-bottom-right-radius:4px}.message.inbound{border-bottom-left-radius:4px}.message.internal{margin-left:auto;margin-right:auto;background:var(--internal);border:1px dashed #e5ca74}.message-meta{display:flex;justify-content:flex-end;gap:8px;margin-top:5px;font-size:10px;color:var(--muted)}.message-body{white-space:pre-wrap;word-break:break-word}.message img{display:block;max-width:min(360px,100%);max-height:360px;border-radius:10px;margin-bottom:8px;object-fit:cover}.internal-label{font-size:10px;font-weight:800;color:#8a6d10;margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em}
.composer{min-height:72px;background:white;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;padding:12px 16px}.composer textarea{flex:1;border:1px solid var(--line);background:#f8faf9;border-radius:14px;padding:12px 14px;resize:none;outline:none;max-height:120px}.attach-button,.send-button{cursor:pointer;display:grid;place-items:center}.attach-button{font-size:22px;width:38px}.send-button{width:42px;height:42px;border:0;border-radius:50%;background:linear-gradient(135deg,var(--mkgd-cyan),var(--mkgd-green));color:white;font-size:18px}.internal-toggle{font-size:11px;color:var(--muted);white-space:nowrap}
.modal{width:min(520px,92vw);border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.2)}.modal::backdrop{background:rgba(26,39,43,.45)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-head button{border:0;background:transparent;font-size:24px;cursor:pointer}.modal-search{margin:16px;width:calc(100% - 32px)}.modal-list{max-height:430px;overflow:auto}.contact-row,.participant-row,.user-row{padding:13px 18px;border-top:1px solid #f0f2f2;display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-row{cursor:pointer}.contact-row:hover{background:#f4fbfb}.participant-admin{display:flex;gap:10px;padding:16px;border-top:1px solid var(--line)}.participant-admin select{flex:1;border:1px solid var(--line);border-radius:10px;padding:9px}.settings-card{margin:16px;border:1px solid var(--line);border-radius:14px;overflow:hidden}.settings-card h3{margin:0;padding:15px 16px;background:#fafbfb}.settings-actions{padding:16px;display:grid;gap:10px}.settings-actions input,.settings-actions select{width:100%;border:1px solid var(--line);border-radius:10px;padding:10px}.danger{border:0;background:#fff0ee;color:#b42318;border-radius:9px;padding:8px 10px;cursor:pointer}
@media(max-width:850px){.app-shell{grid-template-columns:58px 1fr}.conversation-pane{position:fixed;inset:0 0 0 58px;z-index:5;transform:translateX(100%);transition:.2s}.conversation-pane.open{transform:translateX(0)}.nav-rail{padding-inline:7px}.sidebar{border-right:0}.message{max-width:85%}.conversation-header{padding-left:14px}}
