/* TapPlaza Support Suite — Full Page Styles */
:root{--bg:#0e1420;--bg2:#141c2b;--bg3:#192236;--surf:#1e2d42;--surf2:#243350;--bdr:#2a3f5c;--bdr2:#314a6e;--acc:#00d4ff;--gold:#f5a623;--grn:#00e676;--red:#ff4757;--t1:#edf2fa;--t2:#9aadcc;--t3:#5a7294;--r:12px;--rl:20px;--ff:'DM Sans',system-ui,sans-serif;--ffd:'Syne',system-ui,sans-serif;}
.tpst-wrap{max-width:1100px;margin:0 auto;padding:40px 20px 80px;}

/* PAGE HEADER */
.tpst-page-hd{margin-bottom:32px;}
.tpst-back{font-size:.78rem;color:var(--t3);text-decoration:none;display:inline-flex;align-items:center;gap:4px;margin-bottom:10px;transition:color .2s;}
.tpst-back:hover{color:var(--t2);}
.tpst-page-hd h1{font-family:var(--ffd);font-size:1.9rem;font-weight:800;letter-spacing:-.03em;margin:4px 0 8px;color:var(--t1);}
.tpst-page-hd p{color:var(--t2);font-size:.9rem;}

/* HERO BANNER */
.tpst-hero-banner{position:relative;overflow:hidden;background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--rl);padding:60px 40px;text-align:center;margin-bottom:32px;}
.tpst-hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 0%,rgba(0,212,255,.08) 0%,transparent 70%);}
.tpst-hero-content{position:relative;z-index:1;}
.tpst-hero-icon{font-size:2.5rem;margin-bottom:16px;}
.tpst-hero-banner h1{font-family:var(--ffd);font-size:2.4rem;font-weight:800;letter-spacing:-.03em;color:var(--t1);margin:0 0 12px;}
.tpst-hero-banner p{color:var(--t2);font-size:1rem;max-width:520px;margin:0 auto 16px;}
.tpst-hero-status{display:inline-flex;align-items:center;gap:8px;font-size:.82rem;color:var(--t2);}
.tpst-pulse-green{width:7px;height:7px;border-radius:50%;background:var(--grn);display:inline-block;animation:tpst-p 2s infinite;box-shadow:0 0 6px var(--grn);}
@keyframes tpst-p{0%,100%{transform:scale(1);}50%{transform:scale(1.3);}}

/* CHANNEL GRID */
.tpst-channel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin-bottom:28px;}
.tpst-channel-card{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);padding:28px 22px;text-decoration:none;color:inherit;transition:all .25s;display:block;cursor:pointer;}
.tpst-channel-card:hover{border-color:var(--acc);transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,0,0,.3),0 0 24px rgba(0,212,255,.07);}
.tpst-ch-icon{font-size:1.8rem;margin-bottom:14px;}
.tpst-channel-card h3{font-family:var(--ffd);font-size:.95rem;font-weight:700;color:var(--t1);margin:0 0 8px;}
.tpst-channel-card p{font-size:.82rem;color:var(--t2);line-height:1.55;margin:0 0 14px;}
.tpst-ch-cta{font-size:.8rem;font-weight:700;color:var(--acc);}
.tpst-channel-call:hover{border-color:var(--grn);box-shadow:0 16px 40px rgba(0,0,0,.3),0 0 24px rgba(0,230,118,.07);}
.tpst-cta-call{color:var(--grn);}
.tpst-call-icon-ring{display:inline-block;animation:tpst-ring 2.5s ease infinite;}
@keyframes tpst-ring{0%,100%{transform:rotate(0);}10%{transform:rotate(-12deg);}20%{transform:rotate(12deg);}30%{transform:rotate(-8deg);}40%{transform:rotate(0);}}

/* TRUST BAR */
.tpst-trust-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px;}
.tpst-trust-item{font-size:.75rem;color:var(--t3);background:var(--surf);border:1px solid var(--bdr);border-radius:100px;padding:6px 14px;}

/* CARD */
.tpst-card{background:#1e2d42;border:1.5px solid #2a3f5c;border-radius:var(--rl);padding:28px;}

/* FORM */
.tpst-two-col{display:grid;grid-template-columns:1fr 300px;gap:24px;align-items:start;}
.tpst-section-label{font-family:var(--ffd);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--bdr);}
.tpst-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.tpst-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.tpst-field label{font-size:.8rem;font-weight:600;color:var(--t2);}
.tpst-field label em{color:var(--red);font-style:normal;}
.tpst-field input,.tpst-field select,.tpst-field textarea{background:#243350;border:1.5px solid #2a3f5c;border-radius:10px;padding:11px 14px;color:#edf2fa;font-family:var(--ff);font-size:.875rem;outline:none;transition:border .2s,box-shadow .2s;width:100%;box-sizing:border-box;} .tpst-field input::placeholder,.tpst-field textarea::placeholder{color:#5a7294;}
.tpst-field input:focus,.tpst-field select:focus,.tpst-field textarea:focus{border-color:rgba(0,212,255,.8);box-shadow:0 0 0 3px rgba(0,212,255,.12);background:#1a2d45;}
.tpst-field textarea{resize:vertical;line-height:1.6;}
.tpst-field select{cursor:pointer;}
.tpst-hint{font-size:.72rem;color:var(--t3);margin-top:2px;}
.tpst-inp-full{background:#243350;border:1.5px solid #2a3f5c;border-radius:10px;padding:11px 14px;color:#edf2fa;font-size:.875rem;outline:none;width:100%;box-sizing:border-box;transition:border .2s,box-shadow .2s;}
.tpst-inp-full:focus{border-color:rgba(0,212,255,.8);box-shadow:0 0 0 3px rgba(0,212,255,.12);background:#1a2d45;outline:none;}

/* FORM ACTIONS */
.tpst-form-actions{display:flex;gap:12px;align-items:center;padding-top:8px;flex-wrap:wrap;}
.tpst-btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--acc);color:#000;font-weight:700;padding:12px 24px;border-radius:10px;border:none;cursor:pointer;font-family:var(--ff);font-size:.9rem;text-decoration:none;transition:all .2s;box-shadow:0 0 20px rgba(0,212,255,.2);}
.tpst-btn-primary:hover{background:#33dcff;transform:translateY(-1px);box-shadow:0 0 30px rgba(0,212,255,.35);color:#000;}
.tpst-btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--t2);border:1px solid var(--bdr);padding:12px 24px;border-radius:10px;font-family:var(--ff);font-size:.9rem;cursor:pointer;text-decoration:none;transition:all .2s;}
.tpst-btn-ghost:hover{color:var(--t1);border-color:var(--bdr2);background:var(--surf);}

/* SIDEBAR */
.tpst-sidebar{display:flex;flex-direction:column;gap:16px;}
.tpst-sidebar-card{background:var(--bg2);border:1px solid var(--bdr);border-radius:var(--rl);padding:20px;}
.tpst-sb-title{font-family:var(--ffd);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t3);margin-bottom:14px;}
.tpst-tips-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px;}
.tpst-tips-list li{font-size:.82rem;color:var(--t2);padding-left:16px;position:relative;}
.tpst-tips-list li::before{content:'→';position:absolute;left:0;color:var(--acc);font-size:.75rem;}
.tpst-tips-list a{color:var(--acc);text-decoration:none;}
.tpst-rt-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--bdr);font-size:.82rem;}
.tpst-rt-row:last-child{border-bottom:none;}
.tpst-rt-row span{color:var(--t2);}
.tpst-rt-row strong{color:var(--t1);}
.tpst-call-card{text-decoration:none;display:flex;gap:14px;align-items:center;background:rgba(0,230,118,.04)!important;border-color:rgba(0,230,118,.15)!important;cursor:pointer;transition:all .2s;}
.tpst-call-card:hover{border-color:var(--grn)!important;transform:translateY(-2px);}
.tpst-dial-btn{font-size:1.6rem;animation:tpst-ring 3s ease infinite;}
.tpst-chat-shortcut{width:100%;text-align:left;font-family:var(--ff);cursor:pointer;display:flex;gap:14px;align-items:center;background:rgba(0,212,255,.04)!important;border-color:rgba(0,212,255,.1)!important;transition:all .2s;}
.tpst-chat-shortcut:hover{border-color:var(--acc)!important;}

/* ALERTS */
.tpst-alert{padding:14px 18px;border-radius:var(--r);margin-bottom:20px;font-size:.875rem;}
.tpst-alert-error{background:rgba(255,71,87,.08);border:1px solid rgba(255,71,87,.25);color:#ff8a96;}
.tpst-alert-success{background:rgba(0,230,118,.08);border:1px solid rgba(0,230,118,.25);color:var(--grn);}
.tpst-alert-info{background:rgba(0,212,255,.08);border:1px solid rgba(0,212,255,.2);color:var(--acc);}
.tpst-alert ul{margin:8px 0 0 16px;} .tpst-alert a{color:inherit;font-weight:600;}

/* SUCCESS BOX */
.tpst-success-box{background:var(--surf);border:1px solid rgba(0,230,118,.2);border-radius:var(--rl);padding:56px 40px;text-align:center;max-width:540px;margin:0 auto;}
.tpst-success-icon{font-size:3rem;margin-bottom:16px;}
.tpst-success-box h2{font-family:var(--ffd);font-size:1.6rem;font-weight:800;color:var(--t1);margin:0 0 10px;}
.tpst-success-box p{color:var(--t2);}
.tpst-ticket-num-big{font-family:monospace;font-size:1.8rem;font-weight:800;color:var(--acc);background:var(--bg3);border:1px solid var(--bdr);border-radius:10px;padding:12px 24px;display:inline-block;margin:12px 0;letter-spacing:.05em;}

/* TICKET TABLE */
.tpst-ticket-table{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;}
.tpst-tt-head{display:grid;grid-template-columns:150px 1fr 130px 110px 110px;padding:11px 24px;background:var(--bg3);border-bottom:1px solid var(--bdr);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--t3);}
.tpst-tt-row{display:grid;grid-template-columns:150px 1fr 130px 110px 110px;padding:16px 24px;border-bottom:1px solid var(--bdr);text-decoration:none;color:inherit;align-items:center;transition:background .15s;}
.tpst-tt-row:last-child{border-bottom:none;}
.tpst-tt-row:hover{background:var(--surf2);}
.tpst-tt-num{font-family:monospace;font-size:.78rem;color:var(--acc);font-weight:600;}
.tpst-tt-subj{font-size:.875rem;font-weight:500;color:var(--t1);}

/* THREAD */
.tpst-thread{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;}
.tpst-reply{display:flex;gap:14px;}
.tpst-reply-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0;}
.tpst-reply-visitor .tpst-reply-av{background:var(--surf2);border:1px solid var(--bdr2);color:var(--t2);}
.tpst-reply-staff .tpst-reply-av{background:linear-gradient(135deg,var(--acc),#0066ff);color:#000;}
.tpst-reply-body{flex:1;background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);overflow:hidden;}
.tpst-reply-staff .tpst-reply-body{border-color:rgba(0,212,255,.2);}
.tpst-reply-hd{display:flex;align-items:center;gap:10px;padding:12px 18px 10px;border-bottom:1px solid var(--bdr);flex-wrap:wrap;}
.tpst-reply-hd strong{font-size:.875rem;color:var(--t1);}
.tpst-staff-chip{background:rgba(0,212,255,.1);border:1px solid rgba(0,212,255,.2);color:var(--acc);font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:100px;letter-spacing:.04em;text-transform:uppercase;}
.tpst-reply-msg{padding:14px 18px;font-size:.875rem;color:var(--t2);line-height:1.75;white-space:pre-wrap;}

/* RATING BOX */
.tpst-rating-box{margin-bottom:20px;}
.tpst-star-row{display:flex;gap:6px;justify-content:center;margin-bottom:12px;}
.tpst-star-btn{font-size:2rem;background:none;border:none;cursor:pointer;color:var(--bdr2);transition:color .15s,transform .15s;padding:0;}
.tpst-star-btn:hover{color:var(--gold);transform:scale(1.2);}
.tpst-rating-comment{width:100%;background:#243350;border:1.5px solid #2a3f5c;border-radius:10px;padding:10px 14px;color:var(--t1);font-family:var(--ff);font-size:.85rem;resize:vertical;outline:none;margin-top:8px;box-sizing:border-box;}

/* FAQ */
.tpst-faq-search-form{display:flex;gap:10px;max-width:500px;margin:20px auto 0;}
.tpst-faq-search{flex:1;background:#243350;border:1.5px solid #2a3f5c;border-radius:10px;padding:11px 14px;color:var(--t1);font-size:.875rem;outline:none;}
.tpst-faq-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:28px 0 20px;}
.tpst-faq-tab{background:var(--surf);border:1px solid var(--bdr);border-radius:100px;padding:6px 16px;color:var(--t2);font-size:.8rem;cursor:pointer;transition:all .2s;}
.tpst-faq-tab:hover{border-color:var(--bdr2);color:var(--t1);}
.tpst-faq-tab.active{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.3);color:var(--acc);}
.tpst-faq-list{display:flex;flex-direction:column;gap:8px;margin-bottom:40px;}
.tpst-faq-item{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--r);overflow:hidden;transition:border-color .2s;}
.tpst-faq-item.tpst-faq-open{border-color:rgba(0,212,255,.25);}
.tpst-faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;padding:18px 22px;background:none;border:none;cursor:pointer;font-family:var(--ff);font-size:.9rem;font-weight:600;color:var(--t1);text-align:left;gap:12px;transition:color .2s;}
.tpst-faq-q:hover{color:var(--acc);}
.tpst-faq-arrow{font-size:1.3rem;color:var(--acc);transition:transform .2s;flex-shrink:0;}
.tpst-faq-open .tpst-faq-arrow{transform:rotate(90deg);}
.tpst-faq-a{display:none;padding:4px 22px 20px;font-size:.875rem;color:var(--t2);line-height:1.75;}
.tpst-faq-a p{margin:0;}
.tpst-faq-cta{background:var(--surf);border:1px solid var(--bdr);border-radius:var(--rl);padding:40px;text-align:center;}
.tpst-faq-cta h3{font-family:var(--ffd);font-size:1.1rem;font-weight:700;color:var(--t1);margin:0 0 8px;}
.tpst-faq-cta p{color:var(--t2);font-size:.88rem;margin-bottom:20px;}

/* EMPTY */
.tpst-empty{text-align:center;padding:80px 20px;}

/* RESPONSIVE */
@media(max-width:900px){.tpst-two-col{grid-template-columns:1fr;}.tpst-row-2{grid-template-columns:1fr;}.tpst-hero-banner h1{font-size:1.7rem;}.tpst-tt-head{display:none;}.tpst-tt-row{grid-template-columns:1fr 1fr;gap:8px;padding:12px 16px;}}
@media(max-width:600px){.tpst-tt-row{grid-template-columns:1fr;}.tpst-form-actions{flex-direction:column;align-items:stretch;}.tpst-form-actions .tpst-btn-primary,.tpst-form-actions .tpst-btn-ghost{width:100%;justify-content:center;text-align:center;}}

/* ── READ RECEIPTS ── */
.tpst-read-receipt{font-size:.65rem;color:var(--t3);margin-top:3px;display:flex;align-items:center;gap:3px;justify-content:flex-end;}
.tpst-read-receipt.tpst-seen{color:var(--acc);}
.tpst-read-receipt svg{width:13px;height:13px;}
