:root{--qgreen:#63bd45;--qgreen2:#45a82f;--qdark:#111827;--qmuted:#667085;--qbg:#f4f7f5;--qline:#e5e7eb;--qcard:#fff;--qshadow:0 18px 50px rgba(16,24,40,.10)}
.qsh-login-bg,.qsh-portal{font-family:Inter,Arial,sans-serif;color:var(--qdark);box-sizing:border-box}.qsh-login-bg *,.qsh-portal *{box-sizing:border-box}
.qsh-login-bg{min-height:86vh;display:flex;align-items:center;justify-content:center;padding:35px 15px;background:radial-gradient(circle at 18% 12%,rgba(99,189,69,.24),transparent 30%),radial-gradient(circle at 85% 88%,rgba(17,24,39,.10),transparent 25%),linear-gradient(135deg,#ffffff,#eef5ef)}
.qsh-login-card{width:100%;max-width:460px;background:#fff;border:1px solid rgba(229,231,235,.9);border-radius:28px;padding:38px;box-shadow:var(--qshadow);text-align:center}.qsh-logo{max-width:205px;max-height:95px;object-fit:contain;margin:0 auto 18px;display:block}.qsh-login-card h1{font-size:32px;line-height:1.15;margin:0 0 8px;font-weight:800}.qsh-login-card p{margin:0 0 22px;color:var(--qmuted)}
.qsh-login-card form,.qsh-form-card form{display:flex;flex-direction:column;gap:12px;text-align:left}.qsh-login-card label,.qsh-form-card label,.qsh-admin-form label{font-size:14px;font-weight:800;color:#344054}.qsh-login-card input,.qsh-form-card input,.qsh-form-card select,.qsh-form-card textarea,.qsh-admin-form input,.qsh-admin-form select,.qsh-admin-form textarea{width:100%;border:1px solid var(--qline);border-radius:14px;background:#fff;padding:13px 14px;font-size:15px;color:#111827}.qsh-login-card input:focus,.qsh-form-card input:focus,.qsh-form-card textarea:focus,.qsh-form-card select:focus{outline:3px solid rgba(99,189,69,.18);border-color:var(--qgreen)}.qsh-check{display:flex!important;align-items:center;gap:8px;font-weight:600!important}.qsh-check input{width:auto!important}
.qsh-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--qgreen),var(--qgreen2));color:#fff!important;border:0;border-radius:14px;padding:13px 18px;font-weight:800;text-decoration:none!important;cursor:pointer;box-shadow:0 10px 22px rgba(99,189,69,.25);line-height:1}.qsh-btn:hover{transform:translateY(-1px);filter:saturate(1.05)}.qsh-btn.full{width:100%;margin-top:6px}.qsh-btn.small{padding:8px 12px;border-radius:10px;font-size:13px}.qsh-small{font-size:13px;color:var(--qmuted);margin-top:16px}.qsh-small a{color:var(--qgreen);font-weight:800;text-decoration:none}.qsh-alert{padding:13px 15px;border-radius:14px;margin:12px 0;font-weight:700}.qsh-alert.error{background:#fee2e2;color:#991b1b}.qsh-alert.success{background:#dcfce7;color:#166534}
.qsh-portal{display:grid;grid-template-columns:250px 1fr;min-height:80vh;background:var(--qbg);border-radius:24px;overflow:hidden;border:1px solid #e9eeeb}.qsh-side{background:#0b1118;padding:26px 18px;display:flex;flex-direction:column;gap:26px}.qsh-side-logo{background:#fff;border-radius:18px;padding:10px;max-width:190px;max-height:82px;object-fit:contain}.qsh-side nav{display:flex;flex-direction:column;gap:9px}.qsh-side nav a{color:#d1d5db;text-decoration:none;padding:13px 14px;border-radius:13px;font-weight:800}.qsh-side nav a:hover{background:rgba(99,189,69,.16);color:#fff}.qsh-main{padding:30px;overflow:auto}.qsh-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.qsh-head h1{font-size:32px;line-height:1.15;margin:3px 0 0;font-weight:850}.qsh-overline{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--qgreen);font-weight:900}.qsh-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0 22px}.qsh-stat{background:#fff;border:1px solid var(--qline);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(16,24,40,.06)}.qsh-stat b{display:block;font-size:38px;line-height:1;font-weight:900}.qsh-stat span{display:block;margin-top:9px;color:var(--qmuted);font-weight:800}.qsh-card{background:#fff;border:1px solid var(--qline);border-radius:22px;padding:24px;box-shadow:0 12px 32px rgba(16,24,40,.06)}.qsh-card h2{font-size:22px;margin:0 0 14px}.qsh-card h3{font-size:18px;margin:20px 0 10px}.qsh-form-card{max-width:850px}.qsh-table{width:100%;overflow:auto;border:1px solid var(--qline);border-radius:18px;background:#fff}.qsh-table table{width:100%;border-collapse:collapse}.qsh-table th{background:#f9fafb;color:#667085;text-transform:uppercase;letter-spacing:.04em;font-size:12px;text-align:left}.qsh-table th,.qsh-table td{padding:15px;border-bottom:1px solid var(--qline);vertical-align:middle}.qsh-table tr:last-child td{border-bottom:0}.qsh-table a{color:#309915;font-weight:900;text-decoration:none}.qsh-empty{text-align:center;color:var(--qmuted);font-weight:700}.qsh-badge,.qsh-priority{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:12px;font-weight:900;white-space:nowrap}.qsh-open{background:#dcfce7;color:#166534}.qsh-in-progress{background:#fef3c7;color:#92400e}.qsh-resolved{background:#dbeafe;color:#1e40af}.qsh-closed{background:#e5e7eb;color:#374151}.qsh-p-low{background:#e0f2fe;color:#075985}.qsh-p-medium{background:#fef3c7;color:#92400e}.qsh-p-high{background:#fee2e2;color:#991b1b}.qsh-p-urgent{background:#7f1d1d;color:#fff}.qsh-ticket-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.qsh-meta{display:flex;gap:8px;flex-wrap:wrap}.qsh-desc{background:#f9fafb;border:1px solid #edf0f2;border-radius:16px;padding:16px;color:#344054;line-height:1.65}.qsh-reply{background:#f8fafc;border:1px solid var(--qline);padding:14px 16px;border-radius:16px;margin:10px 0;max-width:92%}.qsh-reply.admin{background:#effbea;border-color:#ccefc0;margin-left:auto}.qsh-reply b{display:block;margin-bottom:6px}.qsh-reply p{margin:0;color:#344054;line-height:1.55}.qsh-admin.qsh-portal{display:block;background:#f6f8fb;border:0;border-radius:0;min-height:auto}.qsh-admin .qsh-main{padding:20px}.qsh-admin-form{display:grid;gap:8px;min-width:280px;margin-top:12px}.qsh-admin details summary{width:max-content;list-style:none}.qsh-admin details summary::-webkit-details-marker{display:none}
@media(max-width:900px){.qsh-portal{grid-template-columns:1fr}.qsh-side{position:relative;padding:16px;gap:14px}.qsh-side-logo{max-width:150px}.qsh-side nav{flex-direction:row;overflow:auto}.qsh-side nav a{white-space:nowrap}.qsh-main{padding:20px}.qsh-grid{grid-template-columns:1fr 1fr}.qsh-head{align-items:flex-start;flex-direction:column}.qsh-table th,.qsh-table td{white-space:nowrap}}@media(max-width:540px){.qsh-login-card{padding:26px;border-radius:22px}.qsh-login-card h1,.qsh-head h1{font-size:25px}.qsh-grid{grid-template-columns:1fr}.qsh-btn{width:100%}.qsh-side nav a{font-size:14px;padding:10px}.qsh-card{padding:18px}.qsh-main{padding:15px}}

/* Clickable dashboard filters */
.qsh-clickable-stats .qsh-stat{display:block;text-decoration:none;color:inherit;cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;}
.qsh-clickable-stats .qsh-stat:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(17,24,39,.12);border-color:#5DBB46;}
.qsh-clickable-stats .qsh-stat.active{border-color:#5DBB46;box-shadow:0 14px 32px rgba(93,187,70,.20);position:relative;}
.qsh-clickable-stats .qsh-stat.active:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:4px;background:#5DBB46;border-radius:8px 8px 0 0;}
.qsh-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px;}
.qsh-card-head h2{margin:0;}
.qsh-clear-filter{font-weight:700;text-decoration:none;color:#2f8f2f;background:#eef8ed;border:1px solid #cfeccd;padding:8px 12px;border-radius:10px;}
.qsh-clear-filter:hover{background:#5DBB46;color:#fff;}
