/* ============================================================
   Brintage Web R249 · Cámara integrada de navegador
   Replica el flujo estable de Android V5.3 sin abrir una app externa.
   ============================================================ */

body.br-media-source-open,
body.br-web-camera-open{overflow:hidden!important;}

.br-media-source-overlay{
  position:fixed;inset:0;z-index:100400;
  display:flex;align-items:flex-end;justify-content:center;
  padding:12px 12px calc(8px + env(safe-area-inset-bottom));
  box-sizing:border-box;background:rgba(14,25,42,.48);
  font-family:Arial,Helvetica,sans-serif;
}
.br-media-source-sheet{
  width:min(560px,100%);background:#fff;color:#27364d;
  border-radius:5px;padding:18px 18px 12px;box-sizing:border-box;
  box-shadow:0 16px 42px rgba(17,42,72,.22);
  transform:translateY(28px);opacity:0;
  animation:brMediaSheetIn .18s ease forwards;
}
@keyframes brMediaSheetIn{to{transform:translateY(0);opacity:1}}
.br-media-source-title{font-size:22px;line-height:36px;font-weight:700;margin:0;}
.br-media-source-subtitle{font-size:13.5px;line-height:34px;color:#728197;margin:0 0 6px;}
.br-media-source-row{
  width:100%;height:72px;border:0;background:transparent;color:inherit;
  display:grid;grid-template-columns:46px minmax(0,1fr) 28px;align-items:center;
  gap:14px;padding:8px;box-sizing:border-box;border-radius:5px;text-align:left;
  cursor:pointer;-webkit-tap-highlight-color:transparent;
}
.br-media-source-row:active,.br-media-source-row:hover{background:rgba(79,166,248,.07)}
.br-media-source-icon{
  width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  color:#2f84f6;background:#eaf4ff;
}
.br-media-source-icon svg{width:24px;height:24px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.br-media-source-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;height:100%;}
.br-media-source-name{font-size:16px;font-weight:700;line-height:1.2;color:#27364d;}
.br-media-source-desc{font-size:12.5px;line-height:1.35;color:#728197;margin-top:4px;}
.br-media-source-arrow{font-size:28px;line-height:1;color:#2f84f6;text-align:center;}
.br-media-source-divider{height:1px;background:#e8eef5;margin-left:58px;}
.br-media-source-cancel-divider{height:1px;background:#e8eef5;margin-top:4px;}
.br-media-source-cancel{
  width:100%;height:48px;border:0;border-radius:5px;background:transparent;
  color:#2f84f6;font-size:15px;font-weight:700;cursor:pointer;
}
.br-media-source-cancel:active,.br-media-source-cancel:hover{background:rgba(79,166,248,.07)}

.br-web-camera{
  position:fixed;inset:0;z-index:100500;background:#000;color:#fff;
  overflow:hidden;font-family:Arial,Helvetica,sans-serif;
  touch-action:manipulation;
}
.br-web-camera-stage{position:absolute;inset:0;background:#000;display:grid;place-items:center;overflow:hidden;}
.br-web-camera-video,.br-web-camera-review{
  width:100%;height:100%;display:block;object-fit:contain;background:#000;
}
.br-web-camera-video.is-front{transform:scaleX(-1)}
.br-web-camera-review{position:absolute;inset:0;z-index:3;}
.br-web-camera-top{
  position:absolute;left:0;right:0;top:0;z-index:8;height:80px;
  padding-top:env(safe-area-inset-top);box-sizing:content-box;pointer-events:none;
}
.br-web-camera-brand{
  position:absolute;left:50%;top:16px;transform:translateX(-50%);
  width:130px;height:48px;display:grid;place-items:center;font-size:16px;font-weight:600;
  text-shadow:0 1px 3px rgba(0,0,0,.55);pointer-events:none;
}
.br-web-camera-round{
  position:absolute;top:14px;width:52px;height:52px;border-radius:50%;
  border:1px solid rgba(255,255,255,.34);background:rgba(0,0,0,.40);color:#fff;
  display:grid;place-items:center;padding:0;cursor:pointer;pointer-events:auto;
  -webkit-tap-highlight-color:transparent;
}
.br-web-camera-close{left:18px;font-size:34px;font-weight:300;line-height:1;}
.br-web-camera-switch{right:18px;font-size:28px;line-height:1;}
.br-web-camera-switch svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.br-web-camera-bottom{
  position:absolute;left:0;right:0;bottom:0;z-index:8;
  height:150px;padding-bottom:env(safe-area-inset-bottom);box-sizing:content-box;
  pointer-events:none;
}
.br-web-camera-hint{
  position:absolute;left:50%;bottom:112px;transform:translateX(-50%);
  width:90px;height:32px;display:grid;place-items:center;font-size:13px;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
}
.br-web-camera-shutter{
  position:absolute;left:50%;bottom:28px;transform:translateX(-50%);
  width:82px;height:82px;border:4px solid #fff;border-radius:50%;background:transparent;
  padding:0;display:grid;place-items:center;box-sizing:border-box;cursor:pointer;pointer-events:auto;
  -webkit-tap-highlight-color:transparent;
}
.br-web-camera-shutter::after{content:"";width:62px;height:62px;border-radius:50%;background:#fff;display:block;}
.br-web-camera-shutter:disabled{opacity:.55;}
.br-web-camera-loading{
  position:absolute;inset:0;z-index:7;display:grid;place-items:center;background:#000;color:#fff;
  font-size:14px;letter-spacing:.01em;
}
.br-web-camera-review-controls{
  position:absolute;left:0;right:0;bottom:0;z-index:10;height:104px;
  padding:0 24px env(safe-area-inset-bottom);box-sizing:content-box;
  display:flex;align-items:center;justify-content:space-between;background:rgba(0,0,0,.40);
}
.br-web-camera-review-action{
  height:50px;border-radius:5px;padding:0 22px;min-width:132px;
  border:1px solid rgba(255,255,255,.55);background:rgba(0,0,0,.60);color:#fff;
  font-size:15px;font-weight:600;cursor:pointer;
}
.br-web-camera-review-action.is-primary{
  min-width:148px;border-color:#2f84f6;background:#2f84f6;
}

@media(min-width:901px) and (pointer:fine){
  .br-media-source-overlay{align-items:center;}
}
@media(max-width:420px){
  .br-web-camera-review-controls{padding-left:16px;padding-right:16px;}
  .br-web-camera-review-action{min-width:118px;padding:0 16px;}
  .br-web-camera-review-action.is-primary{min-width:132px;}
}
