*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:100svh;margin:0}:root{--bg-0:oklch(12% .028 285);--bg-1:oklch(16% .035 285);--bg-2:oklch(20% .04 288);--teal:oklch(80% .13 195);--violet:oklch(66% .21 295);--magenta:oklch(72% .24 350);--azure:oklch(72% .16 250);--ink:oklch(97% .008 280);--ink-dim:oklch(74% .02 285);--ink-faint:oklch(58% .025 285);--glass:oklch(82% .04 290/.05);--glass-strong:oklch(85% .05 290/.08);--glass-brd:oklch(88% .06 295/.16);--glass-brd-hi:oklch(90% .08 300/.34);--flag:oklch(82% .16 78);--flag-bg:oklch(70% .15 75/.16);--danger:oklch(70% .2 25);--display:"Sora", system-ui, sans-serif;--body:"Manrope", system-ui, sans-serif;--mono:"Space Mono", ui-monospace, monospace;--dur-fast:.16s;--dur:.32s;--dur-slow:.62s;--ease:cubic-bezier(.16, 1, .3, 1);--radius:22px;--radius-sm:13px;--space:clamp(.85rem, .55rem + 1.6vw, 1.35rem);--shell:1560px;font-family:var(--body);color:var(--ink);background:var(--bg-0)}body{font-family:var(--body);color:var(--ink);background:var(--bg-0);position:relative;overflow-x:hidden}body:before{content:"";z-index:-2;filter:blur(14px)saturate(125%);animation:aurora-drift 24s var(--ease) infinite alternate;will-change:transform;background:radial-gradient(38vmax 38vmax at 18% 12%,oklch(66% .21 295/.55),#0000 60%),radial-gradient(42vmax 42vmax at 86% 8%,oklch(72% .24 350/.42),#0000 62%),radial-gradient(46vmax 46vmax at 72% 88%,oklch(80% .13 195/.4),#0000 60%),radial-gradient(40vmax 40vmax at 8% 86%,oklch(72% .16 250/.38),#0000 60%);position:fixed;inset:-30vmax}body:after{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(oklch(90% .05 290/.025) 1px,#0000 1px),linear-gradient(90deg,oklch(90% .05 290/.025) 1px,#0000 1px);background-size:46px 46px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(120% 120% at 50% 0,#000 35%,#0000 78%);mask-image:radial-gradient(120% 120% at 50% 0,#000 35%,#0000 78%)}@keyframes aurora-drift{0%{transform:translate(-3%,-2%)rotate(0)scale(1.05)}50%{transform:translate(4%,2%)rotate(8deg)scale(1.12)}to{transform:translate(-2%,3%)rotate(-6deg)scale(1.08)}}main{width:min(var(--shell), calc(100vw - 2rem));max-width:none;padding:clamp(1.1rem, .6rem + 3vw, 2.4rem) var(--space) 5rem;flex-direction:column;gap:clamp(1.1rem,.7rem + 2vw,1.9rem);margin:0 auto;display:flex}.app-head,.dropzone,.review-card,.export-row{animation:rise var(--dur-slow) var(--ease) both}.app-head{animation-delay:20ms}.dropzone{animation-delay:.1s}.review-card{animation-delay:.18s}.export-row{animation-delay:.26s}@keyframes rise{0%{opacity:0;filter:blur(6px);transform:translateY(20px)scale(.985)}to{opacity:1;filter:blur();transform:none}}.app-head{z-index:60;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.brand{align-items:center;gap:.85rem;display:flex}.brand-mark{--s:46px;width:var(--s);height:var(--s);background:conic-gradient(from 210deg, var(--violet), var(--magenta), var(--teal), var(--azure), var(--violet));box-shadow:0 0 0 1px var(--glass-brd-hi) inset, 0 8px 30px oklch(66% .21 295/.5);border-radius:14px;flex:none;place-items:center;animation:9s linear infinite spin;display:grid;position:relative}.brand-mark:after{content:"";background:var(--bg-0);border-radius:11px;position:absolute;inset:3px}.brand-mark svg{z-index:1;width:24px;height:24px;position:relative}@keyframes spin{to{transform:rotate(360deg)}}.brand-text{flex-direction:column;line-height:1;display:flex}h1{font-family:var(--display);letter-spacing:-.03em;background:linear-gradient(100deg, var(--ink) 30%, var(--teal) 70%, var(--magenta));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.5rem,1.1rem + 2.4vw,2.35rem);font-weight:800}.tagline{letter-spacing:.04em;color:var(--ink-dim);text-transform:uppercase;margin-top:.45rem;font-size:.82rem}.pill{font-family:var(--body);color:var(--ink);border:1px solid var(--glass-brd);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);border-radius:999px;padding:.5rem 1rem;font-size:.86rem;font-weight:600}.pill:hover{border-color:var(--glass-brd-hi);background:var(--glass-strong);transform:translateY(-1px)}.pill:active{transform:translateY(0)scale(.97)}.pill:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.head-actions{align-items:center;gap:.55rem;display:flex}.pill-profile{align-items:center;gap:.4rem;max-width:14rem;display:inline-flex}.pill-profile span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pill-profile svg{color:var(--teal);flex:none}.mode-tabs{border:1px solid var(--glass-brd);background:oklch(14% .03 285/.58);border-radius:999px;align-items:center;padding:.18rem;display:inline-flex}.mode-tabs button{font-family:var(--body);color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.42rem .82rem;font-size:.82rem;font-weight:700}.mode-tabs button.is-active{color:var(--bg-0);background:linear-gradient(110deg, var(--teal), var(--violet))}.cp-backdrop{z-index:60;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade var(--dur) var(--ease);background:oklch(10% .03 285/.6);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.cp-modal{border-radius:var(--radius);border:1px solid var(--glass-brd);background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:min(460px,94vw);max-height:90svh;animation:rise var(--dur-slow) var(--ease) both;flex-direction:column;gap:.9rem;padding:clamp(1.2rem,.9rem + 1.5vw,1.7rem);display:flex;overflow-y:auto}.cp-title{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.2rem;font-weight:700}.cp-sub{color:var(--ink-dim);margin:0;font-size:.82rem;line-height:1.5}.cp-field{flex-direction:column;gap:.4rem;display:flex}.cp-label{font-family:var(--body);color:var(--ink-dim);letter-spacing:.02em;font-size:.82rem;font-weight:600}.cp-row{align-items:center;gap:.4rem;display:flex}.cp-row input{font-family:var(--body);color:var(--ink);border-radius:var(--radius-sm);border:1px solid var(--glass-brd);background:oklch(14% .03 285/.6);flex:1;padding:.55rem .8rem;font-size:.9rem}.cp-row input:focus{border-color:var(--teal);outline:none}.cp-remove{border:1px solid var(--glass-brd);width:1.9rem;height:1.9rem;color:var(--ink-dim);cursor:pointer;background:0 0;border-radius:999px;flex:none;font-size:1.1rem;line-height:1}.cp-remove:hover{color:var(--ink);border-color:var(--glass-brd-hi)}.cp-add{font-family:var(--body);color:var(--teal);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:.2rem 0;font-size:.8rem;font-weight:600}.cp-actions{justify-content:flex-end;gap:.6rem;margin-top:.3rem;display:flex}.ledger-tools{flex-wrap:wrap;align-items:center;gap:.6rem;margin:.2rem 0 .9rem;display:flex}.ledger-search{min-width:10rem;font-family:var(--body);color:var(--ink);border:1px solid var(--glass-brd);background:oklch(14% .03 285/.6);border-radius:999px;flex:14rem;padding:.55rem .9rem;font-size:.88rem}.ledger-search:focus{border-color:var(--teal);outline:none}.ledger-sort select{font-family:var(--body);color:var(--ink);border:1px solid var(--glass-brd);cursor:pointer;background:oklch(14% .03 285/.6);border-radius:999px;padding:.5rem .8rem;font-size:.85rem}.ledger-sort select:focus{border-color:var(--teal);outline:none}.ledger-group{font-family:var(--body);color:var(--ink-dim);cursor:pointer;align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.ledger-group input{accent-color:var(--teal);width:1rem;height:1rem}.dir-chip{letter-spacing:.02em;vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.1rem .55rem;font-size:.7rem;font-weight:700;display:inline-block}.dir-sale{color:oklch(82% .16 150);background:oklch(72% .16 150/.18)}.dir-purchase{color:oklch(82% .14 250);background:oklch(72% .18 250/.18)}.dir-group-row td{font-family:var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-dim);background:0 0;font-size:.82rem;font-weight:700;padding-top:1rem!important}.dir-group-count{font-family:var(--mono);color:var(--teal);margin-left:.5rem;font-size:.78rem;font-weight:600}.undo-toast{z-index:70;border:1px solid var(--glass-brd-hi);background:var(--glass-strong);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);font-family:var(--body);color:var(--ink);animation:rise var(--dur) var(--ease) both;border-radius:999px;align-items:center;gap:1rem;max-width:min(92vw,30rem);padding:.7rem .7rem .7rem 1.1rem;font-size:.86rem;display:flex;position:fixed;bottom:1.4rem;left:50%;transform:translate(-50%);box-shadow:0 8px 30px oklch(10% .03 285/.5)}.undo-toast>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.undo-btn{font-family:var(--body);color:var(--teal);border:1px solid var(--teal);cursor:pointer;transition:background var(--dur-fast) var(--ease);background:0 0;border-radius:999px;flex:none;align-items:center;gap:.35rem;padding:.4rem .9rem;font-size:.82rem;font-weight:700;display:inline-flex}.undo-btn:hover{background:oklch(72% .16 180/.14)}.recon{flex-direction:column;gap:1rem;display:flex}.recon-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.recon-title h2{font-family:var(--display);letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,1rem + 1.3vw,1.8rem)}.recon-controls,.recon-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.recon-hint{color:var(--ink-dim);margin:-.3rem 0 0;font-size:.86rem;line-height:1.5}.recon-rule-note{border:1px solid var(--glass-brd);border-radius:var(--radius-sm);background:var(--glass);padding:.85rem 1rem}.recon-rule-note h3{font-family:var(--display);color:var(--ink);margin:0 0 .55rem;font-size:.9rem}.recon-rule-note ul{color:var(--ink-dim);margin:0;padding-left:1.1rem;font-size:.8rem;line-height:1.55}.recon-check{color:var(--ink-dim);cursor:pointer;align-items:center;gap:.45rem;font-size:.84rem;display:inline-flex}.recon-check input{width:1rem;height:1rem;accent-color:var(--teal)}.recon-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.recon-upload,.recon-card{border-radius:var(--radius);border:1px solid var(--glass-brd);background:linear-gradient(160deg, var(--glass-strong), oklch(20% .04 288/.35));-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);box-shadow:0 18px 50px -30px oklch(8% .04 285/.85)}.recon-upload{flex-direction:column;gap:.8rem;padding:1rem;display:flex}.recon-upload-head{align-items:flex-start;gap:.75rem;display:flex}.recon-upload-head h3,.recon-card-head h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:1rem}.recon-upload-head p{color:var(--ink-dim);margin:.22rem 0 0;font-size:.82rem;line-height:1.45}.recon-upload-icon{width:2.3rem;height:2.3rem;color:var(--bg-0);background:linear-gradient(135deg, var(--teal), var(--magenta));border-radius:.8rem;flex:none;place-items:center;display:grid}.recon-upload-icon svg{width:1.15rem;height:1.15rem}.recon-file-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.recon-files{color:var(--ink-dim);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.7rem;font-size:.82rem;display:grid}.recon-files b{font-family:var(--mono);color:var(--teal);line-height:1.9rem}.recon-file-list{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:.5rem;min-width:0;max-height:12rem;display:flex;overflow:auto}.recon-file-chip{border:1px solid var(--glass-brd);background:oklch(96% .01 285/.06);border-radius:999px;align-items:center;gap:.45rem;max-width:100%;min-height:2.15rem;padding:.36rem .42rem .36rem .72rem;display:inline-flex;box-shadow:inset 0 1px oklch(100% 0 0/.05)}.recon-file-chip>span{min-width:0;color:var(--ink);white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.25}.recon-file-chip button{width:1.35rem;height:1.35rem;font-family:var(--body);color:var(--ink-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;font-size:1rem;font-weight:700;line-height:1;display:grid}.recon-file-chip button:hover{color:var(--ink);background:var(--glass)}.recon-file-empty{color:var(--ink-faint);line-height:1.9rem}.recon-error{border-radius:var(--radius-sm);color:oklch(86% .12 25);background:oklch(70% .2 25/.12);border:1px solid oklch(70% .2 25/.4);padding:.75rem .9rem;font-size:.86rem}.recon-cache{border-radius:var(--radius-sm);color:var(--teal);background:oklch(80% .13 195/.1);border:1px solid oklch(80% .13 195/.32);padding:.75rem .9rem;font-size:.86rem}.recon-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;display:grid}.recon-stats span{border-radius:var(--radius-sm);border:1px solid var(--glass-brd);background:var(--glass);min-height:4rem;color:var(--ink-dim);flex-direction:column;justify-content:center;gap:.25rem;padding:.7rem;font-size:.78rem;display:flex}.recon-stats b{font-family:var(--display);color:var(--ink);font-size:1.45rem}.recon-usage{border-radius:var(--radius-sm);border:1px solid var(--glass-brd);background:var(--glass);padding:.7rem .85rem}.recon-usage-line{justify-content:space-between;align-items:center;gap:1rem;display:flex}.recon-usage-line h3{font-family:var(--display);margin:0 0 .25rem;font-size:.95rem}.recon-usage-line span{color:var(--ink-dim);margin:0;font-size:.76rem}.recon-usage-summary{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.recon-usage-summary span{border:1px solid var(--glass-brd);white-space:nowrap;background:oklch(13% .025 285/.42);border-radius:999px;align-items:center;gap:.4rem;min-height:2rem;padding:.35rem .65rem;display:inline-flex}.recon-usage-summary b{color:var(--ink);font-family:var(--display);font-size:.9rem}.recon-usage-details{margin-top:.55rem}.recon-usage-details summary{cursor:pointer;width:fit-content;color:var(--teal);font-size:.78rem;font-weight:800;list-style-position:inside}.recon-usage-details p{color:var(--ink-dim);margin:.5rem 0 .65rem;font-size:.76rem}.recon-usage-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;display:grid}.recon-usage-grid span{border-radius:var(--radius-sm);border:1px solid var(--glass-brd);min-height:3.5rem;color:var(--ink-dim);background:oklch(13% .025 285/.42);flex-direction:column;justify-content:center;gap:.2rem;padding:.6rem;font-size:.74rem;display:flex}.recon-usage-grid b{color:var(--ink);font-family:var(--display);word-break:break-word;font-size:1rem}.recon-usage-calls{flex-direction:column;gap:.35rem;margin-top:.7rem;display:flex}.recon-usage-calls div{border-radius:var(--radius-sm);border:1px solid var(--glass-brd);color:var(--ink-dim);background:oklch(13% .025 285/.3);grid-template-columns:minmax(10rem,1.6fr) .6fr 1fr .7fr;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:.76rem;display:grid}.recon-usage-calls b{min-width:0;color:var(--ink);overflow-wrap:anywhere}.recon-board{border-radius:var(--radius);border:1px solid var(--glass-brd);background:linear-gradient(160deg, var(--glass-strong), oklch(20% .04 288/.32));-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);grid-template-columns:minmax(360px,1fr) minmax(160px,240px) minmax(360px,1fr);align-items:stretch;gap:0;min-height:34rem;display:grid;overflow:hidden;box-shadow:0 24px 60px -32px oklch(8% .04 285/.9)}.recon-lane{background:oklch(13% .03 285/.22);flex-direction:column;min-width:0;display:flex}.recon-lane:first-child{border-right:1px solid var(--glass-brd)}.recon-lane:last-child{border-left:1px solid var(--glass-brd)}.recon-lane-head{border-bottom:1px solid var(--glass-brd);justify-content:space-between;align-items:center;gap:1rem;min-height:4.2rem;padding:.9rem 1rem;display:flex}.recon-lane-head h3{font-family:var(--display);margin:0;font-size:1rem}.recon-lane-head span{color:var(--ink-dim);font-size:.78rem}.recon-node-list{flex-direction:column;flex:1;gap:.38rem;padding:.55rem;display:flex;overflow:visible}.recon-node{text-align:left;border-radius:var(--radius-sm);border:1px solid var(--glass-brd);width:100%;height:4.25rem;color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);background:oklch(16% .035 285/.58);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem .5rem;padding:.42rem .55rem;display:grid}.recon-node:hover{border-color:var(--glass-brd-hi);background:oklch(19% .04 285/.7);transform:translateY(-1px)}.recon-node.is-selected{border-color:var(--teal);box-shadow:0 0 0 2px oklch(80% .13 195/.24)}.recon-node.is-linked{border-color:oklch(80% .13 195/.38)}.recon-node-date{color:var(--teal);font-family:var(--mono);font-size:.68rem}.recon-node b{-webkit-line-clamp:1;-webkit-box-orient:vertical;min-width:0;font-size:.78rem;line-height:1.25;display:-webkit-box;overflow:hidden}.recon-review-reason{color:var(--flag);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.66rem;font-style:normal;line-height:1.2;display:-webkit-box;overflow:hidden}.recon-node:not(.recon-node-invoice):not(.recon-node-attachment)>span:last-child{font-family:var(--mono);color:var(--ink-dim);justify-self:end;font-size:.76rem}.recon-node-invoice,.recon-node-attachment{cursor:default;grid-template-columns:minmax(0,1fr) auto;padding:.38rem .5rem;position:relative}.recon-node-main{text-align:left;min-width:0;height:100%;color:inherit;cursor:pointer;background:0 0;border:0;grid-template-rows:1.1rem 1.05rem 1.05rem;grid-template-columns:2.75rem 4.8rem minmax(8rem,1.45fr) minmax(4.4rem,.8fr) 7rem;align-items:center;gap:.08rem .5rem;padding:0;display:grid}.recon-node-main .recon-node-date{grid-area:1/2/2/3}.recon-node-main b{grid-area:1/3/2/4}.recon-node-meta,.recon-node-sub{min-width:0;color:var(--ink-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;line-height:1.2;overflow:hidden}.recon-node-meta{color:var(--teal);font-family:var(--mono);grid-area:1/4/2/5}.recon-node-sub{color:var(--ink-faint);grid-area:2/2/3/5}.recon-node-amount{font-family:var(--mono);color:var(--ink-dim);white-space:nowrap;grid-area:1/5/2/6;justify-self:end;font-size:.7rem}.recon-node-flags{color:var(--flag);overflow-wrap:anywhere;grid-column:2/-1;font-size:.68rem;font-style:normal;line-height:1.25}.recon-node-route{color:var(--ink-faint);font-family:var(--mono);overflow-wrap:anywhere;grid-column:2/-1;font-size:.64rem;font-style:normal;line-height:1.25}.recon-node-main .recon-review-reason{grid-area:3/2/4/5}.recon-node-more{z-index:3;position:absolute;bottom:.32rem;right:5.15rem}.recon-node-more summary{color:var(--ink-dim);cursor:pointer;text-align:right;min-width:2.2rem;font-size:.62rem;font-weight:700;list-style:none}.recon-node-more summary::-webkit-details-marker{display:none}.recon-node-more[open] summary{color:var(--teal)}.recon-node-more-panel{border-radius:var(--radius-sm);border:1px solid var(--glass-brd-hi);width:min(30rem,62vw);max-height:11rem;color:var(--ink-dim);overflow-wrap:anywhere;background:oklch(12% .03 285/.96);flex-direction:column;gap:.35rem;padding:.65rem .75rem;font-size:.72rem;line-height:1.35;display:flex;position:absolute;bottom:1.45rem;right:0;overflow:auto;box-shadow:0 18px 40px -24px oklch(5% .03 285/.9)}.recon-thumb,.recon-file-mark{border:1px solid var(--glass-brd);background:oklch(12% .03 285/.75);border-radius:.5rem;grid-area:1/1/4/2;width:2.55rem;height:2.55rem}.recon-thumb{object-fit:cover}.recon-file-mark{color:var(--teal);font-family:var(--mono);place-items:center;font-size:.58rem;font-weight:700;display:grid}.recon-view-btn{z-index:4;font-family:var(--body);color:var(--teal);border:1px solid var(--glass-brd);background:var(--glass);cursor:pointer;border-radius:999px;place-self:center end;padding:.28rem .55rem;font-size:.66rem;font-weight:700;position:relative}.recon-view-btn:disabled{opacity:.4;cursor:not-allowed}.recon-view-btn:not(:disabled):hover{border-color:var(--glass-brd-hi);background:var(--glass-strong)}.recon-link-stage{background:linear-gradient(90deg,#0000,oklch(90% .05 290/.035),#0000),oklch(10% .03 285/.2);flex-direction:column;min-height:100%;display:flex;position:relative;overflow:hidden}.recon-line-canvas{flex:1;min-height:0;position:relative}.recon-line-canvas svg{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.recon-line{fill:none;stroke-width:3px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px oklch(80% .13 195/.22))}.recon-line-matched{stroke:var(--teal)}.recon-line-review{stroke:var(--flag);stroke-dasharray:8 7}.recon-line-manual{stroke:var(--magenta);stroke-dasharray:2 7;stroke-linecap:round}.recon-link-legend{z-index:1;border-bottom:1px solid var(--glass-brd);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-height:4.2rem;color:var(--ink-dim);background:oklch(12% .03 285/.82);gap:.35rem;padding:.65rem;font-size:.72rem;display:grid;position:relative}.recon-link-legend b{color:var(--ink);font-size:.74rem}.recon-link-legend span:before{content:"";vertical-align:middle;background:var(--teal);border-radius:999px;width:1.2rem;height:.15rem;margin-right:.45rem;display:inline-block}.recon-link-legend .legend-review:before{background:var(--flag);background-image:repeating-linear-gradient(90deg, var(--flag) 0 .34rem, transparent .34rem .55rem)}.recon-link-legend .legend-manual:before{background:var(--magenta);background-image:repeating-linear-gradient(90deg, var(--magenta) 0 .16rem, transparent .16rem .36rem)}.recon-card{overflow:hidden}.recon-card-head{border-bottom:1px solid var(--glass-brd);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.recon-card-head span{font-family:var(--mono);color:var(--teal)}.recon-table-wrap{overflow-x:auto}.recon-table{border-collapse:collapse;width:100%;min-width:780px;font-size:.78rem}.recon-table th,.recon-table td{border-bottom:1px solid var(--glass-brd);text-align:left;vertical-align:top;padding:.62rem .7rem}.recon-table th{color:var(--ink-dim);font-weight:700}.recon-table td{color:var(--ink)}.recon-list{flex-direction:column;max-height:18rem;display:flex;overflow:auto}.recon-list div{border-bottom:1px solid var(--glass-brd);color:var(--ink-dim);padding:.62rem 1rem;font-size:.82rem}.recon-list-meta{color:var(--ink-faint);overflow-wrap:anywhere;margin-top:.22rem;font-size:.74rem;display:block}@media (width<=760px){.recon-grid,.recon-stats,.recon-usage-grid,.recon-usage-calls div{grid-template-columns:1fr}.recon-usage-line{flex-direction:column;align-items:flex-start}.recon-usage-summary{justify-content:flex-start}.recon-board{grid-template-columns:1fr}.recon-link-stage{display:none}.recon-lane:first-child,.recon-lane:last-child{border-left:0;border-right:0}.recon-controls{width:100%}.mode-tabs{order:4;width:100%}.mode-tabs button{flex:1}}.batch-bar{border-radius:var(--radius-sm);border:1px solid var(--glass-brd);background:var(--glass);animation:rise var(--dur) var(--ease) both;align-items:center;gap:.8rem;margin-top:.9rem;padding:.7rem 1rem;display:flex}.batch-track{background:oklch(20% .03 285/.6);border-radius:999px;flex:1;height:7px;overflow:hidden}.batch-fill{background:linear-gradient(90deg, var(--teal), oklch(72% .24 350));height:100%;transition:width var(--dur) var(--ease);border-radius:999px}.batch-label{font-family:var(--mono);color:var(--ink-dim);flex:none;font-size:.8rem;font-weight:600}.cf-head-tags{flex:none;align-items:center;gap:.5rem;display:flex}.cf-queue{font-family:var(--body);letter-spacing:.02em;border:1px solid var(--glass-brd-hi);color:var(--teal);background:oklch(72% .16 180/.12);border-radius:999px;padding:.3rem .7rem;font-size:.74rem;font-weight:700}.glass{border-radius:var(--radius);border:1px solid var(--glass-brd);background:linear-gradient(160deg, var(--glass-strong), oklch(20% .04 288/.35));-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);position:relative;box-shadow:inset 0 1px oklch(100% 0 0/.06),0 24px 60px -28px oklch(8% .04 285/.9)}.dropzone{border-radius:var(--radius);text-align:center;isolation:isolate;border:1.5px dashed var(--glass-brd-hi);background:radial-gradient(120% 80% at 50% -10%, oklch(66% .21 295/.12), transparent 60%), linear-gradient(160deg, var(--glass-strong), oklch(20% .04 288/.35));-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);flex-direction:column;align-items:center;gap:1.1rem;padding:clamp(1.4rem,1rem + 3vw,2.6rem);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px -30px oklch(8% .04 285/.9)}.dropzone:before{content:"";border-radius:inherit;background:conic-gradient(from var(--angle,0deg), var(--teal), var(--violet), var(--magenta), var(--azure), var(--teal));-webkit-mask-composite:xor;opacity:0;transition:opacity var(--dur) var(--ease);padding:1.5px;animation:6s linear infinite ring-spin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.dropzone:hover:before{opacity:.5}.dropzone.is-armed{border-color:#0000;transform:translateY(-3px)scale(1.005)}.dropzone.is-armed:before{opacity:1}.dropzone.is-armed{box-shadow:0 0 0 1px var(--glass-brd-hi), 0 0 60px -10px oklch(72% .24 350/.55), 0 30px 70px -28px oklch(8% .04 285/.95)}@property --angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes ring-spin{to{--angle:360deg}}.dz-icon{width:64px;height:64px;color:var(--bg-0);background:linear-gradient(140deg, var(--teal), var(--violet) 55%, var(--magenta));transition:transform var(--dur) var(--ease);border-radius:18px;place-items:center;display:grid;box-shadow:0 12px 34px -8px oklch(66% .21 295/.6)}.dropzone.is-armed .dz-icon{transform:scale(1.12)rotate(-4deg)}.dz-icon svg{width:30px;height:30px}.dz-title{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);font-size:clamp(1.15rem,.95rem + 1.2vw,1.6rem);font-weight:700}.dz-sub{color:var(--ink-dim);max-width:30ch;font-size:.9rem}.dz-sub b{color:var(--teal);font-weight:700}.dz-actions{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.btn{font-family:var(--body);cursor:pointer;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease), background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1.25rem;font-size:.92rem;font-weight:700;display:inline-flex}.btn svg{width:18px;height:18px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--teal);outline-offset:3px}.btn-primary{color:var(--bg-0);background:linear-gradient(110deg, var(--teal), var(--violet) 60%, var(--magenta));position:relative;overflow:hidden;box-shadow:0 12px 30px -10px oklch(66% .21 295/.7)}.btn-primary:after{content:"";transition:transform var(--dur-slow) var(--ease);background:linear-gradient(110deg,#0000 30%,oklch(100% 0 0/.5) 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.btn-primary:not(:disabled):hover{transform:translateY(-2px)}.btn-primary:not(:disabled):hover:after{transform:translate(120%)}.btn-primary:not(:disabled):active{transform:translateY(0)scale(.98)}.btn-ghost{color:var(--ink);background:var(--glass);border-color:var(--glass-brd);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:not(:disabled):hover{background:var(--glass-strong);border-color:var(--glass-brd-hi);transform:translateY(-2px)}.btn-ghost:not(:disabled):active{transform:translateY(0)scale(.98)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.dz-divider{width:min(420px,100%);color:var(--ink-faint);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.74rem;display:flex}.dz-divider:before,.dz-divider:after{content:"";background:linear-gradient(90deg, transparent, var(--glass-brd-hi), transparent);flex:1;height:1px}.dz-text{flex-direction:column;gap:.6rem;width:min(480px,100%);display:flex}.dz-text textarea{font-family:var(--body);color:var(--ink);resize:vertical;border-radius:var(--radius-sm);border:1px solid var(--glass-brd);width:100%;min-height:64px;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:oklch(14% .03 285/.6);padding:.85rem 1rem;font-size:1rem}.dz-text textarea::placeholder{color:var(--ink-faint)}.dz-text textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px oklch(80% .13 195/.2)}.dz-model{color:var(--ink-dim);align-items:center;gap:.5rem;font-size:.82rem;display:flex}.dz-model>span{letter-spacing:.04em}.dz-model select{font-family:var(--body);color:var(--ink);border:1px solid var(--glass-brd);cursor:pointer;background:oklch(14% .03 285/.6);border-radius:999px;padding:.4rem .7rem;font-size:.85rem}.dz-model select:focus{border-color:var(--teal);outline:none}.dz-model>b{font-family:var(--mono);color:var(--teal);font-weight:700}.dz-note{align-items:stretch;gap:.5rem;width:min(520px,100%);display:flex}.dz-note-input{font-family:var(--body);color:var(--ink);border-radius:var(--radius-sm);border:1px dashed var(--glass-brd-hi);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:oklch(14% .03 285/.5);flex:1;padding:.6rem .85rem;font-size:.9rem}.dz-note-input::placeholder{color:var(--ink-faint)}.dz-note-input:focus{border-style:solid;border-color:var(--azure);outline:none;box-shadow:0 0 0 3px oklch(72% .16 250/.18)}.dz-mic{font-family:var(--body);color:var(--ink);border-radius:var(--radius-sm);border:1px solid var(--glass-brd);background:var(--glass);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);align-items:center;gap:.4rem;padding:0 .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.dz-mic svg{width:16px;height:16px}.dz-mic:hover{border-color:var(--glass-brd-hi);background:var(--glass-strong)}.dz-mic.is-on{color:var(--magenta);border-color:oklch(72% .24 350/.6);animation:1.2s ease-in-out infinite mic-pulse}@keyframes mic-pulse{0%,to{box-shadow:0 0 oklch(72% .24 350/0)}50%{box-shadow:0 0 0 4px oklch(72% .24 350/.25)}}.cf-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade var(--dur) var(--ease);background:oklch(10% .03 285/.6);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.cf-modal{width:min(1040px,96vw);max-height:90svh;animation:rise var(--dur-slow) var(--ease) both;flex-direction:column;gap:1.05rem;padding:clamp(1.1rem,.8rem + 1.5vw,1.8rem);display:flex;overflow-y:auto}.cf-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cf-head h2{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0;font-size:1.25rem;font-weight:700}.cf-head h2:before{display:none}.cf-head p{color:var(--ink-dim);margin:.3rem 0 0;font-size:.85rem}.cf-dir{font-family:var(--body);border-radius:999px;flex:none;padding:.35rem .85rem;font-size:.8rem;font-weight:700}.cf-dir-purchase{color:var(--teal);background:oklch(80% .13 195/.16);border:1px solid oklch(80% .13 195/.4)}.cf-dir-sale{color:var(--magenta);background:oklch(72% .24 350/.16);border:1px solid oklch(72% .24 350/.4)}.cf-dir-unknown{color:var(--ink-dim);background:var(--glass);border:1px solid var(--glass-brd)}.cf-warn{border-radius:var(--radius-sm);color:var(--flag);background:var(--flag-bg);border:1px solid oklch(82% .16 78/.45);align-items:flex-start;gap:.6rem;padding:.7rem .9rem;font-size:.86rem;display:flex}.cf-warn svg{flex:none;margin-top:1px}.cf-warn b{color:var(--flag)}.cf-warn-logic{color:var(--azure);background:oklch(72% .16 250/.12);border-color:oklch(72% .16 250/.4)}.cf-warn-logic b{color:var(--azure)}.doc-warn{color:var(--flag);background:var(--flag-bg);border:1px solid oklch(82% .16 78/.4);border-radius:999px;margin-left:.6rem;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.cf-images{gap:.5rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.cf-images a{flex:none}.cf-images img{border-radius:var(--radius-sm);border:1px solid var(--glass-brd);cursor:zoom-in;height:150px;display:block}.cf-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;display:grid}.cf-field{flex-direction:column;gap:.3rem;display:flex}.cf-field>span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem}.cf-field input,.cf-field select,.cf-parties input,.cf-totals input,.cf-lines input{font-family:var(--body);color:var(--ink);border:1px solid var(--glass-brd);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:oklch(14% .03 285/.6);border-radius:10px;padding:.5rem .65rem;font-size:.92rem}.cf-field input:focus,.cf-field select:focus,.cf-parties input:focus,.cf-totals input:focus,.cf-lines input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px oklch(80% .13 195/.18)}.cf-field input[aria-invalid=true],.cf-parties input[aria-invalid=true]{background:var(--flag-bg);border-color:oklch(82% .16 78/.5)}.cf-parties{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.cf-party{border-radius:var(--radius-sm);border:1px solid var(--glass-brd);flex-direction:column;gap:.5rem;padding:.8rem;display:flex}.cf-seller{background:oklch(80% .13 195/.06)}.cf-buyer{background:oklch(66% .21 295/.07)}.cf-party h3{font-family:var(--display);color:var(--ink);margin:0;font-size:.85rem}.cf-party .cf-field>span{display:none}.cf-party .cf-field input{width:100%}.cf-lines-head{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.4rem;font-size:.72rem}.cf-lines table{border-collapse:separate;border-spacing:0 .3rem;table-layout:fixed;width:100%}.cf-lines th:first-child,.cf-lines td:first-child{width:44%}.cf-lines th:nth-child(2),.cf-lines td:nth-child(2){width:11%}.cf-lines th:nth-child(3),.cf-lines td:nth-child(3){width:13%}.cf-lines th:nth-child(4),.cf-lines td:nth-child(4),.cf-lines th:nth-child(5),.cf-lines td:nth-child(5){width:16%}.cf-extra{padding-top:.2rem}.cf-extra-chips{flex-wrap:wrap;gap:.4rem;display:flex}.cf-chip{color:var(--ink-dim);border:1px solid var(--glass-brd);background:var(--glass);border-radius:999px;padding:.3rem .6rem;font-size:.8rem}.cf-chip b{color:var(--teal);margin-right:.35rem;font-weight:600}.cf-lines thead th{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);text-align:left;padding:0 .4rem;font-size:.68rem}.cf-lines thead th:not(:first-child){text-align:right}.cf-lines td{padding:0 .15rem}.cf-lines input{width:100%}.cf-lines td:not(:first-child) input{text-align:right;font-family:var(--mono);font-size:.85rem}.cf-totals{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.cf-totals label{flex-direction:column;gap:.3rem;display:flex}.cf-totals span{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem}.cf-totals input{text-align:right;font-family:var(--mono)}.cf-retry{border-top:1px dashed var(--glass-brd);align-items:stretch;gap:.5rem;padding-top:.4rem;display:flex}.cf-retry input{font-family:var(--body);color:var(--ink);border:1px dashed var(--glass-brd-hi);background:oklch(14% .03 285/.5);border-radius:10px;flex:1;padding:.5rem .7rem;font-size:.85rem}.cf-retry input:focus{border-style:solid;border-color:var(--azure);outline:none}.cf-retry .btn{white-space:nowrap}.cf-feedback{color:var(--flag);background:var(--flag-bg);border-color:oklch(82% .16 78/.4)}.cf-feedback:not(:disabled):hover{border-color:var(--flag)}.cf-foot{justify-content:flex-end;align-items:center;gap:.7rem;padding-top:.3rem;display:flex}.cf-kbd{font-family:var(--body);color:var(--ink-dim);flex-wrap:wrap;align-items:center;gap:.35rem;margin-right:auto;font-size:.74rem;display:inline-flex}.cf-kbd kbd{font-family:var(--mono);color:var(--ink);border:1px solid var(--glass-brd);background:oklch(16% .03 285/.7);border-radius:6px;padding:.08rem .4rem;font-size:.72rem;line-height:1.4}.cf-kbd-sep{opacity:.5;margin:0 .15rem}@media (width<=540px){.cf-grid,.cf-parties,.cf-totals{grid-template-columns:1fr}.cf-foot .btn{flex:1;justify-content:center}.cf-kbd{display:none}}.scan-overlay{z-index:3;border-radius:inherit;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:oklch(12% .028 285/.72);place-items:center;gap:.9rem;display:grid;position:absolute;inset:0;overflow:hidden}.scan-overlay .beam{height:38%;animation:sweep 1.5s var(--ease) infinite;background:linear-gradient(#0000,oklch(80% .13 195/.18) 40%,oklch(72% .24 350/.42) 50%,oklch(80% .13 195/.18) 60%,#0000);position:absolute;top:-38%;left:0;right:0;box-shadow:0 0 26px oklch(72% .24 350/.5)}@keyframes sweep{to{top:100%}}.scan-stop{z-index:4;padding:.5rem 1.1rem;font-size:.85rem;position:relative}.zodiac-wrap{z-index:3;pointer-events:none;will-change:left, top, transform;position:absolute}.zodiac{filter:drop-shadow(0 4px 14px oklch(66% .21 295/.55));animation:zodiac-bob .58s var(--ease) infinite;display:block}.zodiac-svg{width:56px;height:56px;display:block}@keyframes zodiac-bob{0%,to{transform:translateY(0)scale(1.02,.94)}45%{transform:translateY(-11px)scale(.95,1.07)}}.scan-timer{z-index:4;font-family:var(--mono);letter-spacing:-.02em;color:var(--ink);text-shadow:0 0 22px oklch(80% .13 195/.6);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700;position:relative}.scan-timer i{color:var(--ink-dim);margin-left:2px;font-size:1rem;font-style:normal}.fw{z-index:60;pointer-events:none;position:fixed;inset:0;overflow:hidden}.fw-burst{position:absolute}.fw-p{opacity:0;width:7px;height:7px;transform:rotate(var(--a)) translateY(0);animation:firework 1.15s var(--ease-out-expo,cubic-bezier(.16, 1, .3, 1)) forwards;border-radius:50%;position:absolute;box-shadow:0 0 8px}@keyframes firework{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1.2)}70%{opacity:1}to{opacity:0;transform:rotate(var(--a)) translateY(-96px) scale(.25)}}.scan-overlay .label{font-family:var(--mono);letter-spacing:.06em;color:var(--ink);align-items:center;gap:.55rem;font-size:.86rem;display:flex;position:relative}.scan-overlay .dots:after{content:"";animation:1.2s steps(4,end) infinite dots}@keyframes dots{0%{content:""}25%{content:"·"}50%{content:"··"}75%{content:"···"}}.dz-error{z-index:4;color:var(--danger);margin:0;font-size:.86rem;font-weight:600;position:relative}.review-card{border-radius:var(--radius);border:1px solid var(--glass-brd);background:linear-gradient(160deg, var(--glass-strong), oklch(20% .04 288/.35));-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);padding:clamp(1.05rem,.8rem + 1.6vw,1.7rem);position:relative;box-shadow:inset 0 1px oklch(100% 0 0/.06),0 24px 60px -28px oklch(8% .04 285/.9)}.review-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.9rem;display:flex}h2{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:.55rem;margin:0;font-size:1.15rem;font-weight:700;display:flex}h2:before{content:"";background:var(--teal);width:7px;height:7px;box-shadow:0 0 12px var(--teal);border-radius:50%}.count-chip{font-family:var(--mono);color:var(--ink-dim);border:1px solid var(--glass-brd);background:var(--glass);border-radius:999px;padding:.25rem .6rem;font-size:.78rem}.review-head-right{align-items:center;gap:.6rem;display:flex}.clear-all{color:var(--danger);border-color:oklch(70% .2 25/.4);padding:.4rem .85rem;font-size:.8rem}.clear-all:hover{border-color:var(--danger);background:oklch(70% .2 25/.12)}tr.doc-head td{border-top:1px solid var(--glass-brd-hi);padding-top:.6rem}.doc-tag{font-family:var(--mono);color:var(--teal);letter-spacing:.02em;font-size:.76rem}.doc-del{text-align:right}.row-del{width:28px;height:28px;color:var(--ink-faint);cursor:pointer;transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;display:inline-grid}.row-del:hover{color:var(--danger);background:oklch(70% .2 25/.14)}.conflict{border-radius:var(--radius-sm);color:var(--flag);background:var(--flag-bg);border:1px solid oklch(82% .16 78/.35);align-items:center;gap:.5rem;margin:0 0 .9rem;padding:.6rem .85rem;font-size:.86rem;font-weight:600;display:flex}.table-wrap{border-radius:var(--radius-sm);overflow-x:auto}table{border-collapse:separate;border-spacing:0;width:100%;font-size:.92rem}thead th{font-family:var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:0 .5rem .6rem;font-size:.72rem;font-weight:600}thead th:not(:first-child){text-align:right}tbody tr{transition:background var(--dur-fast) var(--ease)}tbody tr:hover{background:oklch(80% .04 290/.04)}tbody td{border-top:1px solid var(--glass-brd);padding:.25rem}td input{font-family:var(--body);color:var(--ink);width:100%;min-width:5ch;transition:border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;border-radius:10px;padding:.5rem .6rem;font-size:.95rem}td:not(:first-child) input{font-family:var(--mono);text-align:right;font-size:.9rem}td input:hover{background:oklch(80% .04 290/.05)}td input:focus{border-color:var(--teal);background:oklch(14% .03 285/.7);outline:none;box-shadow:0 0 0 3px oklch(80% .13 195/.18)}td[data-flagged=true] input{background:var(--flag-bg);color:var(--flag);border-color:oklch(82% .16 78/.4);animation:2.6s ease-in-out infinite flag-pulse}@keyframes flag-pulse{0%,to{box-shadow:0 0 oklch(82% .16 78/0)}50%{box-shadow:0 0 0 3px oklch(82% .16 78/.22)}}.review-empty{text-align:center;color:var(--ink-faint);padding:2.2rem 1rem;font-size:.92rem}.review-empty span{opacity:.6;margin-bottom:.4rem;font-size:1.8rem;display:block}.export-row{flex-wrap:wrap;justify-content:flex-end;gap:.7rem;display:flex}.btn-export{padding:.85rem 1.8rem;font-size:1rem}.acct-format{align-items:center;margin-right:auto;display:inline-flex}.acct-format select{font-family:var(--body);color:var(--ink);border:1px solid var(--glass-brd);cursor:pointer;background:oklch(14% .03 285/.6);border-radius:999px;padding:.5rem .8rem;font-size:.85rem}.acct-format select:focus{border-color:var(--teal);outline:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.algo{border-radius:var(--radius-sm);border:1px solid var(--glass-brd);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow:hidden}.algo summary{cursor:pointer;font-family:var(--body);color:var(--ink-dim);transition:color var(--dur-fast) var(--ease);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.9rem;font-weight:600;list-style:none;display:flex}.algo summary::-webkit-details-marker{display:none}.algo summary:hover{color:var(--ink)}.algo[open] summary{color:var(--ink);border-bottom:1px solid var(--glass-brd)}.algo-steps{flex-direction:column;gap:.7rem;margin:0;padding:.6rem 1rem .9rem 2.4rem;display:flex}.algo-steps li{color:var(--ink-dim);font-size:.86rem;line-height:1.55}.algo-steps b{color:var(--teal);font-family:var(--display);margin-bottom:.15rem;font-size:.9rem;font-weight:600;display:block}@media (width<=540px){.app-head{gap:.75rem}.dz-actions{width:100%}.dz-actions .btn{flex:auto;justify-content:center}.export-row{justify-content:stretch}.btn-export{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}body:before{animation:none}}.auth-wrap{z-index:100;padding:var(--space);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:oklch(10% .02 285/.92);place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-lang{top:var(--space);right:var(--space);position:absolute}.auth-close{top:var(--space);left:var(--space);background:var(--glass);border:1px solid var(--glass-brd);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:50%;font-size:1.3rem;line-height:1;position:absolute}.auth-close:hover{background:var(--glass-strong)}.pill-signin{background:linear-gradient(100deg, var(--teal), var(--magenta));color:var(--bg-0);border:none;font-weight:700}.auth-card{background:var(--glass-strong);border:1px solid var(--glass-brd);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(94vw,380px);padding:clamp(1.4rem,1rem + 2vw,2.2rem);box-shadow:0 24px 60px oklch(8% .03 285/.5)}.auth-splash{min-height:120px;color:var(--ink-faint);place-items:center;font-size:1.6rem;display:grid}.auth-brand{text-align:center;margin-bottom:1.4rem}.auth-brand h1{font-family:var(--display);background:linear-gradient(100deg, var(--ink) 30%, var(--teal) 70%, var(--magenta));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.5rem}.auth-sub{color:var(--ink-dim);margin:.4rem 0 0;font-size:.85rem}.auth-h2{font-family:var(--display);color:var(--ink);margin:0 0 1rem;font-size:1.15rem}.auth-field{margin-bottom:.85rem;display:block}.auth-field span{color:var(--ink-dim);margin-bottom:.3rem;font-size:.78rem;display:block}.auth-field input{box-sizing:border-box;background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);width:100%;color:var(--ink);font:inherit;padding:.7rem .85rem}.auth-field input:focus{border-color:var(--glass-brd-hi);outline:none}.auth-submit{justify-content:center;width:100%;margin-top:.4rem}.auth-err{color:var(--danger);margin:.2rem 0 .6rem;font-size:.82rem}.auth-notice{color:var(--teal);margin:.2rem 0 .6rem;font-size:.82rem}.auth-links{text-align:center;flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.auth-link{color:var(--ink-dim);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;font-size:.82rem;text-decoration:underline}.auth-link:hover{color:var(--ink)}.acct{position:relative}.acct-pill{align-items:center;gap:.4rem;display:inline-flex}.acct-dot{width:20px;height:20px;color:var(--bg-0);background:linear-gradient(135deg, var(--teal), var(--magenta));border-radius:50%;place-items:center;font-size:.7rem;font-weight:700;display:grid}.acct-usage{font-family:var(--mono);color:var(--ink-dim);font-size:.74rem}.acct-backdrop{z-index:40;position:fixed;inset:0}.acct-panel{z-index:50;background:var(--bg-2);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);flex-direction:column;gap:.45rem;width:240px;padding:.8rem;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px oklch(8% .03 285/.55)}.acct-email{color:var(--ink);word-break:break-all;font-size:.82rem;font-weight:600}.acct-row{font-family:var(--mono);color:var(--ink-dim);font-size:.78rem}.acct-verify{color:var(--flag);background:var(--flag-bg);border-radius:var(--radius-sm);flex-direction:column;gap:.3rem;padding:.5rem .6rem;font-size:.76rem;display:flex}.acct-item{border:none;border-top:1px solid var(--glass-brd);color:var(--ink-dim);cursor:pointer;font:inherit;text-align:left;background:0 0;padding:.5rem .1rem;font-size:.84rem}.acct-item:hover{color:var(--ink)}.acct-logout{color:var(--danger)}.acct-pwform{flex-direction:column;gap:.4rem;padding:.2rem 0 .4rem;display:flex}.acct-pwform input{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);color:var(--ink);font:inherit;padding:.5rem .6rem;font-size:.82rem}.acct-pwform .btn{justify-content:center;font-size:.82rem}.acct-plan,.acct-sub{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.acct-sub{color:var(--ink-dim);font-size:.74rem}.plan-price{align-items:baseline;gap:.3rem;margin:.6rem 0 .2rem;display:flex}.plan-amount{font-family:var(--display);color:var(--ink);font-size:1.8rem;font-weight:700}.plan-per{font-family:var(--mono);color:var(--ink-dim);font-size:.8rem}.plan-feature{color:var(--teal);margin:0 0 .8rem;font-size:.84rem}.plan-hint{color:var(--ink-dim);margin:.3rem 0 .6rem;font-size:.76rem}.seg-label{color:var(--ink-dim);margin-top:.6rem;margin-bottom:.25rem;font-size:.78rem}.seg{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);gap:0;margin-bottom:.2rem;display:flex;overflow:hidden}.seg-btn{color:var(--ink-dim);cursor:pointer;font:inherit;background:0 0;border:none;flex:1;padding:.5rem .4rem;font-size:.82rem}.seg-btn.on{color:var(--bg-0);background:linear-gradient(135deg, var(--teal), var(--magenta));font-weight:600}.admin-wrap{max-width:1000px;padding:var(--space);margin:0 auto}.admin-subs,.admin-payments{margin-top:1.6rem}.admin-subs h2,.admin-payments h2{font-family:var(--display);margin:0 0 .6rem;font-size:1.05rem}.admin-ref{font-family:var(--mono);color:var(--ink-dim);font-size:.72rem}.admin-head{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.admin-head h1{font-family:var(--display);margin:0;font-size:1.4rem}.admin-head a{text-decoration:none}.admin-cards{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.7rem;margin-bottom:1.2rem;display:grid}.admin-card{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);flex-direction:column;gap:.2rem;padding:.9rem 1rem;display:flex}.admin-card-n{font-family:var(--display);color:var(--ink);font-size:1.5rem}.admin-card-l{color:var(--ink-dim);font-size:.75rem}.admin-search{gap:.5rem;margin-bottom:.8rem;display:flex}.admin-search input{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);color:var(--ink);font:inherit;flex:1;padding:.55rem .8rem}.admin-table-wrap{border:1px solid var(--glass-brd);border-radius:var(--radius-sm);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--glass-brd);white-space:nowrap;padding:.6rem .8rem}.admin-table th{color:var(--ink-dim);font-size:.78rem;font-weight:600}.admin-table tr.admin-suspended{opacity:.5}.admin-actions{gap:.35rem;display:flex}.admin-actions button{background:var(--glass);border:1px solid var(--glass-brd);color:var(--ink-dim);font:inherit;cursor:pointer;border-radius:8px;padding:.3rem .55rem;font-size:.76rem}.admin-actions button:hover{color:var(--ink);border-color:var(--glass-brd-hi)}.admin-metrics{margin-bottom:1.4rem}.admin-metrics h2{font-family:var(--display);color:var(--ink);margin:0 0 .7rem;font-size:1.05rem}.admin-funnel{flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem;display:flex}.funnel-step{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);flex-direction:column;flex:1;min-width:110px;padding:.7rem .9rem;display:flex}.funnel-n{font-family:var(--display);color:var(--ink);font-size:1.4rem}.funnel-l{color:var(--ink-dim);font-size:.74rem}.funnel-pct{font-family:var(--mono);color:var(--teal);margin-top:.2rem;font-size:.72rem}.admin-metric-row{flex-wrap:wrap;gap:.6rem;margin-bottom:.8rem;display:flex}.metric-box{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);flex-direction:column;flex:1;gap:.3rem;min-width:160px;padding:.8rem 1rem;display:flex}.metric-n{font-family:var(--display);color:var(--ink);font-size:1.8rem}.metric-l{color:var(--ink-dim);font-size:.76rem}.metric-dim{color:var(--ink-faint)}.model-row{color:var(--ink);font-size:.8rem;font-family:var(--mono);justify-content:space-between;display:flex}.admin-trend{background:var(--glass);border:1px solid var(--glass-brd);border-radius:var(--radius-sm);margin-bottom:1.2rem;padding:.8rem 1rem}.trend-bars{align-items:flex-end;gap:3px;height:70px;margin-top:.5rem;display:flex}.trend-bar{background:linear-gradient(to top, var(--violet), var(--teal));border-radius:3px 3px 0 0;flex:1;min-width:4px}
