
:root{
  --yellow:#FFDE00;
  --bg:#000000;
  --panel:#0d0d0d;
  --panel2:#171717;
  --text:#ffffff;
  --muted:#9d9d9d;
  --line:#2a2a2a;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#000;color:#fff;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
body{min-height:100svh;overflow:hidden}
button,input{font:inherit}
.hidden{display:none!important}
.screen{position:fixed;inset:0;min-height:100svh}
#app{min-height:100svh;background:#000}

/* Splash */
.splash-screen{display:flex;align-items:center;justify-content:center;background:#000}
.splash-logo{width:min(72vw,370px);height:auto;animation:splashIn .4s ease both}
@keyframes splashIn{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}

/* Selector */
.selector-screen{overflow:auto;background:#000;padding:max(36px,env(safe-area-inset-top)) 22px max(34px,env(safe-area-inset-bottom))}
.selector-inner{width:min(100%,560px);margin:0 auto}
.selector-logo{width:235px;max-width:68vw;height:auto}
.selector-inner h1{font-size:38px;letter-spacing:-.04em;margin:46px 0 8px}
.selector-inner p{margin:0 0 24px;color:#aaa;line-height:1.45}
.employee-search{width:100%;padding:15px 16px;border-radius:15px;border:1px solid #292929;background:#141414;color:#fff;outline:none;margin-bottom:14px}
.employee-search:focus{border-color:#FFDE00;box-shadow:0 0 0 3px rgba(255,222,0,.08)}
.employee-list{display:grid;gap:10px;padding-bottom:30px}
.employee-item{width:100%;border:1px solid #262626;background:#111;border-radius:16px;padding:15px 16px;display:flex;align-items:center;gap:13px;text-align:left;color:#fff;cursor:pointer}
.employee-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#1d1d1d;border:1px solid #373737;font-weight:800;color:#FFDE00;flex:0 0 46px}
.employee-meta strong{display:block;font-size:17px}
.employee-meta span{display:block;margin-top:3px;color:#aaa;font-size:13px}

/* Card */
.card-screen{overflow:auto;background:#000;display:flex;align-items:center;justify-content:center;padding:22px}
.contact-card{
  position:relative;width:min(100%,495px);min-height:666px;
  background:radial-gradient(circle at 42% 10%,rgba(255,255,255,.018),transparent 28%),linear-gradient(180deg,#101010 0%,#090909 100%);
  color:#fff;padding:54px 37px 38px;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none
}
.brand{margin:0 0 66px}
.brand-logo{width:215px;max-width:58%;height:auto;display:block}
.identity h2{margin:0;color:#fff;font-size:46px;line-height:1.01;letter-spacing:-.045em;font-weight:400}
.role{margin-top:15px;color:#FFDE00;font-size:18px;line-height:1.2;font-weight:700}
.company-name{margin-top:7px;color:#fff;font-size:15px;line-height:1.3}
.details{margin-top:37px;display:grid}
.detail-row{min-height:72px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;border-bottom:1px solid #2b2b2b;padding:10px 0}
.detail-row:last-child{border-bottom:0}
.detail-icon{width:48px;height:48px;border-radius:50%;background:#1b1b1b;display:grid;place-items:center;color:#FFDE00;font-size:24px}
.detail-text{color:#fff;font-size:14px;line-height:1.35;overflow-wrap:anywhere}
.address-row{min-height:82px}
.settings-button{
  position:absolute;top:24px;right:24px;width:42px;height:42px;border:1px solid #2b2b2b;border-radius:50%;
  background:#171717;color:#bdbdbd;display:grid;place-items:center;cursor:pointer;z-index:3
}
.settings-button svg{width:21px;height:21px;fill:currentColor}
@media(min-width:560px){.contact-card{border-radius:22px;box-shadow:0 24px 70px rgba(0,0,0,.55)}}
@media(max-width:559px){
  .card-screen{padding:0;background:#090909}
  .contact-card{width:100%;min-height:100svh;border-radius:0;padding:max(46px,env(safe-area-inset-top)) 36px max(32px,env(safe-area-inset-bottom))}
  .settings-button{top:calc(env(safe-area-inset-top) + 20px);right:22px}
  .brand{margin-bottom:62px}.brand-logo{width:210px;max-width:58vw}
  .identity h2{font-size:clamp(42px,12vw,52px)}
}

/* Share */
.share-view{position:fixed;inset:0;z-index:50;background:#080808;color:#fff;display:flex;flex-direction:column;align-items:center;padding:max(28px,env(safe-area-inset-top)) 22px max(30px,env(safe-area-inset-bottom))}
.close-share{position:absolute;top:max(14px,env(safe-area-inset-top));right:16px;width:44px;height:44px;border-radius:50%;border:1px solid #303030;background:#171717;color:#fff;font-size:30px}
.share-logo{width:min(54vw,260px);height:auto}
.share-name{margin-top:22px;font-size:clamp(22px,5.5vw,31px);font-weight:500;text-align:center}
.share-role{margin-top:5px;color:#FFDE00;font-size:17px;font-weight:700;text-align:center}
.share-qr-wrap{margin:auto 0;width:min(82vw,440px);aspect-ratio:1;background:#fff;border-radius:22px;padding:22px;box-shadow:0 0 65px rgba(255,255,255,.14)}
.share-qr-wrap img{width:100%;height:100%;display:block;object-fit:contain}
.share-caption{font-size:clamp(19px,5vw,26px);font-weight:700;text-align:center}
.share-caption-small{font-size:12px;color:#9d9d9d;margin-top:8px;text-align:center}

/* Settings */
.settings-sheet{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.72);display:flex;align-items:flex-end;justify-content:center;padding:16px;backdrop-filter:blur(9px)}
.settings-card{width:min(100%,520px);background:#151515;color:#fff;border:1px solid #2a2a2a;border-radius:24px;padding:20px}
.settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.settings-head h3{margin:0;font-size:23px}.settings-head p{margin:4px 0 0;color:#8f8f8f;font-size:13px}
.settings-close-icon{width:38px;height:38px;border-radius:50%;border:1px solid #303030;background:#1d1d1d;color:#fff;font-size:26px}
.offline-status{width:100%;display:flex;align-items:center;gap:13px;padding:15px;margin-bottom:13px;border:1px solid #2a2a2a;border-radius:17px;background:#101010}
.offline-dot{width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:#777}
.offline-status.is-ready .offline-dot,.offline-status.is-offline .offline-dot{background:#FFDE00;box-shadow:0 0 0 5px rgba(255,222,0,.10)}
.offline-status strong{display:block;font-size:14px}.offline-status small{display:block;color:#929292;font-size:11px;line-height:1.4;margin-top:3px}
.settings-action{width:100%;min-height:64px;display:flex;align-items:center;gap:13px;text-align:left;padding:11px 13px;margin-top:10px;border-radius:16px;border:1px solid #303030;background:#1b1b1b;color:#fff}
.settings-action:disabled{opacity:.58}
.settings-action-icon{width:42px;height:42px;flex:0 0 42px;border-radius:50%;display:grid;place-items:center;background:#262626;color:#FFDE00;font-size:20px}
.install-action .settings-action-icon{background:#FFDE00;color:#090909}
.settings-action strong{display:block;font-size:14px}.settings-action small{display:block;margin-top:3px;color:#919191;font-size:11px}
.settings-secondary{width:100%;padding:13px;margin-top:12px;border:0;background:transparent;color:#9c9c9c}

/* Install guide */
.install-guide{position:fixed;inset:0;z-index:100;overflow:auto;background:rgba(0,0,0,.82);display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) 18px max(20px,env(safe-area-inset-bottom));backdrop-filter:blur(12px)}
.install-guide-card{position:relative;width:min(100%,470px);background:#131313;border:1px solid #2c2c2c;border-radius:25px;padding:27px 21px 21px;color:#fff}
.install-guide-close{position:absolute;top:15px;right:15px;width:38px;height:38px;border-radius:50%;border:1px solid #303030;background:#1d1d1d;color:#fff;font-size:26px}
.install-guide-icon{width:74px;height:74px;border-radius:18px;overflow:hidden;margin-bottom:20px}.install-guide-icon img{width:100%;height:100%;object-fit:cover}
.install-guide-card h3{margin:0;font-size:25px}.install-guide-card>p{margin:8px 0 20px;color:#aaa;font-size:13px}
.install-guide-steps{display:grid;gap:10px}.install-step{display:grid;grid-template-columns:34px minmax(0,1fr);gap:11px;padding:12px;border-radius:15px;background:#1a1a1a;border:1px solid #292929}
.install-step-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#FFDE00;color:#090909;font-weight:800}
.install-step strong{display:block;font-size:13px}.install-step p{margin:3px 0 0;color:#999;font-size:11px;line-height:1.45}
.install-important{margin-top:14px;padding:14px;border-radius:15px;background:rgba(255,222,0,.08);border:1px solid rgba(255,222,0,.25)}
.install-important strong{color:#FFDE00;font-size:13px}.install-important p{margin:6px 0 0;color:#c5c5c5;font-size:11px;line-height:1.5}
.install-guide-done{width:100%;padding:14px;margin-top:15px;border:0;border-radius:15px;background:#FFDE00;color:#090909;font-weight:800}
