/* ============ Global chrome: top nav, rail, service nav, layout ============ */
.aws-nav{position:sticky;top:0;z-index:640;background:var(--nav-bg);box-shadow:0 1px 1px rgba(0,0,0,.25)}
.aws-nav__row{display:flex;align-items:center;height:40px;padding:0 10px;gap:2px;min-width:0}
.aws-logo{display:inline-flex;align-items:center;margin:0 10px 0 2px;color:#fff;flex:none}
.aws-logo svg{height:22px;width:auto}

.aws-nav__item{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 10px;color:#fff;font-size:13.5px;border-radius:0;white-space:nowrap}
.aws-nav__item:hover,.aws-nav__item[aria-expanded="true"]{background:var(--nav-hover)}
.caret{width:8px;height:8px;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(255,255,255,.85);transform:translateY(2px);transition:transform .15s}
[aria-expanded="true"] .caret{transform:translateY(-1px) rotate(180deg)}
.aws-nav__iconbtn{padding:0 12px}
.aws-nav__iconbtn span[data-icon]{margin-top:3px}
.bell-badge{position:absolute;top:6px;right:4px;background:#ff9900;color:#16191f;font-size:9.5px;font-weight:700;border-radius:8px;min-width:14px;height:14px;line-height:14px;text-align:center;padding:0 3px;font-family:"Amazon Ember",Arial,sans-serif}
#nav-bell{position:relative}
.hide-narrow{display:inline-flex}
@media(max-width:920px){.hide-narrow{display:none}}
@media(max-width:760px){.hide-ultranarrow{display:none}}

.aws-nav__burger{display:none;width:36px;height:36px;color:#fff;border-radius:4px;align-items:center;justify-content:center;flex:none}
.aws-nav__burger:hover{background:var(--nav-hover)}
@media(max-width:920px){
  .aws-nav__burger{display:inline-flex}
  #nav-services{display:none}
  .hide-narrow{display:none!important}
  .region-label-short{font-size:12.5px}
}

/* ---- Search ---- */
.aws-search{position:relative;flex:1;max-width:720px;min-width:80px;margin-left:6px}
.aws-search__fieldwrap{display:flex;align-items:center;background:#35455a;border-radius:6px;height:30px;padding:0 8px;transition:background .15s, box-shadow .15s}
.aws-search__fieldwrap:focus-within{background:#fff;box-shadow:0 0 0 3px rgba(9,114,211,.35)}
.aws-search__icon{color:#aab8c5;display:flex;margin-right:6px}
.aws-search__fieldwrap:focus-within .aws-search__icon{color:#5f6b7a}
.aws-search input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:13.5px;min-width:40px}
.aws-search input::placeholder{color:#aab8c5;font-size:13px}
.aws-search input:focus{color:#16191f}
.aws-search__clear{cursor:pointer;color:#8d99a8;display:flex;padding:2px;border-radius:50%}
.aws-search__suggest{position:absolute;top:38px;left:12px;right:12px;max-width:min(100%,860px);width:auto;background:#fff;border-radius:0 0 10px 10px;box-shadow:var(--shadow-pop),0 8px 24px rgba(0,0,0,.28);overflow:hidden;z-index:700;color:var(--text)}
.sg-head{padding:10px 16px 4px;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);display:flex;justify-content:space-between}
.sg-item{display:flex;align-items:center;gap:10px;padding:8px 16px;cursor:pointer;font-size:13.5px;min-height:34px}
.sg-item b{font-weight:600;color:var(--link)}
.sg-item.hl,.sg-item:hover{background:#f0f6ff}
.sg-item .sg-sub{color:var(--text-2);font-size:12px;margin-left:auto;flex:none}
.sg-item .svc-ico{flex:none}
.sg-empty{padding:18px 16px;color:var(--text-2)}
.sg-foot{border-top:1px solid var(--hairline);padding:8px 16px;display:flex;justify-content:space-between;font-size:12px;color:var(--text-2);background:#fafafa}
kbd.kbd{font-family:var(--mono);font-size:10.5px;background:#eceef0;border:1px solid #d5dbdb;border-bottom-width:2px;border-radius:4px;padding:0 5px;color:#454f5b}

/* services mega menu */
.pop-panel{position:absolute;background:#fff;border-radius:0 0 10px 10px;box-shadow:var(--shadow-pop),0 12px 32px rgba(0,0,0,.3);z-index:700;overflow:hidden;color:var(--text)}
.mega-menu{left:56px;top:0;right:0;margin-top:0;padding:8px 18px 18px;max-height:min(78vh,660px);overflow-y:auto}
.services-grid{columns:5;column-gap:26px}
@media(max-width:1200px){.services-grid{columns:4}}
@media(max-width:1000px){.services-grid{columns:3}}
.svc-cat{break-inside:avoid;padding-top:12px}
.svc-cat h3{font-size:12.5px;font-weight:700;color:#232f3e;padding:4px 8px 6px}
.svc-row{display:flex;align-items:center;gap:10px;padding:5.5px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:#16395e}
.svc-row:hover{background:#eef3fa;color:var(--blue-dark)}
.svc-row .svc-ico{flex:none;width:18px;height:18px}
.svc-row.core .svc-name{font-weight:600}
.mega-note{font-size:11.5px;color:var(--text-3);padding:10px 8px 0;display:flex;gap:6px;align-items:center}

/* region panel w/ map */
.region-panel{top:40px;right:118px;width:494px;max-width:calc(100vw - 16px)}
.rm-mapwrap{background:#101c2b;position:relative;padding:0}
.rm-canvas{display:block;width:100%;height:172px}
.rm-meta{position:absolute;left:10px;top:8px;color:#89a3bf;font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase}
.region-body{padding:10px 0 6px;max-height:380px;overflow-y:auto}
.region-title{font-size:13px;font-weight:700;color:#232f3e;padding:6px 16px}
.region-favrow{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px}
.chip-region{border:1px solid #414d5c;border-radius:16px;padding:3px 10px;font-size:12px;color:#37475a;cursor:pointer;background:#fff}
.chip-region:hover{border-color:var(--blue);color:var(--blue-dark)}
.chip-region.sel{background:#232f3e;border-color:#232f3e;color:#fff}
.region-grp-head{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);padding:8px 16px 2px}
.region-row{display:flex;align-items:center;gap:8px;padding:6.5px 16px;cursor:pointer;font-size:13.5px}
.region-row:hover{background:#eef3fa}
.region-row.cur{color:var(--link);font-weight:600}
.region-row .r-go{margin-left:auto;color:var(--blue-dark);opacity:0;display:flex}
.region-row:hover .r-go{opacity:1}
.region-count{margin-left:auto;font-size:12px;color:var(--text-2)}

/* account / other small menus */
.account-panel{top:40px;right:66px;width:300px;padding-bottom:6px}
.acc-head{padding:12px 16px;border-bottom:1px solid var(--hairline)}
.acc-name{font-weight:700;font-size:14px}
.acc-id{font-size:12.5px;color:var(--text-2)}
.acc-role{margin-top:6px;background:#f7fafd;border:1px solid #dde7ef;border-radius:6px;padding:6px 8px;font-size:12px;color:#3b4d63;display:flex;gap:6px;align-items:flex-start}
.menu-list button{display:flex;width:100%;text-align:left;padding:8px 16px;font-size:13.5px;gap:8px;align-items:center}
.menu-list button:hover{background:#eef3fa}
.menu-list .m-div{border-top:1px solid var(--hairline);margin:4px 0}
.settings-panel,.help-panel{top:40px;right:96px;width:264px}
.help-panel{right:20px}

/* bell panel */
.bell-panel{top:40px;right:64px;width:396px;max-width:calc(100vw - 20px)}
.bell-head{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--hairline)}
.bell-head h3{font-size:15px}
.notif{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid var(--hairline);cursor:default}
.notif.unread{background:#f4f9fe}
.notif .n-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none}
.notif h4{font-size:13px;font-weight:600}
.notif p{font-size:12.5px;color:var(--text-2)}
.notif time{font-size:11.5px;color:var(--text-3);display:block;margin-top:3px}
.link-btn{color:var(--link);font-weight:600;font-size:12.5px}
.link-btn:hover{text-decoration:underline}
.backdrop-click{position:fixed;inset:0;z-index:650}

/* ============ Shell layout ============ */
.aws-shell{display:flex;min-height:calc(100vh - 40px)}
.service-rail{width:52px;background:var(--rail-bg);flex:none;display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:2px;position:sticky;top:40px;height:calc(100vh - 40px);overflow-y:auto}
.service-rail::-webkit-scrollbar{width:0}
.rail-btn{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#93a5b8;position:relative}
.rail-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.rail-btn.active{background:rgba(255,255,255,.14);color:#fff}
.rail-btn.active::before{content:"";position:absolute;left:-6px;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--orange)}
.rail-tip{position:fixed;background:#1b2734;color:#fff;font-size:12px;padding:4px 9px;border-radius:6px;z-index:800;pointer-events:none;white-space:nowrap;box-shadow:var(--shadow-pop)}

.svc-nav{width:225px;flex:none;background:var(--nav-bg-2);color:#d5dbdb;font-size:13.5px;position:sticky;top:40px;height:calc(100vh - 40px);overflow-y:auto;padding:10px 0 30px;z-index:5}
.svc-nav.dark-scroll::-webkit-scrollbar-thumb{background:#425063;background-clip:padding-box;border:3px solid transparent}
.sn-head{display:flex;align-items:center;gap:10px;padding:8px 18px 12px;color:#fff;font-size:14px;font-weight:700;letter-spacing:.02em}
.sn-close{margin-left:auto;color:#8296aa;display:flex;border-radius:4px}
.sn-close:hover{background:rgba(255,255,255,.1)}
.sn-group>button{display:flex;width:100%;align-items:center;gap:6px;padding:7px 16px 7px 18px;color:#e9edf1;text-align:left;font-weight:600}
.sn-group>button .caret{border-top-color:#7d90a5;transform:rotate(-90deg) translateY(-1px)}
.sn-group.open>button .caret{transform:rotate(0deg) translateY(2px)}
.sn-links{padding:2px 0 4px}
.sn-link{display:block;padding:6px 16px 6px 42px;color:#c7ccd1;text-decoration:none;font-size:13px}
.sn-link:hover{color:#fff;background:rgba(255,255,255,.06);text-decoration:none}
.sn-link.active{color:#ff9900;font-weight:600}
.aws-main{flex:1;min-width:0;display:flex;flex-direction:column}
.aws-view{outline:none}

/* Breadcrumb bar */
.crumb-bar{display:flex;align-items:center;gap:8px;min-height:46px;padding:10px 24px 8px;flex-wrap:wrap}
.crumb{font-size:13.5px;color:var(--text-2);text-decoration:none}
.crumb:hover{color:var(--link)}
.crumb-sep{color:var(--text-3);font-size:11px}
.crumb-cur{font-size:13.5px;color:var(--text);font-weight:600}

/* narrow viewport collapse */
@media(max-width:920px){
  .service-rail{display:none}
  .svc-nav{position:fixed;left:0;top:40px;bottom:0;z-index:660;box-shadow:var(--shadow-pop);width:min(280px,84vw)}
  .crumb-bar{padding:8px 16px 6px}
}
@media(min-width:921px){
  .svc-nav-mobile-close{display:none}
}
/* page travel transitions (design territory) — driven by WAAPI in transitions.js;
   child stagger remains CSS */
.content-stagger>*{animation:childUp .3s both cubic-bezier(.3,.6,.3,1)}
.content-stagger>*:nth-child(1){animation-delay:0ms}
.content-stagger>*:nth-child(2){animation-delay:36ms}
.content-stagger>*:nth-child(3){animation-delay:72ms}
.content-stagger>*:nth-child(4){animation-delay:108ms}
.content-stagger>*:nth-child(5){animation-delay:144ms}
.content-stagger>*:nth-child(n+6){animation-delay:170ms}
@keyframes childUp{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .travel-outgoing,.travel-incoming,.content-stagger>*{animation-duration:.01ms!important;animation-delay:0ms!important}
}
