/* MagniGenie customer portal */
.account-app{min-height:720px;background:#fff}
.account-shell{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.account-hero{background:#f5f7fc;border-bottom:1px solid var(--line)}
.account-hero-inner{min-height:140px;padding-block:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.account-identity{display:flex;align-items:center;gap:18px;min-width:0}
.account-avatar{width:60px;height:60px;border-radius:16px;display:grid;place-items:center;flex:0 0 auto;background:var(--grad);background-size:180% 180%;animation:gShift 9s ease infinite;color:#fff;font-family:'Satoshi','Inter',sans-serif;font-size:24px;font-weight:900;box-shadow:0 12px 28px -16px rgba(47,93,244,.55)}
.account-identity h1{font-size:clamp(27px,3vw,35px);font-weight:900;color:var(--navy);line-height:1.08}
.account-identity p{font-size:14.5px;color:var(--muted);margin-top:5px}
.account-primary,.account-secondary,.account-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:11px;font-size:13.5px;font-weight:700;min-height:43px;padding:0 18px;cursor:pointer;transition:transform .18s,border-color .18s,background .18s;white-space:nowrap}
.account-primary{border:1px solid var(--navy);background:var(--navy);color:#fff}
.account-primary:hover{color:#fff;background:var(--navy2);transform:translateY(-1px)}
.account-secondary{border:1px solid var(--line);background:#fff;color:var(--navy)}
.account-secondary:hover{color:var(--blue);border-color:#b9c8ef}
.account-action{border:1px solid transparent;background:var(--blue);color:#fff}
.account-action:hover{color:#fff;background:var(--blue2)}
.account-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:32px;padding-block:32px 80px;align-items:start}
.account-sidebar{position:sticky;top:82px}
.account-nav{display:flex;flex-direction:column;gap:4px}
.account-nav-link{width:100%;min-height:48px;padding:0 15px;border:0;border-radius:11px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;text-align:left;cursor:pointer}
.account-nav-link:hover{background:#f7f9fd;color:var(--navy)}
.account-nav-link.is-active{background:var(--tint);color:var(--navy);font-weight:700}
.account-nav-link.is-active .ic{color:var(--blue);stroke:var(--blue)}
.account-nav-link .nav-count{margin-left:auto;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800}
.account-logout{margin-top:8px;text-decoration:none}
.account-dialog{width:min(92vw,470px);max-width:none;padding:0;border:0;border-radius:21px;background:transparent;color:var(--ink);box-shadow:0 28px 80px -24px rgba(5,19,48,.5);overflow:visible}
.account-dialog::backdrop{background:rgba(6,18,42,.62);backdrop-filter:blur(4px)}
.account-dialog-card{position:relative;padding:30px;border:1px solid rgba(211,220,235,.9);border-radius:21px;background:#fff}
.account-dialog-close{position:absolute;top:15px;right:15px;width:34px;height:34px;border:0;border-radius:9px;background:#f3f6fb;color:var(--muted);font-size:24px;line-height:1;cursor:pointer}
.account-dialog-close:hover{background:#e9eef7;color:var(--navy)}
.account-dialog-icon{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:#eef2ff;color:var(--blue)}
.account-dialog h2{margin:19px 0 0;color:var(--navy);font-family:'Satoshi','Inter',sans-serif;font-size:24px;font-weight:900;line-height:1.15}
.account-dialog p{margin:9px 0 0;color:var(--muted);font-size:14px;line-height:1.6}
.account-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}
.account-dialog-actions .account-primary,.account-dialog-actions .account-secondary{min-width:124px}
.account-content{min-width:0;min-height:430px}
.account-loading{min-height:380px;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted)}
.account-spinner{width:30px;height:30px;border-radius:50%;border:3px solid #dfe5f0;border-top-color:var(--blue);animation:spin .75s linear infinite}
.account-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}
.account-view-head h2{font-size:25px;font-weight:900;color:var(--navy)}
.account-view-head p{font-size:14.5px;color:var(--muted);margin-top:5px}
.account-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.account-stat{min-height:150px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}
.account-icon-box{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--tint);color:var(--blue)}
.account-icon-box.is-mint{background:#e5faf4;color:#16b78f}
.account-icon-box.is-cyan{background:#e9f8fd;color:#159dca}
/* Dashboard stat chips use the design's gradient fills with white glyphs; the
   flat tint stays the default for list rows. */
.account-stat .account-icon-box,.ticket-card .account-icon-box{background:linear-gradient(135deg,#2F5DF4,#8C93F7);color:#fff}
.account-stat .account-icon-box.is-mint,.ticket-card .account-icon-box.is-mint{background:linear-gradient(135deg,#1FD3A3,#18C6E4);color:#fff}
.account-stat .account-icon-box.is-cyan,.ticket-card .account-icon-box.is-cyan{background:linear-gradient(135deg,#18C6E4,#2F5DF4);color:#fff}
.account-stat>.account-icon-box{display:grid;place-items:center;margin-top:0}
.account-stat strong{display:block;font-family:'Satoshi','Inter',sans-serif;font-size:28px;color:var(--navy);margin-top:14px;line-height:1}
.account-stat>span:not(.account-icon-box){display:block;font-size:13px;color:var(--muted);margin-top:4px}
.account-renewal{position:relative;overflow:hidden;margin-top:18px;background:var(--navy);color:#fff;border-radius:16px;padding:22px;display:flex;align-items:center;gap:18px}
/* Design's blurred gradient orb bleeding in from the top-right. */
.account-renewal::before{content:"";position:absolute;top:-60px;right:-30px;width:220px;height:220px;background:var(--grad);background-size:200% 200%;animation:gShift 12s ease infinite;filter:blur(70px);opacity:.28;border-radius:50%;pointer-events:none}
.account-renewal > *{position:relative}
.account-renewal .account-icon-box{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;flex:0 0 auto}
.account-renewal-copy{min-width:0;flex:1}
.account-renewal-copy strong{display:block;font-size:15px;font-weight:700}
.account-renewal-copy p{font-size:13px;color:#AEBCD6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-section-title{font-size:20px;font-weight:900;color:var(--navy);margin:36px 0 14px}
.account-list{border:1px solid var(--line);border-radius:17px;background:#fff;overflow:hidden}
.account-row{min-height:89px;padding:17px 20px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line)}
.account-row:last-child{border-bottom:0}
.account-row-main{min-width:0;flex:1}
.account-row-main strong{display:block;color:var(--navy);font-size:14.5px;line-height:1.35}
.account-row-main p{color:var(--muted);font-size:12.5px;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-row-price{font-weight:800;color:var(--navy);font-size:14px;white-space:nowrap}
.account-row-actions{display:flex;gap:9px;align-items:center}
.account-row-actions .account-action,.account-row-actions .account-secondary{min-height:40px;padding:0 14px}
.account-status{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:29px;padding:0 13px;border-radius:999px;font-size:11.5px;font-weight:800;white-space:nowrap;background:#e8faf3;color:#119970}
/* Licence pills carry the design's leading status dot. */
.license-head .account-status::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:0 0 auto}
.account-status.is-waiting{background:#fff4df;color:#b56f12}
.account-status.is-closed{background:#f2f4f8;color:#65738a}
.account-status.is-lifetime{background:#edf0ff;color:#435de5}
.account-empty{border:1px dashed #cad4e3;border-radius:17px;padding:54px 24px;text-align:center;background:#fafbfe}
.account-empty .account-icon-box{margin:0 auto}
.account-empty h3{font-size:18px;color:var(--navy);margin-top:15px}
.account-empty p{font-size:13.5px;color:var(--muted);margin:7px auto 18px;max-width:480px;line-height:1.55}
.license-list{display:flex;flex-direction:column;gap:16px}
.license-card{border:1px solid var(--line);border-radius:17px;padding:20px 22px;background:#fff}
.license-head,.license-foot{display:flex;align-items:center;justify-content:space-between;gap:18px}
.license-head strong{font-size:15px;color:var(--navy)}
.license-head p,.license-foot{font-size:12.5px;color:var(--muted)}
.license-key{margin-top:15px;padding:12px 13px;border:1px solid var(--line);background:#f6f8fc;border-radius:11px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.license-key code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#273858;font-size:13px;word-break:break-all}
.license-key button{flex:0 0 auto;border:1px solid var(--line);background:#fff;border-radius:9px;min-height:37px;padding:0 12px;color:var(--navy);font-weight:700;cursor:pointer;display:flex;gap:7px;align-items:center}
.license-foot{margin-top:14px}
.license-foot a{font-weight:700}
.ticket-list{display:flex;flex-direction:column;gap:13px}
.ticket-card{min-height:86px;padding:17px 20px;border:1px solid var(--line);border-radius:15px;display:flex;align-items:center;gap:16px;background:#fff}
.ticket-form{border:1px solid var(--line);border-radius:17px;background:#f6f8fc;padding:23px;margin-bottom:20px}
.account-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}
.account-field{display:flex;flex-direction:column;gap:7px}
.account-field.is-wide{grid-column:1/-1}
.account-field label{font-size:12.5px;font-weight:700;color:var(--muted)}
.account-field-label{font-size:12.5px;font-weight:700;color:var(--muted)}
.account-field input,.account-field select,.account-field textarea{width:100%;border:1px solid var(--line);border-radius:11px;background:#fff;padding:12px 14px;color:var(--ink);font:inherit;font-size:14px;outline:none}
.account-field input:focus,.account-field select:focus,.account-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,93,244,.1)}
.account-field textarea{min-height:118px;resize:vertical}
.ticket-attachments>p{margin:-2px 0 3px;color:var(--muted);font-size:12.5px}
.ticket-file-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ticket-file-picker{width:min(100%,390px);min-height:72px;border:1px dashed #b9c7dc!important;border-radius:12px;background:#fff;padding:13px 15px;display:flex;align-items:center;gap:12px;color:var(--navy)!important;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.ticket-file-picker:hover{border-color:var(--blue)!important;background:#fbfcff}
.ticket-file-input:focus+.ticket-file-picker{border-color:var(--blue)!important;box-shadow:0 0 0 3px rgba(47,93,244,.1)}
.ticket-file-picker>.ic{flex:0 0 auto;color:var(--blue)}
.ticket-file-picker span{display:flex;flex-direction:column;gap:2px}.ticket-file-picker strong{font-size:13.5px}.ticket-file-picker small{font-size:11.5px;color:var(--muted);font-weight:500}
.ticket-file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.ticket-file-chip{max-width:100%;display:inline-flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--navy);font-size:12px}.ticket-file-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}.ticket-file-chip small{color:var(--muted);white-space:nowrap}.ticket-file-chip .ic{color:var(--blue);flex:0 0 auto}
.ticket-file-error{width:100%;font-size:12px;font-weight:700;color:#b8383c}
.ticket-file-limits{font-size:11.5px;color:var(--muted)}
.account-form-actions{display:flex;gap:10px;margin-top:18px}
.account-profile-card{max-width:760px;border:1px solid var(--line);border-radius:17px;padding:25px;background:#fff}
.account-notice{margin-bottom:18px;padding:12px 14px;border-radius:11px;background:#e9faf5;border:1px solid #bfeedd;color:#147b61;font-size:13px;font-weight:700}
.account-notice.is-error{background:#fff0f0;border-color:#f2c7c8;color:#b8383c}
@media(max-width:900px){
  .account-layout{grid-template-columns:1fr;gap:24px;padding-top:24px}
  .account-sidebar{position:static;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
  .account-nav{flex-direction:row;gap:7px}.account-nav-link{width:auto;min-width:max-content;padding-inline:13px}
  .account-logout{margin:0 0 0 auto;min-width:max-content}
}
@media(max-width:700px){
  .account-shell{width:min(100% - 32px,1240px)}
  .account-hero-inner{min-height:126px}.account-avatar{width:58px;height:58px;border-radius:16px;font-size:22px}
  .account-primary{display:none}.account-identity h1{font-size:25px}.account-identity p{font-size:13px}
  .account-stat-grid{grid-template-columns:1fr}.account-stat{min-height:130px}.account-stat strong{margin-top:14px}
  .account-renewal{align-items:flex-start;flex-wrap:wrap}.account-renewal .account-secondary{margin-left:64px}
  .account-row{align-items:flex-start;flex-wrap:wrap}.account-row-main{min-width:calc(100% - 65px)}
  .account-row-price{margin-left:62px}.account-row-actions{width:100%;padding-left:62px;flex-wrap:wrap}
  .account-form-grid{grid-template-columns:1fr}.account-field.is-wide{grid-column:auto}
  .license-head,.license-foot{align-items:flex-start;flex-direction:column}.license-key{align-items:flex-start}
  .ticket-card{align-items:flex-start;flex-wrap:wrap}.ticket-card .account-status{margin-left:62px}
  .account-dialog .account-primary{display:inline-flex}
}
@media(max-width:480px){
  .account-shell{width:min(100% - 24px,1240px)}
  .account-layout{padding-bottom:48px}.account-sidebar{margin-inline:-2px}.account-nav-link{min-height:44px}
  .account-view-head{flex-direction:column}.account-view-head .account-primary{display:inline-flex}
  .account-row-price,.account-row-actions,.ticket-card .account-status{margin-left:0;padding-left:0}
  .account-row-actions .account-action,.account-row-actions .account-secondary{flex:1}
  .account-dialog-card{padding:25px 20px 20px}.account-dialog-actions{flex-direction:column-reverse}.account-dialog-actions .account-primary,.account-dialog-actions .account-secondary{width:100%}
}
