/* Organized by product feature for straightforward maintenance. */
/* Nutrition scanner, food network and contribution components. */

/* Product scanner, barcode lookup and nutrition-label capture. */
  .splash{z-index:15000}
  header{padding:5px 8px 4px}
  .header-top{min-height:42px;width:100%;overflow:hidden}
  .header-brandline{width:100%;padding:1px 38px;display:block!important;text-align:center;position:relative}
  .header-brandline .brand-lockup-mark{display:none!important}
  .header-brandline .brand-lockup-copy{width:100%;text-align:center}
  .header-brandline .brand-lockup-title,
  .auth-brand .brand-lockup-title,
  .splash-brand-title{
    position:relative;display:block;width:100%;overflow:hidden;
    font-family:Impact,"Arial Black","Arial Narrow Bold",system-ui,sans-serif;
    font-weight:950;font-style:italic;text-transform:uppercase;letter-spacing:.085em;
    color:transparent!important;
    background-image:linear-gradient(180deg,#5d6875 0%,#f9fdff 18%,#8f9ba8 38%,#ffffff 49%,#4f5b68 55%,#dfe7ed 72%,#707b87 100%),linear-gradient(110deg,transparent 40%,rgba(255,255,255,.05) 44%,rgba(255,255,255,.98) 49%,rgba(164,224,255,.72) 52%,rgba(255,255,255,.05) 57%,transparent 62%);
    background-size:100% 100%,240% 100%;background-position:center,180% 0;background-blend-mode:screen;
    -webkit-background-clip:text;background-clip:text;animation:cyborgTextGlisten 4.8s ease-in-out infinite;
    filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 2px 0 #202b36) drop-shadow(0 0 8px rgba(22,140,255,.22));
    transform:skewX(-7deg) scaleX(1.04);transform-origin:center;
  }
  .header-brandline .brand-lockup-title{font-size:clamp(21px,6vw,34px);line-height:.92;white-space:nowrap;letter-spacing:.07em}
  .header-brandline .brand-lockup-title::after,
  .auth-brand .brand-lockup-title::after,
  .splash-brand-title::after{display:none}
  .header-brandline .brand-lockup-tag{font-size:7px;letter-spacing:2.5px;margin-top:3px;color:#ff7a1a}
  @keyframes cyborgTextGlisten{0%,56%{background-position:center,180% 0}84%,100%{background-position:center,-180% 0}}
  .auth-brand .brand-lockup-title{font-size:clamp(31px,9vw,58px);white-space:nowrap}
  .splash-brand-title{font-size:clamp(34px,9vw,66px)!important;white-space:nowrap}
  .splash-brand-title .brand-word{animation:none!important}
  .compact-command-row{grid-template-columns:38px minmax(0,1fr) 38px!important;gap:7px}
  .compact-command-row>.compact-icon-btn:first-child{justify-self:start}
  .compact-command-row>.compact-icon-btn:last-of-type{justify-self:end}
  .compact-now strong{font-size:14px}
  .compact-now span{font-size:10px}
  .compact-week-label{font-size:10px;margin-top:3px}
  .compact-legend-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap;margin-top:6px;min-width:0}
  .compact-legend{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;font-size:8px;color:var(--muted);white-space:nowrap}
  .compact-legend span{display:inline-flex;align-items:center;gap:3px}
  .legend-dot-mini{width:6px;height:6px;border-radius:50%;display:inline-block;box-shadow:0 0 7px currentColor}
  .legend-train{color:var(--accent)}.legend-food{color:var(--accent2)}.legend-check{color:#ff6f2c}
  .legend-rest{font-size:8px;color:var(--muted);font-weight:900}
  .legend-checkin-btn{padding:4px 7px!important;border-radius:999px!important;font-size:8px!important;white-space:nowrap;color:#eaf3ff}
  .food-week-card{display:none!important}
  .quick-entry-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
  .quick-entry-head .section-kicker{margin:0}
  .scan-launch{padding:8px 10px;font-size:11px;border-radius:11px;white-space:nowrap}
  .scan-overlay{position:fixed;inset:0;z-index:13000;padding:12px;background:rgba(3,6,10,.88);backdrop-filter:blur(10px);display:grid;place-items:center}
  .scan-overlay.hidden{display:none}
  .scan-panel{width:min(96vw,720px);max-height:94vh;overflow:auto;border-radius:22px;padding:14px;background:linear-gradient(180deg,#171e29,#0f151e);border:1px solid var(--border);box-shadow:0 28px 90px rgba(0,0,0,.6)}
  .scan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}
  .scan-head h2{margin:0 0 3px;font-size:20px}
  .scan-camera{position:relative;aspect-ratio:4/3;border-radius:17px;overflow:hidden;background:#080b10;border:1px solid var(--border);display:grid;place-items:center}
  .scan-camera video,.scan-camera img{width:100%;height:100%;object-fit:contain;background:#080b10}
  .scan-camera img.hidden,.scan-camera video.hidden{display:none}
  .scan-guide{position:absolute;inset:12%;border:1px solid rgba(32,200,255,.48);border-radius:14px;pointer-events:none;box-shadow:0 0 0 999px rgba(0,0,0,.08),inset 0 0 25px rgba(32,200,255,.08)}
  .scan-controls{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.scan-controls button{flex:1;min-width:105px;padding:9px}
  .scan-status{margin-top:8px;padding:8px 10px;border-radius:11px;background:rgba(22,140,255,.07);border:1px solid rgba(22,140,255,.15);font-size:10px;line-height:1.4;color:#dce6f5}
  .scan-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.scan-fields .wide{grid-column:1/-1}
  .scan-macros{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
  .scan-options{display:grid;gap:7px;margin-top:10px}.scan-option{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(12,17,24,.48)}
  .scan-option input{width:21px!important;height:21px;accent-color:var(--accent);flex:none;margin:0}.scan-option strong{display:block;font-size:12px}.scan-option span{display:block;font-size:9px;color:var(--muted);margin-top:2px;line-height:1.35}
  .scan-confirm-row{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(0,1fr);gap:8px;align-items:end;margin-top:11px}.scan-confirm-row button{padding:12px}
  .scan-guide.barcode-guide{inset:34% 7%;border-radius:10px;border-width:2px;box-shadow:0 0 0 999px rgba(0,0,0,.12),inset 0 0 28px rgba(32,200,255,.12)}
  .scan-progress{height:6px;margin-top:7px;border-radius:999px;overflow:hidden;background:#0b1017;border:1px solid rgba(255,255,255,.06)}
  .scan-progress.hidden{display:none}.scan-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .2s ease}
  .scan-product-result{margin-top:8px;padding:9px 10px;border-radius:12px;border:1px solid rgba(32,200,255,.2);background:rgba(32,200,255,.07);font-size:11px;line-height:1.45}
  .scan-product-result.hidden{display:none}.scan-product-result strong{display:block;color:var(--text);font-size:12px}.scan-product-result.new{border-color:rgba(255,122,26,.24);background:rgba(255,122,26,.07);color:#f5e5bf}
  .scan-text-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:7px}.scan-text-actions button{flex:1;min-width:130px}
  .scan-footnote{margin-top:9px;font-size:9px;line-height:1.45;color:var(--muted);text-align:center}
  .food-network-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(255,122,26,.08);border:1px solid rgba(255,122,26,.22);font-size:10px;color:#f6d58b;font-weight:850;white-space:nowrap}
  .network-food-source{display:block;font-size:8px;color:var(--accent3);margin-top:2px}
  .nuts-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.nuts-card{padding:10px;border-radius:13px;background:var(--panel2);border:1px solid var(--border)}.nuts-card strong{display:block;font-size:21px}.nuts-card span{font-size:9px;color:var(--muted)}
  .contribution-list{display:grid;gap:6px;margin-top:9px}.contribution-item{display:flex;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:10px;background:rgba(12,17,24,.45);font-size:10px}.contribution-item strong{color:var(--accent3)}
  .social-nuts-balance{font-size:10px;color:#f6d58b;border:1px solid rgba(255,122,26,.22);background:rgba(255,122,26,.07);padding:5px 8px;border-radius:999px;white-space:nowrap;font-weight:850}
  @media(max-width:560px){
    .header-brandline{padding-left:31px;padding-right:31px}.header-brandline .brand-lockup-title{font-size:clamp(20px,7.1vw,29px)}
    .compact-legend-row{gap:5px}.compact-legend{gap:5px;font-size:7px}.legend-checkin-btn{font-size:7px!important;padding:4px 6px!important}
    .scan-fields{grid-template-columns:1fr 1fr}.scan-macros{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-confirm-row{grid-template-columns:1fr}.scan-controls button{min-width:90px}
  }


  /* Public branding and streamlined product scanner. */
  .header-brandline .brand-lockup-title,
  .auth-brand .brand-lockup-title,
  .splash-brand-title{
    overflow:visible!important;
    box-sizing:border-box;
    padding-left:.08em;
    padding-right:.08em;
    font-family:"Arial Black","Eurostile Extended","Bank Gothic",Impact,system-ui,sans-serif!important;
    font-style:normal!important;
    font-weight:1000!important;
    letter-spacing:.055em!important;
    transform:none!important;
    -webkit-text-stroke:1px rgba(15,23,31,.78);
    background-image:
      linear-gradient(180deg,#222c36 0%,#faffff 12%,#9ba8b5 27%,#ffffff 42%,#53606d 51%,#eaf2f7 66%,#75818e 82%,#27313b 100%),
      linear-gradient(108deg,transparent 35%,rgba(255,255,255,0) 42%,rgba(255,255,255,.98) 49%,rgba(160,225,255,.92) 52%,rgba(255,255,255,0) 60%,transparent 68%)!important;
    background-size:100% 100%,260% 100%!important;
    filter:drop-shadow(0 1px 0 rgba(255,255,255,.95)) drop-shadow(0 3px 0 #151d25) drop-shadow(0 0 11px rgba(126,202,255,.32))!important;
    animation:cyborgTextGlisten 4.4s ease-in-out infinite!important;
  }
  .header-brandline .brand-lockup-title{font-size:clamp(20px,6.4vw,32px)!important;max-width:100%;white-space:nowrap}
  .auth-brand .brand-lockup-title{font-size:clamp(29px,8.2vw,52px)!important;white-space:nowrap}
  .splash-brand-title{font-size:clamp(29px,8.1vw,58px)!important;line-height:1!important;max-width:100%;white-space:nowrap;margin-left:auto!important;margin-right:auto!important}
  .splash-card{padding-left:18px!important;padding-right:18px!important}
  @media(max-width:390px){.splash-brand-title{font-size:clamp(27px,7.7vw,34px)!important;letter-spacing:.035em!important}.header-brandline .brand-lockup-title{font-size:19px!important;letter-spacing:.045em!important}}

  .scan-mode-label{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:3;padding:7px 12px;border-radius:999px;background:rgba(5,9,14,.76);border:1px solid rgba(32,200,255,.38);color:#ecfff7;font-size:10px;font-weight:950;letter-spacing:1.7px;white-space:nowrap;box-shadow:0 8px 22px rgba(0,0,0,.35)}
  .scan-flow-actions{display:grid;gap:6px;margin-top:9px}
  .scan-flow-actions #scanPrimaryActionBtn{width:100%;padding:11px}
  .scan-text-link{border:0!important;background:transparent!important;color:var(--muted)!important;padding:4px!important;font-size:9px!important;box-shadow:none!important}
  .scan-review{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}
  .scan-review-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px}
  .scan-review-head strong{display:block;font-size:13px}.scan-review-head span{display:block;font-size:9px;color:var(--muted);margin-top:2px}
  .scan-product-photo-row{display:flex;align-items:center;gap:10px;margin-top:10px;padding:9px;border-radius:12px;background:rgba(12,17,24,.4);border:1px solid rgba(255,255,255,.06)}
  .scan-product-photo-row img{width:72px;height:72px;object-fit:cover;border-radius:11px;border:1px solid var(--border);background:#080b10}
  .scan-product-photo-row button{padding:8px 10px;font-size:10px}
  .scan-guide.label-guide{inset:9%;border-radius:14px;border-width:2px}
  .scan-guide.product-guide{inset:12%;border-radius:18px;border-color:rgba(22,140,255,.62)}
  .scan-camera.review-mode{display:none}
  .scan-flow-actions.review-mode{display:none}
  @media(max-width:560px){.scan-review-head{align-items:flex-start}.food-network-badge{font-size:8px}.scan-product-photo-row{align-items:flex-start}}

/* Scanner polish: focused camera controls and friendly processing states. */
.scan-camera{isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(32,200,255,.08),transparent 48%),#05080c}
.scan-camera::after{content:"";position:absolute;z-index:2;left:12%;right:12%;top:22%;height:2px;background:linear-gradient(90deg,transparent,#20c8ff 18%,#fff 50%,#ff7a1a 82%,transparent);filter:drop-shadow(0 0 7px rgba(32,200,255,.85));opacity:.9;animation:cfScanSweep 2.2s ease-in-out infinite;pointer-events:none}
.scan-camera.product-photo-mode::after,.scan-camera.review-mode::after{display:none}
.scan-camera.processing-mode::after{animation-duration:.9s}
@keyframes cfScanSweep{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(170px);opacity:1}}
.scan-guide{box-shadow:0 0 0 999px rgba(2,5,9,.26),inset 0 0 24px rgba(32,200,255,.08)}
.scan-guide::before,.scan-guide::after{content:"";position:absolute;width:30px;height:30px;border-color:#dffaff;filter:drop-shadow(0 0 7px #20c8ff)}
.scan-guide::before{left:-2px;top:-2px;border-left:3px solid;border-top:3px solid}
.scan-guide::after{right:-2px;bottom:-2px;border-right:3px solid;border-bottom:3px solid}
.scan-camera-tools{position:absolute;z-index:5;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;gap:8px;pointer-events:none}
.scan-camera-tool{pointer-events:auto;width:auto!important;min-height:36px;padding:7px 10px!important;border-radius:8px!important;background:rgba(5,9,14,.78)!important;border:1px solid rgba(191,210,223,.34)!important;color:#eefaff!important;font-size:10px!important;backdrop-filter:blur(8px)}
.scan-camera-tool[aria-pressed="true"]{border-color:#ff9a3d!important;color:#ffd2a8!important;box-shadow:0 0 12px rgba(255,122,26,.25)!important}
.scan-product-result{display:flex!important;align-items:flex-start;gap:10px}.scan-product-result.hidden{display:none!important}
.scan-product-result .scan-result-mark{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:rgba(32,200,255,.14);color:#8deaff;font-weight:950}
.scan-product-result.new .scan-result-mark{background:rgba(255,122,26,.14);color:#ffc18b}
.scan-product-result small{display:block;margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}
.scan-progress{height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.06)}
.scan-progress span{background:linear-gradient(90deg,#20c8ff,#ff7a1a);box-shadow:0 0 12px rgba(32,200,255,.45)}
.scan-field-warning input,.scan-field-warning select{border-color:#ff8a24!important;box-shadow:0 0 0 2px rgba(255,138,36,.12)!important}
@media(max-width:560px){.scan-panel{padding:12px!important}.scan-camera{min-height:310px}.scan-head h2{font-size:18px}.scan-camera-tools{bottom:8px}}
.cf-food-country{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px;font-size:11px;color:var(--muted)}
body.cf-app .cf-food-country select{width:auto;max-width:55%;padding:6px;font-size:12px!important;min-height:36px}
.scan-needs-review{outline:2px solid #e4b658!important;outline-offset:1px}
.cf-scan-portions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cf-scan-portions label{font-size:12px}
