/* R4.3 final visual delivery layer: compact, mobile-first and RTL-safe. */
:root{--ns-navy:#01152D;--ns-orange:#FE5A03;--ns-ink:#122033;--ns-line:#e7ebf1;--ns-surface:#fff;--ns-soft:#f5f7fa}
.ns-r43{background:var(--ns-soft);color:var(--ns-ink)}
.ns-r43 .auth-screen{background:radial-gradient(circle at 84% 6%,#ff9a5b 0,rgba(254,90,3,.14) 19%,transparent 37%),linear-gradient(145deg,#01152d,#063568)}
.ns-r43 .auth-card{border:1px solid rgba(255,255,255,.25);box-shadow:0 20px 56px rgba(0,15,38,.28)}
.ns-r43 .auth-logo{box-shadow:0 8px 22px rgba(254,90,3,.24)}
.ns-r43 .topbar,.ns-r43 .chat-head{border-color:var(--ns-line);box-shadow:0 1px 0 rgba(1,21,45,.04)}
.ns-r43 .chat-row,.ns-r43 .search-row{height:68px;min-height:68px;border-color:var(--ns-line)}
.ns-r43 .chat-row:hover,.ns-r43 .chat-row.active{background:linear-gradient(90deg,rgba(254,90,3,.08),rgba(1,21,45,.035));color:var(--ns-ink)}
.ns-r43 .chat-row.active .preview,.ns-r43 .chat-row.active time{color:var(--muted)}
.ns-r43 .avatar,.ns-r43 .chat-avatar{background:linear-gradient(145deg,#073b70,#01152d);box-shadow:0 2px 8px rgba(1,21,45,.15)}
.ns-r43 .unread-badge,.ns-r43 .badge{background:var(--ns-orange);box-shadow:0 2px 7px rgba(254,90,3,.28)}
.ns-r43 .composer{border-top:1px solid var(--ns-line);box-shadow:0 -8px 26px rgba(1,21,45,.035)}
.ns-r43 .composer textarea{min-height:42px;border-radius:21px}
.ns-r43 .composer button.primary,.ns-r43 button.primary,.ns-r43 .send{background:var(--ns-orange);box-shadow:0 4px 12px rgba(254,90,3,.22)}
.ns-r43 .fab{background:var(--ns-orange);box-shadow:0 4px 14px rgba(254,90,3,.30)}
.ns-r43 .fab:hover{background:#df4900}
.ns-r43 button:focus-visible,.ns-r43 input:focus-visible,.ns-r43 textarea:focus-visible,.ns-r43 select:focus-visible{outline:3px solid rgba(254,90,3,.28);outline-offset:2px}
.ns-r43 .modal-card,.ns-r43 .modal-content{border:1px solid var(--ns-line);box-shadow:0 18px 54px rgba(1,21,45,.22)}
.ns-r43 .r4-file-row{gap:10px;border-radius:12px;border:1px solid var(--ns-line);padding:10px;background:#fff}
.ns-r43 .r4-file-row.failed{border-color:rgba(194,45,45,.45);background:#fff7f6}
.ns-r43 .r4-file-actions{display:flex;align-items:center;gap:7px}
.ns-r43 .r4-file-actions button{min-height:34px;padding:5px 9px;border-radius:9px}
.ns-r43 .r4-file-actions [data-r4retry]{color:var(--ns-navy);background:#fff0e8;border:1px solid rgba(254,90,3,.28)}
.ns-r43 .r4-media-sheet>button{min-height:64px;border-radius:14px}
.ns-r43 .r4-voice-card audio{width:100%;accent-color:var(--ns-orange)}
.ns-r43 .msg{max-width:min(82%,560px)}
.ns-r43 .msg .bubble{box-shadow:0 1px 1px rgba(1,21,45,.05)}
@media (max-width:640px){
  .ns-r43 .chat-row,.ns-r43 .search-row{height:64px;min-height:64px;padding-inline:12px}
  .ns-r43 .topbar,.ns-r43 .chat-head{padding-top:max(10px,env(safe-area-inset-top))}
  .ns-r43 .composer{padding-bottom:max(8px,env(safe-area-inset-bottom))}
  .ns-r43 .messages{padding-inline:10px}
  .ns-r43 .composer-wrap{padding-inline:8px}
  .ns-r43 .modal-card,.ns-r43 .modal-content{border-radius:18px 18px 0 0}
  .ns-r43 .r4-media-sheet>button{min-height:60px}
  .ns-r43 .msg{max-width:88%}
}
