@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--brand:#0b5fa5;--brand-ink:#08487d;--brand-wash:#e8f1f9;--bg:#f4f7fa;--surface:#fff;--sunk:#edf1f6;--line:#dbe3eb;--line-soft:#e9eef3;--ink:#15202b;--muted:#5b6b7b;--faint:#8b99a7;--ok:#157f4c;--ok-wash:#e4f2ea;--warn:#a96400;--warn-wash:#faefdd;--crit:#c0392b;--crit-wash:#fae9e6;--pause:#5f4ca0;--pause-wash:#eeeaf8;--note:#8a6d1f;--note-wash:#fcf6e3;--note-line:#e8d9a8;--shadow-xs:0 1px 2px #15202b0d;--shadow-sm:0 2px 6px #15202b12, 0 1px 2px #15202b0a;--shadow-md:0 10px 28px #15202b1f, 0 2px 6px #15202b0d;--shadow-lg:0 24px 64px #09121c57;--ease:cubic-bezier(.4, 0, .2, 1)}body{background:var(--bg);color:var(--ink);font-family:IBM Plex Sans,system-ui,sans-serif;font-size:13px}.mono{font-variant-numeric:tabular-nums;font-family:IBM Plex Mono,ui-monospace,monospace}*{box-sizing:border-box}body{margin:0}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.app-shell{width:100vw;height:100vh;display:flex;overflow:hidden}.nav-rail{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:none;width:214px;display:flex}.nav-rail-header{border-bottom:1px solid var(--line-soft);letter-spacing:-.01em;flex:none;align-items:center;gap:9px;height:56px;padding:0 16px;font-size:13.5px;font-weight:600;display:flex}.brand-mark{background:var(--brand);border-radius:5px;flex:none;width:22px;height:22px}.nav{height:32px;color:var(--muted);cursor:pointer;white-space:nowrap;transition:background-color .12s var(--ease), color .12s var(--ease);border-radius:6px;align-items:center;gap:9px;padding:0 8px;font-size:12.5px;text-decoration:none;display:flex}.nav:hover{background:var(--sunk)}.nav.active{background:var(--brand-wash);color:var(--brand-ink);font-weight:500}.nav-badge{border-radius:9px;padding:1px 6px;font-size:11px;font-weight:600}.lbl{letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:16px 8px 6px;font-size:10px;font-weight:600}.btn{cursor:pointer;background:var(--brand);color:#fff;height:34px;box-shadow:var(--shadow-xs);transition:background-color .12s var(--ease), box-shadow .12s var(--ease), transform 50ms var(--ease);border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 15px;font-size:12.5px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){background:var(--brand-ink);box-shadow:var(--shadow-sm)}.btn:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--sunk);color:var(--ink);box-shadow:none}.btn.secondary:hover:not(:disabled){background:var(--line-soft);box-shadow:none}.btn.danger{background:var(--crit);color:#fff}.btn.danger:hover:not(:disabled){background:#a53023}.main-content{background:var(--bg);flex-direction:column;flex:1 1 0;min-width:0;display:flex;overflow:hidden}.top-bar{background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:flex-end;gap:16px;padding:18px 24px 16px;display:flex}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-xs);border-radius:9px;overflow:hidden}.card-header{border-bottom:1px solid var(--line-soft);align-items:center;padding:12px 16px;font-size:13.5px;font-weight:600;display:flex}.ticket-row{border-bottom:1px solid var(--line-soft);cursor:pointer;height:50px;color:inherit;transition:background-color .12s var(--ease);grid-template-columns:70px 76px 1fr 120px 150px 130px;align-items:center;padding:0 16px;text-decoration:none;display:grid}.ticket-row:last-child{border-bottom:none}.ticket-row:hover{background:var(--sunk)}.ticket-row-head{background:var(--sunk);border-bottom:1px solid var(--line);grid-template-columns:70px 76px 1fr 120px 150px 130px;align-items:center;height:34px;padding:0 16px;display:grid}.priority-pill{letter-spacing:.01em;border-radius:999px;align-items:center;gap:5px;padding:3px 9px 3px 7px;font-size:10.5px;font-weight:700;display:inline-flex}.priority-pill:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px}.priority-P1{background:var(--crit-wash);color:var(--crit)}.priority-P2{background:var(--warn-wash);color:var(--warn)}.priority-P3{background:var(--ok-wash);color:var(--ok)}.priority-P4{background:var(--sunk);color:var(--muted)}.status-pill{border-radius:9px;padding:2px 8px;font-size:10.5px;font-weight:600;display:inline-block}.status-new{background:var(--brand-wash);color:var(--brand-ink)}.status-open{background:var(--ok-wash);color:var(--ok)}.status-hold_customer,.status-hold_carrier,.status-hold_manager{background:var(--pause-wash);color:var(--pause)}.status-resolved,.status-closed{background:var(--sunk);color:var(--muted)}.login-page{background:var(--bg);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{background:var(--surface);border:1px solid var(--line);text-align:center;width:340px;box-shadow:var(--shadow-md);border-radius:12px;padding:32px}.ticket-detail-layout{flex:1 1 0;min-height:0;display:flex}.ticket-header{border-bottom:1px solid var(--line);background:var(--surface);flex:none;padding:13px 22px 12px}.ticket-header-row{align-items:center;gap:9px;margin-bottom:6px;display:flex}.ticket-header-back{color:var(--muted);cursor:pointer;align-items:center;gap:5px;font-size:12px;text-decoration:none;display:flex}.ticket-header-divider{background:var(--line);width:1px;height:12px}.ticket-header-title{letter-spacing:-.015em;font-size:16.5px;font-weight:600}.chip{border:1px solid var(--line);height:32px;color:var(--muted);background:var(--surface);cursor:pointer;white-space:nowrap;transition:background-color .12s var(--ease), box-shadow .12s var(--ease), border-color .12s var(--ease);border-radius:6px;justify-content:center;align-items:center;padding:0 13px;font-size:12.5px;font-weight:500;display:inline-flex}.chip:hover{background:var(--sunk);box-shadow:var(--shadow-xs)}.chip.selected{border-color:var(--brand);background:var(--brand-wash);color:var(--brand-ink);border-width:1.5px;font-weight:600}.chip.selected.pause{border-color:var(--pause);background:var(--pause-wash);color:var(--pause)}.ticket-thread{flex-direction:column;flex:1 1 0;gap:14px;min-width:0;padding:16px 22px;display:flex;overflow-y:auto}.ticket-rail{background:var(--bg);border-left:1px solid var(--line);flex-direction:column;flex:none;gap:12px;width:288px;padding:16px;display:flex;overflow-y:auto}.msg-row{gap:11px;display:flex}.msg-avatar{color:#fff;width:29px;height:29px;box-shadow:var(--shadow-xs);border-radius:6px;flex:none;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:flex}.msg-body-col{flex:1 1 0;min-width:0}.msg-meta-row{align-items:center;gap:8px;margin-bottom:5px;display:flex}.msg-author{font-size:12.5px;font-weight:600}.msg-timestamp{color:var(--faint);margin-left:auto;font-size:11px}.msg-badge{border-radius:3px;padding:1.5px 6px;font-size:10.5px;font-weight:600}.msg-badge.reply{color:var(--ok);background:var(--ok-wash)}.msg-badge.note{color:var(--note);background:var(--note-wash);border:1px solid var(--note-line)}.msg-badge.opened{color:var(--brand-ink);background:var(--brand-wash)}.msg-bubble{box-shadow:var(--shadow-xs);border-radius:8px;padding:10px 13px;font-size:13px;line-height:1.55}.msg-bubble.inbound{background:var(--sunk)}.msg-bubble.outbound-public{background:var(--brand-wash)}.msg-bubble.internal{background:var(--note-wash);border:1px solid var(--note-line)}.msg-bubble .mention{color:var(--brand-ink);font-weight:600}.timeline-row{gap:11px;display:flex}.timeline-icon{background:var(--sunk);border-radius:6px;flex:none;justify-content:center;align-items:center;width:29px;height:29px;display:flex}.timeline-text{border-left:2px solid var(--line);flex:1 1 0;min-width:0;padding-left:12px}.compose-box{border-top:1px solid var(--line);background:var(--surface);flex:none}.compose-tabs{border-bottom:1px solid var(--line-soft);padding:0 22px;display:flex}.compose-tab{cursor:pointer;color:var(--faint);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:6px;margin-right:24px;padding:11px 0 9px;font-size:12.5px;font-weight:600;display:flex}.compose-tab.active.note{border-bottom-color:var(--note);color:var(--note)}.compose-tab.active.reply{border-bottom-color:var(--brand);color:var(--brand-ink)}.compose-body{padding:13px 22px 15px}.compose-footer{align-items:center;gap:11px;margin-top:10px;display:flex}.compose-hint{font-size:11.5px;font-weight:500}.compose-toolbar{border:1px solid var(--line);background:var(--sunk);border-bottom:none;border-radius:8px 8px 0 0;align-items:center;gap:3px;padding:6px 7px;display:flex}.compose-toolbar.note{background:var(--note-wash);border-color:var(--note-line)}.compose-toolbar.reply{background:var(--surface);border-color:var(--brand)}.format-btn{width:26px;height:24px;color:var(--muted);cursor:pointer;transition:background-color .12s var(--ease), color .12s var(--ease);background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:inline-flex}.format-btn:hover{color:var(--ink);background:#15202b0f}.format-btn.active{background:var(--brand);color:#fff}.format-divider{background:var(--line);width:1px;height:16px;margin:0 3px}.compose-input{border:1px solid var(--line);border-top:none;border-radius:0 0 8px 8px;width:100%;min-height:70px;max-height:260px;padding:11px 13px;font-family:inherit;font-size:12.5px;line-height:1.5;overflow-y:auto}.compose-input.note{background:var(--note-wash);border-color:var(--note-line)}.compose-input.reply{background:var(--surface);border-color:var(--brand)}.compose-input:empty:before{content:attr(data-placeholder);color:var(--faint);pointer-events:none}.compose-input ul,.compose-input ol{margin:4px 0;padding-left:22px}.modal-backdrop{z-index:100;background:#0c162175;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);width:470px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);animation:modal-in .16s var(--ease);border-radius:12px;overflow:hidden}.modal-header{border-bottom:1px solid var(--line-soft);padding:18px 22px 14px}.modal-title{letter-spacing:-.015em;margin-bottom:3px;font-size:15.5px;font-weight:600}.modal-subtitle{color:var(--muted);font-size:12.5px}.modal-body{flex-direction:column;gap:18px;padding:18px 22px;display:flex}.modal-footer{align-items:center;gap:9px;padding:0 22px 18px;display:flex}.waiting-on-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.waiting-on-option{border:1px solid var(--line);text-align:center;color:var(--muted);cursor:pointer;background:var(--surface);transition:border-color .12s var(--ease), background-color .12s var(--ease), box-shadow .12s var(--ease);border-radius:8px;padding:10px 8px;font-size:12.5px;font-weight:500}.waiting-on-option:hover{box-shadow:var(--shadow-xs)}.waiting-on-option.selected{border:1.5px solid var(--pause);background:var(--pause-wash);color:var(--pause);font-weight:600}.field-row{margin-bottom:12px}.field-row label{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.field-row input,.field-row select,.field-row textarea{border:1px solid var(--line);width:100%;transition:border-color .12s var(--ease), box-shadow .12s var(--ease);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px}.field-row input:focus-visible,.field-row select:focus-visible,.field-row textarea:focus-visible{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-wash);outline:none}
