/* Shared Sunshine visual contract. Home keeps its own stricter screenshot-matched layer. */
:root{
  --ink:#17375f;--muted:#6c8195;--line:#d9e2e5;--paper:#fffefa;
  --canvas:#f2f3f2;--blue:#3f7fb4;--blue-dark:#245f91;--blue-soft:#d9ecff;
  --lime:#baff50;--lime-deep:#8dce3f;--cream:#fffefa;--red:#ee665e;--gold:#ffe5a1;
  --shadow:0 8px 24px rgba(37,73,105,.08);
  font-family:"SF Pro Text","Inter","PingFang SC","Microsoft YaHei",system-ui,sans-serif;
  color:var(--ink);font-weight:400;
}
html,body{background:#f1f2f1}
.device{background:var(--paper);box-shadow:0 0 0 8px #18251f,0 0 0 10px #35443d,0 18px 55px rgba(29,48,40,.18)}
.status-bar{height:28px;display:flex;padding:0 18px 0 22px;background:var(--paper);color:#17375f;font-size:11px;line-height:1}.status-bar>b{font-weight:750;letter-spacing:-.02em}.status-icons{display:flex;align-items:center;gap:6px}.status-icons svg{display:block;fill:#17375f}.status-signal{width:17px;height:12px}.status-wifi{width:17px;height:13px;fill:none!important;stroke:#17375f;stroke-width:1.7;stroke-linecap:round}.status-battery{position:relative;width:22px;height:11px;border:1.5px solid #17375f;border-radius:3px;display:block}.status-battery:after{content:"";position:absolute;right:-3px;top:3px;width:2px;height:4px;border-radius:0 1px 1px 0;background:#17375f}.status-battery i{position:absolute;inset:2px;width:15px;border-radius:1px;background:#17375f}.dynamic-island{display:none}
.screen{top:28px;background:var(--paper);color:var(--ink)}
.page-header{height:76px;padding:15px 24px 10px;background:rgba(255,254,250,.97);border-bottom:1px solid var(--line);backdrop-filter:none}
.page-header h1{font-size:22px;line-height:26px;font-weight:750;letter-spacing:-.03em}
.page-header p{font-size:11px;line-height:15px;color:var(--muted);font-weight:400}
.brand-mark{width:33px;height:33px;background:var(--lime);font-size:14px;color:#102a1e}
.header-actions{gap:4px}.icon-button{color:var(--ink)}
.detail-header{height:74px}.detail-header .icon-button{font-size:32px}.text-button,.quiet-button{color:var(--blue);font-size:12px;font-weight:650}
.bottom-nav{height:69px;background:#fff;border-top:1px solid var(--line);padding:6px 6px 5px}
.sunshine-nav .nav-item{position:relative;color:#17375f;font-size:11px;font-weight:450;gap:2px;border-radius:0}
.sunshine-nav .nav-item.active{color:var(--blue);font-weight:650}
.sunshine-nav .nav-item.active:after{content:"";position:absolute;bottom:-5px;width:26px;height:3px;border-radius:3px;background:var(--blue)}
.sun-nav-icon{width:24px;height:25px;display:block;background-image:url("../assets/contacts-figma-reference.png");background-repeat:no-repeat;background-size:509px 894px}
.sun-nav-home{background-position:-102px -801px}.sun-nav-chat{background-position:-176px -801px}.sun-nav-wallet{background-position:-249px -801px}.sun-nav-credentials{background-position:-322px -801px}.sun-nav-settings{background-position:-395px -801px}
.intro{padding:13px 24px 15px;margin:0;color:var(--muted);font-size:12px;line-height:18px;border-bottom:1px solid var(--line)}
.local-note{height:44px;padding:13px 24px;border-top:0;border-bottom:1px solid var(--line);font-size:11px}.local-note i{background:#91d343}
.search-box{height:51px;margin:15px 20px 10px;border:1px solid #b9cce0;border-radius:14px;padding:0 14px;color:var(--ink)}
.search-box input{font-size:12px;color:var(--ink)}
.segmented{margin:8px 20px;padding:4px;background:#eef2f0;border-radius:14px;gap:4px}.segmented button{height:39px;font-size:11px;color:var(--ink)}.segmented button.active{font-weight:700;box-shadow:0 3px 9px rgba(31,62,89,.08)}
.conversation-list,.list-card,.token-card{background:#fff;border:1px solid rgba(23,55,95,.04);box-shadow:none;border-radius:16px}
.conversation-list{margin:12px 20px}.conversation{height:66px;color:var(--ink);border-color:var(--line)}.conversation b{font-size:12px;font-weight:700}.conversation small{font-size:10px;color:var(--muted)}.conversation time{font-size:9px;color:#8797a5}.conversation time em{background:var(--red)}
.avatar{font-weight:700}.avatar.green{background:#76b481}.avatar.blue{background:#67a5e5}.avatar.dark{background:#153a32}
.wallet-balance{background:#fffaf0;border:1px solid #f1e6cb;box-shadow:none;color:var(--ink)}.wallet-balance strong{font-weight:750}.wallet-actions button,.wallet-secondary button{background:#fff;border:1px solid var(--line)}.wallet-actions .accent{background:#4b88bf;color:#fff;border-color:#4b88bf}
.token-row,.list-row{color:var(--ink);border-color:var(--line)}.token-row b,.row-copy strong{font-weight:650}.token-row small,.row-copy small{color:var(--muted)}
.identity-card{background:linear-gradient(135deg,#d8ebff,#c6e1fb);color:var(--ink);box-shadow:none}.identity-card button{background:var(--gold);color:var(--ink)}
.travel-banner,.travel-hero{background:linear-gradient(135deg,#d7ebff,#f2f8fc);color:var(--ink)}
.profile-card{box-shadow:none;border:1px solid var(--line);color:var(--ink)}
.info-card{box-shadow:none}.info-card.blue-soft{background:#e7f3fc;border-color:#cfe3f2}.info-card.success{background:#eef8e8}.info-card.warning-card{background:#fff7e4}
.detail-body{padding:22px 24px 32px}.detail-body h2{font-size:23px;font-weight:750}.hero-symbol{border-radius:15px}.primary-button{background:#3f7fb4;box-shadow:none}.secondary-button{color:var(--ink)}
.field input{border-color:#b9cce0}.security-score{background:#edf7e8}.bank-card,.travel-pass{background:linear-gradient(135deg,#315f87,#17375f)}
.scanner{background:#17375f}.scanner i,.scanner span{border-color:#ffe5a1;background:#ffe5a1;box-shadow:none}
.review-panel{background:rgba(255,255,255,.92);box-shadow:0 10px 35px rgba(35,55,47,.08)}
.review-brand .brand-mark{background:#d8ebff;color:var(--ink)}
.screen-index button{color:#526a7d}.screen-index button:hover,.screen-index button.active{background:#e7f3fc;color:#2f73aa}

/* Figma-matched Contacts page */
.contacts-original{min-height:743px;background:#fffefa;color:#17375f}
.contacts-original button{font:inherit;color:inherit}
.co-header{height:162px;padding:16px 20px 16px;border-bottom:1px solid var(--line)}
.co-topline{height:57px;display:flex;align-items:flex-start;justify-content:space-between}
.co-back{border:0;background:transparent;padding:8px 0;font-size:25px;line-height:20px}.co-back span{font-size:14px;vertical-align:3px;margin-left:4px}
.co-add{height:48px;border:1px solid #f0d47b;border-radius:15px;background:#ffe7a2;padding:0 18px;font-size:14px;font-weight:700}
.co-header h1{font-size:27px;line-height:32px;margin:6px 0 4px;font-weight:750;letter-spacing:-.035em}.co-header p{margin:0;font-size:13px;color:var(--muted)}
.co-search{height:51px;margin:16px 20px 11px;border:1px solid #b9cce0;border-radius:14px;background:#fff;display:flex;align-items:center;gap:11px;padding:0 14px}.co-search>span{font-size:23px;line-height:1}.co-search input{border:0;outline:0;flex:1;background:transparent;color:var(--ink);font-size:15px}.co-search input::placeholder{color:#667b91}
.co-filters{height:96px;margin:0 20px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:46px 46px;gap:4px 6px}.co-filters button{border:1px solid #b9cce0;border-radius:12px;background:#fff;font-size:14px;font-weight:650}.co-filters button.active{background:#447faf;color:#fff;border-color:#447faf}
.co-count{height:31px;margin:0 20px;padding-top:9px;font-size:13px;color:var(--muted)}
.co-list{margin:0 20px}.co-contact{width:100%;height:99px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:46px 1fr 12px;align-items:center;gap:11px;text-align:left}.co-avatar{width:46px;height:46px;border-radius:15px;background:#d6ebff;display:grid;place-items:center;font-size:13px;font-weight:650}.co-avatar.merchant{background:#ffe6a1;font-size:23px}.co-copy{display:flex;flex-direction:column;gap:4px}.co-copy b{font-size:16px;font-weight:650}.co-copy small{font-size:13px}.co-copy em{font-size:12px}.co-copy small,.co-copy em{color:var(--muted);font-style:normal}.co-contact>i{font-style:normal;font-size:22px;color:#55728d}

@media(max-width:760px){.status-bar{height:calc(28px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top)}.screen{top:calc(28px + env(safe-area-inset-top))}}
