:root{--p-red:#c92f35;--p-red-dark:#9d2227;--p-red-soft:#fff1f2;--p-ink:#17202d;--p-muted:#6d7785;--p-line:#e4e8ee;--p-bg:#f4f6f9;--p-card:#fff;--p-sidebar:#17202d;--p-font:"Vazirmatn",Tahoma,Arial,sans-serif;--p-shadow:0 18px 48px rgba(23,32,45,.09)}*{box-sizing:border-box}html{font-family:var(--p-font);background:var(--p-bg);color:var(--p-ink)}body{margin:0;font-family:inherit}button,input,select,textarea{font:inherit}.portal-auth-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 88% 8%,rgba(201,47,53,.12),transparent 34%),linear-gradient(145deg,#f8fafc,#eef2f6)}.portal-auth-shell{width:min(1040px,100%);min-height:620px;display:grid;grid-template-columns:minmax(0,.88fr) minmax(390px,1.12fr);overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:30px;background:#fff;box-shadow:0 32px 90px rgba(24,33,45,.14)}.portal-auth-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:38px;padding:48px;background:linear-gradient(145deg,#182231,#283547);color:#fff;overflow:hidden}.portal-auth-brand:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;inset-inline-end:-180px;bottom:-160px;background:rgba(201,47,53,.24)}.portal-auth-logo{position:relative;z-index:1;width:max-content;display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none}.portal-auth-logo img{width:58px;height:58px;object-fit:contain}.portal-auth-logo span{font:900 1.35rem/1 Arial,sans-serif;letter-spacing:.02em}.portal-kicker{display:block;margin-bottom:12px;color:#ffb6b9;font:900 .72rem/1.2 Arial,sans-serif;letter-spacing:.14em}.portal-auth-brand h1{max-width:420px;margin:0 0 14px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.35}.portal-auth-brand p{max-width:430px;margin:0;color:#c6cfda;line-height:2}.portal-auth-points{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}.portal-auth-points span{display:inline-flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid rgba(255,255,255,.11);border-radius:11px;background:rgba(255,255,255,.06);font-size:.74rem}.portal-auth-card{align-self:center;display:grid;gap:18px;padding:clamp(32px,6vw,64px)}.portal-auth-card header span{color:var(--p-red);font-size:.72rem;font-weight:900}.portal-auth-card header h2{margin:5px 0 5px;font-size:2rem}.portal-auth-card header p{margin:0;color:var(--p-muted);font-size:.86rem}.portal-auth-card label,.portal-form label,.portal-form-grid label{display:grid;gap:7px;color:#485363;font-size:.76rem;font-weight:800}.portal-input{height:54px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #d8dee6;border-radius:13px;background:#fff;transition:.18s}.portal-input:focus-within{border-color:var(--p-red);box-shadow:0 0 0 4px rgba(201,47,53,.08)}.portal-input>i{color:#87919e}.portal-input input{min-width:0;flex:1;height:100%;border:0;outline:0;background:transparent}.portal-password-toggle{width:36px;height:36px;border:0;border-radius:9px;background:#f2f4f7;color:#6f7a88;cursor:pointer}.portal-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid transparent;border-radius:11px;text-decoration:none;font-weight:850;cursor:pointer;transition:.18s}.portal-button--primary{background:var(--p-red);color:#fff;box-shadow:0 10px 24px rgba(201,47,53,.18)}.portal-button--primary:hover{background:var(--p-red-dark);transform:translateY(-1px)}.portal-button--ghost{border-color:#d9dfe7;background:#fff;color:var(--p-ink)}.portal-button--ghost:hover{border-color:var(--p-red);color:var(--p-red)}.portal-button--wide{width:100%;margin-top:18px}.portal-auth-switch{margin:0;text-align:center;color:var(--p-muted);font-size:.8rem}.portal-auth-switch a{color:var(--p-red);font-weight:900;text-decoration:none}.portal-alert{margin-bottom:14px;padding:12px 14px;border-radius:11px;font-size:.8rem;font-weight:750}.portal-alert--danger{border:1px solid #ffc9cc;background:#fff2f3;color:#a61f25}.portal-alert--success{border:1px solid #bce9cf;background:#eefaf3;color:#1f7145}
.portal-app{min-height:100vh;background:var(--p-bg)}.portal-layout{min-height:100vh;display:grid;grid-template-columns:268px minmax(0,1fr);direction:rtl}.portal-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:20px 16px;background:var(--p-sidebar);color:#fff}.portal-sidebar__brand{display:flex;align-items:center;justify-content:space-between;padding:2px 6px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.portal-sidebar__brand>a{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}.portal-sidebar__brand img{width:42px;height:42px;object-fit:contain}.portal-sidebar__brand span{font:900 1.1rem/1 Arial,sans-serif}.portal-sidebar__brand button{display:none;width:36px;height:36px;border:0;border-radius:9px;background:rgba(255,255,255,.08);color:#fff}.portal-user-card{display:flex;align-items:center;gap:11px;padding:19px 7px}.portal-avatar{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,var(--p-red),#e35b60);color:#fff;font-weight:900}.portal-user-card div{min-width:0}.portal-user-card strong,.portal-user-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-user-card strong{font-size:.84rem}.portal-user-card small{margin-top:3px;color:#98a6b7;font-size:.67rem}.portal-nav{display:grid;gap:5px;margin-top:5px}.portal-nav a{min-height:48px;display:flex;align-items:center;gap:12px;padding:0 13px;border-radius:11px;color:#bcc6d2;text-decoration:none;font-size:.78rem;font-weight:800;transition:.18s}.portal-nav a i{width:20px;text-align:center}.portal-nav a:hover,.portal-nav a.is-active{background:rgba(255,255,255,.08);color:#fff}.portal-nav a.is-active{box-shadow:inset -3px 0 0 var(--p-red)}.portal-sidebar__bottom{margin-top:auto;display:grid;gap:5px;padding-top:18px;border-top:1px solid rgba(255,255,255,.08)}.portal-sidebar__bottom>a,.portal-sidebar__bottom button{width:100%;min-height:43px;display:flex;align-items:center;gap:10px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#aeb9c6;text-decoration:none;font:750 .74rem/1 var(--p-font);cursor:pointer}.portal-sidebar__bottom>a:hover,.portal-sidebar__bottom button:hover{background:rgba(255,255,255,.07);color:#fff}.portal-main{min-width:0}.portal-topbar{position:sticky;z-index:20;top:0;min-height:78px;display:flex;align-items:center;gap:14px;padding:0 clamp(20px,4vw,44px);border-bottom:1px solid rgba(31,42,57,.07);background:rgba(255,255,255,.92);backdrop-filter:blur(16px)}.portal-topbar>div{min-width:0;display:grid}.portal-topbar strong{font-size:.95rem}.portal-topbar small{margin-top:2px;color:var(--p-muted);font-size:.68rem}.portal-topbar-site{margin-inline-start:auto;display:flex;align-items:center;gap:8px;color:#657080;text-decoration:none;font-size:.74rem;font-weight:800}.portal-menu-button{display:none;width:42px;height:42px;border:1px solid var(--p-line);border-radius:10px;background:#fff;color:var(--p-ink)}.portal-content{width:min(1380px,calc(100% - 48px));margin:0 auto;padding:36px 0 60px}.portal-welcome{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(24px,4vw,38px);border-radius:22px;background:linear-gradient(135deg,#fff,#fff4f4);border:1px solid #f0d9da}.portal-welcome span,.portal-section-head span{color:var(--p-red);font-size:.7rem;font-weight:900;letter-spacing:.08em}.portal-welcome h1,.portal-section-head h1{margin:7px 0 7px;font-size:clamp(1.5rem,3vw,2.25rem)}.portal-welcome p,.portal-section-head p{max-width:740px;margin:0;color:var(--p-muted);font-size:.8rem;line-height:1.9}.portal-action-row{display:flex;flex-wrap:wrap;gap:9px}.portal-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.portal-metrics--four{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-metrics article{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--p-line);border-radius:17px;background:#fff;box-shadow:0 9px 25px rgba(28,37,50,.035)}.portal-metrics article>i{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:var(--p-red-soft);color:var(--p-red);font-size:1.08rem}.portal-metrics b,.portal-metrics span,.portal-metrics small{display:block}.portal-metrics b{font-size:1.25rem}.portal-metrics span{margin-top:2px;color:#5f6b7a;font-size:.72rem;font-weight:800}.portal-metrics small{margin-top:2px;color:#8a939e;font-size:.64rem}.portal-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-card{min-width:0;padding:22px;border:1px solid var(--p-line);border-radius:18px;background:var(--p-card);box-shadow:0 10px 30px rgba(27,36,49,.04)}.portal-card>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.portal-card>header span{color:var(--p-red);font:900 .64rem/1.2 Arial,sans-serif;letter-spacing:.11em}.portal-card>header h2{margin:5px 0 0;font-size:1.02rem}.portal-card>header>a{color:var(--p-red);text-decoration:none;font-size:.7rem;font-weight:850}.portal-table-wrap{max-width:100%;overflow:auto}.portal-table-wrap table{width:100%;border-collapse:collapse;min-width:600px}.portal-table-wrap th,.portal-table-wrap td{padding:12px 10px;border-bottom:1px solid #edf0f3;text-align:start;font-size:.72rem}.portal-table-wrap th{color:#7a8491;font-size:.65rem;font-weight:850}.portal-table-wrap tbody tr:hover{background:#fafbfc}.portal-table-sub{display:block;margin-top:3px;color:#8a939e;font-size:.62rem}.portal-status,.portal-role-badge{display:inline-flex;width:max-content;padding:5px 8px;border-radius:99px;background:#eef2f6;color:#556172;font-size:.62rem;font-weight:900}.portal-status--paid,.portal-status--answered{background:#eaf8ef;color:#237244}.portal-status--cancelled,.portal-status--closed{background:#fff0f1;color:#a52025}.portal-status--issued,.portal-status--open{background:#fff6dc;color:#846b15}.portal-table-action{color:var(--p-red);text-decoration:none;font-weight:900}.portal-empty-cell,.portal-empty{padding:28px!important;color:#8b949f;text-align:center!important}.portal-list{display:grid}.portal-list>a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 4px;border-bottom:1px solid #edf0f3;color:var(--p-ink);text-decoration:none}.portal-list>a:last-child{border-bottom:0}.portal-list b,.portal-list small{display:block}.portal-list b{font-size:.76rem}.portal-list small{margin-top:4px;color:#88919d;font-size:.62rem}.portal-list em{font-style:normal;color:#697483;font-size:.65rem;font-weight:800}.portal-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.portal-form{display:grid;gap:14px}.portal-form input,.portal-form select,.portal-form textarea,.portal-form-grid input,.portal-form-grid select,.portal-form-grid textarea,.portal-product-picker select,.portal-invoice-toolbar select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #dbe1e8;border-radius:10px;outline:0;background:#fff;color:var(--p-ink)}.portal-form textarea,.portal-form-grid textarea{resize:vertical}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus,.portal-form-grid input:focus,.portal-form-grid select:focus,.portal-form-grid textarea:focus{border-color:var(--p-red);box-shadow:0 0 0 3px rgba(201,47,53,.07)}.portal-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-field-span{grid-column:1/-1}.portal-invoice-form{display:grid;gap:18px}.portal-product-picker{display:flex;align-items:center;gap:9px;margin-bottom:16px}.portal-product-picker select{min-width:220px;flex:1}.portal-invoice-items{display:grid;gap:10px}.portal-invoice-item{display:grid;grid-template-columns:minmax(220px,2fr) 100px 160px minmax(180px,1.1fr) 42px;gap:10px;align-items:end;padding:13px;border:1px solid #e2e7ec;border-radius:13px;background:#fafbfc}.portal-invoice-item label{display:grid;gap:5px;color:#647080;font-size:.65rem;font-weight:800}.portal-invoice-item input{width:100%;min-height:43px;padding:8px 10px;border:1px solid #dce2e8;border-radius:9px;background:#fff}.portal-item-remove{height:43px;border:0;border-radius:9px;background:#fff0f1;color:#a82329;cursor:pointer}.portal-total-box{display:grid;gap:8px;margin-inline-start:auto;width:min(100%,420px);padding:17px;border-radius:14px;background:#f6f8fa}.portal-total-box span,.portal-total-box strong{display:flex;justify-content:space-between;gap:20px}.portal-total-box span{color:#687483;font-size:.72rem}.portal-total-box strong{padding-top:10px;border-top:1px solid #dfe4e9;font-size:.94rem}.portal-invoice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.portal-invoice-toolbar>div,.portal-invoice-toolbar form{display:flex;align-items:center;gap:8px}.invoice-sheet{padding:38px;border:1px solid var(--p-line);border-radius:18px;background:#fff;box-shadow:var(--p-shadow)}.invoice-sheet>header{display:flex;align-items:start;justify-content:space-between;gap:30px;padding-bottom:22px;border-bottom:2px solid #202b3a}.invoice-brand{display:flex;align-items:center;gap:14px}.invoice-brand img{width:64px;height:64px;object-fit:contain}.invoice-brand strong,.invoice-brand span{display:block}.invoice-brand strong{font-size:1.05rem}.invoice-brand span{margin-top:4px;color:#7c8794;font-size:.7rem}.invoice-meta{text-align:end}.invoice-meta h1{margin:0 0 8px;font-size:1.4rem}.invoice-meta span{display:block;margin-top:4px;color:#667281;font-size:.72rem}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px 0}.invoice-parties>div{padding:16px;border:1px solid #e5e9ee;border-radius:12px}.invoice-parties span{color:var(--p-red);font-size:.65rem;font-weight:900}.invoice-parties h2{margin:6px 0 7px;font-size:.93rem}.invoice-parties p{margin:3px 0;color:#697483;font-size:.7rem}.invoice-table-wrap{overflow:auto}.invoice-table-wrap table{width:100%;min-width:680px;border-collapse:collapse}.invoice-table-wrap th{background:#202b3a;color:#fff}.invoice-table-wrap th,.invoice-table-wrap td{padding:12px;border:1px solid #e3e7ec;text-align:start;font-size:.7rem}.invoice-table-wrap td small{display:block;margin-top:4px;color:#929aa4;font-size:.58rem}.invoice-bottom{display:grid;grid-template-columns:1fr 360px;gap:25px;padding-top:20px}.invoice-notes{padding:15px;border-radius:12px;background:#f7f8fa}.invoice-notes span{font-size:.66rem;font-weight:900}.invoice-notes p{margin:7px 0 0;color:#66717f;font-size:.7rem;line-height:1.9}.invoice-bottom dl{margin:0}.invoice-bottom dl>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid #e8ebef;font-size:.72rem}.invoice-bottom dd{margin:0;font-weight:850}.invoice-bottom .invoice-total{padding:13px 0;border-bottom:0;color:var(--p-red);font-size:.86rem}.invoice-sheet>footer{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:42px}.invoice-sheet>footer span{min-height:76px;padding-top:8px;border-top:1px dashed #9ca5af;color:#727c88;text-align:center;font-size:.68rem}.portal-ticket-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.portal-messages{display:grid;gap:12px}.portal-message{max-width:86%;padding:14px 16px;border-radius:14px;background:#f3f5f8}.portal-message.is-staff{margin-inline-start:auto;background:#fff0f1;border:1px solid #f4c8ca}.portal-message header{display:flex;align-items:center;justify-content:space-between;gap:12px}.portal-message header b{font-size:.72rem}.portal-message header small{color:#87919d;font-size:.58rem}.portal-message p{margin:8px 0 0;color:#45505e;font-size:.76rem;line-height:1.95;white-space:pre-wrap}.portal-reply-form{margin-top:18px;padding-top:18px;border-top:1px solid #e6eaee}.portal-ticket-meta{position:sticky;top:98px}.portal-ticket-meta h3{margin:0 0 15px}.portal-ticket-meta dl{margin:0}.portal-ticket-meta dl>div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #edf0f3;font-size:.7rem}.portal-ticket-meta dd{margin:0;font-weight:800}.portal-status-form{margin-top:16px}.portal-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.portal-catalog-grid>a{min-width:0;display:grid;grid-template-columns:52px minmax(0,1fr) 24px;gap:13px;align-items:center;padding:16px;border:1px solid var(--p-line);border-radius:15px;background:#fff;color:var(--p-ink);text-decoration:none;transition:.18s}.portal-catalog-grid>a:hover{border-color:var(--p-red);transform:translateY(-2px);box-shadow:0 12px 30px rgba(25,34,47,.06)}.portal-catalog-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:var(--p-red-soft);color:var(--p-red);font-size:1.1rem}.portal-catalog-grid small{color:var(--p-red);font-size:.6rem;font-weight:900}.portal-catalog-grid h2{margin:4px 0 3px;font-size:.82rem}.portal-catalog-grid p{margin:0;color:#7b8591;font-size:.65rem}.portal-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-team-card{display:flex;align-items:center;gap:16px}.portal-avatar--large{width:62px;height:62px;border-radius:18px;font-size:1.1rem}.portal-team-card h2{margin:0;font-size:1rem}.portal-team-card p{margin:5px 0 9px;color:#7b8590;font-size:.7rem}
@media(max-width:1100px){.portal-metrics--four{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-invoice-item{grid-template-columns:minmax(200px,2fr) 90px 150px 42px}.portal-item-url{grid-column:1/-2}.portal-ticket-layout{grid-template-columns:1fr}.portal-ticket-meta{position:static}.portal-catalog-grid{grid-template-columns:1fr}}
@media(max-width:820px){.portal-auth-shell{grid-template-columns:1fr;min-height:auto}.portal-auth-brand{min-height:300px;padding:30px}.portal-auth-points{display:none}.portal-layout{display:block}.portal-sidebar{position:fixed;z-index:100;inset:0 auto 0 0;width:min(84vw,300px);height:100dvh;transform:translateX(-105%);transition:.22s;box-shadow:0 0 50px rgba(0,0,0,.25)}[dir="rtl"] .portal-sidebar{inset:0 0 0 auto;transform:translateX(105%)}.portal-sidebar.is-open{transform:translateX(0)}.portal-sidebar__brand button,.portal-menu-button{display:grid;place-items:center}.portal-topbar{padding:0 16px}.portal-content{width:min(100% - 24px,1380px);padding-top:22px}.portal-two-col,.portal-team-grid{grid-template-columns:1fr}.portal-welcome{align-items:flex-start;flex-direction:column}.portal-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-invoice-toolbar{align-items:stretch;flex-direction:column}.portal-invoice-toolbar>div{flex-wrap:wrap}.invoice-sheet{padding:20px}.invoice-sheet>header,.invoice-parties,.invoice-bottom{grid-template-columns:1fr;display:grid}.invoice-meta{text-align:start}.invoice-sheet>header{gap:18px}.invoice-bottom{gap:14px}.portal-product-picker{align-items:stretch;flex-direction:column}.portal-invoice-item{grid-template-columns:1fr 1fr}.portal-item-title,.portal-item-url{grid-column:1/-1}.portal-item-remove{grid-column:2;justify-self:end;width:42px}.portal-catalog-grid{grid-template-columns:1fr}}
@media(max-width:560px){.portal-auth-page{padding:0;background:#fff}.portal-auth-shell{border:0;border-radius:0;box-shadow:none}.portal-auth-brand{min-height:240px;padding:24px}.portal-auth-brand h1{font-size:1.8rem}.portal-auth-card{padding:26px 20px 34px}.portal-field-grid,.portal-form-grid{grid-template-columns:1fr}.portal-metrics,.portal-metrics--four{grid-template-columns:1fr}.portal-card{padding:17px}.portal-welcome{padding:20px}.portal-topbar-site span{display:none}.portal-section-head{align-items:flex-start;flex-direction:column}.portal-invoice-item{grid-template-columns:1fr}.portal-item-title,.portal-item-url,.portal-item-remove{grid-column:1}.portal-item-remove{justify-self:end}.portal-message{max-width:96%}.invoice-sheet{margin-inline:-5px;padding:14px;border-radius:12px}.invoice-brand img{width:48px;height:48px}}
@media print{body{background:#fff}.portal-sidebar,.portal-topbar,.portal-invoice-toolbar,.portal-alert{display:none!important}.portal-layout{display:block}.portal-content{width:100%;padding:0}.invoice-sheet{padding:0;border:0;border-radius:0;box-shadow:none}.portal-main{width:100%}@page{size:A4;margin:12mm}}
.portal-security-card{max-width:720px}.portal-form--compact{max-width:560px}.portal-icon-badge{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--portal-soft,#f4f4f5);font-size:1.05rem}.portal-form-actions{display:flex;justify-content:flex-start;margin-top:6px}

/* ===== NIAWELL Portal v2 — Jolfa-inspired clean auth + multi-role admin ===== */
.portal-sidebar__brand a span,.portal-auth-logo span{font-family:"Dodger","Arial Black",Arial,sans-serif!important;font-weight:400!important;font-style:normal!important;letter-spacing:.015em!important;text-transform:none!important}
.portal-auth-page--simple{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:42px 18px;background:#f7f8fb}
.portal-auth-page--simple:before{content:"";position:absolute;inset:-30% -10%;background:radial-gradient(circle at 15% 20%,rgba(201,47,53,.17),transparent 27%),radial-gradient(circle at 83% 15%,rgba(23,32,45,.1),transparent 24%),radial-gradient(circle at 54% 88%,rgba(201,47,53,.1),transparent 27%);pointer-events:none}
.portal-auth-page--simple:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(29,40,54,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(29,40,54,.025) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 76%,transparent);pointer-events:none}
.portal-auth-background{position:absolute;inset:0;overflow:hidden;pointer-events:none}.portal-auth-background span{position:absolute;width:190px;height:265px;border:1px solid rgba(201,47,53,.09);border-radius:24px;background:rgba(255,255,255,.46);box-shadow:0 28px 80px rgba(22,31,43,.06);backdrop-filter:blur(5px)}.portal-auth-background span:before{content:"";position:absolute;inset:25px 20px auto;height:9px;border-radius:999px;background:rgba(201,47,53,.11);box-shadow:0 28px 0 rgba(23,32,45,.06),0 56px 0 rgba(23,32,45,.05),0 84px 0 rgba(23,32,45,.04)}.portal-auth-background span:nth-child(1){top:6%;right:7%;transform:rotate(11deg)}.portal-auth-background span:nth-child(2){bottom:2%;left:10%;transform:rotate(-12deg)}.portal-auth-background span:nth-child(3){top:24%;left:3%;transform:rotate(7deg);opacity:.6}
.portal-auth-center{position:relative;z-index:2;width:min(430px,100%);display:flex;flex-direction:column;align-items:center;gap:19px;margin:auto}.portal-auth-center--register{width:min(520px,100%)}
.portal-auth-page--simple .portal-auth-logo{display:flex;align-items:center;gap:11px;color:var(--p-red);text-decoration:none}.portal-auth-page--simple .portal-auth-logo img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 13px 20px rgba(201,47,53,.16))}.portal-auth-page--simple .portal-auth-logo span{font-size:1.7rem;line-height:1;color:var(--p-red)}
.portal-auth-card--center{width:100%;align-self:auto;gap:15px;padding:28px;border:1px solid rgba(220,225,232,.9);border-radius:25px;background:rgba(255,255,255,.94);box-shadow:0 30px 90px rgba(23,32,45,.14);backdrop-filter:blur(12px)}.portal-auth-card--center header{text-align:center;margin-bottom:2px}.portal-auth-card--center header>span{display:block;color:var(--p-red);font:900 .66rem/1 Arial,sans-serif;letter-spacing:.15em}.portal-auth-card--center header h1{margin:7px 0 5px;font-size:1.55rem}.portal-auth-card--center header p{margin:0;color:var(--p-muted);font-size:.79rem;line-height:1.8}.portal-auth-card--center .portal-input{height:50px;border-radius:14px;background:#fafbfc}.portal-auth-card--center .portal-button--wide{margin-top:2px;min-height:50px}.portal-auth-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 16px;padding-top:2px}.portal-auth-links a{display:inline-flex;align-items:center;gap:6px;color:#586575;text-decoration:none;font-size:.74rem;font-weight:850}.portal-auth-links a:hover{color:var(--p-red)}
.portal-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:14px 14px 5px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.04)}.portal-mode-switch a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:35px;border-radius:8px;color:#aeb8c5;text-decoration:none;font-size:.64rem;font-weight:850}.portal-mode-switch a.is-active{background:#fff;color:#182231}.portal-topbar-actions{display:flex;align-items:center;gap:8px}.portal-topbar-switch{min-height:38px;display:inline-flex;align-items:center;gap:7px;padding:0 11px;border:1px solid var(--p-line);border-radius:10px;color:var(--p-ink);background:#fff;text-decoration:none;font-size:.66rem;font-weight:850}.portal-topbar-switch:hover{border-color:var(--p-red);color:var(--p-red)}
.portal-welcome h1{font-size:clamp(1.35rem,2.4vw,2rem)!important}.portal-welcome>div>span{font-weight:900}.portal-quick-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.portal-quick-grid>a{display:flex;align-items:center;gap:13px;min-height:92px;padding:16px;border:1px solid var(--p-line);border-radius:17px;background:#fff;color:var(--p-ink);text-decoration:none;box-shadow:0 10px 28px rgba(23,32,45,.04);transition:.18s}.portal-quick-grid>a:hover{border-color:rgba(201,47,53,.42);transform:translateY(-2px);box-shadow:0 18px 38px rgba(23,32,45,.08)}.portal-quick-grid>a>i{width:44px;height:44px;display:grid;place-items:center;flex:0 0 44px;border-radius:13px;background:var(--p-red-soft);color:var(--p-red);font-size:1rem}.portal-quick-grid b{display:block;font-size:.78rem}.portal-quick-grid span{display:block;margin-top:4px;color:var(--p-muted);font-size:.62rem;line-height:1.7}
.portal-user-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.portal-user-toolbar form{flex:1;max-width:680px;display:flex;align-items:center;gap:8px;padding:5px 5px 5px 12px;border:1px solid var(--p-line);border-radius:14px;background:#fff}.portal-user-toolbar form>i{color:#8b95a1}.portal-user-toolbar input{min-width:0;flex:1;height:40px;border:0;outline:0;background:transparent}.portal-users-card{padding:0!important;overflow:hidden}.portal-users-table{min-width:900px}.portal-user-cell{display:flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.portal-user-cell>span:nth-child(2){min-width:0}.portal-user-cell b,.portal-user-cell small{display:block}.portal-user-cell small{margin-top:3px;color:var(--p-muted);font-size:.6rem}.portal-protected-icon{margin-inline-start:auto;color:#b38418}.portal-users-table tr.is-deleted{opacity:.55}
.portal-user-hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.portal-user-identity{display:flex;align-items:center;gap:16px}.portal-avatar--xl{width:76px;height:76px;border-radius:23px;font-size:1.25rem}.portal-user-identity h1{margin:4px 0 3px;font-size:1.35rem}.portal-user-identity p{margin:0;color:var(--p-muted);font-size:.7rem}.portal-kicker-inline{color:var(--p-red);font:900 .62rem/1 Arial,sans-serif;letter-spacing:.1em}.portal-badge-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.portal-status--protected{background:#fff7df;color:#8a6612;border:1px solid #f0daa2}.portal-status--blocked{background:#fff1f2;color:#a62128;border:1px solid #f3c2c5}.portal-status--paid{background:#edf9f2;color:#257347;border:1px solid #c6ead4}.portal-user-company{display:flex;align-items:center;gap:11px;padding:13px 15px;border-radius:14px;background:#f7f8fa}.portal-user-company>i{color:var(--p-red)}.portal-user-company small,.portal-user-company b{display:block}.portal-user-company small{color:var(--p-muted);font-size:.58rem}.portal-user-company b{margin-top:3px;font-size:.75rem}.portal-protected-note{display:flex;align-items:center;gap:13px;margin:14px 0;padding:15px 17px;border:1px solid #ecd590;border-radius:16px;background:#fff9e9;color:#6f5712}.portal-protected-note>i{font-size:1.25rem}.portal-protected-note b,.portal-protected-note span{display:block}.portal-protected-note span{margin-top:4px;font-size:.66rem;line-height:1.8}.portal-user-management-grid{align-items:start}.portal-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portal-check-grid label{display:flex!important;align-items:center;gap:9px;padding:10px;border:1px solid var(--p-line);border-radius:11px;background:#fafbfc;cursor:pointer}.portal-check-grid input{accent-color:var(--p-red)}.portal-check-grid b,.portal-check-grid small{display:block}.portal-check-grid b{font-size:.67rem}.portal-check-grid small{margin-top:2px;color:var(--p-muted);font-size:.55rem}.portal-role-assign>.portal-button{margin-top:12px}.portal-readonly-roles{display:flex;flex-wrap:wrap;gap:7px}.portal-readonly-roles span{padding:8px 10px;border-radius:10px;background:#f4f6f8;font-size:.68rem;font-weight:850}.portal-danger-actions{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--p-line)}.portal-danger-actions form{margin:0}.portal-danger-actions .portal-button{width:100%}.portal-block-form{display:grid;grid-template-columns:1fr auto;gap:8px}.portal-block-form input{min-width:0;height:42px;padding:0 11px;border:1px solid var(--p-line);border-radius:10px}.portal-button--danger{background:#fff2f3;border-color:#f0c0c4;color:#a71f27}.portal-button--danger:hover{background:#a71f27;border-color:#a71f27;color:#fff}.portal-button--small{min-height:38px}.portal-user-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}.portal-static-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f3}.portal-static-row:last-child{border-bottom:0}.portal-static-row b,.portal-static-row small{display:block}.portal-static-row small{margin-top:3px;color:var(--p-muted);font-size:.58rem}.portal-static-row em{font-style:normal;color:var(--p-muted);font-size:.63rem}
.portal-role-create{margin-bottom:14px}.portal-role-create-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(160px,.65fr) minmax(0,2fr) auto;gap:10px;align-items:end}.portal-role-create-form>label{display:grid;gap:6px;font-size:.66rem;font-weight:850}.portal-role-create-form input[type=text],.portal-role-create-form>label input{height:42px;padding:0 10px;border:1px solid var(--p-line);border-radius:10px}.portal-permission-row{display:flex;flex-wrap:wrap;gap:7px}.portal-permission-row label{display:flex;align-items:center;gap:5px;min-height:42px;padding:0 9px;border:1px solid var(--p-line);border-radius:10px;background:#fafbfc;font-size:.61rem;font-weight:800}.portal-permission-row input{accent-color:var(--p-red)}.portal-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portal-role-card__head{display:flex;align-items:center;gap:12px;margin-bottom:14px}.portal-role-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;background:var(--p-red-soft);color:var(--p-red)}.portal-role-card__head h2{margin:0;font-size:.9rem}.portal-role-card__head small{color:var(--p-muted);font-size:.58rem}.portal-role-card form>label{display:grid;gap:6px;margin-bottom:10px;font-size:.64rem;font-weight:850}.portal-role-card form>label input{height:42px;padding:0 10px;border:1px solid var(--p-line);border-radius:10px}.portal-check-grid--compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px}.portal-check-grid--compact label{padding:8px}.portal-role-actions{display:flex;justify-content:space-between;gap:8px}.portal-role-protected-copy{margin:10px 0 0;padding:10px;border-radius:10px;background:#fff8e7;color:#725a1a;font-size:.62rem;line-height:1.8}
.portal-registered-user-box{margin-bottom:14px;padding:14px;border:1px solid #dce2e8;border-radius:14px;background:#f8fafc}.portal-registered-user-box label{display:grid;gap:7px;font-size:.7rem;font-weight:850}.portal-registered-user-box select{height:46px;padding:0 11px;border:1px solid var(--p-line);border-radius:11px;background:#fff}.portal-registered-user-box small{color:var(--p-muted);font-size:.6rem}
.portal-catalog-grid--visual{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-catalog-grid--visual>a{display:block;padding:0;overflow:hidden;border-radius:18px}.portal-catalog-grid--visual figure{height:180px;margin:0;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#f7f8fa,#eef1f4)}.portal-catalog-grid--visual figure img{width:100%;height:100%;object-fit:contain;padding:14px;transition:transform .22s ease}.portal-catalog-grid--visual>a:hover figure img{transform:scale(1.035)}.portal-catalog-copy{padding:14px 15px 16px}.portal-catalog-copy small{color:var(--p-red);font-size:.58rem;font-weight:900}.portal-catalog-copy h2{margin:6px 0 4px;font-size:.8rem;line-height:1.7}.portal-catalog-copy p{margin:0;color:var(--p-muted);font-size:.62rem;line-height:1.7}.portal-catalog-copy>span{display:flex;align-items:center;gap:6px;margin-top:12px;color:var(--p-red);font-size:.63rem;font-weight:900}.portal-section-count{padding:8px 10px;border-radius:10px;background:#f3f5f7;color:var(--p-muted);font-size:.62rem;font-weight:850}
.invoice-sheet{position:relative}.invoice-demo-badge{position:absolute;top:18px;left:18px;padding:7px 10px;border:1px solid #e7c46e;border-radius:9px;background:#fff7db;color:#7e621a;font-size:.62rem;font-weight:900}.invoice-sheet.is-demo:before{content:"DEMO";position:absolute;inset:42% auto auto 50%;transform:translate(-50%,-50%) rotate(-24deg);font:900 6rem/1 Arial,sans-serif;color:rgba(201,47,53,.045);pointer-events:none}
.portal-dashboard-ticket-card{margin-top:14px}.portal-profile-card{max-width:980px}
@media(max-width:1180px){.portal-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-catalog-grid--visual{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-role-create-form{grid-template-columns:1fr 1fr}.portal-permission-row{grid-column:1/-1}.portal-role-create-form>.portal-button{width:max-content}.portal-user-history-grid{grid-template-columns:1fr 1fr}.portal-user-history-grid>section:last-child{grid-column:1/-1}}
@media(max-width:820px){.portal-topbar-actions{margin-inline-start:auto}.portal-topbar-switch span{display:none}.portal-topbar-switch{width:38px;padding:0;justify-content:center}.portal-user-toolbar{align-items:stretch;flex-direction:column}.portal-user-toolbar form{max-width:none}.portal-user-hero{align-items:flex-start;flex-direction:column}.portal-user-company{width:100%}.portal-role-grid,.portal-user-history-grid{grid-template-columns:1fr}.portal-user-history-grid>section:last-child{grid-column:auto}.portal-catalog-grid--visual{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-catalog-grid--visual figure{height:150px}}
@media(max-width:560px){.portal-auth-page--simple{padding:24px 14px}.portal-auth-background span{width:125px;height:180px;opacity:.55}.portal-auth-page--simple .portal-auth-logo img{width:52px;height:52px}.portal-auth-page--simple .portal-auth-logo span{font-size:1.45rem}.portal-auth-card--center{padding:22px 17px;border-radius:22px}.portal-auth-card--center header h1{font-size:1.35rem}.portal-auth-center--register .portal-field-grid{grid-template-columns:1fr}.portal-quick-grid{grid-template-columns:1fr}.portal-user-identity{align-items:flex-start}.portal-avatar--xl{width:62px;height:62px;border-radius:18px}.portal-check-grid,.portal-check-grid--compact{grid-template-columns:1fr}.portal-role-create-form{grid-template-columns:1fr}.portal-permission-row{grid-column:auto}.portal-role-create-form>.portal-button{width:100%}.portal-catalog-grid--visual{grid-template-columns:1fr}.portal-catalog-grid--visual figure{height:190px}.portal-block-form{grid-template-columns:1fr}.portal-user-toolbar form{display:grid;grid-template-columns:24px minmax(0,1fr)}.portal-user-toolbar form .portal-button{grid-column:1/-1}.portal-mode-switch{margin-inline:10px}.invoice-demo-badge{position:static;display:inline-flex;margin-bottom:12px}.invoice-sheet.is-demo:before{font-size:3.5rem}}
@font-face{font-family:"Dodger";src:url("../fonts/dodger3_2.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}

/* Portal V3 — modal-first management, compact header, centered surfaces */
.portal-main{background:linear-gradient(180deg,#f7f8fa 0,#f4f6f9 180px)}
.portal-topbar{min-height:62px;padding:0 clamp(18px,3vw,34px);background:#fff;border-bottom:1px solid #e8ebef;backdrop-filter:none;box-shadow:0 2px 12px rgba(24,33,45,.025)}
.portal-topbar__title{display:flex!important;align-items:baseline!important;gap:9px!important}.portal-topbar__title strong{font-size:.85rem}.portal-topbar__title small{margin:0;font-size:.61rem}.portal-topbar-actions{margin-inline-start:auto;display:flex!important;align-items:center;gap:7px}.portal-topbar-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--p-line);border-radius:11px;background:#fff;color:#697585;text-decoration:none}.portal-topbar-profile{min-height:38px;display:flex;align-items:center;gap:7px;padding:3px 8px 3px 11px;border:1px solid var(--p-line);border-radius:12px;color:var(--p-ink);text-decoration:none}.portal-topbar-profile>span{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:var(--p-red-soft);color:var(--p-red);font-size:.7rem;font-weight:900}.portal-topbar-profile b{font-size:.67rem}.portal-topbar-switch,.portal-mode-switch{display:none!important}.portal-nav__secondary{margin-top:5px;border-top:1px solid rgba(255,255,255,.08);border-radius:0!important;padding-top:7px!important}
.portal-content{width:min(1240px,calc(100% - 44px));padding:28px 0 54px}.portal-card{margin-inline:auto}.portal-profile-card{max-width:920px;margin-inline:auto!important}.portal-section-head{max-width:1180px;margin-inline:auto;margin-bottom:18px}.portal-welcome{max-width:1180px;margin-inline:auto}.portal-metrics,.portal-two-col,.portal-quick-grid,.portal-role-summary-grid,.portal-catalog-family-grid{max-width:1180px;margin-inline:auto}.portal-users-card{max-width:1180px}
.portal-table-action--button,.portal-link-button{border:0;background:transparent;cursor:pointer;font:900 .68rem/1.2 var(--p-font)}.portal-link-button{color:var(--p-red)}

/* Modal system inspired by the efficient Jolfa workflow, implemented natively for NIAWELL. */
.portal-dialog{width:min(680px,calc(100vw - 28px));max-height:min(88vh,860px);padding:0;border:1px solid #e2e6eb;border-radius:20px;background:#fff;color:var(--p-ink);box-shadow:0 28px 90px rgba(14,22,34,.26);overflow:hidden}.portal-dialog--wide{width:min(980px,calc(100vw - 28px))}.portal-dialog--compact{width:min(610px,calc(100vw - 28px))}.portal-dialog::backdrop{background:rgba(14,22,34,.48);backdrop-filter:blur(4px)}.portal-dialog__head{position:sticky;z-index:4;top:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;border-bottom:1px solid #eceff2;background:rgba(255,255,255,.97)}.portal-dialog__head h2{margin:3px 0 0;font-size:1rem}.portal-dialog__head small{color:var(--p-muted);font-size:.61rem}.portal-dialog__head>button{width:38px;height:38px;border:1px solid var(--p-line);border-radius:11px;background:#fff;color:#657080;cursor:pointer}.portal-dialog__body{padding:18px;overflow:auto}.portal-dialog-user{display:flex;align-items:center;gap:10px}.portal-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid #eceff2}.portal-modal-tabs{position:sticky;z-index:3;top:73px;display:flex;gap:5px;overflow:auto;padding:6px 12px;border-bottom:1px solid #eceff2;background:#f7f8fa;scrollbar-width:none}.portal-modal-tabs::-webkit-scrollbar{display:none}.portal-modal-tabs button{flex:0 0 auto;min-height:37px;display:flex;align-items:center;gap:6px;padding:0 11px;border:0;border-radius:10px;background:transparent;color:#738091;font-size:.66rem;font-weight:900;cursor:pointer}.portal-modal-tabs button.is-active{background:#fff;color:var(--p-red);box-shadow:0 3px 10px rgba(24,33,45,.07)}.portal-modal-tabs b{min-width:18px;height:18px;display:grid;place-items:center;border-radius:99px;background:#eef1f4;color:#657080;font-size:.55rem}.portal-modal-section{display:none}.portal-modal-section.is-active{display:block}.portal-dirty-actions{display:none;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #eceff2}.portal-dirty-actions.is-visible{display:flex;animation:portalFade .16s ease}.portal-field-label{display:grid;gap:7px;margin-bottom:13px;color:#485363;font-size:.72rem;font-weight:850}.portal-field-label input{height:44px;padding:0 11px;border:1px solid var(--p-line);border-radius:10px}.portal-dialog-danger{display:flex;justify-content:flex-start;margin-top:18px;padding-top:14px;border-top:1px dashed #efc7ca}.portal-modal-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-modal-activity-grid>div{padding:14px;border:1px solid var(--p-line);border-radius:14px;background:#fafbfc}.portal-modal-activity-grid h3,.portal-security-actions h3{margin:0 0 10px;font-size:.78rem}.portal-static-row[href]{color:inherit;text-decoration:none}.portal-security-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-security-actions>div{padding:15px;border:1px solid var(--p-line);border-radius:14px;background:#fafbfc}.portal-security-actions>div.is-danger{border-color:#f0c7ca;background:#fff7f7}.portal-security-actions p{color:var(--p-muted);font-size:.65rem;line-height:1.75}.portal-security-actions input{width:100%;height:42px;padding:0 10px;border:1px solid var(--p-line);border-radius:10px}.portal-inline-status{display:flex;align-items:end;gap:10px;margin-top:15px;padding:13px;border-radius:13px;background:#f7f8fa}.portal-inline-status label{min-width:190px;display:grid;gap:5px;font-size:.65rem;font-weight:850}.portal-inline-status select{height:42px;border:1px solid var(--p-line);border-radius:9px;background:#fff;padding:0 10px}.portal-inline-status .portal-dirty-actions{margin:0;padding:0;border:0}.portal-invoice-modal-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:15px}.portal-invoice-modal-summary>div{padding:12px;border-radius:12px;background:#f7f8fa}.portal-invoice-modal-summary span,.portal-invoice-modal-summary b{display:block}.portal-invoice-modal-summary span{color:var(--p-muted);font-size:.59rem}.portal-invoice-modal-summary b{margin-top:5px;font-size:.76rem}

/* Dashboard charts */
.portal-chart-card{max-width:1180px;margin:18px auto}.portal-chart-card>header>small{color:var(--p-muted);font-size:.61rem}.portal-chart{width:100%;min-height:280px;overflow:hidden}.portal-chart svg{display:block;width:100%;height:auto;min-height:260px}.portal-chart-grid{stroke:#e9edf1;stroke-width:1}.portal-chart-y,.portal-chart-x{fill:#8a94a0;font:10px var(--p-font)}.portal-chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.portal-chart-line.series-0,.portal-chart-dot.series-0{stroke:#c92f35;fill:#c92f35}.portal-chart-line.series-1,.portal-chart-dot.series-1{stroke:#24364d;fill:#24364d}.portal-chart-dot{stroke-width:2}.portal-chart-legend{display:flex;gap:15px;margin:-5px 0 8px;color:var(--p-muted);font-size:.62rem;font-weight:850}.portal-chart-legend span{display:flex;align-items:center;gap:6px}.portal-chart-legend i{width:9px;height:9px;border-radius:99px;background:#c92f35}.portal-chart-legend i.is-purchase,.portal-chart-legend i.is-visitor{background:#24364d}.portal-dashboard-grid{align-items:start}.portal-metrics--three{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Compact role cards */
.portal-role-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.portal-role-summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:17px}.portal-role-summary h2{margin:0;font-size:.82rem}.portal-role-summary small{color:var(--p-muted);font-size:.58rem}.portal-role-summary p{margin:5px 0 0;color:var(--p-muted);font-size:.61rem}

/* Catalogs: one device/family card, model quick links underneath. */
.portal-catalog-family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.portal-catalog-family{display:grid;grid-template-columns:180px minmax(0,1fr);padding:0;overflow:hidden}.portal-catalog-family figure{min-height:230px;margin:0;display:grid;place-items:center;background:linear-gradient(145deg,#f7f8fa,#edf1f4)}.portal-catalog-family figure img{width:100%;height:100%;max-height:240px;object-fit:contain;padding:16px}.portal-catalog-family__body{padding:17px}.portal-catalog-family__body header span{color:var(--p-red);font:900 .58rem/1 Arial,sans-serif;letter-spacing:.1em}.portal-catalog-family__body header h2{margin:6px 0 13px;font-size:.88rem}.portal-catalog-models{display:grid;gap:7px}.portal-catalog-model{display:flex;align-items:center;gap:7px;padding:8px 9px;border:1px solid #e7ebef;border-radius:11px;background:#fafbfc}.portal-catalog-model__main{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--p-ink);text-decoration:none}.portal-catalog-model__main span{min-width:0}.portal-catalog-model__main b,.portal-catalog-model__main small{display:block}.portal-catalog-model__main b{font-size:.68rem}.portal-catalog-model__main small{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--p-muted);font-size:.56rem}.portal-catalog-model__main>i{color:var(--p-red);font-size:.68rem}.portal-catalog-languages{display:flex;gap:4px}.portal-catalog-languages a{min-width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#fff;border:1px solid var(--p-line);color:#697585;text-decoration:none;font:800 .52rem Arial,sans-serif}

/* SEO */
.portal-seo-grid{align-items:start}.portal-ranking-list{display:grid}.portal-ranking-list>div{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid #edf0f3}.portal-ranking-list>div:last-child{border-bottom:0}.portal-ranking-list>div>b{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:var(--p-red-soft);color:var(--p-red);font-size:.62rem}.portal-ranking-list strong,.portal-ranking-list small{display:block}.portal-ranking-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem}.portal-ranking-list small{margin-top:3px;color:var(--p-muted);font-size:.55rem}.portal-ranking-list em{font-style:normal;font-weight:900;font-size:.72rem}
@keyframes portalFade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.portal-role-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-catalog-family-grid{grid-template-columns:1fr}.portal-modal-activity-grid,.portal-security-actions{grid-template-columns:1fr 1fr}.portal-security-actions>div:last-child{grid-column:1/-1}}
@media(max-width:820px){.portal-content{width:min(100% - 24px,760px);padding-top:18px}.portal-topbar{padding:0 12px}.portal-topbar__title small{display:none}.portal-topbar-profile b{display:none}.portal-topbar-profile{padding:3px}.portal-modal-tabs{top:70px}.portal-dialog{max-height:92vh}.portal-role-summary-grid{grid-template-columns:1fr}.portal-catalog-family{grid-template-columns:140px minmax(0,1fr)}.portal-metrics--three{grid-template-columns:1fr 1fr}.portal-chart{overflow:auto}.portal-chart svg{min-width:680px}.portal-profile-card{width:100%}}
@media(max-width:560px){.portal-section-head{align-items:flex-start;flex-direction:column}.portal-dialog{width:calc(100vw - 14px);border-radius:17px}.portal-dialog__head{padding:14px}.portal-dialog__body{padding:14px}.portal-modal-tabs{padding-inline:8px}.portal-modal-tabs button{padding-inline:9px}.portal-form-grid,.portal-modal-activity-grid,.portal-security-actions,.portal-invoice-modal-summary,.portal-metrics--three{grid-template-columns:1fr}.portal-security-actions>div:last-child{grid-column:auto}.portal-dirty-actions,.portal-dialog-actions{align-items:stretch;flex-direction:column-reverse}.portal-dirty-actions .portal-button,.portal-dialog-actions .portal-button{width:100%}.portal-catalog-family{grid-template-columns:1fr}.portal-catalog-family figure{min-height:170px;max-height:190px}.portal-catalog-family figure img{max-height:185px}.portal-catalog-model{align-items:stretch;flex-direction:column}.portal-catalog-languages{justify-content:flex-end}.portal-role-summary{grid-template-columns:auto minmax(0,1fr)}.portal-role-summary>button{grid-column:1/-1;width:100%;padding:8px;border:1px solid var(--p-line);border-radius:9px}.portal-inline-status{align-items:stretch;flex-direction:column}.portal-inline-status label{min-width:0}.portal-chart-card{padding:15px}}
.portal-ticket-thread{display:grid;gap:9px;max-height:360px;overflow:auto;padding:4px}.portal-ticket-thread article{max-width:82%;padding:11px 13px;border-radius:14px;background:#f4f6f8}.portal-ticket-thread article.is-staff{margin-inline-start:auto;background:#fff1f2;border:1px solid #f4d2d4}.portal-ticket-thread article header{display:flex;justify-content:space-between;gap:10px}.portal-ticket-thread article header b{font-size:.65rem}.portal-ticket-thread article header small{color:var(--p-muted);font-size:.54rem}.portal-ticket-thread article p{margin:7px 0 0;white-space:pre-wrap;font-size:.7rem;line-height:1.9}.portal-ticket-controls{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,1.45fr);gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--p-line)}.portal-ticket-controls form{padding:13px;border:1px solid var(--p-line);border-radius:13px;background:#fafbfc}.portal-ticket-controls label,.portal-ticket-reply label{display:grid;gap:6px;font-size:.65rem;font-weight:850}.portal-ticket-controls select,.portal-ticket-reply textarea{width:100%;padding:9px 10px;border:1px solid var(--p-line);border-radius:9px;background:#fff}.portal-ticket-reply .portal-button{margin-top:9px}@media(max-width:700px){.portal-ticket-controls{grid-template-columns:1fr}.portal-ticket-thread article{max-width:94%}}

/* ============================================================
   Portal Design System v4 — finance-first, accessible, calm UI
   Inspired by UI UX Pro Max guidance: financial/executive
   dashboards, dimensional layering, consistent type scale,
   44px targets, restrained motion and responsive data views.
   ============================================================ */
:root{
  --p-bg:#f6f8fb;
  --p-card:#ffffff;
  --p-ink:#1d2735;
  --p-muted:#687586;
  --p-line:#e3e8ef;
  --p-line-strong:#d6dde6;
  --p-red:#c72e35;
  --p-red-dark:#a8242a;
  --p-red-soft:#fff1f2;
  --p-navy:#203a58;
  --p-blue:#2f6f9f;
  --p-green:#2f7d5b;
  --p-green-soft:#edf8f2;
  --p-amber:#9b681c;
  --p-amber-soft:#fff7e8;
  --p-shadow-sm:0 1px 2px rgba(20,31,45,.03),0 7px 22px rgba(20,31,45,.035);
  --p-shadow-dialog:0 30px 90px rgba(15,25,38,.24);
  --p-radius:16px;
  --p-radius-sm:11px;
}
.portal-app{font-size:15px;line-height:1.65;color:var(--p-ink);background:var(--p-bg)}
.portal-app button,.portal-app input,.portal-app select,.portal-app textarea{font-size:14px}
.portal-layout{grid-template-columns:248px minmax(0,1fr)}
.portal-sidebar{padding:18px 14px;background:#182536}
.portal-sidebar__brand{padding-bottom:15px}.portal-sidebar__brand img{width:40px;height:40px}.portal-sidebar__brand span{font-size:1.1rem}
.portal-user-card{padding:16px 7px}.portal-user-card strong{font-size:13px}.portal-user-card small{font-size:11px}
.portal-nav{gap:4px}.portal-nav a{min-height:44px;padding-inline:12px;border-radius:10px;font-size:13px}.portal-nav a.is-active{background:#26364a;box-shadow:inset -3px 0 0 var(--p-red)}
.portal-topbar{min-height:64px;padding:0 clamp(18px,3vw,32px);border-bottom:1px solid var(--p-line);background:rgba(255,255,255,.97);box-shadow:none}
.portal-topbar__title{gap:7px!important}.portal-topbar__title strong{font-size:14px}.portal-topbar__title small{font-size:11.5px;color:#8290a0}
.portal-topbar-icon,.portal-topbar-profile{min-width:44px;min-height:44px;border-color:var(--p-line);border-radius:12px}.portal-topbar-profile>span{width:32px;height:32px}.portal-topbar-profile b{font-size:12px}
.portal-content{width:min(1200px,calc(100% - 40px));padding:28px 0 52px}
.portal-card{border:1px solid var(--p-line);border-radius:var(--p-radius);box-shadow:var(--p-shadow-sm);padding:22px;background:#fff}
.portal-card>header,.portal-card-heading{margin-bottom:18px}
.portal-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.portal-card-heading h2{margin:3px 0 0;font-size:18px;line-height:1.45}.portal-card-heading p{max-width:610px;margin:7px 0 0;color:var(--p-muted);font-size:12.5px;line-height:1.75}.portal-card-heading>a{color:var(--p-red);font-size:12.5px;font-weight:800;text-decoration:none}
.portal-eyebrow{display:block;color:var(--p-muted);font-size:11.5px;font-weight:800;letter-spacing:0}

/* Dashboard header */
.portal-dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:18px;padding:4px 2px 2px}
.portal-dashboard-head h1{margin:4px 0 5px;font-size:clamp(22px,2.2vw,30px);line-height:1.45;letter-spacing:-.02em}.portal-dashboard-head p{max-width:700px;margin:0;color:var(--p-muted);font-size:13px;line-height:1.8}
.portal-dashboard-actions{display:flex;gap:9px;flex:0 0 auto}.portal-button{min-height:44px;border-radius:10px;padding-inline:15px;font-size:13px;font-weight:800}.portal-button--primary{box-shadow:none}

/* Finance KPIs */
.portal-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.portal-kpi-card{min-width:0;padding:17px 18px;border:1px solid var(--p-line);border-radius:14px;background:#fff;box-shadow:var(--p-shadow-sm)}
.portal-kpi-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#657283;font-size:12.5px;font-weight:800}.portal-kpi-card__head i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f1f4f7;color:var(--p-navy);font-size:14px}
.portal-kpi-card strong{display:block;margin-top:13px;color:#172231;font-size:20px;line-height:1.35;font-weight:900;font-variant-numeric:tabular-nums}.portal-kpi-card strong small{font-size:10.5px;color:#8390a0;font-weight:700}.portal-kpi-card p{margin:5px 0 0;color:#8793a1;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-kpi-card--success .portal-kpi-card__head i{background:var(--p-green-soft);color:var(--p-green)}.portal-kpi-card--warning .portal-kpi-card__head i{background:var(--p-amber-soft);color:var(--p-amber)}.portal-kpi-card--neutral .portal-kpi-card__head i{background:var(--p-red-soft);color:var(--p-red)}

/* Main dashboard composition */
.portal-dashboard-grid-v4{display:grid;grid-template-columns:minmax(0,2fr) minmax(290px,.86fr);gap:14px;align-items:stretch;margin-bottom:14px}
.portal-finance-chart-card,.portal-finance-status-card{margin:0;max-width:none}.portal-finance-chart-card{padding-bottom:16px}
.portal-chart-summary{display:grid;justify-items:end;gap:2px;white-space:nowrap}.portal-chart-summary>span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:900}.portal-chart-summary>span.is-positive{color:var(--p-green)}.portal-chart-summary>span.is-negative{color:var(--p-red)}.portal-chart-summary small{color:#8a96a4;font-size:10.5px}
.portal-chart-legend{display:flex;align-items:center;gap:18px;margin:0 0 8px;color:#647184;font-size:12px;font-weight:750}.portal-chart-legend span{display:flex;align-items:center;gap:7px}.portal-chart-legend i{width:11px;height:11px;border-radius:3px;background:var(--p-navy)}.portal-chart-legend i.is-sales{background:var(--p-navy)}.portal-chart-legend i.is-cost,.portal-chart-legend i.is-purchase{background:var(--p-red)}
.portal-chart{min-height:0}.portal-chart--bars{height:300px;overflow:hidden}.portal-chart--bars svg{width:100%;height:100%;min-width:0;min-height:0}.portal-chart-grid{stroke:#e8edf3;stroke-width:1}.portal-chart-y,.portal-chart-x{fill:#7b8999;font:11px var(--p-font)}.portal-chart-value{fill:#556273;font:10px var(--p-font);font-weight:800}.portal-chart-bar{transition:opacity .18s ease}.portal-chart-bar:hover{opacity:.78}.portal-chart-bar.is-sales{fill:var(--p-navy)}.portal-chart-bar.is-cost{fill:var(--p-red)}.portal-chart-line{fill:none!important}.portal-chart-empty{height:250px;display:grid;place-items:center;align-content:center;gap:7px;color:#8995a4;text-align:center}.portal-chart-empty i{font-size:25px;color:#b4bec9}.portal-chart-empty b{font-size:13px;color:#536172}.portal-chart-empty span{font-size:11.5px}
.portal-chart-data{margin-top:8px;border-top:1px solid #edf0f4;padding-top:9px}.portal-chart-data summary{width:max-content;color:#6a7788;font-size:11.5px;font-weight:800;cursor:pointer}.portal-chart-data .portal-table-wrap{margin-top:10px}
.portal-finance-net{padding:16px;border:1px solid #d9ebe1;border-radius:13px;background:#f4fbf7}.portal-finance-net.is-negative{border-color:#f1d1d3;background:#fff6f6}.portal-finance-net span,.portal-finance-net strong{display:block}.portal-finance-net span{color:#657485;font-size:11.5px}.portal-finance-net strong{margin-top:7px;color:var(--p-green);font-size:20px;font-variant-numeric:tabular-nums}.portal-finance-net.is-negative strong{color:var(--p-red)}.portal-finance-net strong small{font-size:10.5px;color:#7d8996}
.portal-invoice-status-list{display:grid;gap:2px;margin-top:12px}.portal-invoice-status-list>div{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px;border-bottom:1px solid #edf0f4}.portal-invoice-status-list>div:last-child{border-bottom:0}.portal-invoice-status-list span{display:flex;align-items:center;gap:8px;color:#566474;font-size:12.5px}.portal-invoice-status-list span i{width:8px;height:8px;border-radius:50%;background:#a9b3bf}.portal-invoice-status-list i.is-paid{background:var(--p-green)}.portal-invoice-status-list i.is-issued{background:#d29935}.portal-invoice-status-list i.is-draft{background:#8d98a6}.portal-invoice-status-list i.is-cancelled{background:var(--p-red)}.portal-invoice-status-list b{font-size:13px;font-variant-numeric:tabular-nums}
.portal-ops-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.portal-ops-strip a{display:grid;gap:1px;padding:11px;border:1px solid var(--p-line);border-radius:11px;color:inherit;text-decoration:none;background:#fafbfc}.portal-ops-strip b{font-size:18px}.portal-ops-strip span{font-size:11.5px;font-weight:800}.portal-ops-strip small{color:#8b96a4;font-size:10px}

.portal-dashboard-lists{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.portal-dashboard-lists .portal-card{margin:0}.portal-list--finance>a,.portal-list--finance>.portal-static-row{min-height:58px;padding:9px 3px}.portal-list--finance b{font-size:12.5px}.portal-list--finance small{font-size:10.8px}.portal-list-amount{text-align:end;white-space:nowrap}.portal-list-amount b{font-size:13px;color:#293646}.portal-list-amount small{margin-top:1px!important}
.portal-quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portal-quick-actions>a{min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--p-line);border-radius:13px;background:#fff;color:inherit;text-decoration:none;box-shadow:var(--p-shadow-sm);transition:border-color .18s ease,transform .18s ease}.portal-quick-actions>a:hover{border-color:#cbd4df;transform:translateY(-1px)}.portal-quick-actions>a>i:first-child{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#f2f5f8;color:var(--p-navy)}.portal-quick-actions>a>i:last-child{color:#9ba6b3;font-size:11px}.portal-quick-actions b,.portal-quick-actions small{display:block}.portal-quick-actions b{font-size:12.5px}.portal-quick-actions small{margin-top:3px;color:#8390a0;font-size:10.5px}

/* Tables: finance/operations readability */
.portal-table-wrap table{min-width:640px}.portal-table-wrap th,.portal-table-wrap td{padding:12px 11px;font-size:13px}.portal-table-wrap th{color:#6c7888;font-size:11.5px;letter-spacing:0}.portal-table-sub{font-size:11px}.portal-status,.portal-role-badge{padding:5px 9px;font-size:11px}.portal-table-action{font-size:12px}.portal-list b{font-size:12.5px}.portal-list small{font-size:11px}.portal-list em{font-size:11.5px}

/* Forms */
.portal-form{gap:15px}.portal-form label,.portal-form-grid label,.portal-field-label{gap:7px;color:#445161;font-size:13px;font-weight:800}.portal-form input,.portal-form select,.portal-form textarea,.portal-form-grid input,.portal-form-grid select,.portal-form-grid textarea,.portal-product-picker select,.portal-invoice-toolbar select{min-height:46px;border-color:var(--p-line-strong);border-radius:10px;font-size:14px}.portal-form textarea,.portal-form-grid textarea{line-height:1.7}.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus,.portal-form-grid input:focus,.portal-form-grid select:focus,.portal-form-grid textarea:focus{box-shadow:0 0 0 3px rgba(47,111,159,.10);border-color:#6d9fc4}

/* Modal sizing and hierarchy */
.portal-dialog{width:min(720px,calc(100vw - 32px));max-height:min(86dvh,820px);border:1px solid #dfe4ea;border-radius:18px;box-shadow:var(--p-shadow-dialog);overflow:hidden}.portal-dialog--compact{width:min(540px,calc(100vw - 32px))}.portal-dialog--wide{width:min(940px,calc(100vw - 32px))}.portal-dialog::backdrop{background:rgba(17,27,40,.52);backdrop-filter:blur(2px)}
.portal-dialog__head{min-height:68px;padding:14px 18px;border-bottom:1px solid var(--p-line);background:#fff}.portal-dialog__head h2{margin:2px 0 0;font-size:18px;line-height:1.4}.portal-dialog__head small{font-size:11.5px;color:#788596}.portal-dialog__head>button{width:44px;height:44px;border-radius:11px;font-size:16px}.portal-dialog__body{padding:18px 20px 20px;overflow:auto;font-size:14px}.portal-dialog-actions,.portal-dirty-actions{gap:8px;margin-top:20px;padding-top:14px}.portal-modal-tabs{top:68px;gap:4px;padding:7px 12px;background:#f6f8fa}.portal-modal-tabs button{min-height:42px;padding:0 13px;font-size:12px;border-radius:9px}.portal-modal-tabs b{min-width:20px;height:20px;font-size:10px}.portal-modal-activity-grid>div,.portal-security-actions>div{padding:15px;border-radius:12px}.portal-modal-activity-grid h3,.portal-security-actions h3{font-size:13px}.portal-security-actions p{font-size:12px}.portal-inline-status label{font-size:12.5px}.portal-invoice-modal-summary span{font-size:11px}.portal-invoice-modal-summary b{font-size:13px}

/* Profile and normal page centering */
.portal-profile-card{width:min(100%,880px);max-width:880px;margin-inline:auto!important}.portal-section-head{max-width:1160px}.portal-users-card{max-width:1160px;margin-inline:auto}.portal-two-col,.portal-metrics,.portal-role-summary-grid,.portal-catalog-family-grid{max-width:1160px}

@media (prefers-reduced-motion:reduce){.portal-app *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:1050px){.portal-kpi-grid{grid-template-columns:1fr 1fr}.portal-dashboard-grid-v4{grid-template-columns:1fr}.portal-finance-status-card{display:grid;grid-template-columns:1fr 1fr;gap:14px}.portal-finance-status-card>header{grid-column:1/-1;margin-bottom:0}.portal-ops-strip{grid-column:1/-1}.portal-quick-actions{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.portal-layout{grid-template-columns:1fr}.portal-content{width:min(100% - 24px,760px);padding:20px 0 38px}.portal-dashboard-head{align-items:flex-start;flex-direction:column;gap:14px}.portal-dashboard-actions{width:100%}.portal-dashboard-actions .portal-button{flex:1}.portal-dashboard-lists{grid-template-columns:1fr}.portal-finance-status-card{grid-template-columns:1fr 1fr}.portal-chart--bars{height:270px}.portal-chart--bars svg{min-width:0}.portal-quick-actions{grid-template-columns:1fr}.portal-dialog{width:min(720px,calc(100vw - 20px));max-height:calc(100dvh - 20px)}.portal-dialog--wide,.portal-dialog--compact{width:min(720px,calc(100vw - 20px))}}
@media(max-width:560px){.portal-app{font-size:16px}.portal-app input,.portal-app select,.portal-app textarea,.portal-app button{font-size:16px}.portal-topbar{min-height:60px}.portal-content{width:calc(100% - 16px);padding-top:14px}.portal-dashboard-head{padding:2px 3px}.portal-dashboard-head h1{font-size:23px}.portal-dashboard-head p{font-size:13px}.portal-dashboard-actions{display:grid;grid-template-columns:1fr}.portal-kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.portal-kpi-card{padding:14px}.portal-kpi-card__head{font-size:11.5px}.portal-kpi-card__head i{width:31px;height:31px}.portal-kpi-card strong{font-size:17px}.portal-kpi-card p{font-size:10.5px}.portal-finance-chart-card,.portal-finance-status-card,.portal-dashboard-lists .portal-card{padding:15px}.portal-card-heading{align-items:flex-start;flex-direction:column;gap:8px}.portal-card-heading h2{font-size:17px}.portal-chart-summary{justify-items:start}.portal-chart--bars{height:260px}.portal-chart-y,.portal-chart-x{font-size:10px}.portal-chart-value{display:none}.portal-finance-status-card{display:block}.portal-finance-net{margin-bottom:8px}.portal-ops-strip{grid-template-columns:1fr 1fr}.portal-table-wrap th,.portal-table-wrap td{font-size:12.5px}.portal-dialog,.portal-dialog--wide,.portal-dialog--compact{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:16px}.portal-dialog__head{min-height:64px;padding:10px 12px}.portal-dialog__head h2{font-size:17px}.portal-dialog__body{padding:14px}.portal-modal-tabs{top:64px}.portal-modal-tabs button{min-height:44px;font-size:12px}.portal-button{min-height:46px}.portal-quick-actions>a{min-height:68px}.portal-profile-card{width:100%}}
@media(max-width:390px){.portal-kpi-grid{grid-template-columns:1fr}.portal-ops-strip{grid-template-columns:1fr}.portal-kpi-card p{white-space:normal}.portal-chart--bars{height:240px}}

/* ==========================================================================\n   Portal V5 — profile, role, ticket, invoice and catalog system polish\n   ========================================================================== */
.portal-topbar{justify-content:flex-start;min-height:66px;padding-inline:clamp(16px,3vw,32px)}.portal-topbar__title{display:grid;gap:2px}.portal-topbar__title strong{font-size:15px}.portal-topbar__title small{font-size:11px}.portal-topbar-actions,.portal-topbar-profile,.portal-topbar-icon{display:none!important}
.portal-avatar{overflow:hidden;background:#eef2f6;color:#5b6775;font-size:17px}.portal-avatar img,.portal-profile-avatar img,.portal-avatar-preview img{width:100%;height:100%;object-fit:cover;display:block}.portal-user-card .portal-avatar{background:rgba(255,255,255,.09);color:#fff}.portal-avatar--modal{width:48px;height:48px;border-radius:14px}.portal-sidebar__brand span{font-family:Dodger,Arial,sans-serif;letter-spacing:.03em}

/* Profile */
.portal-profile-hero{width:min(100%,1040px);margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid var(--p-line);border-radius:18px;background:linear-gradient(135deg,#fff 0%,#fbfcfd 58%,#fff5f5 100%);box-shadow:var(--p-shadow-sm)}.portal-profile-identity{display:flex;align-items:center;gap:16px;min-width:0}.portal-profile-avatar-wrap{position:relative;flex:0 0 auto}.portal-profile-avatar{width:76px;height:76px;display:grid;place-items:center;overflow:hidden;border:4px solid #fff;border-radius:22px;background:#eef2f6;color:#64748b;font-size:28px;box-shadow:0 8px 24px rgba(25,35,48,.1)}.portal-profile-online{position:absolute;inset:auto auto 1px 1px;width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#22a06b}.portal-profile-identity h1{margin:5px 0 4px;font-size:24px}.portal-profile-identity p{margin:0;color:var(--p-muted);font-size:13px}.portal-profile-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.portal-profile-badges span,.portal-role-pills span,.portal-readonly-roles span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid color-mix(in srgb,var(--role-color) 22%,#e7ebef);border-radius:999px;background:color-mix(in srgb,var(--role-color) 8%,white);color:var(--role-color);font-size:11px;font-weight:850}.portal-profile-layout{width:min(100%,1040px);margin-inline:auto;display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}.portal-avatar-card{position:sticky;top:84px;text-align:center}.portal-avatar-card>header{text-align:start}.portal-avatar-preview{width:150px;height:150px;margin:6px auto 14px;display:grid;place-items:center;overflow:hidden;border:1px solid #dfe5eb;border-radius:32px;background:linear-gradient(145deg,#f5f7f9,#e9edf1);color:#7b8795;font-size:52px}.portal-avatar-card>p{margin:0 0 14px;color:#7c8795;font-size:11.5px;line-height:1.9}.portal-upload-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px;margin:12px 0}.portal-upload-progress>div{height:7px;overflow:hidden;border-radius:999px;background:#edf1f4}.portal-upload-progress span{display:block;width:0;height:100%;border-radius:inherit;background:var(--p-red);transition:width .15s ease}.portal-upload-progress b{min-width:38px;font-size:11px}.portal-upload-message{min-height:20px;margin:5px 0 8px!important;color:#536172!important}.portal-profile-form-card{width:100%!important;max-width:none!important}.portal-form-grid--profile{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Ticket inbox */
.portal-ticket-hero{max-width:1160px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 30px;border:1px solid #e3e8ed;border-radius:20px;background:radial-gradient(circle at 10% 0%,rgba(201,47,53,.09),transparent 28%),linear-gradient(135deg,#fff,#f8fafc);box-shadow:var(--p-shadow-sm)}.portal-ticket-hero h1{margin:7px 0;font-size:26px}.portal-ticket-hero p{max-width:680px;margin:0;color:var(--p-muted);font-size:13px;line-height:1.9}.portal-ticket-inbox{max-width:1160px}.portal-ticket-list{display:grid}.portal-ticket-list>a{display:grid;grid-template-columns:46px minmax(0,1fr) auto 18px;align-items:center;gap:12px;min-height:74px;padding:10px 4px;border-bottom:1px solid #edf0f3;color:inherit;text-decoration:none;transition:background .16s ease}.portal-ticket-list>a:hover{background:#fafbfc}.portal-ticket-list__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#f1f4f7;color:#566475}.portal-ticket-list__body b,.portal-ticket-list__body small{display:block}.portal-ticket-list__body b{font-size:13px}.portal-ticket-list__body small{margin-top:5px;color:#8893a0;font-size:11px}.portal-ticket-list>a>i{color:#a1aab5;font-size:11px}.portal-empty-state{min-height:220px;display:grid;place-items:center;align-content:center;gap:7px;color:#8995a3}.portal-empty-state>i{font-size:30px}.portal-empty-state b{font-size:14px}.portal-empty-state span{font-size:11px}

/* Roles */
.portal-role-page-head{align-items:center}.portal-role-grid-v5{max-width:1160px;margin-inline:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-role-card-v5{position:relative;min-height:245px;display:flex;flex-direction:column;padding:20px;border:1px solid #e0e5eb;border-radius:18px;background:#fff;box-shadow:var(--p-shadow-sm);overflow:hidden}.portal-role-card-v5:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--role-color)}.portal-role-card-v5__top{display:flex;align-items:flex-start;justify-content:space-between}.portal-role-card-v5__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--role-color) 11%,white);color:var(--role-color);font-size:20px}.portal-role-lock{display:inline-flex;align-items:center;gap:5px;color:#7d8793;font-size:10px}.portal-role-card-v5__body{margin-top:18px}.portal-role-card-v5__body h2{margin:0 0 3px;font-size:17px}.portal-role-card-v5__body>small{color:#8a95a2;font:11px Arial,sans-serif}.portal-role-card-v5__stats{display:flex;gap:8px;margin-top:13px}.portal-role-card-v5__stats span{padding:5px 8px;border-radius:8px;background:#f5f7f9;color:#657181;font-size:10.5px}.portal-role-permission-mini{display:flex;gap:6px;margin-top:12px}.portal-role-permission-mini i{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--role-color) 8%,white);color:var(--role-color);font-size:11px}.portal-role-card-v5__action{margin-top:auto;min-height:42px;border:0;border-radius:10px;background:#f5f7f9;color:#4f5d6c;font:800 12px var(--p-font);cursor:pointer}.portal-role-card-v5__action i{margin-inline-end:6px}.portal-dialog-role-title{display:flex!important;align-items:center!important;gap:10px}.portal-dialog-role-title>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--role-color) 10%,white);color:var(--role-color)}.portal-role-editor-head{display:grid;grid-template-columns:1.2fr 1fr 120px;gap:12px}.portal-role-editor-head label{display:grid;gap:7px;font-size:12px;font-weight:800}.portal-color-field input[type=color]{padding:5px;cursor:pointer}.portal-role-icon-field,.portal-permission-field{margin:18px 0 0;padding:16px;border:1px solid #e4e8ed;border-radius:14px}.portal-role-icon-field legend,.portal-permission-field legend{padding:0 7px;color:#596675;font-size:12px;font-weight:900}.portal-role-icon-picker{display:grid;grid-template-columns:repeat(10,1fr);gap:7px}.portal-role-icon-picker label{position:relative}.portal-role-icon-picker input{position:absolute;opacity:0;pointer-events:none}.portal-role-icon-picker span{height:44px;display:grid;place-items:center;border:1px solid #e2e6eb;border-radius:10px;background:#fafbfc;color:#647181;cursor:pointer}.portal-role-icon-picker input:checked+span{border-color:var(--p-red);background:#fff1f2;color:var(--p-red);box-shadow:0 0 0 2px rgba(201,47,53,.08)}.portal-role-icon-picker input:disabled+span{opacity:.55;cursor:not-allowed}.portal-permission-grid-v5{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portal-permission-option{position:relative}.portal-permission-option>input{position:absolute;opacity:0}.portal-permission-option>span{min-height:72px;display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:11px;border:1px solid #e2e7ec;border-radius:12px;background:#fafbfc;cursor:pointer}.portal-permission-option i{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eef2f5;color:#637080}.portal-permission-option b{font-size:12px}.portal-permission-option small{color:#8a95a2;font-size:10px}.portal-permission-option>input:checked+span{border-color:#bfd4c8;background:#f2faf5}.portal-permission-option>input:checked+span i{background:#dff2e6;color:#28704a}.portal-permission-option>input:disabled+span{opacity:.62;cursor:not-allowed}

/* User role selection */
.portal-role-pills{display:flex;flex-wrap:wrap;gap:4px}.portal-role-pills span{padding:4px 7px;font-size:9.5px}.portal-dialog-user>div>span{display:block;margin-top:3px;color:#8a95a2;font-size:10.5px}.portal-modal-section-title{display:flex;align-items:center;gap:11px;margin-bottom:16px;padding-bottom:13px;border-bottom:1px solid #edf0f3}.portal-modal-section-title>i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#f1f4f7;color:#5f6d7d}.portal-modal-section-title h3,.portal-modal-section-title p{margin:0}.portal-modal-section-title h3{font-size:14px}.portal-modal-section-title p{margin-top:3px;color:#8994a0;font-size:10.5px}.portal-user-role-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.portal-user-role-selector label{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 26px;align-items:center;gap:10px;min-height:70px;padding:10px 12px;border:1px solid #e2e7ec;border-radius:13px;background:#fafbfc;cursor:pointer}.portal-user-role-selector input{position:absolute;opacity:0}.portal-user-role-selector__icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--role-color) 10%,white);color:var(--role-color)}.portal-user-role-selector__copy b,.portal-user-role-selector__copy small{display:block}.portal-user-role-selector__copy b{font-size:12px}.portal-user-role-selector__copy small{margin-top:3px;color:#8a95a2;font-size:9.5px}.portal-user-role-selector__check{width:23px;height:23px;display:grid;place-items:center;border:1px solid #d9e0e7;border-radius:7px;color:transparent}.portal-user-role-selector input:checked~.portal-user-role-selector__check{border-color:var(--role-color);background:var(--role-color);color:#fff}.portal-user-role-selector label:has(input:checked){border-color:color-mix(in srgb,var(--role-color) 42%,#dde3e9);background:color-mix(in srgb,var(--role-color) 5%,white)}.portal-user-role-selector label:has(input:disabled){cursor:not-allowed;opacity:.68}.portal-security-icon{width:42px;height:42px;display:grid!important;place-items:center;border-radius:12px;background:#f2f5f7;color:#667383;margin-bottom:10px}.portal-security-actions .is-danger .portal-security-icon{background:#fff0f1;color:#a3282e}

/* Catalog vertical family cards */
.portal-catalog-stack{max-width:980px;margin-inline:auto;display:grid;gap:18px}.portal-catalog-card-v5{padding:0;overflow:hidden}.portal-catalog-card-v5>figure{height:270px;margin:0;display:grid;place-items:center;border-bottom:1px solid #e6eaee;background:linear-gradient(145deg,#f8fafb,#eef2f5)}.portal-catalog-card-v5>figure img{width:100%;height:100%;object-fit:contain;padding:20px}.portal-catalog-card-v5__content{padding:20px}.portal-catalog-card-v5__content>header small{color:var(--p-red);font:900 10px Arial,sans-serif;letter-spacing:.08em}.portal-catalog-card-v5__content>header h2{margin:5px 0 17px;font-size:19px}.portal-catalog-model-list{display:grid;gap:13px}.portal-catalog-model-list>section{padding:13px;border:1px solid #e4e8ed;border-radius:13px;background:#fafbfc}.portal-catalog-model-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.portal-catalog-model-title b{font-size:12px}.portal-catalog-model-title small{display:block;margin-top:2px;color:#8893a0;font-size:10.5px}.portal-catalog-link-list{display:grid;gap:6px}.portal-catalog-link-list>a{min-height:52px;display:grid;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:7px 9px;border:1px solid #e5e9ed;border-radius:10px;background:#fff;color:inherit;text-decoration:none}.portal-catalog-link-list>a:hover{border-color:#ccd5dd}.portal-language-badge{width:36px;height:34px;display:grid;place-items:center;border-radius:8px;background:#fff0f1;color:var(--p-red);font:900 10px Arial,sans-serif}.portal-catalog-link-list b,.portal-catalog-link-list small{display:block}.portal-catalog-link-list b{font-size:11.5px}.portal-catalog-link-list small{margin-top:2px;color:#8a95a2;font-size:9.5px}.portal-catalog-link-list>a>i{color:#9aa5b1;font-size:11px}

/* Invoice margin calculator and document modes */
.portal-invoice-type-card{max-width:1160px}.portal-invoice-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.portal-choice-card{position:relative}.portal-choice-card>input{position:absolute;opacity:0}.portal-choice-card>span{min-height:84px;display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:10px;padding:13px;border:1px solid #dfe5eb;border-radius:13px;background:#fafbfc;cursor:pointer}.portal-choice-card i{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eef2f5;color:#637181}.portal-choice-card b{font-size:13px}.portal-choice-card small{color:#85919e;font-size:10.5px}.portal-choice-card>input:checked+span{border-color:#e4b5b8;background:#fff6f6;box-shadow:0 0 0 2px rgba(201,47,53,.06)}.portal-choice-card>input:checked+span i{background:#ffe7e8;color:var(--p-red)}.portal-invoice-language{width:min(100%,330px);display:grid;gap:6px;margin-top:12px;font-size:12px;font-weight:850}.portal-invoice-language select{min-height:44px;border:1px solid #dce2e8;border-radius:10px;background:#fff;padding:8px 10px}.portal-margin-help{display:flex;align-items:flex-start;gap:9px;margin:0 0 13px;padding:10px 12px;border:1px solid #dce7f0;border-radius:11px;background:#f6fafd;color:#566675;font-size:10.8px;line-height:1.8}.portal-margin-help i{margin-top:3px;color:#2f6f9f}.portal-invoice-item--margin{grid-template-columns:minmax(180px,1.7fr) 78px 130px 105px 135px minmax(150px,1fr) 42px}.portal-invoice-item--edit{grid-template-columns:minmax(170px,1.6fr) 72px 120px 90px 120px 42px}.portal-line-final{min-height:43px;display:flex;align-items:baseline;justify-content:center;gap:4px;flex-wrap:wrap;padding:7px 8px;border:1px solid #d8e5dd;border-radius:9px;background:#f4faf6;text-align:center}.portal-line-final span{width:100%;color:#748177;font-size:9px}.portal-line-final b{color:#247047;font-size:12px}.portal-line-final small{color:#7a887f;font-size:8.5px}.portal-invoice-kind{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:8px;background:#eef3f6;color:#5c6978;font-size:10px;font-weight:850}.portal-invoice-kind--internal{background:#eef1ff;color:#4e5ca5}.portal-invoice-edit-items{display:grid;gap:8px;margin:14px 0}.portal-invoice-edit-totals{margin-top:13px}.portal-total-box--compact{margin-top:13px;padding:12px}.portal-invoice-delete{margin-top:18px;padding-top:15px;border-top:1px solid #f0dfe0}.portal-print-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portal-print-options a{min-height:105px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;padding:14px;border:1px solid #e1e6eb;border-radius:13px;color:inherit;text-decoration:none;background:#fafbfc}.portal-print-options>a>i{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eef2f5;color:#5c6b7a}.portal-print-options b,.portal-print-options small{display:block}.portal-print-options b{font-size:12px}.portal-print-options small{margin-top:5px;color:#8994a0;font-size:9.5px;line-height:1.6}.invoice-internal-badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:7px 10px;border-radius:8px;background:#eef1ff;color:#4f5ca5;font-size:10px;font-weight:900}.invoice-sheet--en{font-family:Arial,sans-serif}.invoice-sheet--en .invoice-meta{text-align:right}.invoice-sheet--internal{border-top:4px solid #4f5ca5}

@media(max-width:1050px){.portal-role-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-profile-layout{grid-template-columns:260px 1fr}.portal-role-icon-picker{grid-template-columns:repeat(5,1fr)}.portal-invoice-item--margin{grid-template-columns:1.5fr 78px 120px 100px 125px 42px}.portal-invoice-item--margin .portal-item-url{grid-column:1/-2}.portal-invoice-item--edit{grid-template-columns:1.5fr 72px 120px 90px 120px 42px}.portal-print-options{grid-template-columns:1fr 1fr}.portal-print-options a:last-child{grid-column:1/-1}}
@media(max-width:820px){.portal-topbar{min-height:60px}.portal-profile-hero{align-items:flex-start;flex-direction:column}.portal-profile-badges{justify-content:flex-start}.portal-profile-layout{grid-template-columns:1fr}.portal-avatar-card{position:static}.portal-ticket-hero{align-items:flex-start;flex-direction:column;padding:22px}.portal-ticket-hero .portal-button{width:100%}.portal-role-grid-v5{grid-template-columns:1fr}.portal-role-editor-head{grid-template-columns:1fr 1fr}.portal-color-field{grid-column:1/-1}.portal-permission-grid-v5,.portal-user-role-selector{grid-template-columns:1fr}.portal-catalog-card-v5>figure{height:230px}.portal-invoice-type-grid{grid-template-columns:1fr}.portal-invoice-item--margin,.portal-invoice-item--edit{grid-template-columns:1fr 1fr}.portal-invoice-item--margin .portal-item-title,.portal-invoice-item--edit .portal-item-title,.portal-invoice-item--margin .portal-item-url{grid-column:1/-1}.portal-line-final{min-height:48px}.portal-invoice-item--margin .portal-item-remove,.portal-invoice-item--edit .portal-item-remove{grid-column:2;justify-self:end;width:44px}.portal-print-options{grid-template-columns:1fr}.portal-print-options a:last-child{grid-column:auto}}
@media(max-width:560px){.portal-content{width:calc(100% - 16px)}.portal-profile-hero{padding:17px}.portal-profile-avatar{width:64px;height:64px;border-radius:19px;font-size:23px}.portal-profile-identity{align-items:flex-start}.portal-profile-identity h1{font-size:20px}.portal-profile-identity p{font-size:11px;overflow-wrap:anywhere}.portal-profile-badges{width:100%}.portal-avatar-card,.portal-profile-form-card{padding:16px}.portal-avatar-preview{width:128px;height:128px;border-radius:28px}.portal-form-grid--profile{grid-template-columns:1fr}.portal-ticket-hero{padding:18px}.portal-ticket-hero h1{font-size:21px}.portal-ticket-list>a{grid-template-columns:38px minmax(0,1fr) auto;padding:10px 0}.portal-ticket-list__icon{width:36px;height:36px}.portal-ticket-list>a>i{display:none}.portal-ticket-list .portal-status{font-size:9px}.portal-role-card-v5{min-height:220px;padding:17px}.portal-role-editor-head{grid-template-columns:1fr}.portal-color-field{grid-column:auto}.portal-role-icon-picker{grid-template-columns:repeat(5,1fr)}.portal-permission-grid-v5{grid-template-columns:1fr}.portal-dialog-role-title>span{display:none}.portal-catalog-stack{gap:12px}.portal-catalog-card-v5>figure{height:190px}.portal-catalog-card-v5__content{padding:14px}.portal-catalog-card-v5__content>header h2{font-size:16px}.portal-catalog-model-list>section{padding:10px}.portal-catalog-link-list>a{grid-template-columns:36px 1fr 14px}.portal-invoice-item--margin,.portal-invoice-item--edit{grid-template-columns:1fr}.portal-invoice-item--margin .portal-item-title,.portal-invoice-item--edit .portal-item-title,.portal-invoice-item--margin .portal-item-url{grid-column:auto}.portal-invoice-item--margin .portal-item-remove,.portal-invoice-item--edit .portal-item-remove{grid-column:auto;justify-self:stretch;width:100%}.portal-line-final{justify-content:flex-start;text-align:start}.portal-line-final span{width:auto}.portal-print-options a{min-height:88px}.portal-role-pills{max-width:160px}}
@media(max-width:390px){.portal-role-icon-picker{grid-template-columns:repeat(4,1fr)}.portal-profile-identity{gap:10px}.portal-profile-avatar{width:56px;height:56px}.portal-ticket-list__body small{font-size:9.5px}}

@media print{.invoice-sheet--internal .invoice-internal-badge{display:flex}.invoice-sheet--en{direction:ltr}.invoice-sheet--en table th,.invoice-sheet--en table td,.invoice-sheet--en .invoice-parties,.invoice-sheet--en .invoice-bottom{text-align:left}}

/* ===== Portal V6: compact finance, search/filter, catalogs and SEO ===== */
.portal-section-head--users,.portal-section-head--invoice{align-items:flex-end}.portal-section-stat{min-width:128px;display:grid;gap:2px;justify-items:center;padding:12px 16px;border:1px solid var(--p-line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(23,32,45,.05)}.portal-section-stat b{font-size:24px;line-height:1;color:var(--p-ink)}.portal-section-stat span{font-size:10px;color:var(--p-muted);font-weight:750}.portal-user-kpis,.portal-ticket-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.portal-user-kpis article,.portal-ticket-kpis article{min-height:76px;display:flex;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--p-line);border-radius:16px;background:#fff}.portal-user-kpis article>i,.portal-ticket-kpis article>i{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff0f1;color:var(--p-red);font-size:15px}.portal-user-kpis span,.portal-ticket-kpis span{display:grid;gap:1px}.portal-user-kpis b,.portal-ticket-kpis b{font-size:18px}.portal-user-kpis small,.portal-ticket-kpis small{font-size:10px;color:var(--p-muted)}
.portal-filter-bar{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(150px,.75fr) minmax(150px,.75fr) auto auto;align-items:end;gap:10px;padding:12px;margin-bottom:8px;border:1px solid #e3e8ed;border-radius:14px;background:#f8fafb}.portal-filter-bar--tickets{grid-template-columns:minmax(240px,1.6fr) repeat(3,minmax(130px,.7fr)) auto auto}.portal-filter-bar--catalog{grid-template-columns:minmax(260px,1.7fr) minmax(160px,.8fr) minmax(140px,.7fr) auto;margin:0}.portal-filter-bar label{display:grid;gap:5px;font-size:10.5px;font-weight:800;color:#5f6b78}.portal-filter-bar input,.portal-filter-bar select{min-height:42px;width:100%;padding:8px 10px;border:1px solid #dce3e9;border-radius:10px;background:#fff;color:var(--p-ink);outline:0}.portal-filter-bar input:focus,.portal-filter-bar select:focus{border-color:#c8a1a4;box-shadow:0 0 0 3px rgba(201,47,53,.07)}.portal-filter-search>div{position:relative}.portal-filter-search>div i{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:#98a3ae;font-size:12px}.portal-filter-search input{padding-inline-start:34px}.portal-filter-result{display:flex;justify-content:flex-end;padding:3px 12px 10px;color:#7a8591;font-size:10.5px}.portal-filter-result span{display:inline-flex;align-items:center;gap:6px}.portal-filter-result b{color:var(--p-ink);font-size:12px}.portal-users-card{padding:10px}.portal-users-table tbody tr[hidden]{display:none}.portal-priority{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#f2f5f7;color:#5d6976;font-size:9.5px;font-weight:850}.portal-priority--high{background:#fff4e8;color:#9c5e16}.portal-priority--urgent{background:#fff0f1;color:#a42a30}.portal-priority--low{background:#eef7f2;color:#397357}
/* invoice layout */
.portal-invoice-form--compact{max-width:1240px;margin-inline:auto;display:grid;gap:12px}.portal-invoice-intro-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:12px}.portal-invoice-form--compact .portal-card{padding:16px}.portal-card-heading--compact{margin-bottom:12px}.portal-card-heading--compact h2,.portal-card-heading--row h2{font-size:16px;margin:2px 0 3px}.portal-card-heading--compact p,.portal-card-heading--row p{margin:0;color:#7d8894;font-size:10.5px;line-height:1.7}.portal-card-heading--row{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:12px}.portal-document-controls{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(180px,.85fr);gap:12px}.portal-field-block{display:grid;gap:6px}.portal-field-caption{font-size:10.5px;font-weight:850;color:#5f6b78}.portal-field-help{font-size:9px;color:#8b96a1}.portal-segmented{display:flex;padding:3px;border:1px solid #dce3e9;border-radius:10px;background:#f6f8fa}.portal-segmented button,.portal-segmented label{flex:1}.portal-segmented button,.portal-segmented label span{min-height:34px;display:grid;place-items:center;border:0;border-radius:7px;background:transparent;color:#697581;font-size:10.5px;font-weight:850;cursor:pointer}.portal-segmented button.is-active,.portal-segmented label:has(input:checked) span{background:#fff;color:var(--p-ink);box-shadow:0 2px 8px rgba(23,32,45,.08)}.portal-segmented label input{position:absolute;opacity:0;pointer-events:none}.portal-segmented--date{margin-bottom:6px}.portal-date-control{position:relative}.portal-date-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) 42px;border:1px solid #dce3e9;border-radius:10px;background:#fff;overflow:hidden}.portal-date-input-wrap input{min-width:0;height:42px;border:0;padding:8px 11px;outline:0;background:transparent;font:750 12px/1.4 var(--p-font);direction:ltr;text-align:left}.portal-date-input-wrap button{border:0;border-inline-start:1px solid #e5e9ed;background:#fff;color:#6d7986;cursor:pointer}.portal-date-popover{position:absolute;z-index:80;inset-inline-start:0;top:calc(100% + 7px);width:min(310px,calc(100vw - 36px));padding:10px;border:1px solid #dfe5ea;border-radius:14px;background:#fff;box-shadow:0 18px 50px rgba(23,32,45,.16)}.portal-date-popover[hidden]{display:none}.portal-date-popover>header{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;margin-bottom:7px}.portal-date-popover>header b{text-align:center;font-size:12px}.portal-date-popover>header button{width:32px;height:32px;border:0;border-radius:8px;background:#f4f6f8;color:#687582;cursor:pointer}.portal-date-weekdays,.portal-date-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.portal-date-weekdays{margin-bottom:4px;color:#9aa4af;font-size:9px;text-align:center}.portal-date-days button,.portal-date-days .is-blank{height:34px;border:0;border-radius:8px;background:transparent;font-size:10.5px}.portal-date-days button{cursor:pointer;color:#34404c}.portal-date-days button:hover{background:#fff0f1;color:var(--p-red)}.portal-date-popover>footer{display:flex;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid #edf0f2}.portal-date-popover>footer button{border:0;background:transparent;color:var(--p-red);font-size:10px;font-weight:850;cursor:pointer}.portal-registered-user-compact{display:grid;gap:5px;margin-bottom:9px;font-size:10.5px;font-weight:850;color:#5f6b78}.portal-registered-user-compact select{min-height:42px;border:1px solid #dce3e9;border-radius:10px;background:#fff;padding:8px 10px}.portal-buyer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.portal-buyer-grid label{display:grid;gap:4px;font-size:9.5px;font-weight:800;color:#687480}.portal-buyer-grid input,.portal-buyer-grid select,.portal-buyer-grid textarea{width:100%;min-height:39px;border:1px solid #dfe5ea;border-radius:9px;background:#fff;padding:7px 9px;color:var(--p-ink);outline:0}.portal-buyer-grid textarea{resize:vertical}.portal-buyer-address{grid-column:span 2}.portal-product-picker--compact{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:7px;min-width:min(480px,100%)}.portal-product-picker--compact select{min-height:39px;border:1px solid #dce3e9;border-radius:9px;background:#fff;padding:6px 8px}.portal-invoice-items-head{display:grid;grid-template-columns:minmax(220px,1.75fr) 72px 120px 88px 118px minmax(140px,.9fr) 36px;gap:7px;padding:0 9px 6px;color:#8a95a0;font-size:9px;font-weight:850}.portal-invoice-items{display:grid;gap:7px}.portal-invoice-item--margin{display:grid;grid-template-columns:minmax(220px,1.75fr) 72px 120px 88px 118px minmax(140px,.9fr) 36px;gap:7px;align-items:end;padding:9px;border:1px solid #e3e8ed;border-radius:11px;background:#fbfcfd}.portal-invoice-item--margin label{display:grid;gap:4px}.portal-invoice-item--margin label>span{display:none;color:#7f8a96;font-size:9px;font-weight:800}.portal-invoice-item--margin input,.portal-invoice-item--margin textarea{width:100%;min-height:39px;border:1px solid #dce3e9;border-radius:8px;background:#fff;padding:7px 8px;outline:0}.portal-invoice-item--margin textarea{min-height:48px;resize:vertical;line-height:1.65}.portal-line-final{height:48px;min-height:48px}.portal-item-remove{width:36px;height:39px;border:0;border-radius:8px;background:#fff0f1;color:#a82c32;cursor:pointer}.portal-invoice-summary-card{display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(220px,.65fr) minmax(360px,1.2fr) auto;gap:14px;align-items:end}.portal-summary-notes h2{margin:2px 0 8px;font-size:16px}.portal-summary-notes label{display:grid;gap:4px;color:#66727e;font-size:9.5px;font-weight:800}.portal-summary-notes textarea{min-height:66px;resize:vertical;border:1px solid #dce3e9;border-radius:9px;padding:8px 9px}.portal-summary-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.portal-summary-controls label{display:grid;gap:4px;color:#66727e;font-size:9.5px;font-weight:800}.portal-money-input,.portal-percent-input{display:grid;grid-template-columns:1fr auto;align-items:center;border:1px solid #dce3e9;border-radius:9px;background:#fff;overflow:hidden}.portal-money-input input,.portal-percent-input input{min-width:0;height:40px;border:0;padding:7px 8px;outline:0}.portal-money-input small,.portal-percent-input small{padding:0 8px;color:#89949f;font-size:9px}.portal-total-box--horizontal{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:9px;border:1px solid #dfe5ea;border-radius:12px;background:#f8fafb}.portal-total-box--horizontal>span,.portal-total-box--horizontal>strong{min-width:0;display:grid;gap:2px;padding:7px 8px;border-radius:8px;background:#fff}.portal-total-box--horizontal small{font-size:8.5px;color:#87929d}.portal-total-box--horizontal b{font-size:12px}.portal-total-box--horizontal strong{background:#fff1f2;color:#8f2429}.portal-total-box--horizontal strong em{font-style:normal;font-size:8px}.portal-total-box--horizontal p{grid-column:1/-1;margin:0;padding:5px 7px;color:#687480;font-size:9px;line-height:1.7}.portal-invoice-submit{min-width:150px;height:48px}.portal-invoice-modal-summary--v6{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-invoice-modal-actions{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:12px}.portal-print-options--v6{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-print-options--v6 article{min-height:150px;display:grid;grid-template-columns:42px 1fr;gap:11px;padding:14px;border:1px solid #e1e6eb;border-radius:13px;background:#fafbfc}.portal-print-options--v6 article>i{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#eef2f5;color:#5c6b7a}.portal-print-options--v6 b,.portal-print-options--v6 small{display:block}.portal-print-options--v6 small{margin:5px 0 10px;color:#8994a0;font-size:9.5px;line-height:1.7}.portal-print-options--v6 article span{display:flex;gap:6px}.portal-print-options--v6 article a{min-height:30px;display:inline-grid;place-items:center;padding:4px 9px;border:1px solid #dce3e9;border-radius:8px;background:#fff;color:var(--p-ink);text-decoration:none;font-size:9.5px;font-weight:850}.invoice-technical-badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;padding:7px 10px;border-radius:8px;background:#eef7f2;color:#377356;font-size:10px;font-weight:900}.invoice-total-words{grid-column:1/-1}.invoice-total-words dd{font-size:11px!important;line-height:1.9}.invoice-technical-note{margin-top:16px;padding:14px;border:1px solid #dce7e1;border-radius:12px;background:#f7fbf9}.invoice-technical-note span{color:#47725b;font-size:9px;font-weight:900}.invoice-technical-note p{margin:5px 0 0;color:#647269;font-size:11px;line-height:1.8}
/* catalogs */
.portal-catalog-filter-card{padding:10px;margin-bottom:12px}.portal-catalog-grid-v6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-catalog-card-v6{padding:0;overflow:hidden}.portal-catalog-card-v6[hidden]{display:none}.portal-catalog-card-v6>figure{height:150px;margin:0;display:grid;place-items:center;border-bottom:1px solid #e6eaee;background:#f8fafb}.portal-catalog-card-v6>figure img{width:100%;height:100%;object-fit:contain;padding:12px}.portal-catalog-card-v6__body{padding:13px}.portal-catalog-card-v6__body>header{position:relative;padding-inline-end:56px;margin-bottom:10px}.portal-catalog-card-v6__body>header small{color:var(--p-red);font:900 8.5px Arial,sans-serif;letter-spacing:.08em}.portal-catalog-card-v6__body>header h2{margin:3px 0 0;font-size:14px;line-height:1.6}.portal-catalog-card-v6__body>header>span{position:absolute;inset-inline-end:0;top:2px;padding:4px 6px;border-radius:7px;background:#f1f4f6;color:#7c8792;font-size:8.5px}.portal-catalog-models-v6{display:grid;gap:8px}.portal-catalog-models-v6>section{padding-top:8px;border-top:1px solid #edf0f2}.portal-catalog-model-row{display:flex;justify-content:space-between;gap:8px;align-items:start;margin-bottom:6px}.portal-catalog-model-row b{font-size:10.5px}.portal-catalog-model-row small{display:block;margin-top:1px;color:#909aa5;font-size:8.5px;line-height:1.5}.portal-catalog-model-row>span{white-space:nowrap;color:#919ba6;font-size:8px}.portal-catalog-languages-v6{display:grid;gap:4px}.portal-catalog-languages-v6>a{min-height:42px;display:grid;grid-template-columns:30px 1fr 12px;align-items:center;gap:7px;padding:5px 6px;border:1px solid #e5e9ed;border-radius:8px;background:#fff;color:inherit;text-decoration:none}.portal-catalog-languages-v6>a:hover{border-color:#cfd7df;background:#fbfcfd}.portal-catalog-languages-v6 .portal-language-badge{width:28px;height:28px;border-radius:7px;font-size:8px}.portal-catalog-languages-v6 b{display:block;font-size:9.5px}.portal-catalog-languages-v6 small{display:block;margin-top:1px;color:#929ca7;font-size:7.8px;line-height:1.45}.portal-catalog-languages-v6>a>i{font-size:8px;color:#9ba5af}.portal-catalog-no-result{margin-top:18px}
/* SEO */
.portal-seo-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.portal-seo-kpis article{min-height:86px;display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--p-line);border-radius:16px;background:#fff}.portal-seo-kpis article>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#fff0f1;color:var(--p-red)}.portal-seo-kpis article>div{display:grid}.portal-seo-kpis small{font-size:9px;color:#7e8995}.portal-seo-kpis b{font-size:20px}.portal-seo-kpis em{font-style:normal;color:#8c96a0;font-size:9px}.portal-seo-chart-card>header{display:flex;justify-content:space-between;align-items:start}.portal-seo-chart-card header p{margin:4px 0 0;color:#84909b;font-size:9.5px}.portal-seo-layout-v6{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.65fr);gap:12px;margin-top:12px}.portal-seo-pages-card,.portal-seo-ref-card{min-width:0}.portal-seo-page-list{display:grid}.portal-seo-page-list article{display:grid;grid-template-columns:30px minmax(0,1fr) 100px;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf0f2}.portal-seo-page-list article:last-child{border-bottom:0}.portal-seo-rank{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#fff0f1;color:var(--p-red);font-size:9px;font-weight:900}.portal-seo-page-copy{min-width:0}.portal-seo-page-copy b{display:block;font-size:11px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-seo-page-copy small{display:block;margin-top:2px;color:#929ca7;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-seo-page-copy>div{height:4px;margin-top:7px;border-radius:999px;background:#eef1f3;overflow:hidden}.portal-seo-page-copy>div i{display:block;width:var(--seo-width);height:100%;border-radius:inherit;background:var(--p-red)}.portal-seo-page-stats{text-align:end}.portal-seo-page-stats b{display:block;font-size:13px}.portal-seo-page-stats span,.portal-seo-page-stats small{display:block;color:#8a95a0;font-size:8px}.portal-seo-page-stats small{margin-top:2px;white-space:nowrap}.portal-seo-ref-list{display:grid}.portal-seo-ref-list article{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #edf0f2}.portal-seo-ref-list article:last-child{border-bottom:0}.portal-seo-ref-list article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#f2f5f7;color:#697582}.portal-seo-ref-list div{min-width:0}.portal-seo-ref-list b,.portal-seo-ref-list small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-seo-ref-list b{font-size:10px}.portal-seo-ref-list small{margin-top:2px;color:#929ca7;font-size:7.5px}.portal-seo-ref-list em{font-style:normal;font-size:11px;font-weight:900}
@media(max-width:1120px){.portal-invoice-intro-grid{grid-template-columns:1fr}.portal-buyer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-invoice-summary-card{grid-template-columns:1fr 1fr}.portal-total-box--horizontal{grid-column:1/-1}.portal-invoice-submit{justify-self:end}.portal-catalog-grid-v6{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-filter-bar,.portal-filter-bar--tickets{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-filter-search{grid-column:span 2}.portal-seo-layout-v6{grid-template-columns:1fr}}
@media(max-width:820px){.portal-user-kpis,.portal-ticket-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-filter-bar,.portal-filter-bar--tickets,.portal-filter-bar--catalog{grid-template-columns:1fr 1fr}.portal-filter-search{grid-column:1/-1}.portal-buyer-grid{grid-template-columns:1fr 1fr}.portal-card-heading--row{align-items:stretch;flex-direction:column}.portal-product-picker--compact{min-width:0;width:100%}.portal-invoice-items-head{display:none}.portal-invoice-item--margin{grid-template-columns:1fr 1fr 1fr}.portal-invoice-item--margin label>span{display:block}.portal-invoice-item--margin .portal-item-title,.portal-invoice-item--margin .portal-item-url{grid-column:1/-1}.portal-line-final{height:auto;min-height:58px}.portal-invoice-item--margin .portal-item-remove{align-self:end;width:100%}.portal-invoice-summary-card{grid-template-columns:1fr}.portal-total-box--horizontal{grid-column:auto}.portal-invoice-submit{width:100%;justify-self:stretch}.portal-print-options--v6{grid-template-columns:1fr}.portal-catalog-grid-v6{grid-template-columns:1fr 1fr}.portal-seo-kpis{grid-template-columns:1fr 1fr 1fr}.portal-seo-chart-card>header{gap:10px;flex-direction:column}.portal-seo-page-list article{grid-template-columns:28px minmax(0,1fr) 78px}}
@media(max-width:580px){.portal-section-stat{min-width:100px}.portal-user-kpis,.portal-ticket-kpis{gap:7px}.portal-user-kpis article,.portal-ticket-kpis article{min-height:68px;padding:10px}.portal-filter-bar,.portal-filter-bar--tickets,.portal-filter-bar--catalog{grid-template-columns:1fr}.portal-filter-search{grid-column:auto}.portal-document-controls{grid-template-columns:1fr}.portal-buyer-grid{grid-template-columns:1fr}.portal-buyer-address{grid-column:auto}.portal-product-picker--compact{grid-template-columns:1fr 1fr}.portal-product-picker--compact select{grid-column:1/-1}.portal-invoice-item--margin{grid-template-columns:1fr 1fr}.portal-invoice-item--margin .portal-item-title,.portal-invoice-item--margin .portal-item-url{grid-column:1/-1}.portal-line-final{justify-content:flex-start;text-align:start}.portal-summary-controls{grid-template-columns:1fr 1fr}.portal-total-box--horizontal{grid-template-columns:1fr 1fr}.portal-invoice-modal-summary--v6{grid-template-columns:1fr 1fr}.portal-invoice-modal-actions{align-items:stretch;flex-direction:column}.portal-catalog-grid-v6{grid-template-columns:1fr}.portal-catalog-card-v6>figure{height:135px}.portal-seo-kpis{grid-template-columns:1fr}.portal-seo-page-list article{grid-template-columns:26px minmax(0,1fr)}.portal-seo-page-stats{grid-column:2;text-align:start;display:flex;align-items:center;gap:6px}.portal-seo-page-stats b,.portal-seo-page-stats span,.portal-seo-page-stats small{display:inline}.portal-seo-ref-card{order:2}}

/* Portal V6 refinements */
.portal-upload-progress[hidden]{display:none!important}.portal-avatar-card [data-avatar-pick]:disabled{opacity:.62;cursor:wait;transform:none!important}.portal-upload-progress{animation:portalProgressIn .18s ease both}@keyframes portalProgressIn{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}
.portal-filter-bar--account-tickets{grid-template-columns:minmax(220px,1.6fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #edf0f3}.portal-ticket-filter-empty{padding:18px!important}
@media(max-width:820px){.portal-filter-bar--account-tickets{grid-template-columns:1fr 1fr}.portal-filter-bar--account-tickets .portal-filter-search{grid-column:1/-1}}
@media(max-width:580px){.portal-filter-bar--account-tickets{grid-template-columns:1fr}.portal-filter-bar--account-tickets .portal-filter-search{grid-column:auto}}

/* Portal V7 fixes: account lists, catalog media, seller approval, resilient compact layout */
.portal-two-col--account{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.portal-two-col--account>.portal-card{width:100%;max-width:100%;overflow:hidden}
.portal-two-col--account .portal-list,.portal-two-col--account .portal-table-wrap{min-width:0;max-width:100%}
.portal-two-col--account .portal-list>a{min-width:0}.portal-two-col--account .portal-list>a>span{min-width:0}.portal-two-col--account .portal-list b,.portal-two-col--account .portal-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-section-stat--users{align-self:flex-end;min-width:118px}
.portal-account-list-card{max-width:1160px;margin-inline:auto}
.portal-filter-bar--account{display:grid;grid-template-columns:minmax(260px,1.7fr) minmax(170px,.65fr) auto;gap:10px;align-items:end;margin-bottom:10px;padding-bottom:12px;border-bottom:1px solid #edf0f3}
.portal-account-filter-empty{padding:18px!important}

/* Catalog image container intentionally has no fixed height. */
.portal-catalog-card-v6>figure{height:auto!important;margin:0;display:grid;place-items:center;border-bottom:1px solid #e6eaee;background:#f8fafb;align-items:center;justify-content:center;padding:12px;overflow:hidden}
.portal-catalog-card-v6>figure img{display:block;width:auto!important;max-width:100%;height:auto!important;max-height:172px;object-fit:contain;padding:0!important;margin:auto}

.portal-seller-auth-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.85fr);gap:10px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #edf0f3}
.portal-seller-auth-options__label{display:flex;align-items:center;gap:9px;min-width:0}.portal-seller-auth-options__label>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#f3f6f8;color:#65727f}.portal-seller-auth-options__label span{min-width:0}.portal-seller-auth-options__label b,.portal-seller-auth-options__label small{display:block}.portal-seller-auth-options__label b{font-size:11px}.portal-seller-auth-options__label small{margin-top:2px;color:#8995a1;font-size:8.8px;line-height:1.6}
.portal-seller-auth-options__choices{display:grid;grid-template-columns:1fr 1fr;gap:7px}.portal-seller-auth-options__choices label{position:relative}.portal-seller-auth-options__choices input{position:absolute;opacity:0;pointer-events:none}.portal-seller-auth-options__choices span{min-height:64px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;padding:6px 8px;border:1px solid #e2e7ec;border-radius:10px;background:#fafbfc;cursor:pointer}.portal-seller-auth-options__choices img{width:52px;height:46px;object-fit:contain}.portal-seller-auth-options__choices b{font-size:10px}.portal-seller-auth-options__choices input:checked+span{border-color:#e2a8ab;background:#fff5f5;box-shadow:0 0 0 2px rgba(201,47,53,.06)}
.invoice-sheet>footer.invoice-seller-auth{display:flex!important;align-items:flex-end;justify-content:space-between;gap:24px;margin-top:32px;padding-top:16px;border-top:1px dashed #a9b2bc}.invoice-seller-auth>div:first-child{display:grid;gap:3px}.invoice-seller-auth>div:first-child span{min-height:0!important;padding:0!important;border:0!important;text-align:start!important;color:#79848f;font-size:10px}.invoice-seller-auth>div:first-child b{font-size:12px}.invoice-seller-auth__marks{margin-inline-start:auto;display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;min-height:90px}.invoice-seller-auth__marks img{display:block;object-fit:contain}.invoice-seller-signature{width:180px;max-height:88px}.invoice-seller-stamp{width:92px;max-height:94px}

@media(max-width:820px){
  .portal-two-col--account{grid-template-columns:1fr}
  .portal-filter-bar--account{grid-template-columns:1fr 1fr}.portal-filter-bar--account .portal-filter-search{grid-column:1/-1}
  .portal-seller-auth-options{grid-template-columns:1fr}.portal-seller-auth-options__choices{max-width:420px}
  .portal-catalog-card-v6>figure img{max-height:155px}
}
@media(max-width:580px){
  .portal-filter-bar--account{grid-template-columns:1fr}.portal-filter-bar--account .portal-filter-search{grid-column:auto}
  .portal-seller-auth-options__choices{grid-template-columns:1fr 1fr}.portal-seller-auth-options__choices span{grid-template-columns:44px minmax(0,1fr)}.portal-seller-auth-options__choices img{width:42px;height:40px}
  .portal-catalog-card-v6>figure{padding:10px}.portal-catalog-card-v6>figure img{max-height:138px}
  .invoice-sheet>footer.invoice-seller-auth{align-items:flex-start;flex-direction:column}.invoice-seller-auth__marks{margin-inline-start:0;width:100%;justify-content:flex-start}.invoice-seller-signature{width:145px}.invoice-seller-stamp{width:78px}
}
@media print{.invoice-seller-auth{break-inside:avoid}.invoice-seller-auth__marks img{print-color-adjust:exact;-webkit-print-color-adjust:exact}}


/* Portal V8 — compact finance, readable SEO, wide catalogs, panel switch */
.portal-panel-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:-4px 6px 12px;padding:4px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.045)}
.portal-panel-switch a{min-height:36px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:8px;color:#9eabba;text-decoration:none;font-size:10.5px;font-weight:850}.portal-panel-switch a.is-active{background:#fff;color:#17202d;box-shadow:0 4px 12px rgba(0,0,0,.12)}.portal-panel-switch a i{font-size:11px}.portal-nav__secondary{display:none!important}

/* Searchable registered-customer combobox. */
.portal-customer-combobox{position:relative;margin-bottom:10px}.portal-customer-combobox>label{display:grid;gap:5px;color:#5f6b78;font-size:10.5px;font-weight:850}.portal-customer-search{position:relative}.portal-customer-search>i{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);color:#98a3ae}.portal-customer-search input{width:100%;min-height:42px;padding:8px 38px;border:1px solid #dce3e9;border-radius:10px;background:#fff;outline:0}.portal-customer-search input:focus{border-color:#c8a1a4;box-shadow:0 0 0 3px rgba(201,47,53,.07)}.portal-customer-search button{position:absolute;inset-inline-end:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:7px;background:#f3f5f7;color:#7e8994;cursor:pointer}.portal-customer-results{position:absolute;z-index:120;inset-inline:0;top:calc(100% + 6px);max-height:300px;overflow:auto;padding:6px;border:1px solid #dfe5ea;border-radius:13px;background:#fff;box-shadow:0 18px 50px rgba(23,32,45,.16)}.portal-customer-results[hidden]{display:none!important}.portal-customer-option{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:9px;border:0;border-bottom:1px solid #f0f2f4;background:#fff;text-align:start;cursor:pointer}.portal-customer-option:last-of-type{border-bottom:0}.portal-customer-option:hover{background:#f8fafb}.portal-customer-option>i{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#f2f5f7;color:#65727f}.portal-customer-option span{min-width:0}.portal-customer-option b,.portal-customer-option small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-customer-option b{font-size:11px}.portal-customer-option small{margin-top:2px;color:#8a95a0;font-size:9px}.portal-customer-option--manual>i{background:#fff0f1;color:var(--p-red)}.portal-customer-no-result{margin:0;padding:15px;text-align:center;color:#8b96a1;font-size:10px}

/* Invoice rows gain explicit unit and formatted monetary fields. */
.portal-invoice-items-head,.portal-invoice-item--margin{grid-template-columns:minmax(210px,1.65fr) 66px 86px 122px 82px 116px minmax(125px,.8fr) 36px!important}.portal-money-display{font-variant-numeric:tabular-nums;letter-spacing:.01em}.portal-invoice-item--margin input.portal-money-display{text-align:left}.portal-invoice-item--margin input[data-line-unit]{text-align:center}.portal-total-box--horizontal p{display:flex;align-items:center;gap:6px}.portal-total-box--horizontal p i{color:#a3adb7}
.portal-filter-bar--invoice-list{grid-template-columns:minmax(260px,1.6fr) minmax(150px,.6fr) auto;margin-bottom:8px}

/* Invoice dialog: no upper tabs; actions live in a real footer. */
.portal-invoice-dialog{width:min(980px,calc(100vw - 40px))}.portal-invoice-dialog .portal-dialog__head{padding:18px 22px}.portal-invoice-dialog .portal-dialog__head h2{margin:4px 0 2px;font-size:18px}.portal-invoice-dialog .portal-dialog__head small,.portal-invoice-dialog .portal-dialog__head span{color:#7b8793;font-size:10px}.portal-invoice-dialog .portal-dialog__body{padding:18px 22px 22px}.portal-invoice-modal-summary--v8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.portal-invoice-modal-summary--v8>div{min-height:86px;display:grid;align-content:center;gap:3px;padding:13px 15px;border:1px solid #e2e7ec;border-radius:13px;background:#fafbfc}.portal-invoice-modal-summary--v8 span{color:#7f8b96;font-size:10px;font-weight:800}.portal-invoice-modal-summary--v8 b{font-size:17px}.portal-invoice-modal-summary--v8 small{color:#939da7;font-size:9px}.portal-invoice-modal-table table{min-width:620px}.portal-invoice-modal-table th,.portal-invoice-modal-table td{font-size:11px;padding:11px 9px}.portal-dialog__footer{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 22px;border-top:1px solid #e6eaee;background:rgba(255,255,255,.97);backdrop-filter:blur(12px)}.portal-inline-status{display:flex;align-items:end;gap:8px}.portal-inline-status label{display:grid;gap:4px;color:#697581;font-size:9.5px;font-weight:850}.portal-inline-status select{min-width:145px;min-height:40px;border:1px solid #dce3e9;border-radius:9px;background:#fff;padding:6px 9px}.portal-invoice-footer-actions{display:flex;align-items:center;gap:7px}.portal-invoice-delete-inline{margin:0}.portal-invoice-print-panel{margin-top:16px;padding:16px;border:1px solid #dce3e9;border-radius:15px;background:#f8fafb}.portal-invoice-print-panel[hidden]{display:none!important}.portal-invoice-print-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.portal-invoice-print-panel>header span{color:var(--p-red);font:900 9px Arial,sans-serif;letter-spacing:.08em}.portal-invoice-print-panel>header h3{margin:3px 0;font-size:15px}.portal-invoice-print-panel>header p{margin:0;color:#818d98;font-size:10px}.portal-invoice-print-panel>header button{width:34px;height:34px;border:0;border-radius:9px;background:#fff;color:#71808d;cursor:pointer}.portal-print-options--v8{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.portal-print-options--v8 article{min-height:154px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;padding:15px;border:1px solid #dfe5ea;border-radius:13px;background:#fff}.portal-print-options--v8 article>i{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#f0f3f6;color:#5f6d7a;font-size:15px}.portal-print-options--v8 b{display:block;font-size:12.5px}.portal-print-options--v8 small{display:block;margin:5px 0 11px;color:#818d98;font-size:10px;line-height:1.75}.portal-print-options--v8 article span{display:flex;gap:6px}.portal-print-options--v8 article a{min-height:32px;display:inline-grid;place-items:center;padding:4px 10px;border:1px solid #dce3e9;border-radius:8px;background:#fff;color:#243140;text-decoration:none;font-size:10px;font-weight:850}.portal-print-options--v8 article a:hover{border-color:#d6a7aa;color:var(--p-red)}

/* Landscape A4 invoice and seller approval. */
.invoice-demo-badge,.invoice-internal-badge,.invoice-sheet.is-demo:before{display:none!important;content:none!important}.invoice-sheet--internal{border-top:1px solid var(--p-line)!important}.invoice-sheet--landscape{width:min(100%,297mm);min-height:180mm;margin-inline:auto;padding:28px 32px}.invoice-seller-auth--v8{display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;gap:28px!important;margin-top:24px!important;padding-top:16px!important}.invoice-seller-person{width:220px;display:grid!important;justify-items:center!important;gap:4px!important}.invoice-seller-person .invoice-seller-signature{width:185px;max-height:88px;object-fit:contain}.invoice-seller-copy{display:grid!important;justify-items:center!important;gap:2px!important;text-align:center!important}.invoice-seller-copy span{color:#566371!important;font-size:10px!important}.invoice-seller-copy b{font-size:12px!important}.invoice-seller-copy strong{font-size:10.5px!important;font-weight:800!important;color:#66727f}.invoice-seller-auth--v8>.invoice-seller-stamp{width:88px;max-height:94px;object-fit:contain;margin-bottom:4px}

/* One wide catalog family per row; image remains above the content but never dominates. */
.portal-catalog-grid-v6{grid-template-columns:1fr!important;max-width:1160px;margin-inline:auto;gap:14px}.portal-catalog-card-v6{width:100%;max-width:none}.portal-catalog-card-v6>figure{height:auto!important;min-height:0!important;margin:0!important;display:grid!important;place-items:center!important;border-bottom:1px solid #e6eaee!important;background:#f8fafb!important;align-items:center!important;justify-content:center!important;padding:10px 14px!important;overflow:hidden}.portal-catalog-card-v6>figure img{display:block;width:auto!important;max-width:min(100%,760px)!important;height:auto!important;max-height:150px!important;object-fit:contain!important;padding:0!important;margin:auto!important}.portal-catalog-card-v6__body{padding:16px 18px}.portal-catalog-card-v6__body>header h2{font-size:16px}.portal-catalog-models-v6{gap:10px}.portal-catalog-languages-v6>a{min-height:46px;padding:7px 9px}.portal-catalog-languages-v6 b{font-size:10.5px}.portal-catalog-languages-v6 small{font-size:8.8px}

/* SEO: balanced cards and readable page names; no raw mojibake walls. */
.portal-seo-kpis--v8 article{min-height:94px}.portal-seo-kpis--v8 b{font-size:24px}.portal-seo-insights-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(300px,.75fr);gap:14px;margin-top:14px;align-items:start}.portal-seo-pages-card--v8,.portal-seo-ref-card--v8{padding:20px}.portal-seo-pages-card--v8>header h2,.portal-seo-ref-card--v8>header h2{font-size:17px}.portal-seo-page-list--v8 article{display:grid;grid-template-columns:34px minmax(0,1fr) 92px;align-items:center;gap:12px;padding:13px 0}.portal-seo-page-list--v8 .portal-seo-rank{width:32px;height:32px;font-size:10px}.portal-seo-page-list--v8 .portal-seo-page-copy b{font-size:12.5px;white-space:normal;line-height:1.65}.portal-seo-page-list--v8 .portal-seo-page-copy small{margin-top:3px;font-size:9px;direction:ltr;text-align:left}.portal-seo-progress{height:5px!important;margin-top:8px!important}.portal-seo-page-list--v8 .portal-seo-page-stats b{font-size:16px}.portal-seo-page-list--v8 .portal-seo-page-stats span,.portal-seo-page-list--v8 .portal-seo-page-stats small{font-size:9px}.portal-seo-ref-list--v8 article{padding:12px 0}.portal-seo-ref-list--v8 b{font-size:11px}.portal-seo-ref-list--v8 small{font-size:8.5px}

@media(max-width:1120px){.portal-seo-insights-grid{grid-template-columns:1fr}.portal-catalog-grid-v6{max-width:100%}.portal-invoice-items-head,.portal-invoice-item--margin{grid-template-columns:minmax(190px,1.4fr) 62px 76px 110px 78px 110px minmax(110px,.7fr) 36px!important}}
@media(max-width:820px){.portal-invoice-items-head{display:none}.portal-invoice-item--margin{grid-template-columns:1fr 1fr 1fr!important}.portal-invoice-item--margin label>span{display:block}.portal-invoice-item--margin .portal-item-title,.portal-invoice-item--margin .portal-item-url{grid-column:1/-1}.portal-invoice-dialog{width:calc(100vw - 18px)}.portal-invoice-modal-summary--v8{grid-template-columns:1fr 1fr}.portal-dialog__footer{align-items:stretch;flex-direction:column}.portal-inline-status,.portal-invoice-footer-actions{width:100%;flex-wrap:wrap}.portal-inline-status{align-items:end}.portal-inline-status label{flex:1}.portal-inline-status select{width:100%}.portal-invoice-footer-actions>*{flex:1}.portal-invoice-footer-actions .portal-button{width:100%}.portal-print-options--v8{grid-template-columns:1fr}.portal-seo-insights-grid{grid-template-columns:1fr}}
@media(max-width:580px){.portal-panel-switch{margin-inline:4px}.portal-invoice-item--margin{grid-template-columns:1fr 1fr!important}.portal-invoice-item--margin .portal-item-title,.portal-invoice-item--margin .portal-item-url{grid-column:1/-1}.portal-invoice-modal-summary--v8{grid-template-columns:1fr}.portal-dialog__footer{padding:11px 12px}.portal-invoice-footer-actions{display:grid;grid-template-columns:1fr 1fr}.portal-invoice-footer-actions form{grid-column:1/-1}.portal-catalog-card-v6>figure{padding:8px!important}.portal-catalog-card-v6>figure img{max-height:120px!important}.portal-seo-page-list--v8 article{grid-template-columns:30px minmax(0,1fr)}.portal-seo-page-list--v8 .portal-seo-page-stats{grid-column:2;display:flex;gap:6px;align-items:baseline;text-align:start}.portal-seo-page-list--v8 .portal-seo-page-stats>*{display:inline}.portal-seo-kpis--v8{grid-template-columns:1fr}.portal-customer-results{max-height:250px}}
@media print{ @page{size:A4 landscape;margin:8mm}.invoice-sheet--landscape{width:100%;min-height:0;padding:0!important;border:0!important;box-shadow:none!important}.invoice-seller-auth--v8{break-inside:avoid}.invoice-demo-badge,.invoice-internal-badge{display:none!important}}

/* ===== Portal V9: portrait invoices, compact SEO, reliable customer search ===== */
.portal-customer-option[hidden]{display:none!important}
.portal-lang-flag{width:20px;height:14px;display:inline-block;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px rgba(25,35,45,.12);vertical-align:middle;flex:0 0 auto}.portal-print-options--v8 article a{display:inline-flex!important;align-items:center;gap:6px}.portal-language-button{display:inline-flex!important;align-items:center;gap:7px}.portal-button--excel{display:inline-flex;align-items:center;gap:7px;background:#eef8f1!important;color:#237244!important;border:1px solid #cfe5d6!important;text-decoration:none}.portal-button--excel:hover{background:#e5f4ea!important}

.invoice-sheet--portrait{width:min(100%,210mm);min-height:297mm;margin-inline:auto;padding:26px 28px}.invoice-sheet--landscape{width:min(100%,210mm)!important;min-height:297mm!important}.invoice-seller-auth--v8{position:relative!important;width:360px!important;min-height:178px!important;display:block!important;margin-top:20px!important;margin-inline-start:auto!important;padding-top:8px!important;border-top:1px dashed #b9c3cc!important}.invoice-seller-person{position:relative!important;width:235px!important;min-height:164px!important;margin-left:96px!important;display:block!important;text-align:center!important}.invoice-seller-signature-slot{position:relative;height:105px;width:100%}.invoice-seller-person .invoice-seller-signature{width:185px!important;max-height:88px!important;object-fit:contain!important;position:absolute!important;bottom:16px!important;left:50%!important;transform:translateX(-50%)!important}.invoice-seller-copy{display:grid!important;justify-items:center!important;gap:2px!important;text-align:center!important;margin-top:0!important}.invoice-seller-copy span{font-size:10.5px!important;color:#566371!important}.invoice-seller-copy b{font-size:13px!important}.invoice-seller-copy strong{font-size:11px!important;color:#66727f!important}.invoice-seller-auth--v8>.invoice-seller-stamp{width:88px!important;max-height:94px!important;object-fit:contain!important;margin-bottom:4px!important;position:absolute!important;bottom:2px!important}.invoice-demo-badge,.invoice-internal-badge,.invoice-sheet.is-demo:before{display:none!important;content:none!important}

.portal-seo-kpis--v9{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-seo-insights-grid--v9{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(280px,.75fr);gap:14px;align-items:start}.portal-seo-pages-card--v9,.portal-seo-ref-card--v9{padding:18px}.portal-seo-card-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:18px!important}.portal-seo-card-head h2{margin:3px 0;font-size:17px}.portal-seo-head-actions{display:grid;justify-items:end;gap:8px}.portal-period-switch{display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid #e0e5e9;border-radius:10px;background:#f5f7f9}.portal-period-switch a{min-width:48px;min-height:32px;display:grid;place-items:center;padding:4px 10px;border-radius:7px;color:#697581;text-decoration:none;font-size:10px;font-weight:850}.portal-period-switch a:hover,.portal-period-switch a.is-active{background:#fff;color:var(--p-red);box-shadow:0 2px 8px rgba(23,32,45,.08)}.portal-link-more{display:inline-flex;align-items:center;gap:6px;color:var(--p-red);text-decoration:none;font-size:10px;font-weight:850}.portal-seo-page-list--v9{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.portal-seo-page-list--v9 article{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;border:1px solid #e7ebef;border-radius:11px;background:#fbfcfd}.portal-seo-page-list--v9 .portal-seo-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#fff0f1;color:var(--p-red);font-size:9.5px;font-weight:900}.portal-seo-page-list--v9 .portal-seo-page-copy{min-width:0}.portal-seo-page-list--v9 .portal-seo-page-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.portal-seo-page-list--v9 .portal-seo-page-copy small{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#929ca6;font-size:8.5px;text-align:left}.portal-seo-page-list--v9 .portal-seo-page-stats{text-align:center;white-space:nowrap}.portal-seo-page-list--v9 .portal-seo-page-stats b{display:block;font-size:14px}.portal-seo-page-list--v9 .portal-seo-page-stats span,.portal-seo-page-list--v9 .portal-seo-page-stats small{display:block;color:#89949f;font-size:8px}.portal-seo-ref-list--v9{display:grid;gap:2px;margin-top:8px}.portal-seo-ref-list--v9 article{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid #edf0f2}.portal-seo-ref-list--v9 article:last-child{border-bottom:0}.portal-seo-ref-list--v9 article>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#f3f5f7;color:#6b7784}.portal-seo-ref-list--v9 b,.portal-seo-ref-list--v9 small{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-seo-ref-list--v9 b{font-size:9.5px}.portal-seo-ref-list--v9 small{margin-top:2px;color:#929ca6;font-size:8px}.portal-seo-ref-list--v9 em{font-style:normal;font-weight:900;color:var(--p-red);font-size:11px}.portal-filter-bar--seo{grid-template-columns:minmax(260px,1fr) auto}.portal-seo-all-card{padding:14px}.portal-seo-all-table td,.portal-seo-all-table th{font-size:10.5px}.portal-seo-all-table small{display:block;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#87929d}

@media(max-width:1100px){.portal-seo-kpis--v9{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-seo-insights-grid--v9{grid-template-columns:1fr}.portal-seo-ref-list--v9{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-seo-ref-list--v9 article{border:1px solid #edf0f2;border-radius:10px;padding:9px}}
@media(max-width:720px){.portal-seo-card-head{display:grid!important}.portal-seo-head-actions{justify-items:stretch}.portal-period-switch{width:100%}.portal-period-switch a{flex:1}.portal-seo-page-list--v9{grid-template-columns:1fr}.portal-seo-ref-list--v9{grid-template-columns:1fr}.portal-seo-kpis--v9{grid-template-columns:1fr 1fr}.portal-filter-bar--seo{grid-template-columns:1fr}.invoice-sheet--portrait{width:100%;min-height:0;padding:18px}.invoice-seller-auth--v8{width:330px!important;max-width:100%!important}}
@media(max-width:480px){.portal-seo-kpis--v9{grid-template-columns:1fr}.portal-seo-page-list--v9 article{grid-template-columns:30px minmax(0,1fr)}.portal-seo-page-list--v9 .portal-seo-page-stats{grid-column:2;display:flex;align-items:baseline;gap:5px;text-align:start}.portal-seo-page-list--v9 .portal-seo-page-stats>*{display:inline}.invoice-seller-person{margin-left:82px!important;width:210px!important}.invoice-seller-person .invoice-seller-signature{width:165px!important}.invoice-seller-auth--v8>.invoice-seller-stamp{width:76px!important}}
@media print{@page{size:A4 portrait!important;margin:10mm!important}.invoice-sheet--portrait,.invoice-sheet--landscape{width:100%!important;min-height:0!important;padding:0!important;border:0!important;box-shadow:none!important}.invoice-seller-auth--v8{break-inside:avoid!important}.portal-invoice-toolbar{display:none!important}}

/* ===== Portal V10 · official stationery, robust print pagination and downloads ===== */
.portal-document-controls{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.portal-segmented--attachment{display:grid!important;grid-template-columns:1fr 1fr!important;gap:5px!important}
.portal-segmented--attachment label{position:relative!important}.portal-segmented--attachment input{position:absolute!important;opacity:0!important;pointer-events:none!important}.portal-segmented--attachment span{min-height:42px!important;display:grid!important;place-items:center!important;border:1px solid #dce2e8!important;border-radius:10px!important;background:#fff!important;color:#66727e!important;font-size:12px!important;font-weight:850!important;cursor:pointer!important}.portal-segmented--attachment input:checked+span{border-color:#e6b4b7!important;background:#fff1f2!important;color:var(--p-red)!important;box-shadow:0 0 0 2px rgba(201,47,53,.06)!important}

.portal-invoice-toolbar--v10{align-items:center!important;justify-content:space-between!important;gap:14px!important}.portal-invoice-toolbar__actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:8px!important}.portal-download-menu{position:relative!important;z-index:35!important}.portal-download-menu__chevron{margin-inline-start:4px!important;font-size:9px!important;opacity:.6!important}.portal-download-menu__panel{position:absolute!important;top:calc(100% + 8px)!important;inset-inline-end:0!important;width:250px!important;display:grid!important;gap:4px!important;padding:7px!important;border:1px solid #dfe5eb!important;border-radius:14px!important;background:#fff!important;box-shadow:0 18px 44px rgba(28,37,50,.16)!important;opacity:0!important;visibility:hidden!important;transform:translateY(-4px)!important;transition:.16s ease!important}.portal-download-menu:hover .portal-download-menu__panel,.portal-download-menu:focus-within .portal-download-menu__panel{opacity:1!important;visibility:visible!important;transform:none!important}.portal-download-menu__panel>a,.portal-download-menu__panel>button{width:100%!important;min-height:58px!important;display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;padding:9px 10px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#1f2a38!important;text-align:start!important;text-decoration:none!important;font:inherit!important;cursor:pointer!important}.portal-download-menu__panel>a:hover,.portal-download-menu__panel>button:hover{background:#f6f8fa!important}.portal-download-menu__panel>a>i,.portal-download-menu__panel>button>i{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#f0f3f6!important;font-size:16px!important}.portal-download-menu__panel .fa-file-word{color:#2563eb!important}.portal-download-menu__panel .fa-file-excel{color:#16834b!important}.portal-download-menu__panel .fa-file-pdf{color:#c92f35!important}.portal-download-menu__panel b,.portal-download-menu__panel small{display:block!important}.portal-download-menu__panel b{font-size:12px!important}.portal-download-menu__panel small{margin-top:3px!important;color:#89939f!important;font-size:9.5px!important;line-height:1.5!important}

.invoice-letter-v10{position:relative!important;width:min(100%,210mm)!important;min-height:297mm!important;margin-inline:auto!important;padding:47mm 14mm 30mm!important;overflow:visible!important;background:#fff!important;border:1px solid #e1e5e9!important;border-radius:2px!important;box-shadow:0 18px 50px rgba(28,37,50,.08)!important;color:#121820!important;isolation:isolate!important}.invoice-letterhead-bg{position:absolute!important;inset:0!important;z-index:0!important;width:100%!important;height:297mm!important;object-fit:cover!important;pointer-events:none!important;user-select:none!important}.invoice-document-body{position:relative!important;z-index:2!important}.invoice-letter-meta{position:absolute!important;z-index:3!important;top:26mm!important;left:21mm!important;display:grid!important;gap:2px!important;direction:rtl!important;text-align:right!important;color:#10161d!important;font-size:11px!important;font-weight:800!important;line-height:1.7!important}.invoice-letter-meta span,.invoice-letter-meta b{font-weight:850!important}.invoice-bismillah{position:absolute!important;z-index:3!important;top:30mm!important;left:50%!important;transform:translateX(-50%)!important;width:max-content!important;color:#10161d!important;font-size:13px!important;font-weight:900!important}.invoice-letter-intro{margin:0 0 16px!important;text-align:start!important}.invoice-letter-intro h1{margin:0 0 8px!important;font-size:17px!important;line-height:1.8!important;font-weight:900!important}.invoice-letter-intro h2{margin:0!important;font-size:15px!important;line-height:1.7!important;font-weight:900!important}.invoice-party-card{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px!important;margin:0 0 15px!important;overflow:hidden!important;border:1px solid #dfe4e8!important;border-radius:9px!important;background:#dfe4e8!important}.invoice-party-card>div{min-width:0!important;display:grid!important;gap:4px!important;padding:8px 10px!important;background:rgba(255,255,255,.9)!important}.invoice-party-card>div>span{color:#7b8794!important;font-size:9px!important;font-weight:800!important}.invoice-party-card>div>strong,.invoice-party-card>div>bdi{overflow-wrap:anywhere!important;font-size:11px!important;font-weight:800!important}.invoice-party-card__wide{grid-column:1/-1!important}.invoice-table-wrap--letter{position:relative!important;z-index:2!important;overflow:visible!important}.invoice-table-wrap--letter table{width:100%!important;border-collapse:collapse!important;table-layout:fixed!important}.invoice-table-wrap--letter th,.invoice-table-wrap--letter td{padding:7px 6px!important;border:1px solid #cfd6dd!important;text-align:center!important;vertical-align:middle!important;font-size:9px!important;line-height:1.65!important}.invoice-table-wrap--letter th{background:#f4f5f6!important;color:#36414d!important;font-weight:900!important}.invoice-table-wrap--letter th:nth-child(2),.invoice-table-wrap--letter td:nth-child(2){width:36%!important;text-align:start!important}.invoice-item-description b,.invoice-item-description small{display:block!important}.invoice-item-description small{margin-top:4px!important;color:#7e8994!important;font-size:7.5px!important;overflow-wrap:anywhere!important}.invoice-bottom--letter{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(260px,.9fr)!important;gap:14px!important;margin-top:14px!important;padding-top:0!important;border-top:0!important}.invoice-bottom--letter .invoice-notes{min-height:100%!important;padding:11px!important;border:1px solid #dfe4e8!important;border-radius:9px!important}.invoice-bottom--letter .invoice-notes>span{display:block!important;margin-bottom:5px!important;color:#7c8792!important;font-size:9px!important;font-weight:850!important}.invoice-bottom--letter .invoice-notes p{margin:0!important;font-size:9.5px!important;line-height:1.8!important;white-space:pre-wrap!important}.invoice-bottom--letter dl{margin:0!important;padding:8px 10px!important;border:1px solid #dfe4e8!important;border-radius:9px!important;background:rgba(255,255,255,.88)!important}.invoice-bottom--letter dl>div{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:8px!important;padding:4px 0!important;border-bottom:1px solid #edf0f2!important;font-size:9.5px!important}.invoice-bottom--letter dl>div:last-child{border-bottom:0!important}.invoice-bottom--letter dt{color:#687481!important}.invoice-bottom--letter dd{margin:0!important;font-weight:850!important}.invoice-bottom--letter .invoice-total{font-size:11px!important}.invoice-bottom--letter .invoice-total-words{display:grid!important;gap:3px!important}.invoice-bottom--letter .invoice-total-words dd{line-height:1.7!important;text-align:start!important}.invoice-technical-note--letter{margin-top:14px!important;padding:12px!important;border:1px solid #dfe4e8!important;border-radius:9px!important;background:rgba(255,255,255,.88)!important}.invoice-technical-note--letter span{font-size:9px!important;font-weight:850!important;color:#7d8791!important}.invoice-technical-note--letter p{margin:4px 0 0!important;font-size:10px!important;line-height:1.8!important}

.invoice-seller-auth--letter{position:relative!important;width:360px!important;min-height:215px!important;margin-top:18px!important;margin-inline-start:auto!important;padding:0!important;border:0!important;direction:ltr!important;break-inside:avoid!important;page-break-inside:avoid!important}.invoice-seller-person{position:absolute!important;top:0!important;left:102px!important;width:235px!important;height:60px!important;margin:0!important;text-align:center!important}.invoice-seller-signature-slot{position:static!important;height:0!important;width:100%!important}.invoice-seller-copy{position:absolute!important;top:154px!important;left:0!important;width:100%!important;display:grid!important;justify-items:center!important;gap:1px!important;margin:0!important;text-align:center!important;direction:rtl!important}.invoice-seller-copy span{font-size:10.5px!important;color:#313b46!important}.invoice-seller-copy b{font-size:12px!important;color:#111820!important}.invoice-seller-copy strong{font-size:10.5px!important;color:#313b46!important;font-weight:850!important}
.invoice-seller-auth--v8>.invoice-seller-stamp{width:93px!important;max-height:119px!important;object-fit:contain!important;margin-bottom:4px!important;position:absolute!important;bottom:14px!important}
.invoice-seller-person .invoice-seller-signature{width:185px!important;max-height:88px!important;object-fit:contain!important;position:absolute!important;bottom:-85px!important;left:50%!important;transform:translateX(-50%)!important}

.invoice-company-footer{position:absolute!important;z-index:3!important;right:12mm!important;left:12mm!important;bottom:6mm!important;display:grid!important;gap:2px!important;padding-top:5px!important;border-top:1px solid #1c252f!important;color:#10161d!important;text-align:center!important;font-size:8.5px!important;line-height:1.55!important;font-weight:750!important}.invoice-sheet--en .invoice-letter-meta{direction:ltr!important;text-align:left!important}.invoice-sheet--en .invoice-letter-intro,.invoice-sheet--en .invoice-party-card,.invoice-sheet--en .invoice-bottom--letter{text-align:left!important}.invoice-sheet--en .invoice-seller-copy{direction:ltr!important}

body.invoice-print-no-letterhead .invoice-letterhead-bg{display:none!important}.invoice-print-no-letterhead .invoice-letter-v10{background:#fff!important}

@media(max-width:980px){.portal-document-controls{grid-template-columns:1fr 1fr!important}.portal-invoice-toolbar--v10{align-items:flex-start!important;flex-direction:column!important}.portal-invoice-toolbar__actions{width:100%!important;justify-content:flex-start!important}.invoice-letter-v10{padding-inline:20px!important}.invoice-party-card{grid-template-columns:1fr 1fr!important}.invoice-bottom--letter{grid-template-columns:1fr!important}}
@media(max-width:640px){.portal-document-controls{grid-template-columns:1fr!important}.portal-invoice-toolbar__actions>.portal-button,.portal-invoice-toolbar__actions>.portal-download-menu{flex:1 1 auto!important}.portal-download-menu>.portal-button{width:100%!important}.portal-download-menu__panel{inset-inline-end:auto!important;inset-inline-start:0!important;width:min(280px,calc(100vw - 36px))!important}.invoice-letter-v10{width:100%!important;min-height:0!important;padding:112px 14px 90px!important}.invoice-letterhead-bg{height:auto!important;min-height:100%!important}.invoice-letter-meta{top:64px!important;left:18px!important;font-size:9px!important}.invoice-bismillah{top:74px!important;font-size:11px!important}.invoice-letter-intro h1{font-size:14px!important}.invoice-letter-intro h2{font-size:12px!important}.invoice-party-card{grid-template-columns:1fr!important}.invoice-table-wrap--letter{overflow:auto!important}.invoice-table-wrap--letter table{min-width:680px!important}.invoice-seller-auth--letter{width:330px!important;max-width:100%!important}.invoice-seller-person{left:88px!important}.invoice-company-footer{position:relative!important;right:auto!important;left:auto!important;bottom:auto!important;margin-top:20px!important;font-size:7.5px!important}}

@media print{
  @page{size:A4 portrait;margin:46mm 14mm 25mm 14mm}
  html,body{background:#fff!important}
  .portal-invoice-toolbar,.portal-sidebar,.portal-topbar,.portal-alert{display:none!important}
  .portal-layout,.portal-main,.portal-content{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .invoice-letter-v10{position:static!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;isolation:auto!important}
  .invoice-letterhead-bg{position:fixed!important;z-index:0!important;top:-46mm!important;left:-14mm!important;width:210mm!important;height:297mm!important;max-width:none!important;object-fit:cover!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  .invoice-document-body{position:relative!important;z-index:2!important}
  .invoice-letter-meta{position:fixed!important;z-index:4!important;top:-18mm!important;left:8mm!important;font-size:10.5px!important;print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  .invoice-bismillah{position:fixed!important;z-index:4!important;top:-14mm!important;left:50%!important;font-size:12.5px!important}
  .invoice-company-footer{position:fixed!important;z-index:4!important;right:-2mm!important;left:-2mm!important;bottom:-20mm!important;margin:0!important;padding-top:4px!important;background:transparent!important;font-size:8px!important;line-height:1.5!important}
  .invoice-letter-intro{margin-top:0!important}
  .invoice-table-wrap--letter{overflow:visible!important}
  .invoice-table-wrap--letter table{table-layout:fixed!important}
  .invoice-table-wrap--letter thead{display:table-header-group!important}
  .invoice-table-wrap--letter tfoot{display:table-footer-group!important}
  .invoice-table-wrap--letter tr{break-inside:avoid!important;page-break-inside:avoid!important}
  .invoice-party-card,.invoice-bottom--letter,.invoice-technical-note--letter,.invoice-seller-auth--letter{break-inside:avoid!important;page-break-inside:avoid!important}
  .invoice-letter-v10,.invoice-document-body{orphans:3!important;widows:3!important}
  .invoice-seller-auth--letter{margin-bottom:0!important}
  .invoice-letterhead-bg,.invoice-seller-stamp,.invoice-seller-signature{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}
  body.invoice-print-no-letterhead .invoice-letterhead-bg{display:none!important}
}

/* ===== Portal V11 · invoice controls + deterministic print ===== */
.portal-document-controls--v11{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
.portal-document-controls--v11 .portal-document-control{
  min-width:0!important;
  display:grid!important;
  align-content:start!important;
  gap:10px!important;
  padding:12px!important;
  border:1px solid #e0e6eb!important;
  border-radius:12px!important;
  background:#fbfcfd!important;
}
.portal-document-controls--v11 .portal-document-control--date{grid-column:1/-1!important}
.portal-document-control__head{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important}
.portal-document-control__head>i{flex:0 0 34px!important;width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:9px!important;background:#fff0f1!important;color:var(--p-red)!important;font-size:13px!important}
.portal-document-control__head>div{min-width:0!important;display:grid!important;gap:2px!important}
.portal-document-control__head span{color:#34404c!important;font-size:11px!important;font-weight:900!important}
.portal-document-control__head small{color:#8b96a1!important;font-size:9px!important;line-height:1.55!important}
.portal-date-control-row{display:grid!important;grid-template-columns:minmax(190px,.62fr) minmax(250px,1.38fr)!important;gap:10px!important;align-items:end!important}
.portal-document-controls--v11 .portal-segmented{width:100%!important;min-width:0!important;margin:0!important}
.portal-document-controls--v11 .portal-dual-date-inputs{min-width:0!important}
.portal-document-controls--v11 .portal-dual-date-inputs label{min-width:0!important;display:grid!important;gap:4px!important;color:#6d7884!important;font-size:9px!important;font-weight:800!important}
.portal-document-controls--v11 .portal-dual-date-inputs label.is-hidden{display:none!important}
.portal-document-controls--v11 .portal-dual-date-inputs label>div{min-width:0!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;border:1px solid #dce3e9!important;border-radius:9px!important;background:#fff!important;overflow:hidden!important}
.portal-document-controls--v11 .portal-dual-date-inputs label>div>i{height:40px!important;display:grid!important;place-items:center!important;border-inline-end:1px solid #edf0f2!important;color:#8a95a0!important}
.portal-document-controls--v11 .portal-dual-date-inputs input{min-width:0!important;width:100%!important;height:40px!important;border:0!important;background:transparent!important;padding:7px 9px!important;outline:0!important;font:750 11px/1.4 var(--p-font)!important;direction:ltr!important;text-align:left!important}
.portal-document-controls--v11 .portal-segmented--attachment span,
.portal-document-controls--v11 .portal-segmented--currency span{min-height:40px!important}

.portal-print-menu .portal-download-menu__panel .fa-file-lines{color:#c92f35!important}
.portal-print-menu .portal-download-menu__panel .fa-file{color:#66727e!important}

/* Seller authorization: no dotted separator and signature kept close to the copy. */
.invoice-seller-auth--v8.invoice-seller-auth--letter{
  width:350px!important;
  min-height:168px!important;
  margin-top:16px!important;
  padding:0!important;
  border:0!important;
  border-top:0!important;
}
.invoice-seller-auth--letter .invoice-seller-person{
  top:0!important;
  left:102px!important;
  width:235px!important;
  height:148px!important;
  margin:0!important;
}
.invoice-seller-auth--letter .invoice-seller-signature-slot{
  position:relative!important;
  width:100%!important;
  height:86px!important;
}
.invoice-seller-person .invoice-seller-signature{
  width:185px!important;
  max-height:88px!important;
  object-fit:contain!important;
  position:absolute!important;
  bottom:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
}
.invoice-seller-auth--letter .invoice-seller-copy{
  position:absolute!important;
  top:92px!important;
  left:0!important;
  width:100%!important;
  display:grid!important;
  justify-items:center!important;
  gap:1px!important;
  margin:0!important;
  text-align:center!important;
}
.invoice-seller-auth--v8>.invoice-seller-stamp{
  width:93px!important;
  max-height:119px!important;
  object-fit:contain!important;
  margin-bottom:4px!important;
  position:absolute!important;
  bottom:14px!important;
}

/* The no-letterhead mode preserves the same top space as official stationery. */
body.invoice-print-no-letterhead .invoice-letterhead-bg{display:block!important}

@media(max-width:780px){
  .portal-document-controls--v11{grid-template-columns:1fr!important}
  .portal-document-controls--v11 .portal-document-control--date{grid-column:auto!important}
  .portal-date-control-row{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .portal-document-controls--v11 .portal-document-control{padding:10px!important}
  .portal-document-control__head small{font-size:8.5px!important}
}

@media print{
  /* Both modes keep the same A4 content margins. */
  @page{size:A4 portrait;margin:46mm 14mm 25mm 14mm}
  body.invoice-print-no-letterhead .invoice-letterhead-bg,
  body.invoice-print-no-letterhead .invoice-letter-meta,
  body.invoice-print-no-letterhead .invoice-bismillah{display:none!important}
  body.invoice-print-no-letterhead .invoice-document-body{margin-top:0!important}
  .invoice-seller-auth--v8.invoice-seller-auth--letter{border:0!important;border-top:0!important}
}

/* ===== Portal V12 · print page-box fix =====
   The portal shell uses min-height:100vh on screen. In paged media that
   can become an extra physical page once @page margins are applied. Reset
   the shell completely so only the invoice content participates in print
   pagination; fixed stationery artwork remains visual-only. */
@media print {
  html,
  body,
  body.portal-app,
  .portal-layout,
  .portal-main,
  .portal-content {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html,
  body,
  body.portal-app {
    margin: 0 !important;
    padding: 0 !important;
  }

  .portal-layout {
    grid-template-columns: none !important;
    grid-template-rows: none !important;
  }

  .portal-main,
  .portal-content {
    position: static !important;
    inset: auto !important;
  }

  .invoice-letter-v10 {
    display: block !important;
    break-before: auto !important;
    page-break-before: auto !important;
    break-after: auto !important;
    page-break-after: auto !important;
  }

  .invoice-document-body {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
    break-before: auto !important;
    page-break-before: auto !important;
  }

  /* Fixed stationery is repeated by the browser per physical page and must
     never establish printable flow height. */
  .invoice-letterhead-bg,
  .invoice-letter-meta,
  .invoice-bismillah,
  .invoice-company-footer {
    contain: paint !important;
  }
}

/* ===== Portal V13 · Chromium-safe paged invoice printing =====
   Printing backgrounds/fixed stationery from inside a fragmented A4 box can
   be sliced by Chromium. V13 moves stationery clones to <body> at print time,
   uses a zero-margin physical page, and repeats the document padding on every
   fragment with box-decoration-break. */
.print-letterhead-bg,
.print-letter-meta,
.print-bismillah,
.print-company-footer{display:none}

@media print{
  @page{size:A4 portrait!important;margin:0!important}

  html,
  body,
  body.portal-app{
    width:210mm!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:#fff!important;
  }

  .portal-sidebar,
  .portal-topbar,
  .portal-alert,
  .portal-invoice-toolbar{display:none!important}

  .portal-layout,
  .portal-main,
  .portal-content{
    display:block!important;
    position:static!important;
    inset:auto!important;
    width:210mm!important;
    min-width:0!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    background:transparent!important;
  }

  /* Never allow the screen preview stationery to participate in print
     fragmentation. Print stationery is cloned directly under body by JS. */
  .invoice-letterhead-bg,
  .invoice-letter-meta,
  .invoice-bismillah,
  .invoice-company-footer{display:none!important}

  .invoice-letter-v10,
  .invoice-sheet--portrait,
  .invoice-sheet--landscape{
    display:block!important;
    position:static!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    isolation:auto!important;
    break-before:auto!important;
    break-after:auto!important;
    page-break-before:auto!important;
    page-break-after:auto!important;
  }

  /* This is the important trick: every physical fragment gets the same safe
     stationery clearance. It prevents page 2+ content from entering header /
     footer areas while @page itself stays marginless for full-page artwork. */
  .invoice-document-body{
    display:block!important;
    position:relative!important;
    z-index:2!important;
    width:210mm!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:47mm 14mm 30mm!important;
    box-sizing:border-box!important;
    overflow:visible!important;
    -webkit-box-decoration-break:clone!important;
    box-decoration-break:clone!important;
    orphans:3!important;
    widows:3!important;
  }

  /* Body-level stationery. position:fixed is repeated by Chromium on each
     physical printed page. No negative offsets are used. */
  .print-letterhead-bg{
    display:block!important;
    position:fixed!important;
    z-index:0!important;
    top:0!important;
    left:0!important;
    width:210mm!important;
    height:297mm!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:fill!important;
    margin:0!important;
    padding:0!important;
    pointer-events:none!important;
    user-select:none!important;
    print-color-adjust:exact!important;
    -webkit-print-color-adjust:exact!important;
  }

  .print-letter-meta{
    display:grid!important;
    position:fixed!important;
    z-index:4!important;
    top:26mm!important;
    left:21mm!important;
    gap:2px!important;
    direction:rtl!important;
    text-align:right!important;
    color:#10161d!important;
    font-size:10.5px!important;
    font-weight:850!important;
    line-height:1.7!important;
  }

  .print-bismillah{
    display:block!important;
    position:fixed!important;
    z-index:4!important;
    top:30mm!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:max-content!important;
    color:#10161d!important;
    font-size:12.5px!important;
    font-weight:900!important;
  }

  .print-company-footer{
    display:grid!important;
    position:fixed!important;
    z-index:4!important;
    right:12mm!important;
    left:12mm!important;
    bottom:6mm!important;
    gap:2px!important;
    margin:0!important;
    padding-top:5px!important;
    border-top:1px solid #1c252f!important;
    background:transparent!important;
    color:#10161d!important;
    text-align:center!important;
    font-size:8.5px!important;
    line-height:1.55!important;
    font-weight:750!important;
  }

  /* Plain mode preserves the exact same content clearance and footer but
     removes only official stationery artwork/header metadata. */
  body.invoice-print-no-letterhead .print-letterhead-bg,
  body.invoice-print-no-letterhead .print-letter-meta,
  body.invoice-print-no-letterhead .print-bismillah{display:none!important}

  .invoice-table-wrap--letter{overflow:visible!important}
  .invoice-table-wrap--letter table{table-layout:fixed!important}
  .invoice-table-wrap--letter thead{display:table-header-group!important}
  .invoice-table-wrap--letter tr,
  .invoice-party-card,
  .invoice-bottom--letter,
  .invoice-technical-note--letter,
  .invoice-seller-auth--letter{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .invoice-letterhead-bg,
  .print-letterhead-bg,
  .invoice-seller-stamp,
  .invoice-seller-signature{
    print-color-adjust:exact!important;
    -webkit-print-color-adjust:exact!important;
  }
}

/* =========================
   Portal V15 — invoice polish
   ========================= */
.portal-buyer-address--optional{
  grid-column:1/-1!important;
  display:grid!important;
  gap:7px!important;
  min-width:0!important;
  padding:10px 12px!important;
  border:1px solid #e2e7ec!important;
  border-radius:12px!important;
  background:#fbfcfd!important;
}
.portal-buyer-address__head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  color:#3f4a56!important;
  font-size:11px!important;
  font-weight:900!important;
}
.portal-buyer-address--optional textarea{
  width:100%!important;
  min-height:64px!important;
  resize:vertical!important;
  border:1px solid #dce3e9!important;
  border-radius:9px!important;
  background:#fff!important;
  padding:9px 11px!important;
  color:#202a34!important;
  font:750 12px/1.8 var(--p-font)!important;
  outline:0!important;
}
.portal-buyer-address--optional textarea:focus{border-color:#d9a4a7!important;box-shadow:0 0 0 3px rgba(201,47,53,.08)!important}
.portal-buyer-address--optional>small{color:#8b96a1!important;font-size:9px!important;line-height:1.65!important}
.portal-address-visibility{display:inline-flex!important;align-items:center!important;cursor:pointer!important}
.portal-address-visibility input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.portal-address-visibility span{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:0 10px!important;
  border:1px solid #dce3e9!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#66727e!important;
  font-size:10px!important;
  font-weight:850!important;
  transition:.16s ease!important;
}
.portal-address-visibility input:checked+span{border-color:#efc5c7!important;background:#fff1f2!important;color:var(--p-red)!important}
.portal-address-visibility input:checked+span i:before{content:"\f06e"!important}

/* Document preview: buyer address is a quiet optional row, not a large block. */
.invoice-party-card__wide{
  grid-column:1/-1!important;
  display:grid!important;
  grid-template-columns:86px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
  background:#fbfcfd!important;
}
.invoice-party-card__wide>span{margin:0!important;padding-top:2px!important}
.invoice-party-card__wide>strong{line-height:1.8!important;text-align:start!important}

/* Printed/preview item rows stay white over the stationery watermark. */
.invoice-table-wrap--letter tbody td{background:#fff!important}

/* Totals are directly after items; optional notes follow underneath. */
.invoice-bottom--letter{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:12px!important;
}
.invoice-bottom--letter>dl{order:1!important;width:100%!important}
.invoice-bottom--letter>.invoice-notes{order:2!important;min-height:0!important;width:100%!important}

/* Seller stamp + signature are one compact authorization block. */
.invoice-seller-auth--v8.invoice-seller-auth--letter{
  position:relative!important;
  width:330px!important;
  min-height:162px!important;
  margin-top:14px!important;
  margin-inline-start:auto!important;
  padding:0!important;
  border:0!important;
  direction:ltr!important;
}
.invoice-seller-auth--letter .invoice-seller-person{
  position:absolute!important;
  top:0!important;
  right:0!important;
  left:auto!important;
  width:225px!important;
  height:158px!important;
  margin:0!important;
  text-align:center!important;
}
.invoice-seller-auth--letter .invoice-seller-signature-slot{
  position:relative!important;
  width:100%!important;
  height:92px!important;
}
.invoice-seller-person .invoice-seller-signature{
  width:185px!important;
  max-height:88px!important;
  object-fit:contain!important;
  position:absolute!important;
  top:0!important;
  left:50%!important;
  transform:translateX(-50%)!important;
}
.invoice-seller-auth--letter .invoice-seller-copy{
  position:absolute!important;
  top:94px!important;
  left:0!important;
  width:100%!important;
  display:grid!important;
  justify-items:center!important;
  gap:1px!important;
  margin:0!important;
  text-align:center!important;
}
.invoice-seller-auth--v8>.invoice-seller-stamp{
  width:93px!important;
  max-height:119px!important;
  object-fit:contain!important;
  margin:0!important;
  position:absolute!important;
  left:8px!important;
  bottom:14px!important;
}

@media(max-width:640px){
  .portal-buyer-address__head{align-items:flex-start!important;flex-direction:column!important}
  .portal-address-visibility{width:100%!important}.portal-address-visibility span{width:100%!important;justify-content:center!important}
  .invoice-party-card__wide{grid-template-columns:1fr!important;gap:3px!important}
  .invoice-seller-auth--v8.invoice-seller-auth--letter{width:300px!important;max-width:100%!important}
  .invoice-seller-auth--letter .invoice-seller-person{width:205px!important}
  .invoice-seller-auth--v8>.invoice-seller-stamp{left:2px!important}
}


/* ===== Portal V16 · date layout, seller authorization and panel chooser ===== */
.portal-date-control-row{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;align-items:stretch!important}
.portal-date-mode-row,.portal-date-input-row{min-width:0!important;width:100%!important}.portal-date-mode-row .portal-segmented{width:min(420px,100%)!important}.portal-date-input-row .portal-dual-date-inputs{width:100%!important}.portal-date-input-row .portal-dual-date-inputs label>div{width:100%!important}.portal-date-input-row input{width:100%!important;max-width:100%!important}
.portal-buyer-address small{display:block;margin-top:3px;color:#8b96a1;font-size:9px;line-height:1.6}.portal-buyer-address textarea{resize:vertical}
/* Persian documents keep the authorization block on the physical left side. */
.invoice-sheet:not(.invoice-sheet--en) .invoice-seller-auth--v8.invoice-seller-auth--letter{margin-left:0!important;margin-right:auto!important;direction:ltr!important}
.invoice-sheet:not(.invoice-sheet--en) .invoice-seller-auth--letter .invoice-seller-person{left:104px!important;right:auto!important;top:0!important;width:220px!important}
.invoice-sheet:not(.invoice-sheet--en) .invoice-seller-auth--v8>.invoice-seller-stamp{left:4px!important;right:auto!important;bottom:18px!important}
.invoice-sheet:not(.invoice-sheet--en) .invoice-seller-person .invoice-seller-signature{top:0!important;left:50%!important;transform:translateX(-50%)!important}
.invoice-sheet:not(.invoice-sheet--en) .invoice-seller-auth--letter .invoice-seller-copy{top:88px!important}
.portal-panel-choice-backdrop{position:fixed;z-index:5000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(12,18,27,.54);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.2s ease}.portal-panel-choice-backdrop.is-open{opacity:1;visibility:visible}.portal-panel-choice{width:min(540px,100%);display:grid;justify-items:center;gap:9px;padding:26px;border:1px solid #e0e5ea;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(15,23,34,.24);text-align:center}.portal-panel-choice__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#eef9f2;color:#237847;font-size:23px}.portal-panel-choice h2{margin:0;color:#17202d;font-size:21px}.portal-panel-choice>p{max-width:430px;margin:0 0 5px;color:#77828e;font-size:11px;line-height:1.85}.portal-panel-choice__options{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px}.portal-panel-choice__options>a{min-height:112px;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:13px;border:1px solid #e0e5ea;border-radius:15px;background:#fbfcfd;color:#263241;text-decoration:none;text-align:start;transition:.18s ease}.portal-panel-choice__options>a:hover{transform:translateY(-2px);border-color:#e8b5b8;background:#fff3f4;box-shadow:0 12px 30px rgba(201,47,53,.09)}.portal-panel-choice__options>a>i:first-child{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:#fff0f1;color:#c92f35;font-size:16px}.portal-panel-choice__options span{display:grid;gap:3px}.portal-panel-choice__options b{font-size:13px}.portal-panel-choice__options small{color:#84909b;font-size:9px;line-height:1.6}.portal-panel-choice__options>a>i:last-child{color:#a1aab4}.portal-panel-choice__options .is-management>i:first-child{background:#eef2f6;color:#26384f}@media(max-width:580px){.portal-panel-choice{padding:20px 14px}.portal-panel-choice__options{grid-template-columns:1fr}.portal-panel-choice__options>a{min-height:84px}.portal-panel-choice h2{font-size:18px}}

/* Portal V17 — single auth flow, no viewport overflow */
html:has(body.portal-auth-page),html:has(body.portal-auth-page) body{width:100%;height:100%;max-width:100%;overflow:hidden!important}
body.portal-auth-page.portal-auth-page--simple{width:100vw;height:100dvh;min-height:0!important;max-width:100vw;padding:clamp(12px,2.6vh,24px) clamp(12px,2.2vw,22px)!important;overflow:hidden!important;place-items:center;background:radial-gradient(circle at 86% 6%,rgba(201,47,53,.11),transparent 32%),linear-gradient(145deg,#f8fafc,#eef2f6)}
.portal-auth-page--simple .portal-auth-center{width:min(430px,calc(100vw - 24px));max-width:100%;max-height:calc(100dvh - 24px);margin:0;gap:clamp(8px,1.8vh,16px);justify-content:center;overflow:visible}
.portal-auth-page--simple .portal-auth-center--register{width:min(520px,calc(100vw - 24px))}
.portal-auth-page--simple .portal-auth-logo{flex:0 0 auto}.portal-auth-page--simple .portal-auth-logo img{width:clamp(44px,6.5vh,60px);height:clamp(44px,6.5vh,60px)}.portal-auth-page--simple .portal-auth-logo span{font-size:clamp(1.25rem,3vh,1.7rem)}
.portal-auth-page--simple .portal-auth-card--center{width:100%;max-width:100%;min-width:0;gap:12px;padding:clamp(17px,3vh,26px);border-radius:23px;overflow:hidden}
.portal-auth-page--simple .portal-auth-card--center header{margin:0}.portal-auth-page--simple .portal-auth-card--center header h1{margin:0;font-size:1.45rem;line-height:1.35}
.portal-auth-page--simple .portal-auth-card--center label,.portal-auth-page--simple .portal-field-grid>label{min-width:0;max-width:100%}
.portal-auth-page--simple .portal-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-width:0}
.portal-auth-page--simple .portal-input{width:100%;max-width:100%;min-width:0;height:48px;padding:0 12px;overflow:hidden}.portal-auth-page--simple .portal-input input{width:100%;max-width:100%;min-width:0}.portal-auth-page--simple .portal-password-toggle{flex:0 0 34px;width:34px;height:34px}
.portal-auth-page--simple .portal-button--wide{min-height:48px;margin-top:0}.portal-auth-page--simple .portal-auth-switch{margin:0;font-size:.74rem}
.portal-auth-card--register{gap:9px!important}.portal-auth-card--register label{gap:5px!important}.portal-auth-card--register .portal-input{height:46px}.portal-auth-card--register .portal-button--wide{min-height:46px}
@media(max-width:560px){body.portal-auth-page.portal-auth-page--simple{padding:10px!important}.portal-auth-page--simple .portal-auth-center,.portal-auth-page--simple .portal-auth-center--register{width:min(100%,460px);max-height:calc(100dvh - 20px);gap:8px}.portal-auth-page--simple .portal-auth-card--center{padding:16px 14px;border-radius:19px;gap:10px}.portal-auth-page--simple .portal-auth-logo img{width:44px;height:44px}.portal-auth-page--simple .portal-auth-logo span{font-size:1.25rem}.portal-auth-page--simple .portal-auth-card--center header h1{font-size:1.25rem}.portal-auth-page--simple .portal-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portal-auth-page--simple .portal-input{height:44px;padding:0 9px}.portal-auth-card--register .portal-input>i{font-size:.78rem}.portal-auth-card--register .portal-password-toggle{width:32px;height:32px;flex-basis:32px}}
@media(max-width:350px){.portal-auth-page--simple .portal-input>i{display:none}.portal-auth-page--simple .portal-input{padding-inline:8px}.portal-auth-page--simple .portal-auth-card--center{padding-inline:11px}}
@media(max-height:650px){body.portal-auth-page.portal-auth-page--simple{padding-block:7px!important}.portal-auth-page--simple .portal-auth-center{gap:6px}.portal-auth-page--simple .portal-auth-logo img{width:40px;height:40px}.portal-auth-page--simple .portal-auth-logo span{font-size:1.12rem}.portal-auth-page--simple .portal-auth-card--center{padding:13px 14px;gap:8px}.portal-auth-page--simple .portal-auth-card--center header h1{font-size:1.16rem}.portal-auth-page--simple .portal-input{height:41px}.portal-auth-card--register .portal-button--wide{min-height:42px}.portal-auth-page--simple .portal-auth-switch{font-size:.68rem}}

/* Portal V18 — readability, stable invoice summary and safer account UX */
.portal-sidebar__bottom{padding-top:14px}
.portal-sidebar__bottom form{margin:0}
.portal-sidebar__bottom .portal-logout-button{justify-content:center!important;min-height:44px!important;border:1px solid rgba(248,113,113,.24)!important;background:rgba(201,47,53,.13)!important;color:#fecaca!important;font-weight:900!important;transition:.18s ease}
.portal-sidebar__bottom .portal-logout-button:hover{background:rgba(201,47,53,.24)!important;border-color:rgba(248,113,113,.42)!important;color:#fff!important;transform:translateY(-1px)}
.portal-honeypot{position:fixed!important;left:-10000px!important;top:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.portal-password-policy{display:flex;align-items:flex-start;gap:8px;margin-top:-3px;padding:9px 10px;border:1px solid #e5e9ef;border-radius:10px;background:#f8fafc;color:#667281;font-size:.69rem;line-height:1.75}
.portal-password-policy i{margin-top:3px;color:var(--p-red)}

.portal-invoice-summary-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;align-items:stretch!important;overflow:hidden}
.portal-invoice-summary-card>*{min-width:0;width:100%}
.portal-summary-notes{padding-bottom:2px}
.portal-summary-notes h2{font-size:1.08rem!important}
.portal-summary-notes textarea{width:100%;min-height:78px!important;font-size:.82rem!important;line-height:1.9!important}
.portal-summary-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.portal-total-box--horizontal{display:grid!important;grid-template-columns:1fr!important;gap:0!important;padding:10px 13px!important;background:#fbfcfd!important}
.portal-total-box--horizontal>span,.portal-total-box--horizontal>strong{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:42px;padding:8px 4px!important;border-radius:0!important;border-bottom:1px solid #e9edf1;background:transparent!important}
.portal-total-box--horizontal>strong{border-bottom:0!important;color:#8f2429!important}
.portal-total-box--horizontal small{font-size:.72rem!important}
.portal-total-box--horizontal b{font-size:.9rem!important;white-space:nowrap}
.portal-total-box--horizontal strong b{font-size:1.04rem!important}
.portal-total-box--horizontal strong em{font-size:.72rem!important;margin-inline-start:5px}
.portal-total-box--horizontal p{grid-column:auto!important;margin:2px 0 0!important;padding:10px 4px 2px!important;font-size:.76rem!important;line-height:1.9!important;border-top:1px dashed #e1e6eb}
.portal-invoice-submit{width:100%!important;min-width:0!important;justify-self:stretch!important;min-height:48px}
.portal-account-filter-empty[hidden]{display:none!important}

@media(max-width:720px){
  .portal-summary-controls{grid-template-columns:1fr!important}
  .portal-password-policy{font-size:.64rem}
}

/* === NIAWELL Portal V19: readable invoices + full-width summary === */
.portal-invoice-form,
.portal-invoice-form--compact{width:100%!important;max-width:100%!important;min-width:0!important}
.portal-invoice-summary-card{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:12px!important;
  overflow:visible!important;
}
.portal-invoice-summary-card>*{width:100%!important;max-width:none!important;min-width:0!important}
.portal-summary-notes,
.portal-summary-controls,
.portal-total-box--horizontal,
.portal-invoice-submit{grid-column:1 / -1!important;width:100%!important;max-width:none!important;min-width:0!important}
.portal-summary-controls{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.portal-total-box--horizontal{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
.portal-total-box--horizontal>span,
.portal-total-box--horizontal>strong{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:10px 12px!important}
.portal-total-box--horizontal p{width:100%!important;margin:0!important;padding:10px 12px!important}
.portal-total-label{font-size:12px!important;font-weight:800!important;color:#6f7b87!important}
.portal-currency-unit,.portal-percent-unit,.portal-customer-email{font-size:12px!important}
.portal-invoice-submit{justify-self:stretch!important;min-width:0!important}

/* Invoice / quotation UI must never use micro typography. */
.invoice-sheet,
.invoice-sheet :is(td,th,span,small,p,dt,dd,b,strong,bdi,em,a,div),
.portal-invoice-form :is(label,span,b,strong,em,p,input,textarea,select,button,a){font-size:12px!important}
.invoice-sheet .invoice-letter-intro h1{font-size:18px!important}
.invoice-sheet .invoice-letter-intro h2{font-size:15px!important}
.invoice-sheet .invoice-total dd,
.invoice-sheet .invoice-bottom--letter .invoice-total{font-size:14px!important}

@media(max-width:820px){
  .portal-invoice-summary-card{grid-template-columns:minmax(0,1fr)!important;width:100%!important;margin-inline:0!important}
  .portal-summary-controls{grid-template-columns:1fr!important}
  .portal-total-box--horizontal{grid-template-columns:1fr!important}
  .portal-invoice-submit{width:100%!important}
}

/* V21 performance: lightweight placeholders for lazy modal fragments. */
.portal-lazy-panel,.portal-lazy-error{min-height:96px;display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;border:1px dashed #d8e0e6;border-radius:12px;background:#fafbfc;color:#66727e;font-size:13px;font-weight:750;text-align:center}
.portal-lazy-error{color:#991b1b;background:#fff7f7;border-color:#fecaca}
.portal-lazy-row td{padding:24px!important;text-align:center!important;color:#66727e!important;background:#fff!important}
