@font-face{font-family:IRANSansX;src:url('/static/core/fonts/IRANSansXFaNum-Regular.ttf') format('truetype');font-display:swap}@font-face{font-family:IRANSansX;src:url('/static/core/fonts/IRANSansXFaNum-DemiBold.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:IRANSansX;src:url('/static/core/fonts/IRANSansXFaNum-Bold.ttf') format('truetype');font-weight:800;font-display:swap}
:root{--navy:#293681;--blue:#4274d9;--blue-soft:#edf3ff;--bg:#f4f7fb;--card:#fff;--border:#dfe6ef;--text:#1b2940;--muted:#748198;--green:#24926a;--green-soft:#e8f7f0;--orange:#d17b21;--orange-soft:#fff2e2;--red:#c84655;--red-soft:#ffedf0;--purple:#7757c8;--purple-soft:#f0ebff;--shadow:0 12px 35px rgba(31,55,90,.06)}*{box-sizing:border-box}html{font-size:14px}body{margin:0;background:var(--bg);color:var(--text);font-family:IRANSansX,Tahoma,sans-serif}.portal-layout{min-height:100vh}.customer-sidebar{position:fixed;inset:0 0 0 auto;width:250px;background:#fff;border-left:1px solid var(--border);padding:24px 16px;display:flex;flex-direction:column;z-index:20}.customer-brand{display:flex;align-items:center;gap:11px;padding:0 9px 24px;color:var(--text);text-decoration:none;border-bottom:1px solid #edf0f5}.customer-brand>b{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(140deg,var(--navy),var(--blue));color:#fff;font-size:25px}.customer-brand span{font-size:16px;font-weight:800}.customer-brand small{display:block;color:var(--muted);font-size:10px;font-weight:400;margin-top:2px}.customer-sidebar nav{display:flex;flex-direction:column;gap:5px;margin-top:22px}.customer-sidebar nav a,.sidebar-bottom a,.sidebar-bottom button{width:100%;display:flex;align-items:center;gap:12px;padding:12px 13px;border:0;border-radius:9px;background:transparent;color:#55647a;text-decoration:none;font:inherit;text-align:right;cursor:pointer}.customer-sidebar i{width:22px;color:#8290a3;font-style:normal;text-align:center}.customer-sidebar a:hover,.sidebar-bottom button:hover{background:#f3f6fa;color:var(--blue)}.customer-sidebar a.active{background:var(--blue-soft);color:#285eBD;font-weight:800;box-shadow:inset -3px 0 var(--blue)}.customer-sidebar a.active i{color:var(--blue)}.sidebar-bottom{margin-top:auto;padding-top:14px;border-top:1px solid #edf0f5}.sidebar-bottom form{margin:0}.customer-main{margin-right:250px;min-height:100vh}.customer-topbar{height:72px;background:#fff;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 30px;gap:13px}.customer-topbar>div{display:flex;flex-direction:column}.customer-topbar small{color:var(--muted);font-size:10px}.customer-topbar>a{margin-right:auto;color:var(--blue);text-decoration:none;font-size:12px}.mobile-menu{display:none;border:0;background:#f1f4f8;border-radius:8px;padding:8px 11px}.customer-content{max-width:1280px;margin:0 auto;padding:30px}.portal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.portal-heading span{color:var(--blue);font-size:12px}.portal-heading h1{font-size:25px;margin:5px 0}.portal-heading p{color:var(--muted);margin:0}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:9px;padding:10px 16px;background:#fff;color:var(--text);text-decoration:none;font:inherit;cursor:pointer;white-space:nowrap}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.small{padding:7px 11px;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.metric{background:#fff;border:1px solid var(--border);border-radius:13px;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow)}.metric>i{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;font-style:normal;font-size:21px}.metric.blue>i{background:var(--blue-soft);color:var(--blue)}.metric.green>i{background:var(--green-soft);color:var(--green)}.metric.orange>i{background:var(--orange-soft);color:var(--orange)}.metric.purple>i{background:var(--purple-soft);color:var(--purple)}.metric div{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:8px}.metric small{grid-column:1/-1;color:var(--muted)}.metric strong{font-size:22px}.metric span{color:#91a0b2;font-size:10px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);gap:16px}.stack{display:flex;flex-direction:column;gap:16px}.panel,.data-card,.profile-card,.license-card,.release-card,.empty-card{background:#fff;border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.panel{padding:19px}.panel>header{display:flex;justify-content:space-between;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid #edf1f5}.panel h2{font-size:15px;margin:0 0 3px}.panel header p{font-size:10px;color:var(--muted);margin:0}.panel header a{color:var(--blue);text-decoration:none;font-size:11px}.license-summary,.simple-row,.ticket-mini,.backup-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:14px 3px;border-bottom:1px solid #edf1f5}.license-summary:last-child,.simple-row:last-child,.ticket-mini:last-child,.backup-row:last-child{border-bottom:0}.license-summary small,.simple-row small,.ticket-mini small,.backup-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.simple-row>b,.backup-row>b{font-size:11px}.status{display:inline-flex;justify-content:center;padding:4px 9px;border-radius:15px;background:#edf1f5;color:#5a6a80;font-size:10px;white-space:nowrap}.status.active,.status.paid,.status.completed,.status.resolved,.status.healthy{background:var(--green-soft);color:var(--green)}.status.trial,.status.pending,.status.awaiting_support,.status.warning{background:var(--orange-soft);color:var(--orange)}.status.expired,.status.revoked,.status.cancelled,.status.critical,.status.open{background:var(--red-soft);color:var(--red)}.status.in_progress,.status.awaiting_customer,.status.reviewing{background:var(--blue-soft);color:var(--blue)}.announcement{padding:13px 14px;margin-top:10px;border-radius:10px;border-right:3px solid var(--blue);background:#f7f9fc}.announcement.warning{border-color:var(--orange);background:#fffaf3}.announcement.critical{border-color:var(--red);background:#fff6f7}.announcement.success{border-color:var(--green);background:#f4fbf7}.announcement p{font-size:11px;color:#5c6b80;line-height:1.8;margin:5px 0}.announcement a{color:var(--blue);font-size:10px;text-decoration:none}.service-line{display:flex;justify-content:space-between;padding:13px 2px;border-bottom:1px solid #edf1f5}.service-line:last-child{border:0}.service-line span{color:var(--muted)}.health.healthy{color:var(--green)}.health.warning{color:var(--orange)}.health.critical{color:var(--red)}.ticket-mini{color:var(--text);text-decoration:none}.empty-state{text-align:center;color:var(--muted);padding:28px 10px}.card-list{display:grid;gap:16px}.license-card{padding:22px}.license-card>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid #edf1f5}.license-card h2{margin:8px 0 4px}.license-card code{color:var(--muted);direction:ltr;display:block}.info-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:17px 0}.info-grid>div,.readonly-box>div{padding:12px;border-radius:9px;background:#f7f9fc}.info-grid small,.readonly-box small{display:block;color:var(--muted);font-size:10px;margin-bottom:5px}.devices{border-top:1px solid #edf1f5;padding-top:14px}.devices h3{font-size:12px}.devices>div{display:grid;grid-template-columns:12px 180px 1fr auto;gap:9px;align-items:center;padding:10px}.devices small,.devices time{color:var(--muted);font-size:10px}.dot,.health-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#aab4c1}.dot.active,.health-dot.healthy{background:var(--green)}.dot.blocked,.health-dot.critical{background:var(--red)}.health-dot.warning{background:var(--orange)}.data-card{padding:5px 18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:right;padding:15px 12px;border-bottom:1px solid #edf1f5}th{color:var(--muted);font-size:10px;font-weight:600}td{font-size:11px}.release-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.release-card{padding:22px}.platform{display:inline-flex;padding:5px 9px;border-radius:8px;background:var(--blue-soft);color:var(--blue);font-size:10px}.release-card h2{margin:13px 0 4px}.release-card>strong{color:var(--blue)}.release-card p{color:var(--muted);line-height:1.9;min-height:54px}.release-card>div{display:flex;justify-content:space-between;margin:16px 0;color:var(--muted)}.notice{padding:14px 17px;border-radius:10px;margin-bottom:15px}.notice.warning{background:var(--orange-soft);color:#a65c00}.health-summary{background:#fff;border:1px solid var(--border);border-radius:11px;padding:12px 18px}.health-summary small{display:block;color:var(--muted)}.health-summary strong{font-size:21px}.health-card{padding:14px 2px;border-bottom:1px solid #edf1f5}.health-card:last-child{border:0}.health-card>div:first-child{display:grid;grid-template-columns:10px auto;column-gap:8px}.health-card>div:first-child small{grid-column:2;color:var(--muted);font-size:10px}.health-card>.status{float:left;margin-top:-30px}.health-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;clear:both;margin:15px 0 0}.health-card dl div{background:#f7f9fc;padding:9px;border-radius:8px}.health-card dt{color:var(--muted);font-size:9px}.health-card dd{margin:4px 0 0;font-size:10px}.profile-card{max-width:900px;padding:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field label{display:block;font-size:11px;font-weight:700;margin-bottom:7px}.field input,.field select,.field textarea,.filters input,.filters select{width:100%;border:1px solid var(--border);border-radius:8px;background:#fff;padding:11px 12px;color:var(--text);font:inherit}.field input:focus{outline:0;border-color:#8aaceb;box-shadow:0 0 0 3px #edf3ff}.errorlist{color:var(--red);font-size:10px}.readonly-box{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.flash-list{margin-bottom:15px}.flash{padding:12px 15px;border-radius:9px;background:var(--blue-soft);color:var(--blue)}.flash.success{background:var(--green-soft);color:var(--green)}.flash.error{background:var(--red-soft);color:var(--red)}.empty-card{padding:55px;text-align:center;color:var(--muted)}
/* Existing support pages share the same portal shell. */.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.page-head span{color:var(--blue);font-size:12px}.page-head h1{margin:5px 0}.page-head p{margin:0;color:var(--muted)}.page-head.compact,.ticket-list,.portal-form,.conversation,.login-card{background:#fff;border:1px solid var(--border);border-radius:13px}.page-head.compact{padding:18px}.filters{display:flex;gap:10px;background:#fff;padding:13px;border:1px solid var(--border);border-radius:11px;margin-bottom:14px}.filters input{flex:1}.filters select{max-width:220px}.filters button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:8px 13px;font:inherit}.ticket-row{display:grid;grid-template-columns:1fr auto 110px;align-items:center;gap:20px;padding:16px 19px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.ticket-row:last-child{border:0}.ticket-row small,.ticket-row time{display:block;color:var(--muted);font-size:10px;margin-top:4px}.portal-form{max-width:820px;padding:23px}.conversation{padding:19px;margin-bottom:17px}.message{max-width:78%;padding:15px;margin-bottom:13px;border-radius:11px;background:#f4f7fb}.message.staff{margin-right:auto;background:#edf3ff}.message header{display:flex;justify-content:space-between}.message time{color:var(--muted);font-size:10px}.message p{line-height:1.9}.attachment{color:var(--blue);font-size:10px}.reply-form{max-width:none}.closed-note{padding:18px;text-align:center;background:#fff;border:1px solid var(--border);border-radius:11px}.login-card{max-width:480px;margin:60px auto;padding:30px}.login-card>.portal-form{border:0;padding:16px 0 0}.anonymous .customer-main{margin:0}.anonymous .customer-content{max-width:600px}.anonymous .login-card>span{color:var(--blue)}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}.info-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.customer-sidebar{transform:translateX(100%);transition:.2s}.menu-open .customer-sidebar{transform:translateX(0);box-shadow:-12px 0 35px rgba(0,0,0,.12)}.customer-main{margin-right:0}.customer-topbar{padding:0 15px}.mobile-menu{display:block}.customer-content{padding:20px 14px}.portal-heading,.page-head{align-items:flex-start;flex-direction:column}.metric-grid{grid-template-columns:1fr 1fr}.info-grid,.form-grid,.readonly-box{grid-template-columns:1fr 1fr}.release-grid{grid-template-columns:1fr}.devices>div{grid-template-columns:12px 1fr}.devices small,.devices time{grid-column:2}.ticket-row{grid-template-columns:1fr auto}.ticket-row time{display:none}.filters{flex-direction:column}.filters select{max-width:none}}@media(max-width:480px){.metric-grid,.info-grid,.form-grid,.readonly-box{grid-template-columns:1fr}.metric{padding:14px}.customer-content{padding:16px 10px}.license-card>header{align-items:flex-start;gap:14px;flex-direction:column}.health-card dl{grid-template-columns:1fr}.message{max-width:94%}}
