/* Helpdesk stylesheet. Colours, radius and font come from the variables in /assets/theme.css (editable on the Settings page). */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5}
a{color:var(--primary)}
h1{font-size:22px;margin:0 0 4px;overflow-wrap:anywhere}
h2{font-size:17px;margin:22px 0 8px}
.muted{color:var(--muted)}
.small{font-size:13px}

.top{background:var(--primary);color:#fff}
.top .in{max-width:980px;margin:0 auto;padding:12px 16px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center}
.top .brand{font-weight:700;font-size:17px;color:#fff;text-decoration:none;margin-right:auto}
.top a.nav{color:#fff;text-decoration:none;opacity:.9;padding:6px 0}
.top a.nav:hover,.top a.nav.on{opacity:1;text-decoration:underline}
.top form{margin:0}
.top button.link{background:none;border:0;color:#fff;opacity:.9;font:inherit;cursor:pointer;padding:6px 0}

.wrap{max-width:980px;margin:0 auto;padding:16px;overflow-wrap:break-word}
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:0 0 14px}
.card.narrow{max-width:460px;margin:28px auto}
.notice{border-radius:var(--radius);padding:12px 14px;margin:0 0 14px;background:#e8f1ff;border:1px solid #c5d8f5}
.notice.ok{background:#e6f5ec;border-color:#bfe3cd}
.notice.bad{background:#fdeceb;border-color:#f3c6c2;color:var(--danger)}

label{display:block;font-weight:600;margin:12px 0 4px}
input[type=text],input[type=email],input[type=number],input[type=search],input[type=password],select,textarea{width:100%;padding:11px 12px;font:inherit;border:1px solid var(--border);border-radius:calc(var(--radius) - 3px);background:#fff;color:var(--text)}
textarea{min-height:120px;resize:vertical}
input[type=color]{width:64px;height:40px;padding:2px;border:1px solid var(--border);border-radius:6px;background:#fff}
.btn,button.btn{display:inline-block;padding:11px 16px;font:inherit;font-weight:600;border-radius:calc(var(--radius) - 2px);border:1px solid var(--primary);background:var(--primary);color:#fff;text-decoration:none;cursor:pointer;line-height:20px}
.btn.green{background:var(--accent);border-color:var(--accent)}
.btn.ghost{background:#fff;color:var(--primary);border-color:var(--border)}
.btn.danger{background:#fff;color:var(--danger);border-color:#e3b3af}
.btns{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.btns .btn{flex:1 1 220px;text-align:center}

.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.filters select,.filters input{flex:1 1 150px;width:auto}
.filters .btn{flex:0 0 auto}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.chips a{padding:6px 12px;border-radius:99px;background:#fff;border:1px solid var(--border);text-decoration:none;color:var(--text);font-size:14px}
.chips a.on{background:var(--primary);border-color:var(--primary);color:#fff}

.row{display:grid;grid-template-columns:64px 1fr auto;gap:2px 12px;padding:12px 14px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 8px;color:var(--text);text-decoration:none}
.row:hover{border-color:var(--primary)}
.row .no{font-weight:700;color:var(--primary)}
.row .sub{font-weight:600;min-width:0;overflow-wrap:anywhere}
.row .meta{grid-column:2 / 4;color:var(--muted);font-size:13px;min-width:0;overflow-wrap:anywhere}
@media (max-width:560px){.row{grid-template-columns:56px 1fr}.row .chip{grid-column:2}.row .meta{grid-column:2}}

.chip{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:700;background:#e8edf5;color:#34475f;white-space:nowrap;height:fit-content}
.chip.new,.chip.waiting_it{background:#fff1d6;color:#7a5200}
.chip.held{background:#fdeceb;color:var(--danger)}
.chip.waiting_client,.chip.waiting_third_party{background:#e6eefc;color:#1f4a9c}
.chip.resolved{background:#e6f5ec;color:#1b6b40}
.chip.closed,.chip.cancelled,.chip.closed_unpaid{background:#eceff3;color:#5a6675}
.chip.project{background:#efe8fb;color:#5a3a99}

.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;margin:10px 0 0}
.facts div{min-width:0;overflow-wrap:anywhere;word-break:break-word}
.facts div > span{display:block;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.facts .addr{display:inline;font-size:14px;color:var(--muted);text-transform:none;letter-spacing:0}

.msg{border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:0 0 10px;background:#fff}
.msg.eng{border-left:4px solid var(--primary)}
.msg.internal{background:#fff9e6;border-color:#f0e0a0}
.msg.sys{background:transparent;border:0;padding:2px 14px;color:var(--muted);font-size:13px}
.msg .who{font-size:13px;color:var(--muted);margin-bottom:4px;overflow-wrap:anywhere}
.msg .body{white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;min-width:0}
.msg .body p{margin:0 0 10px}
.msg .body p:last-child{margin-bottom:0}
.msg .body a{overflow-wrap:anywhere}
.msg .body details.quoted{margin-top:10px;border-top:1px dashed var(--border);padding-top:8px;color:var(--muted)}
.msg .body details.quoted summary{cursor:pointer;color:var(--primary);font-size:14px}
.msg .body details.quoted p{font-size:14px}

.pager{display:flex;justify-content:space-between;margin:12px 0}
code.secret{display:block;padding:10px;background:#f4f6f9;border-radius:6px;word-break:break-all;font-size:15px}
table.plain{width:100%;border-collapse:collapse}
table.plain th,table.plain td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:top}
.swatches{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.swatches label{margin:0}

/* Folded conversation */
details.msg{padding:0}
details.msg > summary{list-style:none;cursor:pointer;padding:11px 14px 11px 34px;position:relative;display:flex;flex-direction:column;gap:2px}
details.msg > summary::-webkit-details-marker{display:none}
details.msg > summary::before{content:"\25B8";position:absolute;left:13px;top:11px;color:var(--muted);transition:transform .15s}
details.msg[open] > summary::before{transform:rotate(90deg)}
details.msg > summary .who{font-size:13px;color:var(--muted);margin:0;overflow-wrap:anywhere}
details.msg > summary .snip{font-weight:600;overflow-wrap:anywhere}
details.msg[open] > summary .snip{display:none}
details.msg > .body{padding:0 14px 12px 14px}
.convhead{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.linkbtn{background:none;border:0;color:var(--primary);font:inherit;font-size:14px;cursor:pointer;padding:6px 2px}
details.foldcard > summary{cursor:pointer;font-weight:700;font-size:17px}
details.foldcard[open] > summary{margin-bottom:8px}

details.msg > summary .msghead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
details.msg > summary .who{font-weight:700;color:var(--ink,inherit)}
details.msg > summary .when{white-space:nowrap;font-size:13px;color:var(--muted)}

/* Header: brand on its own line, menu underneath, profile icon with dropdown */
.top .in{display:block}
.top .brandrow{display:flex;align-items:center;justify-content:space-between;gap:12px}
.top .brand{margin-right:0}
.top .navrow{display:flex;flex-wrap:wrap;gap:2px 18px;padding-top:4px}
details.profile{position:relative}
details.profile > summary{list-style:none;cursor:pointer;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center}
details.profile > summary::-webkit-details-marker{display:none}
details.profile[open] > summary{background:rgba(255,255,255,.35)}
.profile .menu{position:absolute;right:0;top:46px;min-width:230px;max-width:90vw;background:#fff;color:#1c2530;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18);padding:6px;z-index:30}
.profile .menuwho{display:flex;flex-direction:column;padding:8px 12px 10px;border-bottom:1px solid var(--border);margin-bottom:4px;font-size:14px;overflow-wrap:anywhere}
.profile .menuwho span{color:var(--muted);font-size:13px}
.top .profile .menu a,.top .profile .menu button.link{display:block;width:100%;text-align:left;box-sizing:border-box;padding:11px 12px;color:#1c2530;opacity:1;text-decoration:none;border-radius:6px;font:inherit;background:none;border:0;cursor:pointer}
.top .profile .menu a:hover,.top .profile .menu button.link:hover{background:#eef1f5;text-decoration:none}
dl.details{display:grid;grid-template-columns:max-content 1fr;gap:10px 18px;margin:0}
dl.details dt{color:var(--muted)}
dl.details dd{margin:0;font-weight:600;overflow-wrap:anywhere}
@media (max-width:480px){dl.details{grid-template-columns:1fr;gap:2px}dl.details dd{margin-bottom:10px}}
