:root{--ink:#0b1b33;--muted:#66758a;--line:#dbe7f5;--pink:#2f8cff;--purple:#1769d5;--red:#0b5bd3;--white:#fff;--soft:#f5f9ff}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:radial-gradient(circle at 12% 5%,#dcecff 0,transparent 32%),radial-gradient(circle at 92% 15%,#e8f2ff 0,transparent 35%),linear-gradient(145deg,#fff 0,#f3f8ff 55%,#eef5ff 100%);min-height:100vh}.bg-orb{position:fixed;border-radius:50%;filter:blur(40px);opacity:.24;pointer-events:none}.orb-a{width:240px;height:240px;background:#2f8cff;top:-90px;right:8%}.orb-b{width:280px;height:280px;background:#1769d5;bottom:-120px;left:-80px}.orb-c{width:170px;height:170px;background:#0b5bd3;top:42%;right:-70px}.wrap{width:min(1050px,calc(100% - 28px));margin:28px auto 60px;position:relative}.hero-card,.panel{background:rgba(255,255,255,.88);border:1px solid rgba(234,220,240,.95);box-shadow:0 22px 65px rgba(87,38,116,.10);backdrop-filter:blur(16px);border-radius:24px}.hero-card{padding:26px;margin-bottom:15px;overflow:hidden;position:relative}.hero-card:after{content:"";position:absolute;right:-70px;top:-90px;width:240px;height:240px;border-radius:50%;background:linear-gradient(135deg,rgba(239,63,143,.18),rgba(123,53,232,.08));}.brand-row{display:flex;align-items:center;gap:13px;position:relative;z-index:1}.logo{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;color:#fff;font-weight:1000;background:linear-gradient(135deg,#0b5bd3,#2184e8 55%,#55b7ff);box-shadow:0 12px 26px rgba(196,45,122,.24)}.eyebrow{font-size:9px;font-weight:900;letter-spacing:1.2px;color:#3175bf}.hero-card h1{margin:3px 0 0;font-size:clamp(25px,5vw,42px);letter-spacing:-1.6px;line-height:1}.private-badge{margin-left:auto;font-size:9px;font-weight:900;color:#1769d5;background:#e4f0ff;border:1px solid #bcd8f5;border-radius:999px;padding:7px 10px}.sub{position:relative;z-index:1;color:var(--muted);font-size:12px;line-height:1.65;max-width:780px;margin:17px 0 0}.panel{padding:22px;margin-top:15px}.section-title{display:flex;align-items:center;gap:11px;margin-bottom:16px}.step{width:36px;height:36px;flex:none;border-radius:11px;display:grid;place-items:center;color:#fff;font-size:10px;font-weight:950;background:linear-gradient(135deg,var(--red),var(--pink),var(--purple));box-shadow:0 8px 20px rgba(142,52,165,.17)}h2{margin:0;font-size:15px}.section-title p{margin:3px 0 0;color:var(--muted);font-size:10px}.drop-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.upload-card{min-height:125px;border:1.5px dashed #a9c9ef;border-radius:18px;background:linear-gradient(145deg,#f4f8ff,#f6faff);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;color:var(--ink);font:inherit;transition:.18s}.upload-card:hover{transform:translateY(-2px);border-color:#4b96e8;box-shadow:0 12px 28px rgba(111,46,124,.08)}.upload-card.camera{border-style:solid}.big-icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;color:#fff;font-weight:900;background:linear-gradient(135deg,#0b5bd3,#55b7ff)}.upload-card small{font-size:9px;color:#8c829b}.preview-wrap{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;position:relative}.preview-wrap img{display:block;width:100%;max-height:380px;object-fit:contain;border-radius:11px;background:#faf7fb}.tiny-btn{position:absolute;right:16px;top:16px;border:0;border-radius:9px;padding:7px 9px;background:#fff;color:#145a9e;font-size:9px;font-weight:900;box-shadow:0 5px 18px rgba(0,0,0,.08);cursor:pointer}.hidden{display:none!important}.ocr-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:13px}.primary,.secondary{border:0;border-radius:12px;min-height:42px;padding:0 16px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.primary{color:#fff;background:linear-gradient(105deg,#0b5bd3,#2184e8 55%,#55b7ff);box-shadow:0 10px 22px rgba(161,43,122,.17)}.primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.secondary{background:#f7effb;color:#205b9b;border:1px solid #d5e4f4}.status{font-size:10px;color:#81758d}.progress{height:5px;background:#dce8f5;border-radius:999px;overflow:hidden;margin-top:11px}.progress div{height:100%;width:0;background:linear-gradient(90deg,#0b5bd3,#2184e8,#55b7ff);transition:width .15s}.ocrText,textarea{width:100%}textarea{min-height:190px;resize:vertical;border:1px solid #cbdced;border-radius:15px;padding:13px;background:#fbfdff;color:#10233d;font:12px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none}textarea:focus{border-color:#4c9af0;box-shadow:0 0 0 4px rgba(196,125,200,.10)}.result-status{padding:10px 12px;border-radius:11px;background:#f4f8fd;border:1px solid #d5e2f0;color:#746a80;font-size:10px;margin-bottom:12px}.result-status.ok{background:#eefbf6;border-color:#c7ebdc;color:#11845c}.result-status.warn{background:#fff8ec;border-color:#f1d8ad;color:#925b10}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.result-item{border:1px solid #d7e4f1;border-radius:12px;background:#fff;padding:11px 12px;min-width:0}.result-item .label{font-size:8px;text-transform:uppercase;letter-spacing:.5px;color:#708196;font-weight:900}.result-item .value{margin-top:4px;font-size:11px;font-weight:750;word-break:break-word}.result-item.money .value{color:#1769d5}.rules summary{cursor:pointer;font-size:11px;font-weight:900;color:#174f91}.rule-list{display:grid;gap:7px;margin-top:12px;color:#74697e;font-size:10px;line-height:1.5}.rule-list div{padding:8px 10px;background:#f4f9ff;border:1px solid #dbe8f5;border-radius:9px}.modal{position:fixed;inset:0;background:rgba(28,15,36,.68);display:grid;place-items:center;padding:15px;z-index:50}.modal-card{width:min(720px,100%);background:#fff;border-radius:20px;padding:13px;position:relative;box-shadow:0 25px 80px rgba(0,0,0,.3)}.modal-card video{display:block;width:100%;max-height:70vh;background:#081426;border-radius:14px;object-fit:contain}.modal-card .primary{width:100%;margin-top:10px}.modal-close{position:absolute;right:22px;top:22px;width:34px;height:34px;border:0;border-radius:50%;background:#fff;color:#174f91;font-size:22px;line-height:1;z-index:2;box-shadow:0 5px 18px rgba(0,0,0,.15)}@media(max-width:650px){.wrap{width:min(100% - 18px,1050px);margin-top:10px}.hero-card,.panel{border-radius:19px;padding:17px}.drop-grid,.result-grid{grid-template-columns:1fr}.hero-card h1{font-size:28px}.private-badge{font-size:8px}.sub{font-size:11px}}
.login-card{max-width:680px;margin:10vh auto 0}.login-form{display:grid;gap:10px;margin-top:20px;max-width:520px}.login-form input{width:100%;min-height:46px;border:1px solid #cbdced;border-radius:12px;padding:0 13px;background:#fff;color:#10233d;font:13px ui-sans-serif,system-ui}.login-form input:focus{outline:none;border-color:#4c9af0;box-shadow:0 0 0 4px rgba(196,125,200,.10)}.login-msg{min-height:20px;color:#a33b61;font-size:11px}.hero-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.mini-logout{border:1px solid #d5e4f4;background:#fff7fc;color:#145a9e;border-radius:999px;padding:7px 10px;font-size:9px;font-weight:900;cursor:pointer}.trace-wrap{margin-top:14px;padding-top:14px;border-top:1px solid #d9e6f2}.trace-title{font-size:10px;font-weight:950;color:#70417f;margin-bottom:8px}.trace-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.trace-item{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #d8e5f1;border-radius:10px;background:#f4f9ff;font-size:9px}.trace-item span{color:#6b7c90}.trace-item strong{color:#145fb5;text-align:right}.final-output{margin-top:14px;min-height:360px}.hidden{display:none!important}@media(max-width:650px){.trace-grid{grid-template-columns:1fr}.hero-actions{gap:5px}.mini-logout{padding:6px 8px}}
.result-item.key-total,.result-item.key-balance{grid-column:1/-1;background:linear-gradient(135deg,#e9f3ff,#e6f2ff);border:2px solid #8dc0f0;box-shadow:0 12px 28px rgba(123,53,232,.12)}
.result-item.key-total .label,.result-item.key-balance .label{font-size:13px;color:#1769d5}
.result-item.key-total .value,.result-item.key-balance .value{font-size:32px;color:#0b5bd3}
@media(max-width:650px){.result-item.key-total,.result-item.key-balance{grid-column:auto}.result-item.key-total .value,.result-item.key-balance .value{font-size:29px}}

.required-note{margin-top:12px;padding:13px 15px;border:1px solid #b8d5f3;border-left:4px solid var(--pink);border-radius:13px;background:linear-gradient(135deg,#f3f8ff,#f2f7ff);color:#50657d;font-size:11px;line-height:1.55}
.required-note b{color:#155ca8}

.ocr-debug-panel{padding-top:14px}.ocr-debug-panel summary{cursor:pointer;font-size:11px;font-weight:900;color:#174f91}.ocr-debug-panel textarea{margin-top:12px;min-height:140px}.result-panel{scroll-margin-top:12px}.result-status.ok{font-size:13px;font-weight:950}.result-status.warn{font-size:13px;font-weight:950}.result-item .value{font-size:14px}.result-item.key-total .value,.result-item.key-balance .value{font-size:36px;font-weight:1000}@media(max-width:650px){.result-item .value{font-size:14px}.result-item.key-total .value,.result-item.key-balance .value{font-size:32px}}

.drop-zone{border:1.5px dashed #a9c9ef;border-radius:19px;padding:8px;background:linear-gradient(145deg,#fffafd,#fbf8ff);transition:.18s}
.drop-zone.drag-over{border-color:#2184e8;background:linear-gradient(145deg,#e9f3ff,#e7f3ff);box-shadow:0 0 0 4px rgba(123,53,232,.09)}
.drop-zone .drop-grid{border:0}
.paste-drop-hint{text-align:center;padding:10px 8px 5px;color:#61758c;font-size:10px;line-height:1.7}
.paste-drop-hint kbd{padding:2px 5px;border:1px solid #c7d8e9;border-bottom-width:2px;border-radius:5px;background:#fff;color:#395775;font:700 9px ui-monospace,SFMono-Regular,Menlo,monospace}
.inline-paste{border:1px solid #c8dced;background:#fff;color:#165ea8;border-radius:8px;padding:5px 8px;font:800 9px inherit;cursor:pointer;margin-left:5px}
.inline-paste:hover{background:#edf6ff}
@media(max-width:650px){.paste-drop-hint{font-size:9px}.inline-paste{display:block;margin:7px auto 0}}

/* High-visibility paste area */
.paste-drop-hint{font-weight:650;cursor:text}
.paste-drop-hint b{color:#1769d5}
.inline-paste{font-size:10px;padding:7px 10px}
.drop-zone:focus-within{border-color:#2184e8;box-shadow:0 0 0 4px rgba(123,53,232,.08)}

/* Full-width output copy bar above the source image */
.top-copy-bar{width:100%;display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:10px;border:1px solid #d5e4f4;border-radius:15px;background:linear-gradient(135deg,#f3f8ff,#f8f2ff);box-shadow:0 8px 22px rgba(111,46,124,.07)}
.top-paste-btn{flex:1;min-height:46px;border:0;border-radius:11px;padding:0 18px;color:#5b4300;background:linear-gradient(105deg,#ffd21f,#ffeb70,#ffc107);box-shadow:0 9px 20px rgba(230,174,0,.20);font:900 11px inherit;cursor:pointer;transition:.18s}
.top-paste-btn:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(230,174,0,.28)}
.top-paste-btn:active{transform:translateY(0)}
.top-copy-btn{flex:1;min-height:46px;border:0;border-radius:11px;padding:0 18px;color:#fff;background:linear-gradient(105deg,#0b5bd3,#2184e8 55%,#55b7ff);box-shadow:0 9px 20px rgba(161,43,122,.17);font:900 11px inherit;cursor:pointer;transition:.18s}
.top-copy-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 25px rgba(161,43,122,.22)}
.top-copy-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.top-copy-btn.copied{background:linear-gradient(105deg,#148a5b,#1fa66d,#238d73);opacity:1}
.copy-status{min-width:265px;font-size:10px;font-weight:750;color:#66758a}
.copy-status.success{color:#11845c}.copy-status.error{color:#a34c35}
@media(max-width:650px){.top-copy-bar{display:block;padding:9px}.top-copy-btn{width:100%}.copy-status{display:block;text-align:center;padding:7px 4px 2px;min-width:0}}

/* Final button layout: Paste directly above Copy Output, same full-width bar */
.top-copy-bar{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:8px;
  width:100%;
  margin:0 0 12px;
  padding:10px;
  border:1px solid #d5e4f4;
  border-radius:15px;
  background:linear-gradient(135deg,#f3f8ff,#f8f2ff);
  box-shadow:0 8px 22px rgba(111,46,124,.07);
}
.top-paste-btn,
.top-copy-btn{
  width:100%;
  flex:none;
  min-height:46px;
  border-radius:11px;
  padding:0 18px;
  font:900 11px inherit;
  cursor:pointer;
  transition:.18s;
}
.top-paste-btn{
  border:0;
  color:#5b4300;
  background:linear-gradient(105deg,#ffd21f,#ffeb70,#ffc107);
  box-shadow:0 9px 20px rgba(230,174,0,.20);
}
.top-paste-btn:hover{transform:translateY(-1px);box-shadow:0 12px 25px rgba(230,174,0,.28)}
.top-paste-btn:active{transform:translateY(0)}
.top-copy-btn{
  border:0;
  color:#fff;
  background:linear-gradient(105deg,#0b5bd3,#2184e8 55%,#55b7ff);
  box-shadow:0 9px 20px rgba(161,43,122,.17);
}
.top-copy-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 25px rgba(161,43,122,.22)}
.top-copy-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.top-copy-btn.copied{background:linear-gradient(105deg,#148a5b,#1fa66d,#238d73);opacity:1}
.copy-status{
  width:100%;
  min-width:0;
  padding:2px 4px 0;
  text-align:center;
  font-size:10px;
  font-weight:750;
  color:#66758a;
}
.copy-status.success{color:#11845c}
.copy-status.error{color:#a34c35}
@media(max-width:650px){
  .top-copy-bar{display:flex;padding:9px}
  .top-paste-btn,.top-copy-btn{width:100%}
  .copy-status{display:block;padding:2px 4px 0;min-width:0}
}


/* ============================================================
   MVScript Professional Calculator Theme — Blue Edition
   ============================================================ */
body{background:
  radial-gradient(circle at 8% 0%,rgba(47,140,255,.18),transparent 30%),
  radial-gradient(circle at 94% 10%,rgba(23,105,213,.16),transparent 34%),
  linear-gradient(145deg,#f8fbff 0%,#eef5fc 52%,#e8f2ff 100%)}
.bg-orb{opacity:.16}.orb-a{background:#2184e8}.orb-b{background:#1769d5}.orb-c{background:#55b7ff}
.wrap{width:min(1120px,calc(100% - 28px));margin:24px auto 60px}
.hero-card,.panel{border-color:#cfe0f2;box-shadow:0 18px 55px rgba(18,72,125,.10)}
.hero-card{background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(244,249,255,.94))}
.hero-card:after{background:linear-gradient(135deg,rgba(33,132,232,.18),rgba(11,91,211,.05))}
.logo{background:linear-gradient(135deg,#073b91,#0b5bd3 48%,#55b7ff);box-shadow:0 12px 26px rgba(11,91,211,.24)}
.hero-card h1{letter-spacing:-1.4px}.eyebrow{color:#1769d5}
.private-badge{color:#0b5bd3;background:#e8f3ff;border-color:#bdd9f5}
.panel{background:rgba(255,255,255,.92)}
.step{background:linear-gradient(135deg,#0b5bd3,#2184e8,#55b7ff);box-shadow:0 8px 20px rgba(23,105,213,.18)}
.upload-card{background:linear-gradient(145deg,#fafdff,#f1f7ff);border-color:#a9c9ef}
.upload-card:hover{border-color:#4b96e8;box-shadow:0 12px 28px rgba(23,105,213,.10)}
.big-icon{background:linear-gradient(135deg,#0b5bd3,#55b7ff)}
.top-copy-bar{border-color:#c7dcef;background:linear-gradient(135deg,#f3f8ff,#eaf4ff);box-shadow:0 10px 26px rgba(17,79,143,.08)}
.top-copy-btn{background:linear-gradient(105deg,#0b5bd3,#2184e8 55%,#55b7ff);box-shadow:0 9px 20px rgba(11,91,211,.18)}
.top-copy-btn:hover:not(:disabled){box-shadow:0 12px 25px rgba(11,91,211,.24)}
.top-paste-btn{background:linear-gradient(105deg,#ffd21f,#ffeb70,#ffc107);color:#594600}
.result-status.ok{box-shadow:inset 3px 0 0 #1da774}
.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.result-item{background:linear-gradient(145deg,#fff,#f7fbff);border-color:#d4e3f1;box-shadow:0 5px 16px rgba(27,76,124,.045)}
.result-item .label{color:#6e8195}.result-item .value{color:#102b4b}
.result-item.money .value{color:#0b5bd3}
.result-item.key-total,.result-item.key-balance{background:linear-gradient(135deg,#eaf5ff,#dceeff);border:1px solid #8fc2f2;box-shadow:0 14px 30px rgba(23,105,213,.13)}
.result-item.key-total .label,.result-item.key-balance .label{color:#1769d5}
.result-item.key-total .value,.result-item.key-balance .value{color:#084fae;font-size:38px;text-shadow:0 3px 18px rgba(23,105,213,.12)}
.result-panel{position:relative;overflow:hidden}.result-panel:before{content:"CALCULATION ENGINE";position:absolute;right:20px;top:18px;font-size:8px;letter-spacing:1.5px;font-weight:900;color:#8ba9c7}
.final-output{background:#071a31;color:#d8ebff;border-color:#173e67;box-shadow:inset 0 0 0 1px rgba(85,183,255,.08)}
.required-note{border-color:#b8d5f3;border-left-color:#2184e8;background:linear-gradient(135deg,#f2f8ff,#edf5ff);color:#536b84}
.required-note b{color:#155ca8}
.progress{background:#dce8f5}.progress div{background:linear-gradient(90deg,#0b5bd3,#2184e8,#55b7ff)}
.primary{background:linear-gradient(105deg,#0b5bd3,#2184e8 55%,#55b7ff);box-shadow:0 10px 22px rgba(11,91,211,.18)}
.secondary{background:#edf5fc;color:#205b9b;border-color:#c8dced}
.rules summary,.ocr-debug-panel summary{color:#174f91}
.rule-list div{background:#f5f9fd;border-color:#d9e6f2}
.trace-item{background:#f4f9ff;border-color:#d8e5f1}.trace-item strong{color:#145fb5}
.copy-status.success{color:#11845c}
@media(max-width:760px){.result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.result-grid{grid-template-columns:1fr}.result-item.key-total .value,.result-item.key-balance .value{font-size:33px}}
