:root{--bg:#f4f5f7;--panel:#fff;--line:#e2e5ea;--text:#16191d;--muted:#6b7280;--accent:#2563eb;--accent-soft:#eff4ff;--warn:#b45309;--warn-soft:#fef3c7;--issue:#6d28d9;--issue-soft:#f1ebfe;--fail:#b91c1c;--fail-soft:#fee2e2;--ok:#047857;--ok-soft:#d1fae5;--radius:10px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{margin:0;font-size:20px}h2{margin:0 0 10px;font-size:15px}.topbar{background:var(--panel);border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:16px;padding:12px 20px;display:flex;position:sticky;top:0}.topbar .brand{color:var(--text);font-weight:600}.topbar .spacer{flex:1}.topbar .who{color:var(--muted);font-size:13px}.page{max-width:1400px;margin:0 auto;padding:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.muted{color:var(--muted)}.small{font-size:13px}.empty{text-align:center;color:var(--muted);padding:40px}.error{background:var(--fail-soft);color:var(--fail);border-radius:8px;padding:10px 12px;font-size:14px}.notice{background:var(--accent-soft);color:var(--accent);border-radius:8px;padding:10px 12px;font-size:14px}button,.button{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;border-radius:8px;padding:8px 14px}button:hover,.button:hover{border-color:var(--muted);text-decoration:none}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover{opacity:.92}input[type=text],input[type=email],textarea,select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;width:100%;padding:8px 10px}textarea{resize:vertical;line-height:1.55}input:focus,textarea:focus,select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.tag{background:var(--bg);color:var(--muted);white-space:nowrap;border-radius:999px;padding:0 8px;font-size:12px;line-height:18px;display:inline-block}.tag.human{background:var(--warn-soft);color:var(--warn);font-weight:600}.tag.issue{background:var(--issue-soft);color:var(--issue);font-weight:600}.tag.fail{background:var(--fail-soft);color:var(--fail);font-weight:600}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.wait{background:var(--accent-soft);color:var(--accent);font-weight:600}.login{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login form{flex-direction:column;gap:12px;width:100%;max-width:360px;display:flex}.login h1{margin-bottom:4px}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.filters select{width:auto;min-width:130px}.chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:13px;display:inline-block}.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}.tickets{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ticket-row{border-bottom:1px solid var(--line);color:var(--text);padding:12px 16px;display:block}.ticket-row:last-child{border-bottom:0}.ticket-row:hover{background:var(--accent-soft);text-decoration:none}.ticket-row.waiting{border-left:3px solid var(--accent);background:#fbfcff}.ticket-row .line1{align-items:baseline;gap:10px;display:flex}.ticket-row .subject{font-weight:600}.ticket-row .line2{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:13px;display:flex}.ticket-row .when{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:13px}.ticket-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.tabs{display:none}.thread{flex-direction:column;gap:10px;display:flex}.msg{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.msg.out{background:var(--accent-soft);border-color:#dbe6ff;margin-left:40px}.msg.sys{background:var(--bg);margin-left:40px}.msg .head{color:var(--muted);align-items:baseline;gap:8px;margin-bottom:6px;font-size:13px;display:flex}.msg .head .who{color:var(--text);font-weight:600}.msg .body{white-space:pre-wrap;word-break:break-word}.msg .files{color:var(--muted);margin-top:8px;font-size:13px}.composer{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;position:sticky;bottom:0}.composer .head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.composer textarea{min-height:190px}.composer .foot{align-items:center;gap:10px;margin-top:10px;display:flex}.composer .foot .spacer{flex:1}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;padding:14px}.card h2{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:13px}.card .row{justify-content:space-between;gap:10px;padding:4px 0;font-size:14px;display:flex}.card .row .k{color:var(--muted)}.card .row .v{text-align:right;word-break:break-word}.card ul{margin:0;padding-left:18px}.card li{margin:4px 0;font-size:14px}.card .tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (max-width:1000px){.page{padding:12px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.topbar{padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));gap:10px}input[type=text],input[type=email],textarea,select{font-size:16px}button,.button,select{min-height:44px}.tabs{top:calc(56px + env(safe-area-inset-top));z-index:4;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid;position:sticky}.tabs button{font-weight:600}.tabs button.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ticket-grid{grid-template-columns:minmax(0,1fr)}.ticket-grid.tab-thread .col-aside,.ticket-grid.tab-client .col-thread{display:none}.composer{position:static}.composer textarea{min-height:140px}.composer .foot{flex-wrap:wrap}.composer .foot button{width:100%}.composer .foot .spacer{display:none}.filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:6px;overflow-x:auto}.filters select,.filters .chip,.filters button{flex:none}.filters>div[style]{display:none}.ticket-row{padding:14px}.ticket-row .line1{flex-wrap:wrap}.ticket-row .when{flex-basis:100%;margin-left:0}.ticket-row .line2 span,.msg .body,.card .row .v{overflow-wrap:anywhere}.msg.out,.msg.sys{margin-left:16px}}
