/* Scoped customer portal enhancements; TehranWeb navy / cyan / gold tokens unchanged */
.tw-su-portal .tw-adv-head h2,.tw-su-portal .tw-adv-block h3{font-size:clamp(16px,2vw,22px);margin:0 0 13px;color:#f5fafb;line-height:1.6}
.tw-su-portal .tw-adv-head p,.tw-su-portal .tw-adv-muted{color:#b2c8d2;font-size:13px;line-height:1.9}
.tw-su-portal .tw-adv-block{margin:22px 0;padding:20px;border:1px solid rgba(27,169,196,.28);background:linear-gradient(135deg,#062837,#04202b);border-radius:17px;min-width:0}
.tw-su-portal .tw-adv-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:18px 0 10px;direction:rtl;position:relative}
.tw-su-portal .tw-adv-progress:before{content:"";position:absolute;top:21px;right:12%;left:12%;height:2px;background:#235568;z-index:0}
.tw-su-portal .tw-adv-step{display:flex;flex-direction:column;gap:9px;align-items:center;text-align:center;z-index:1;font-size:12px;color:#92b4c1;font-weight:700}
.tw-su-portal .tw-adv-node{display:grid;place-items:center;border:2px solid #396d80;background:#062735;border-radius:50%;width:43px;height:43px;font-size:14px;color:#a9c4d0}
.tw-su-portal .tw-adv-step.is-done .tw-adv-node{background:#104759;border-color:#11c3d8;color:#fff;box-shadow:0 0 0 4px #04222e}
.tw-su-portal .tw-adv-step.is-current .tw-adv-node{border-color:#f4be42;box-shadow:0 0 0 4px #04222e,0 0 17px rgba(244,190,66,.23)}
.tw-su-portal .tw-adv-status-note{color:#f3c96e;font-weight:750;font-size:13px}
.tw-su-portal .tw-adv-items{display:grid;gap:12px;margin:12px 0}
.tw-su-portal .tw-adv-file,.tw-su-portal .tw-adv-meeting,.tw-su-portal .tw-adv-document,.tw-su-portal .tw-adv-notice{padding:15px;border:1px solid rgba(47,140,162,.3);background:rgba(2,25,38,.7);border-radius:12px;color:#edf8fc;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
.tw-su-portal .tw-adv-file{display:block;text-decoration:none;color:#e6f5fa}
.tw-su-portal .tw-adv-file:hover{border-color:#f4be42;color:#f4be42}
.tw-su-portal .tw-adv-file small,.tw-su-portal .tw-adv-document span,.tw-su-portal .tw-adv-notice small{font-size:11px;color:#a1bbc7;display:inline-block;margin-inline:8px}
.tw-su-portal .tw-adv-document{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tw-su-portal .tw-adv-document div{display:grid;gap:5px;flex:1 1 170px}
.tw-su-portal .tw-adv-document strong{font-size:15px}
.tw-su-portal .tw-adv-document>b{color:#f4be42;direction:ltr}
.tw-su-portal .tw-adv-document p{width:100%;color:#a9cbd4;line-height:1.8}
.tw-su-portal .tw-adv-document form{padding:0;margin:0;border:none;background:none;display:inline-block}
.tw-su-portal .tw-adv-document form button{width:auto;min-height:40px;font-size:12px}
.tw-su-portal .tw-adv-block form{width:100%;max-width:100%;margin-top:15px;padding:16px;display:grid;grid-template-columns:1fr;gap:13px;border:1px solid rgba(38,144,161,.28);border-radius:12px;background:#052431}
.tw-su-portal .tw-adv-block form label{display:grid;gap:7px;color:#f0f6f9}
.tw-su-portal .tw-adv-block :is(select,input,textarea){width:100%;max-width:100%;background:#061b28;color:white;border:1px solid #337e94;border-radius:9px;padding:11px;font:inherit;min-height:46px}
.tw-su-portal .tw-adv-block input[type=file]{color:#d6e7ed;min-height:58px}
.tw-su-portal .tw-adv-block form button,.tw-su-portal .tw-adv-action{border:1px solid #f4be42;background:linear-gradient(#ffd766,#e9ae27);border-radius:9px;color:#04202b;font:inherit;font-weight:850;padding:11px 20px;min-height:46px;cursor:pointer;justify-self:start}
.tw-su-portal .tw-adv-block form button:disabled,.tw-su-portal .tw-adv-action:disabled{opacity:.6;cursor:wait}
.tw-su-portal .tw-adv-notice-list{display:grid;gap:10px;margin-bottom:20px}
.tw-su-portal .tw-adv-notice.is-unread{border-color:#16c6d7;box-shadow:inset -3px 0 #16c6d7}
.tw-su-portal .tw-adv-notice strong{font-size:15px}
.tw-su-portal .tw-adv-notice small{display:block;margin:5px 0}
.tw-su-portal .tw-adv-notice p{margin:5px 0;color:#c2d9e1;font-size:13px}
@media(max-width:560px){.tw-su-portal .tw-adv-block{padding:14px 12px;border-radius:13px}.tw-su-portal .tw-adv-step{font-size:10px}.tw-su-portal .tw-adv-node{width:34px;height:34px}.tw-su-portal .tw-adv-progress:before{top:17px}.tw-su-portal .tw-adv-block form{padding:12px}}
@media(prefers-reduced-motion:reduce){.tw-su-portal .tw-adv-block *{transition:none!important;animation:none!important}}
/* Mobile safeguard: minmax(0,1fr) avoids implicit min-content expansion and clipped RTL panels. */
.tw-su-portal .tw-su-account__content,.tw-su-portal .tw-su-account__panel,.tw-su-portal .tw-su-portal__case-detail{min-width:0;max-width:100%}
@media(max-width:820px){.tw-su-portal .tw-su-account__shell{grid-template-columns:minmax(0,1fr)!important}.tw-su-portal .tw-adv-progress{width:100%;min-width:0}.tw-su-portal .tw-adv-block,.tw-su-portal .tw-adv-items,.tw-su-portal .tw-adv-document{min-width:0;max-width:100%}}


.tw-su-portal .tw-adv-block select option{background:#0b2230;color:#f7fbfd}
.tw-su-portal .tw-adv-block select, .tw-su-portal .tw-adv-block input[type=datetime-local]{appearance:none;-webkit-appearance:none}
.tw-su-portal .tw-adv-date-field{display:grid;gap:8px}
.tw-su-portal .tw-adv-date-hint{display:block;color:#9fc0cb;line-height:1.9;font-size:12px}
.tw-su-portal .tw-adv-date-hint b{color:#f4d17c;font-weight:800}
.tw-su-portal .tw-adv-progress--six{grid-template-columns:repeat(6,minmax(0,1fr))}
.tw-su-portal .tw-adv-progress--six:before{right:8%;left:8%}
@media(max-width:720px){.tw-su-portal .tw-adv-progress--six{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:16px}.tw-su-portal .tw-adv-progress--six:before{display:none}}

/* Preserve contrast of selected option, focus and expanded menu on dark UI. */
.tw-su-portal .tw-adv-block select,.tw-su-portal .tw-adv-block select:is(:focus,:hover,:active),.tw-su-portal select:is(:focus,:hover,:active){
  color-scheme:dark!important;color:#f7fbfd!important;-webkit-text-fill-color:#f7fbfd!important;
  opacity:1!important;background-color:#082536!important;
}
.tw-su-portal select option,.tw-su-portal select option:checked,.tw-su-portal select option:hover{
  background:#092837!important;color:#f7fbfd!important;-webkit-text-fill-color:#f7fbfd!important;
}

/* Real-time invalid-file message, visible without form submission. */
.tw-su-upload-error{color:#ffd59a!important;background:rgba(122,33,27,.23);border:1px solid #e58b64;border-radius:8px;padding:9px 12px;margin:7px 0 0!important;line-height:1.8;font-size:12px}
.tw-su-upload-error[hidden]{display:none!important}
input[type=file][aria-invalid=true]{border-color:#e58b64!important;outline:2px solid rgba(229,139,100,.25)!important}

/* Notification cards are actionable. Focus/hover preserves TehranWeb contrast. */
.tw-su-portal .tw-adv-notice-action{display:block;width:100%;max-width:100%;margin:0;box-sizing:border-box;text-align:right;direction:rtl;font:inherit;cursor:pointer;appearance:none;-webkit-appearance:none;transition:border-color .16s ease,background-color .16s ease}
.tw-su-portal .tw-adv-notice-action.is-unread:hover,.tw-su-portal .tw-adv-notice-action.is-unread:focus-visible{border-color:#18d4e5;background:#073144;outline:2px solid #17c5da;outline-offset:2px}
.tw-su-portal .tw-adv-notice-action[disabled]{cursor:default;opacity:1;color:#edf8fc}
.tw-su-portal .tw-adv-notice-action[aria-busy=true]{cursor:wait}
.tw-su-portal .tw-adv-notice-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.tw-su-portal .tw-adv-notice-state{font-size:11px;font-weight:750;color:#9cbac6}
.tw-su-portal .tw-adv-notice.is-unread .tw-adv-notice-state{color:#61e9ed}
.tw-su-portal .tw-adv-notice-body{display:block;margin:5px 0;color:#c2d9e1;font-size:13px;line-height:1.95;white-space:pre-wrap}
.tw-su-portal [data-adv-read-notices][disabled]{opacity:.56;cursor:default}
