/* Page-specific premium customer portal layouts. */
.customer-shell{max-width:1180px;padding:3rem 1.25rem 4.5rem}.portal-page-head{margin:0 auto 2rem;max-width:760px}.portal-page-head--inline{max-width:none;padding:1.9rem 2rem;border:1px solid rgba(255,255,255,.55);border-radius:24px;background:linear-gradient(120deg,#102a43 0%,#195b83 54%,#1e9b91 100%);box-shadow:0 22px 45px rgba(16,42,67,.18)}.portal-eyebrow{display:block;margin-bottom:.55rem;color:#147c84;font-size:.72rem;font-weight:800;letter-spacing:.14em}.portal-page-head h1,.portal-page-head h2{margin:0;color:#102a43;font-size:clamp(2rem,4vw,3.15rem);font-weight:800;letter-spacing:-.055em}.portal-page-head p{margin:.65rem 0 0;color:#617286;font-size:1.05rem}.portal-page-head--inline h2,.portal-page-head--inline h1{color:#fff;font-size:clamp(1.55rem,3vw,2.15rem)}.portal-page-head--inline .btn{border:0;border-radius:13px;background:#fff;color:#12314b;padding:.8rem 1.05rem;font-weight:800;box-shadow:0 8px 18px rgba(4,25,42,.16)}
.portal-form-card{border:1px solid #e3ebf2!important;border-radius:24px!important;padding:clamp(1.5rem,4vw,2.75rem)!important;box-shadow:0 20px 52px rgba(22,43,70,.09)!important;background:rgba(255,255,255,.94)}.portal-form-card h2{color:#102a43;font-weight:800}.portal-form-card label,.portal-form-card .form-label{margin:.75rem 0 .35rem;color:#40546a;font-size:.86rem;font-weight:750}.portal-form-card .form-control{min-height:50px;border:1px solid #d6e1ea;border-radius:12px;background:#fbfdff;box-shadow:none}.portal-form-card textarea.form-control{min-height:150px}.portal-form-card .form-control:focus{border-color:#169e97;box-shadow:0 0 0 4px rgba(22,158,151,.13)}.portal-form-card .btn-primary,.portal-form-card .btn.primary{border:0;border-radius:12px;background:#ef6b2d;padding:.82rem 1.15rem;font-weight:800}.portal-form-card .btn-secondary{border-radius:12px;padding:.82rem 1.15rem}
.ticket-list-page .card.full{overflow:hidden;border:1px solid #e4ebf2;border-radius:22px;box-shadow:0 17px 45px rgba(22,43,70,.08)}.ticket-list-page .table{margin:0}.ticket-list-page .table thead th{border:0;padding:1.15rem 1.35rem;background:#f3f8fb;color:#597087;font-size:.74rem;letter-spacing:.06em}.ticket-list-page .table td{padding:1.15rem 1.35rem;vertical-align:middle;border-color:#edf2f6}.ticket-list-page .table tbody tr:hover{background:#f8fcfd}.ticket-list-page .table .btn.small{border-radius:9px;background:#e6f4f3;color:#147c84;font-weight:800}.ticket-new-page{max-width:880px}.ticket-new-page .page-title{margin:0 0 1.5rem;color:#102a43;font-size:clamp(2rem,4vw,2.8rem);font-weight:800;letter-spacing:-.05em}
.help-page{max-width:1000px!important;margin:3rem auto 4.5rem!important;border:0!important;border-radius:28px!important;padding:clamp(1.5rem,4vw,3.5rem)!important;box-shadow:0 20px 55px rgba(22,43,70,.09)!important}.help-page h1{color:#102a43!important;font-size:clamp(2rem,4vw,3rem)!important;font-weight:800;letter-spacing:-.05em;text-align:left!important}.help-page .intro{max-width:670px;color:#5b6c80;font-size:1.05rem;line-height:1.7}.help-page .help-section{margin-top:2.25rem;padding:1.75rem;border:1px solid #e6edf2;border-radius:18px;background:#fcfeff}.help-page .help-section h2{color:#102a43!important;font-weight:800}.help-page .sub-section{border-left:4px solid #1aa39a;background:#f0faf9}.help-page details{padding:.8rem 0;border-bottom:1px solid #e7eef2}
.front-auth{position:relative;min-height:calc(100vh - 150px);display:grid;place-items:center;padding:5rem 1.25rem;overflow:hidden;background:radial-gradient(circle at 12% 20%,rgba(35,190,179,.2),transparent 25rem),linear-gradient(135deg,#0c2842,#155978)}.front-auth:before{content:"";position:absolute;width:38rem;height:38rem;border-radius:50%;right:-19rem;top:-15rem;background:rgba(239,107,45,.22)}.front-auth .login-card,.front-auth .register-card{position:relative;z-index:1;width:min(100%,485px);padding:2.4rem;border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 28px 70px rgba(0,18,34,.32)}.front-auth .register-card{width:min(100%,550px)}.front-auth .login-title,.front-auth .register-title{color:#102a43;font-size:1.8rem;font-weight:800;letter-spacing:-.04em}.front-auth .auth-form{display:grid;gap:.8rem}.front-auth .auth-form input{min-height:52px;border:1px solid #d9e4ec;border-radius:12px;padding:0 1rem;background:#fbfdff}.front-auth .auth-form .btn{border:0;border-radius:12px;padding:.9rem 1rem;background:#ef6b2d;font-weight:800}
@media(max-width:720px){.customer-shell{padding:2rem 1rem 3rem}.portal-page-head--inline{align-items:flex-start!important;gap:1rem;flex-direction:column}.ticket-list-page .table td,.ticket-list-page .table thead th{padding:.9rem}.help-page .help-section{padding:1.2rem}}
.ticket-mobile-list{display:grid;gap:12px}.ticket-mobile-card{padding:18px;border:1px solid #e1ebf0;border-radius:18px;background:#fff;box-shadow:0 9px 22px rgba(22,43,70,.055)}.ticket-mobile-card-top,.ticket-mobile-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.ticket-mobile-id{color:#728397;font-size:.72rem;font-weight:820;letter-spacing:.05em;text-transform:uppercase}.ticket-mobile-status{padding:6px 9px;border-radius:999px;background:#e9f7ef;color:#167343;font-size:.7rem;font-weight:800}.ticket-mobile-status--answered{background:#e8f4fb;color:#1b6692}.ticket-mobile-status--closed{background:#f0f3f6;color:#6d7a88}.ticket-mobile-card h3{margin:15px 0 7px;color:#173c59;font-size:1.03rem;font-weight:800;letter-spacing:-.025em}.ticket-mobile-card p{min-height:42px;margin:0;color:#6d7e90;font-size:.82rem;line-height:1.55}.ticket-mobile-card-footer{margin-top:16px;padding-top:14px;border-top:1px solid #edf2f5}.ticket-mobile-card time{color:#8291a0;font-size:.7rem}.ticket-mobile-open{display:inline-flex;align-items:center;gap:6px;color:#0e7376!important;font-size:.78rem;font-weight:800}.ticket-mobile-open span{font-size:1rem}
@media(max-width:720px){.ticket-list-page .portal-page-head--inline{box-sizing:border-box;width:100%;margin-bottom:1.25rem;padding:1.4rem 1.25rem;border-radius:20px}.ticket-list-page .portal-page-head--inline h2{font-size:clamp(1.55rem,8vw,2rem);line-height:1.08}.ticket-list-page .portal-page-head--inline .btn{width:100%;padding:.82rem 1rem;text-align:center;white-space:normal}.ticket-mobile-card{padding:16px}.ticket-mobile-card-footer{align-items:flex-start;flex-direction:column}.ticket-mobile-open{width:100%;justify-content:center;padding:10px 12px;border-radius:10px;background:#eaf7f5}}
.ticket-view-page{box-sizing:border-box;width:calc(100% - 48px);max-width:1120px;margin:36px auto 60px;padding:30px;border:1px solid #e2eaf3;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(19,39,60,.07)}.ticket-view-page .page-title{margin:0 0 13px;color:#173c59;font-size:clamp(1.65rem,3vw,2.3rem);font-weight:810;letter-spacing:-.045em}.ticket-view-page>.card{box-sizing:border-box;width:100%;border:1px solid #e2eaf3!important;border-radius:16px!important;box-shadow:0 7px 20px rgba(19,39,60,.045)!important}.ticket-view-page #chat-box{box-sizing:border-box;width:100%;max-height:min(52vh,500px)!important}.ticket-view-page textarea{box-sizing:border-box;width:100%;max-width:100%}@media(pointer:coarse){body.customer-body main.ticket-list-page,body.customer-body main.ticket-view-page{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important;padding:20px 16px 34px!important;border-radius:0!important}.ticket-view-page .page-title{font-size:clamp(1.45rem,7vw,2rem)!important}.ticket-view-page #chat-box{max-height:52vh!important;padding:10px!important}.ticket-view-page .card{box-sizing:border-box;width:100%}}
.ticket-page-body{overflow-x:hidden!important;max-width:100vw!important}.ticket-page-body .page-body{width:100%!important;max-width:100vw!important;overflow-x:hidden!important}.ticket-page-body .cust-header,.ticket-page-body .cust-nav-mobile{box-sizing:border-box!important;left:0!important;right:auto!important;width:100vw!important;max-width:100vw!important}.ticket-page-body .ticket-list-page,.ticket-page-body .ticket-view-page{min-width:0!important;overflow-x:hidden!important}.ticket-page-body #chat-box,.ticket-page-body .chat-thread,.ticket-page-body .chat-row,.ticket-page-body .chat-msg,.ticket-page-body .bubble{min-width:0!important;max-width:100%!important;overflow-wrap:anywhere}
@media(pointer:coarse){body.customer-body main.ticket-new-page{box-sizing:border-box;width:100%!important;max-width:none!important;margin:0!important;padding:20px 16px 34px!important;border-radius:0!important}.ticket-new-page .card{box-sizing:border-box;width:100%}}
