/* Presentation update. Existing routes, actions, roles, print forms and data are retained. */
@media screen {
  :root { --ns-page:#f5f6f8; --ns-border:#e0e4eb; --ns-border-light:#edf0f4; --ns-primary:#b94c25; --ns-primary-hover:#9d3d1d; --ns-blue:#a64120; --ns-blue-dark:#873417; --ns-row-hover:#faf7f4; --ns-portlet-head:#fff; --ns-sublist-head:#f8f9fb; }
  body { background:#f5f6f8; color:#1d2738; font-size:13px; }
  .ns-page { max-width:1280px; padding:20px 20px 32px; }
  .ns-titlebar { margin:0 0 18px; align-items:center; }
  .ns-titlebar h1 { font-size:21px; font-weight:600; letter-spacing:-.6px; }
  .ns-titlebar .rectype { font-size:12px; letter-spacing:.5px; }
  .ns-header { height:60px; padding:0 24px; }
  header.ns-header .logo { height:38px; }
  .ns-menubar { top:60px; height:44px; background:#fff; border-bottom:1px solid #e0e4eb; }
  .ns-menu>a { color:#475467; }
  .ns-menu>a svg { fill:#475467; }
  .ns-menu.active>a,.ns-menu:hover>a,.ns-menu>a:hover { background:#fff0e7; color:#a64120; }
  .ns-menu .caret { border-top-color:#667085; }
  .ns-sub { top:44px; border-radius:0 0 10px 10px; }
  .ns-sub a { min-height:40px; display:flex; align-items:center; }
  .ns-card,.portlet { background:#fff; border:1px solid #e0e4eb; border-radius:12px; box-shadow:0 2px 8px rgba(16,24,40,.025); }
  .portlet-head { background:#fff; padding:11px 14px; border-bottom:1px solid #edf0f4; border-radius:12px 12px 0 0; }
  .portlet-head h3 { font-size:13px; letter-spacing:0; text-transform:none; }
  .portlet-body { padding:12px 14px; }
  .ns-dash { gap:16px; }
  .ns-dash .col { gap:14px; }
  .hello { border:0; background:transparent; padding:0 0 16px; box-shadow:none; }
  .hello-greet { font-size:21px; }
  .hello-sub { font-size:13px; line-height:1.6; }
  .hello-count { padding:8px 12px; border-radius:8px; background:#fff0e7; }
  .btn { min-height:36px; height:auto; padding:8px 12px; border-radius:8px; background:#fff; font-size:14px; line-height:1.3; white-space:normal; justify-content:center; }
  .btn:hover { background:#f8fafc; }
  .btn.primary { background:var(--ns-primary); color:#fff; }
  .btn.small { min-height:36px; height:auto; }
  a:focus-visible,button:focus-visible { outline:3px solid #dc9169; outline-offset:3px; }
  .ns-group { padding:16px 18px; }
  .ns-group-title { text-transform:none; font-size:14px; color:#273342; padding-bottom:9px; margin-bottom:11px; }
  .ns-fields { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px 20px; align-items:start; }
  .fld .lbl { font-size:12px; text-transform:none; letter-spacing:0; color:#475467; margin-bottom:7px; }
  .fld .val { font-size:14px; line-height:1.6; }
  .fld input,.fld select,.fld textarea { min-height:36px; height:auto; padding:7px 9px; font-size:14px; border:1px solid #cbd3df; border-radius:8px; background:#fafbfc; }
  .fld textarea { min-height:76px; }
  .fld .hint,.help { color:#667085; font-size:12px; line-height:1.45; }
  .fld input:focus,.fld select:focus,.fld textarea:focus { outline:2px solid #c65e34; outline-offset:2px; border-color:#c65e34; box-shadow:none; }
  .status { border-radius:6px; padding:5px 8px; font-size:12px; max-width:100%; white-space:normal; line-height:1.4; }
  .ns-listbar { background:#f8f9fb; padding:14px 18px; gap:10px; }
  .ns-listbar input,.ns-listbar select { min-height:40px; height:auto; border-radius:7px; padding:8px; }
  table.ns-list th { background:#f8f9fb; font-weight:500; font-size:11px; padding:9px 10px; }
  table.ns-list td { font-size:13px; padding:8px 10px; line-height:1.4; }
  .ns-subtabs { background:#f8f9fb; border-radius:12px 12px 0 0; overflow-x:auto; }
  .ns-subtabs a { min-height:44px; display:inline-flex; align-items:center; }
  .rem { padding:13px 0; gap:13px; }
  .rem .sub { font-size:12px; line-height:1.45; color:#667085; }
  .shortcuts a { min-height:44px; display:flex; align-items:center; }
  .request-start { margin:0 0 22px; }
  .request-start-title { font-size:14px; font-weight:600; color:#475467; margin-bottom:10px; }
  .request-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .request-option { display:flex; align-items:center; gap:12px; color:#1d2738; background:#fff; border:1px solid #e0e4eb; padding:13px; border-radius:10px; text-decoration:none; }
  .request-option:hover { text-decoration:none; border-color:#ca774e; background:#fffaf6; }
  .request-option-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:10px; background:#fff0e7; color:#a64120; font-size:12px; font-weight:600; flex:none; }
  .request-option b { display:block; font-size:14px; }
  .request-option small { display:block; color:#667085; font-size:12px; margin-top:4px; line-height:1.5; }
  .request-option-arrow { margin-left:auto; color:#a64120; }
  .rfcs-phone-nav { display:none; }
  .auth-copy h1 { letter-spacing:-.8px; }
  .auth-logo { display:inline-flex; align-self:flex-start; width:auto; background:transparent; padding:0; border:0; border-radius:0; box-shadow:none; }
  img.auth-logo-sm { background:transparent; padding:0; border:0; border-radius:0; box-shadow:none; }
  .auth-logo img { display:block; width:132px; max-width:100%; height:auto; }
  img.auth-logo-sm { width:144px; height:auto; }
  .auth-card .btn { min-height:46px; }
  .modal { border-radius:14px; max-width:calc(100% - 24px); }
  .modal-head { padding:16px 20px; }
  .modal-foot { gap:10px; flex-wrap:wrap; }
}
@media screen and (max-width:900px) and (min-width:721px) {
  .request-options { grid-template-columns:1fr; }
  .ns-menu .ns-sub { top:104px; }
}
@media screen and (max-width:720px) {
  .ns-header { height:60px; padding:0 12px; gap:9px; }
  header.ns-header .logo { height:34px; max-width:120px; object-fit:contain; }
  .ns-page { padding:18px 14px calc(98px + env(safe-area-inset-bottom)); }
  .ns-titlebar h1 { font-size:20px; }
  .ns-titlebar .rectype { font-size:12px!important; }
  .hello { display:block; }
  .hello-greet { font-size:21px; }
  .hello-count { display:inline-block; margin-top:10px; }
  .ns-dash { display:flex; flex-direction:column; gap:14px; }
  .ns-dash .col { width:100%; min-width:0; }
  .request-options { grid-template-columns:1fr; gap:9px; }
  .request-option { padding:14px; min-height:76px; }
  .request-option b { font-size:15px; }
  .ns-fields { grid-template-columns:minmax(0,1fr); gap:12px; }
  .fld,.ns-card,.portlet,.ns-subpanel { min-width:0; }
  .fld .lbl,.fld .hint { font-size:13px!important; }
  .fld .val { overflow-wrap:anywhere; }
  .ns-group { padding:18px 15px; }
  .ns-group-title { font-size:16px; }
  .btn,.btn.small,.btn.sm,.ns-btns .btn { min-height:44px; font-size:13px!important; }
  .ns-btns { gap:9px; }
  .ns-btns .btn { flex:1 1 130px; }
  .ns-listbar { align-items:stretch; padding:12px; }
  .ns-listbar input,.ns-listbar select { max-width:100%; font-size:16px; }
  .status,.status.green,.status.amber,.status.red,.status.grey { font-size:12px!important; }
  .portlet-head { padding:13px 15px; flex-wrap:wrap; gap:8px; }
  .portlet-head h3 { font-size:14px; }
  .portlet-body { padding:14px 15px; }
  .kpi-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kpi-tiles .kpi-tile { padding:12px; min-width:0; }
  .kpi-tiles .kpi-tile .v { font-size:18px; overflow-wrap:anywhere; }
  .kpi-tile .k { font-size:12px!important; }
  .ns-cards td { overflow-wrap:anywhere; }
  .ns-cards .c-title a { font-size:15px; }
  .item-row { gap:10px; padding:12px; margin-bottom:12px; }
  .item-row [name=item_desc] { font-size:16px; }
  .auth-main { padding:28px 20px; }
  .auth-card { width:100%; max-width:400px; }
  .auth-card h2 { font-size:25px; }
  .auth-foot { font-size:12px!important; line-height:1.6; }
  .auth-alt a,.auth-row a,.auth-card .links a { min-height:44px; display:inline-flex; align-items:center; }
  body.nav-open .ns-menubar { top:60px; padding-bottom:calc(90px + env(safe-area-inset-bottom)); }
  .rfcs-phone-nav { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:45; border-top:1px solid #e0e4eb; background:#fff; padding:8px 8px calc(8px + env(safe-area-inset-bottom)); gap:5px; box-shadow:0 -3px 14px rgba(16,24,40,.04); }
  .rfcs-phone-nav a { flex:1; display:flex; align-items:center; justify-content:center; min-height:46px; padding:8px 4px; font-size:13px; border-radius:8px; color:#475467; text-decoration:none; }
  .rfcs-phone-nav a[aria-current=page] { color:#a64120; background:#fff0e7; font-weight:600; }
  .rfcs-phone-nav .phone-new { background:#b94c25; color:#fff; }
  .modal { max-height:calc(100dvh - 24px); overflow:auto; }
  .modal-foot { position:sticky; bottom:0; background:#fff; }
}

/* Shared module details, including Settings, MNC records and attachment viewer. */
@media screen {
  #cawarn:empty { display:none; }
  .phone-search { display:none; }
  .kpi-table td { font-size:13px; padding:7px 10px; }
  .kpi-tiles .kpi-tile .v { font-size:18px; }
  .sel-search { font-size:14px; min-height:36px; padding:7px 9px; }
  nav.ns-menubar .ns-menu.active>a svg { fill:#a64120; }
  .ns-subtabs { flex-wrap:nowrap; }
  .ns-subtabs a { flex:none; white-space:nowrap; }
  .ns-subpanel,.ns-card,.portlet,.fld { min-width:0; }
  .modal-head { overflow-wrap:anywhere; }
  .modal-body { overflow-wrap:anywhere; }
  .fv-title { min-width:0; overflow-wrap:anywhere; }
}
@media screen and (min-width:721px) and (max-width:1050px) {
  .ns-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:720px) {
  .ns-fields { grid-template-columns:minmax(0,1fr); }
  .fld input,.fld select,.fld textarea,.sel-search { font-size:16px!important; min-height:44px; }
  .btn,.btn.small,.btn.sm { font-size:13px!important; min-height:44px; }
  .phone-search { display:flex; gap:8px; margin:0 0 16px; }
  .phone-search input { flex:1; min-width:0; min-height:44px; font-size:16px; padding:10px; border:1px solid #cbd3df; border-radius:8px; background:#fff; }
  .phone-search button { min-height:44px; padding:8px 12px; border:1px solid #cbd3df; border-radius:8px; background:#fff; }
  .rfcs-phone-nav a,.rfcs-phone-nav .phone-menu { flex:1; min-width:0; font-size:12px; }
  .phone-menu { border:0; border-radius:8px; background:#f2f4f7; color:#344054; min-height:46px; padding:8px 4px; }
  #fviewer .fv-acts { display:flex; gap:6px; flex-wrap:wrap; }
  #fviewer .fv-acts a:last-child { display:inline-flex; }
  #fviewer .fv-head { flex-wrap:wrap; }
  .prefs-save { bottom:calc(76px + env(safe-area-inset-bottom)); flex-wrap:wrap; }
  .prefs-save .help { display:block; flex-basis:100%; }
  body.nav-open nav.ns-menubar .ns-menu.active>a svg { fill:#fff!important; }
  .ns-cards td { font-size:13px; padding:7px 0; }
  .kpi-table td:first-child { overflow-wrap:anywhere; }
  .item-gl { min-width:0; }
  .igl-list { width:100%; max-width:100%; left:0; right:0; }
}
@media screen and (max-width:380px) {
  table.ns-cards td:not(.c-title):not(.c-status) { flex-wrap:wrap; text-align:left; gap:4px; }
  table.ns-cards td::before { flex-basis:100%; }
  .hello-count { max-width:100%; }
  .item-row { grid-template-columns:minmax(0,1fr) 44px; grid-template-areas:"d x" "g x" "r x" "a x"; }
}
@media (prefers-reduced-motion:reduce) {
  .hello,.hello::after,.kpi-tile { animation:none!important; }
}
