:root{--navy:#0d294d;--blue:#176bd5;--sky:#eaf3ff;--ink:#14243a;--muted:#74849a;--line:#dce4ed;--bg:#f4f7fb;--mint:#0b9d7e;--red:#c33d4b;--amber:#b66b08}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:var(--bg);margin:0;font-family:Pretendard,Noto Sans KR,Malgun Gothic,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.shell{grid-template-columns:242px 1fr;min-height:100vh;display:grid}.side{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:29px 17px 23px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid #ffffff20;align-items:center;gap:12px;padding:0 12px 27px;display:flex}.logo{width:39px;height:39px;color:var(--blue);background:#fff;border-radius:12px;place-items:center;font-size:22px;font-weight:900;display:grid}.brand b{font-size:20px}.brand small{color:#8fb8ea;letter-spacing:.19em;margin-top:2px;font-size:9px;display:block}.nav{gap:5px;padding-top:21px;display:grid}.nav button{color:#aebed1;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:12px 13px;font-weight:750;display:flex}.nav button span{color:#6e8baa;font-size:9px}.nav button:hover,.nav button.on{color:#fff;background:#ffffff16}.nav button.on span{color:#6fb4ff}.badge{color:#fff;text-align:center;background:#ef5968;border-radius:99px;min-width:20px;margin-left:auto;padding:3px 6px;font-size:9px}.privacy{border-top:1px solid #ffffff20;align-items:center;gap:10px;margin-top:auto;padding:16px 12px 0;display:flex}.privacy i{background:#42d5a6;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 5px #42d5a620}.privacy b,.privacy small{display:block}.privacy small{color:#8fa6c0;margin-top:3px;font-size:9px}.workspace{min-width:0}.top{z-index:9;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:92px;padding:0 34px;display:flex;position:sticky;top:0}.eyebrow{color:#8795a8;letter-spacing:.2em;margin:0 0 4px;font-size:9px;font-weight:850}.top h1{margin:0;font-size:23px}.mock-badge{background:#fff8e8;border:1px solid #efd4a8;border-radius:11px;align-items:center;gap:9px;padding:9px 13px;display:flex}.mock-badge i{background:#e59a25;border-radius:50%;width:8px;height:8px}.mock-badge b,.mock-badge small{display:block}.mock-badge small{color:var(--muted);font-size:9px}.notice{background:#fff8e8;border:1px solid #efd5a7;border-radius:12px;margin-bottom:19px;padding:13px 15px;font-size:12px}.section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.section-head h2{margin:0 0 4px;font-size:18px}.section-head p{color:var(--muted);margin:0;font-size:11px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn{border:0;border-radius:9px;padding:10px 14px;font-size:12px;font-weight:800}.btn.line{color:var(--ink);background:#fff;border:1px solid #ccd7e3}.btn.red{color:var(--red);background:#fff0f1;border:1px solid #f0c4c9}.btn.small{padding:7px 10px;font-size:10px}.cards{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:17px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:15px;box-shadow:0 5px 18px #18335408}.kpi{padding:20px}.kpi .label{color:var(--muted);justify-content:space-between;font-size:11px;font-weight:750;display:flex}.pill{color:var(--blue);background:var(--sky);border-radius:20px;padding:4px 7px;font-size:9px}.kpi strong{letter-spacing:-.05em;margin:18px 0 6px;font-size:27px;display:block}.kpi strong small{margin-left:3px;font-size:12px}.kpi p{color:#8b9aad;margin:0;font-size:10px}.grid{grid-template-columns:1.65fr 1fr;gap:15px;display:grid}.chart.full{grid-column:1/-1;min-height:230px}.chart-title{justify-content:space-between;margin-bottom:18px;display:flex}.chart-title small{color:var(--muted);font-size:10px}svg{width:100%;height:208px;overflow:visible}.svg-grid{stroke:#e5ebf2;stroke-width:1px}.svg-line{fill:none;stroke:var(--blue);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.svg-dot{fill:#fff;stroke:var(--blue);stroke-width:3px}.svg-text{fill:#7d8da1;font-size:10px}.bars{gap:15px;display:grid}.bar{grid-template-columns:78px 1fr 55px;align-items:center;gap:10px;font-size:11px;display:grid}.track{background:#edf1f6;border-radius:20px;height:8px;overflow:hidden}.fill{background:var(--blue);border-radius:20px;height:100%}.bar:nth-child(2) .fill{background:#4f92e4}.bar:nth-child(3) .fill{background:#79afe0}.bar:nth-child(4) .fill{background:#a1c6e5}.bar b{text-align:right}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:auto}.table{border-collapse:collapse;width:100%;min-width:880px}.table th{color:#708197;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;background:#f5f8fc;padding:12px;font-size:10px}.table th.sort{cursor:pointer}.arrows{color:#b2bdca;margin-left:5px;font-size:8px}.table td{border-bottom:1px solid #e7edf3;padding:13px 12px;font-size:11px}.num{text-align:right!important}.tag{color:#087960;background:#eaf8f3;border-radius:30px;padding:5px 8px;font-size:9px;font-weight:800;display:inline-block}.avatar{width:32px;height:32px;color:var(--blue);background:#e6f1ff;border-radius:50%;place-items:center;margin-right:8px;font-weight:900;display:inline-grid}.upload{text-align:center;background:#f8fbff;border:1.5px dashed #a9c5e6;border-radius:15px;margin-bottom:18px;padding:31px}.upload .icon{width:46px;height:46px;color:var(--blue);background:#e5f1ff;border-radius:14px;place-items:center;margin:auto;font-size:21px;font-weight:900;display:grid}.upload h3{margin:10px 0 6px;font-size:16px}.upload p{color:var(--muted);margin:0 0 16px;font-size:11px}.progress{width:min(500px,90%);margin:16px auto 0}.progress-track{background:#dfe8f2;border-radius:20px;height:7px;overflow:hidden}.progress-fill{background:var(--blue);width:0;height:100%;transition:width .4s}.progress small{color:var(--muted);margin-top:7px;font-size:10px;display:block}.form{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.form label{color:#697c92;gap:5px;font-size:10px;font-weight:750;display:grid}.form input{background:#fff;border:1px solid #ccd7e2;border-radius:8px;height:38px;padding:0 9px}.span2{grid-column:span 2}.panel{margin-bottom:18px;padding:21px}.log-summary{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:17px;display:grid}.log-summary .card{padding:17px}.log-summary span{color:var(--muted);font-size:10px}.log-summary b{margin-top:7px;font-size:22px;display:block}.dot{background:var(--red);border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.green{background:var(--mint)}.settings{grid-template-columns:1.1fr .9fr;gap:15px;display:grid}.setting-card{padding:21px}.setting-card h3{margin:0 0 15px;font-size:14px}.setting-row{border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;padding:11px 0;display:flex}.setting-row b,.setting-row small{display:block}.setting-row b{font-size:11px}.setting-row small{color:var(--muted);margin-top:3px;font-size:9px}.modal{z-index:50;background:#071a3290;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal.hidden{display:none}.modal-card{background:#fff;border-radius:18px;width:min(760px,100%);max-height:88vh;padding:28px;position:relative;overflow:auto;box-shadow:0 30px 80px #0004}.close{color:#708197;background:0 0;border:0;font-size:26px;position:absolute;top:12px;right:15px}.modal pre{color:#dce9f8;white-space:pre-wrap;background:#102844;border-radius:10px;padding:15px;font:11px/1.6 Consolas,monospace}.toast{color:#fff;opacity:0;z-index:80;background:#102a4c;border-radius:10px;padding:13px 16px;font-size:11px;transition:all .2s;position:fixed;bottom:22px;right:22px;transform:translateY(8px)}.toast.show{opacity:1;transform:none}.empty{text-align:center;color:var(--muted);padding:45px}.report{border:1px solid var(--line);padding:28px}.report h2{text-align:center}.report-totals{width:330px;margin:20px 0 0 auto}.report-totals div{border-bottom:1px solid var(--line);justify-content:space-between;padding:8px;display:flex}.report-totals div:last-child{color:var(--blue);font-size:17px;font-weight:850}.modal.report-open{padding:12px;overflow:hidden}.report-open .modal-card{width:auto;max-height:none;box-shadow:none;background:0 0;border-radius:0;padding:0;overflow:visible}.report-open .close{color:#fff;text-shadow:0 1px 3px #0006;top:0;right:-34px}.a4-report{aspect-ratio:210/297;color:#132842;background:#fff;width:min(720px,70.71vh - 24.0414px,100vw - 58px);padding:3.5% 4.2% 3%;font-size:clamp(6.8px,1.05vh,10px);line-height:1.35;position:relative;overflow:hidden;box-shadow:0 24px 70px #00152d55}.report-brand{border-bottom:.22em solid #173c68;justify-content:space-between;align-items:start;padding-bottom:1.15em;display:flex}.report-brand-mark{align-items:center;gap:.8em;display:flex}.report-brand-mark i{color:#fff;background:#153b68;border-radius:.75em;place-items:center;width:2.6em;height:2.6em;font-size:1.2em;font-style:normal;font-weight:900;display:grid}.report-brand b{font-size:1.1em;display:block}.report-brand small{color:#74849a;letter-spacing:.12em}.report-issue{text-align:right;color:#6c7e93}.report-issue strong{color:#173c68;display:block}.report-title{text-align:center;margin:1.55em 0 1.25em}.report-title .report-kicker{color:#176bd5;background:#edf5ff;border-radius:99em;padding:.4em .8em;font-weight:800;display:inline-block}.report-title h2{letter-spacing:-.04em;margin:.4em 0 .2em;font-size:2.15em}.report-title p{color:#6f8095;margin:0}.report-meta{border:1px solid #cbd7e4;border-radius:.65em;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.report-meta div{border-bottom:1px solid #dbe3ec;border-right:1px solid #dbe3ec;min-width:0;padding:.7em .85em}.report-meta div:nth-child(4n){border-right:0}.report-meta div:nth-last-child(-n+4){border-bottom:0}.report-meta span{color:#74849a;margin-bottom:.28em;font-size:.86em;display:block}.report-meta b{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.report-period{background:#f0f6fd;border-left:.35em solid #176bd5;border-radius:.45em;justify-content:space-between;align-items:center;margin:1.05em 0;padding:.75em 1em;display:flex}.report-period strong{font-size:1.12em}.report-period span{color:#61748c}.report-section-head{justify-content:space-between;align-items:center;margin:.85em 0 .55em;display:flex}.report-section-head h3{margin:0;font-size:1.12em}.report-legend{color:#708197;gap:1em;display:flex}.report-legend i{background:#176bd5;border-radius:.2em;width:.75em;height:.75em;margin-right:.3em;display:inline-block}.round-chart{background:#fbfdff;border:1px solid #d9e2ec;border-radius:.6em;padding:.8em 1em .55em}.round-row{grid-template-columns:2.6em 1fr 6.6em;align-items:center;gap:.7em;margin:.36em 0;display:grid}.round-row>strong{color:#536a83}.round-bars{gap:.2em;display:grid}.round-track{background:#edf2f7;border-radius:10em;height:.62em;overflow:hidden}.round-fill{background:#176bd5;border-radius:10em;min-width:2px;height:100%}.round-values{text-align:right;font-size:.87em;line-height:1.5}.round-values b,.round-values span{display:block}.round-values span{color:#0b8c72}.report-detail{border-collapse:collapse;table-layout:fixed;width:100%}.report-detail th,.report-detail td{text-align:center;border:1px solid #d8e1eb;padding:.58em .45em}.report-detail th{color:#63778f;background:#f3f7fb;font-size:.88em}.report-detail td:first-child{text-align:left;font-weight:800}.report-money{grid-template-columns:repeat(4,1fr);gap:.65em;margin-top:.85em;display:grid}.report-money div{border:1px solid #d9e2ec;border-radius:.55em;padding:.75em}.report-money span{color:#74849a;margin-bottom:.25em;font-size:.86em;display:block}.report-money b{font-size:1.2em}.report-money .pay{color:#fff;background:#176bd5;border-color:#176bd5}.report-money .pay span{color:#dbeaff}.report-note{color:#687b91;border-top:1px solid #d7e0ea;grid-template-columns:1fr auto;align-items:end;gap:1.5em;margin-top:1.2em;padding-top:.9em;display:grid}.report-note p{margin:.2em 0}.report-sign{text-align:right;color:#233d5d}.report-sign b{margin-top:.25em;font-size:1.18em;display:block}.report-toolbar{z-index:2;gap:.45em;display:flex;position:absolute;top:3.1%;right:4.2%}.report-toolbar button{color:#214366;background:#fff;border:1px solid #cad6e2;border-radius:.5em;padding:.45em .7em;font-size:.85em;font-weight:800}.report-toolbar button.primary{color:#fff;background:#176bd5;border-color:#176bd5}.report-toolbar{left:50%;right:auto;transform:translate(-50%)}.report-toolbar button{white-space:nowrap}@page{size:A4 portrait;margin:0}@media print{html,body{background:#fff}.shell,.toast,.modal .close,.screen-only{display:none!important}.modal,.modal.hidden{background:#fff!important;padding:0!important;display:block!important;position:static!important}.modal-card{width:210mm!important;max-height:none!important;box-shadow:none!important;padding:0!important;display:block!important;position:static!important}.modalBody{display:block!important}.a4-report{aspect-ratio:auto!important;width:210mm!important;height:297mm!important;box-shadow:none!important;padding:11mm 12mm 9mm!important;font-size:8.6pt!important;overflow:hidden!important}}@media (width<=1000px){.shell{grid-template-columns:76px 1fr}.brand span:last-child,.privacy div{display:none}.nav button{justify-content:center;font-size:0}.nav button span{font-size:10px}.cards{grid-template-columns:1fr 1fr}.grid,.settings,.settings-v2{grid-template-columns:1fr}.form{grid-template-columns:1fr 1fr}}@media (width<=650px){.shell{display:block}.side{z-index:20;width:100%;height:66px;padding:6px;position:fixed;top:auto;bottom:0}.brand,.privacy{display:none}.nav{padding:0;display:flex;overflow:auto}.nav button{text-align:center;min-width:76px;display:block;font-size:9px!important}.nav button span{display:none}.top{height:78px;padding:0 15px}.mock-badge small{display:none}main{padding:19px 13px 84px}.cards{grid-template-columns:1fr 1fr;gap:8px}.kpi{padding:14px}.kpi strong{font-size:20px}.grid{display:block}.chart{margin-bottom:10px}.form{grid-template-columns:1fr}.span2{grid-column:auto}.settings,.settings-v2{display:block}.setting-card{margin-bottom:10px}}.btn.success{color:#fff;background:#0b9d7e}.section-stack{gap:16px;display:grid}.subtle{color:var(--muted);font-size:11px;line-height:1.65}.form select,.form textarea{background:#fff;border:1px solid #ccd7e2;border-radius:8px;width:100%;padding:9px}.form textarea{resize:vertical;min-height:78px}.form .full{grid-column:1/-1}.settings-v2{grid-template-columns:.75fr 1.25fr;gap:15px;display:grid}.bookstore-list{gap:9px;display:grid}.bookstore-row{border-bottom:1px solid #e7edf3;grid-template-columns:1.1fr .65fr .85fr .55fr auto;align-items:center;gap:10px;padding:12px 0;font-size:11px;display:grid}.bookstore-row.header{color:#718299;padding-top:0;font-size:9px;font-weight:800}.bookstore-row strong{font-size:12px}.info-box{color:#45617f;background:#f3f8fe;border:1px solid #d8e8f9;border-radius:10px;padding:13px 14px;font-size:11px;line-height:1.65}.rank-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.rank-card{grid-template-columns:31px minmax(0,1fr) auto;align-items:center;gap:13px;min-width:0;padding:16px;display:grid}.rank-no{width:31px;height:31px;color:var(--blue);background:#eaf3ff;border-radius:9px;place-items:center;font-weight:900;display:grid}.rank-card:first-child .rank-no{color:#fff;background:#176bd5}.rank-card div{min-width:0}.rank-card b,.rank-card small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.rank-card small{color:var(--muted);margin-top:4px}.rank-card>strong{white-space:nowrap;margin-left:0;font-size:14px}.modal-card.choice-card{width:min(520px,100%)}.modal-card.review-card{width:min(1040px,100%)}.choice-icon{width:52px;height:52px;color:var(--blue);background:#eaf3ff;border-radius:15px;place-items:center;font-size:23px;font-weight:900;display:grid}.modal-title{margin:12px 0 6px;font-size:21px}.modal-desc{color:var(--muted);margin:0 0 20px;font-size:12px;line-height:1.7}.modal-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.field-help{color:#8a99ab;font-size:9px;font-weight:500}.table-empty{text-align:center;color:var(--muted);padding:32px!important}.danger-zone h3{color:#a82f3b}.pin-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pin-grid label{color:#697c92;gap:5px;font-size:10px;font-weight:750;display:grid}.pin-grid input{background:#fff;border:1px solid #ccd7e2;border-radius:8px;height:38px;padding:0 10px}.reset-warning{color:#85333c;background:#fff3f4;border:1px solid #efc5ca;border-radius:10px;padding:13px;font-size:11px;line-height:1.65}.empty-state{text-align:center;height:190px;color:var(--muted);background:#f8fafc;border:1px dashed #d6e0ea;border-radius:11px;place-items:center;padding:20px;font-size:11px;display:grid}.empty-state b{color:#53677f;margin-bottom:5px;display:block}.restore-summary{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.restore-summary div{background:#f3f7fc;border:1px solid #dce6f0;border-radius:10px;padding:12px}.restore-summary span,.restore-summary b{display:block}.restore-summary span{color:var(--muted);margin-bottom:5px;font-size:9px}.restore-summary b{font-size:16px}@media (width<=760px){.pin-grid{grid-template-columns:1fr}}@media (width<=600px){.restore-summary{grid-template-columns:1fr 1fr}}.format-list{flex-wrap:wrap;justify-content:center;gap:6px;margin:13px auto 17px;display:flex}.format-chip{color:#41617f;background:#fff;border:1px solid #cfe0f2;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:850;display:inline-block}.review-table{border-collapse:collapse;width:100%;margin-top:12px}.review-table th,.review-table td{text-align:left;border-bottom:1px solid #e2e9f1;padding:8px 5px;font-size:10px}.review-table th{color:#718299;background:#f6f9fc}.review-table input{border:1px solid #cdd8e4;border-radius:7px;width:100%;min-width:88px;height:34px;padding:0 7px}.review-table .qty-input{text-align:right;min-width:68px}.review-table tr.unregistered input[name=book]{border-color:#e8c988}.review-status{white-space:nowrap}.review-summary{grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0;display:grid}.review-summary div{background:#f8fbfe;border:1px solid #dce5ee;border-radius:9px;padding:9px 10px}.review-summary span,.review-summary b{display:block}.review-summary span{color:#74849a;margin-bottom:3px;font-size:9px}.review-summary b{font-size:12px}.source-note{color:#60758d;align-items:center;gap:8px;margin:8px 0 0;font-size:10px;display:flex}.source-note i{background:#0b9d7e;border-radius:50%;width:7px;height:7px}.missing-box{color:#6b5737;background:#fff8e8;border:1px solid #efd5a7;border-radius:9px;margin-bottom:13px;padding:11px 12px;font-size:10px;line-height:1.55}.ocr-guide{text-align:left;color:#496781;background:#edf6ff;border-radius:10px;width:min(660px,100%);margin:10px auto 0;padding:11px 13px;font-size:10px;line-height:1.55}@media (width<=650px){.review-summary{grid-template-columns:1fr 1fr}.review-table{min-width:920px}}@media (width<=900px){.rank-grid{grid-template-columns:1fr}.rank-card{min-height:72px}}.system-alert{z-index:45;border:1px solid #efbdc4;border-left:5px solid var(--red);background:#fff;border-radius:13px;width:min(430px,100vw - 30px);padding:16px;position:fixed;top:108px;right:22px;box-shadow:0 18px 50px #17304d2b}.system-alert.hidden{display:none}.system-alert-head{align-items:start;gap:11px;display:flex}.system-alert-icon{width:34px;height:34px;color:var(--red);background:#fff0f1;border-radius:10px;flex:none;place-items:center;font-weight:900;display:grid}.system-alert h3{margin:0 0 4px;font-size:14px}.system-alert p{color:#657991;margin:0;font-size:11px;line-height:1.55}.system-alert-code{color:#52677f;background:#f4f7fb;border-radius:6px;margin-top:8px;padding:4px 7px;font:10px Consolas,monospace;display:inline-block}.system-alert-actions{justify-content:flex-end;gap:7px;margin-top:13px;display:flex}.diagnostic-grid{grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0;display:grid}.diagnostic-grid div{background:#f5f8fc;border-radius:9px;padding:10px}.diagnostic-grid span,.diagnostic-grid b{display:block}.diagnostic-grid span{color:var(--muted);margin-bottom:4px;font-size:9px}.diagnostic-grid b{word-break:break-all;font-size:11px}.consent-box{color:#5d5140;background:#fff8e8;border:1px solid #efd5a7;border-radius:10px;padding:13px;font-size:11px;line-height:1.65}.status-line{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:8px;font-size:10px;display:flex}.status-line i{background:var(--blue);border-radius:50%;width:7px;height:7px;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.25}}@media (width<=650px){.system-alert{top:88px;right:12px}.system-alert-actions{flex-direction:column-reverse}.system-alert-actions .btn{width:100%}.diagnostic-grid{grid-template-columns:1fr}}.modal.report-open{align-items:start;padding:18px;overflow:auto}.report-open .modal-card{background:#fff;border-radius:18px;width:min(1040px,100%);max-height:none;margin:0 auto;padding:0;overflow:visible;box-shadow:0 30px 80px #0004}.report-open .close{color:#fff;text-shadow:0 1px 3px #0007;z-index:4;position:fixed;top:20px;right:max(24px,50vw - 564px)}.report-document{color:#132842;background:#fff;border-radius:18px;width:100%;padding:38px 46px 42px;font-size:14px;line-height:1.5;position:relative}.report-document .report-toolbar{justify-content:flex-end;margin-bottom:18px;display:flex;position:static;transform:none}.report-document .report-title{margin:28px 0 22px}.report-document .report-title h2{font-size:30px}.report-document .report-meta{grid-template-columns:repeat(4,1fr)}.report-document .round-chart{padding:15px 18px}.report-document .round-row{margin:8px 0}.report-document .round-track{height:9px}.report-table-scroll{-webkit-overflow-scrolling:touch;overflow:auto}.report-document .report-detail{min-width:760px}.report-document .report-money{margin-top:16px}.report-document .report-note{margin-top:22px}.report-toolbar button{padding:9px 12px;font-size:12px}.report-toolbar button+button{margin-left:7px}@media (width<=760px){.modal.report-open{background:#fff;padding:0}.report-open .modal-card{border-radius:0;width:100%}.report-open .close{color:#173c68;text-shadow:none;z-index:10;background:#fff;border-radius:50%;width:38px;height:38px;position:fixed;top:8px;right:12px}.report-document{border-radius:0;padding:62px 16px 28px;font-size:14px}.report-document .report-toolbar{z-index:8;background:#fff;justify-content:flex-start;position:fixed;top:10px;left:12px;right:58px}.report-brand{padding-bottom:14px}.report-title{text-align:left!important}.report-document .report-title h2{font-size:26px}.report-document .report-meta{grid-template-columns:1fr 1fr}.report-meta div:nth-child(4n){border-right:1px solid #dbe3ec}.report-meta div:nth-child(2n){border-right:0}.report-meta div:nth-last-child(-n+4){border-bottom:1px solid #dbe3ec}.report-meta div:nth-last-child(-n+2){border-bottom:0}.report-period{gap:5px;display:grid}.round-row{grid-template-columns:2.5em 1fr 5.8em}.report-money{grid-template-columns:1fr 1fr}.report-note{grid-template-columns:1fr}.report-sign{text-align:left}.report-document .report-detail{table-layout:auto;min-width:0}.report-detail thead{display:none}.report-detail,.report-detail tbody,.report-detail tr,.report-detail td{width:100%;display:block}.report-detail tr{border:1px solid #d8e1eb;border-radius:10px;margin-bottom:10px;overflow:hidden}.report-detail td,.report-detail td:first-child{text-align:right;border:0;border-bottom:1px solid #e7edf3;grid-template-columns:105px 1fr;gap:10px;padding:10px 12px;display:grid}.report-detail td:last-child{border-bottom:0}.report-detail td:before{content:attr(data-label);text-align:left;color:#71839a;font-weight:700}.bookstore-row{grid-template-columns:1fr 1fr}.bookstore-row.header,.bookstore-row>:nth-child(3),.bookstore-row>:nth-child(4){display:none}.rank-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}@media print{html,body{background:#fff}.shell,.toast,.modal .close,.screen-only{display:none!important}.modal,.modal.hidden,.modal.report-open{background:#fff!important;padding:0!important;display:block!important;position:static!important}.modal-card,.report-open .modal-card{width:210mm!important;max-height:none!important;box-shadow:none!important;border-radius:0!important;padding:0!important;display:block!important;position:static!important}.report-document{border-radius:0!important;width:210mm!important;height:297mm!important;padding:11mm 12mm 9mm!important;font-size:8.6pt!important;line-height:1.35!important;overflow:hidden!important}.report-document .report-title{margin:1.55em 0 1.25em}.report-document .report-title h2{font-size:2.15em}.report-document .report-meta{grid-template-columns:repeat(4,1fr)}.report-document .round-chart{padding:.8em 1em .55em}.report-document .round-row{margin:.36em 0}.report-document .round-track{height:.62em}.report-document .report-detail{table-layout:fixed;min-width:0;display:table!important}.report-detail thead{display:table-header-group!important}.report-detail tbody{display:table-row-group!important}.report-detail tr{border:0!important;display:table-row!important}.report-detail th,.report-detail td,.report-detail td:first-child{text-align:center!important;border:1px solid #d8e1eb!important;width:auto!important;padding:.58em .45em!important;display:table-cell!important}.report-detail td:first-child{text-align:left!important}.report-detail td:before{display:none!important}.report-document .report-money{margin-top:.85em}.report-document .report-note{margin-top:1.2em}}.round-chart{overflow-x:auto}.round-chart-inner{min-width:610px}.round-head,.round-row,.round-total{grid-template-columns:3em minmax(120px,1fr) 7.5em 7.5em 8.2em;align-items:center;gap:.7em;display:grid}.round-head{color:#71839a;border-bottom:1px solid #dfe7f0;padding:0 0 .48em;font-size:.82em;font-weight:800}.round-head span:nth-child(n+3){text-align:right}.round-row{margin:.48em 0}.round-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;color:#176bd5;font-size:.9em;font-weight:800}.round-amount.ebook{color:#0b8c72}.round-amount.total{color:#102a4c;font-weight:900}.round-total{border-top:1px solid #cfdbe8;margin-top:.5em;padding:.62em 0 .18em}.round-total strong{grid-column:1/3}.round-total .round-amount.total{color:#0c4e9d}@media (width<=760px){.report-document .round-chart{margin-left:-4px;margin-right:-4px}.round-chart-inner{min-width:650px}}:root{--navy:#050038;--blue:#4262ff;--sky:#eef0ff;--ink:#050038;--muted:#676780;--line:#dedee9;--bg:#f7f7fb;--mint:#149d8f;--red:#d83b4f;--amber:#9b6300;--yellow:#ffd02f;--lavender:#d9ccff;--teal-note:#bff1e8;--coral-note:#ffc3ad;--yellow-note:#ffe89a}html,body{background:var(--bg);color:var(--ink);font-size:15px}body{overflow-x:hidden}.shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh}.side{height:100vh;color:var(--ink);border-right:1px solid var(--line);box-shadow:none;background:#fff;padding:24px 16px 18px;top:0}.brand{border-bottom:0;gap:12px;padding:0 10px 22px}.logo{background:var(--yellow);width:44px;height:44px;color:var(--ink);border-radius:14px;font-size:23px;box-shadow:inset 0 0 0 1px #00000012}.brand b{letter-spacing:-.03em;font-size:21px}.brand small{color:#77758d;letter-spacing:.08em;white-space:nowrap;text-overflow:ellipsis;max-width:155px;margin-top:3px;font-size:9px;overflow:hidden}.nav{scrollbar-width:thin;padding:0 0 16px;display:block;overflow:auto}.nav-group{margin:0 0 17px}.nav-group>p{color:#9693a7;letter-spacing:.15em;text-transform:uppercase;margin:0 10px 7px;font-size:9px;font-weight:900}.nav button,.nav .nav-item{color:#55536f;background:0 0;border-radius:12px;gap:11px;width:100%;min-height:43px;padding:10px 12px;font-size:13px;font-weight:800;transition:background .16s,color .16s,transform .16s}.nav button:hover{color:var(--ink);background:#f0f0f7;transform:translate(2px)}.nav button.on{background:var(--yellow);color:var(--ink);box-shadow:inset 0 0 0 1px #0000000b}.nav button.on:hover{background:var(--yellow)}.nav-icon{flex:none;place-items:center;width:22px;height:22px;display:grid;color:currentColor!important}.nav-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;overflow:visible;width:20px!important;height:20px!important}.nav-label{white-space:nowrap;color:inherit!important;font-size:13px!important}.privacy{background:#ecfaf6;border:1px solid #b9e8dc;border-radius:13px;gap:10px;margin-top:auto;padding:12px}.privacy i{background:#16a491;box-shadow:0 0 0 5px #16a49118}.privacy b{font-size:11px}.privacy small{color:#52776f;font-size:9px}.workspace{background:var(--bg)}.top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-color:var(--line);background:#fffe;height:116px;padding:21px 36px 18px;position:sticky;top:0}.eyebrow{color:#6f6d83;letter-spacing:.16em;margin-bottom:5px;font-size:10px}.top h1{letter-spacing:-.045em;font-size:27px}.page-sub{color:var(--muted);margin:6px 0 0;font-size:11px}.mock-badge{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px}.mock-badge i{background:#1db69d}.mock-badge b{font-size:11px}.mock-badge small{font-size:9px}main{max-width:1780px;padding:28px 36px 64px}.notice{background:var(--yellow-note);color:#4a3b00;border:1px solid #d6b844;border-radius:14px;margin-bottom:21px;padding:14px 16px}.section-head{align-items:end;margin-bottom:17px}.section-head h2{letter-spacing:-.035em;font-size:20px}.section-head p{font-size:11px;line-height:1.55}.actions{gap:9px}.btn{border-radius:999px;min-height:38px;padding:10px 16px;font-size:11px;transition:transform .15s,box-shadow .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 12px #05003817}.btn.primary{background:var(--blue);color:#fff}.btn.line{color:var(--ink);border:1px solid #b9b8ca}.btn.soft{color:var(--ink);background:#ececf4}.btn.red{background:#fff0f1}.btn.small{min-height:31px;padding:7px 11px}.cards{gap:16px;margin-bottom:18px}.card{background:#fff;border:1px solid #d8d7e5;border-radius:22px;box-shadow:0 2px #05003809}.kpi{border:0;min-height:154px;padding:21px 22px}.kpi:first-child{background:var(--lavender);border-radius:26px 26px 26px 8px}.kpi:nth-child(2){background:var(--teal-note);border-radius:26px 8px 26px 26px}.kpi:nth-child(3){background:var(--coral-note);border-radius:8px 26px 26px}.kpi:nth-child(4){background:var(--yellow-note);border-radius:26px 26px 8px}.kpi .label{color:#393650;font-size:11px}.pill{color:var(--ink);background:#ffffffa6;padding:5px 8px}.kpi strong{margin:20px 0 7px;font-size:28px}.kpi p{color:#5d596e;font-size:10px}.grid{gap:16px}.chart{min-height:310px;padding:22px}.chart.full{min-height:230px}.chart-title{margin-bottom:20px}.chart-title b{font-size:15px}.svg-grid{stroke:#e6e5ee}.svg-line{stroke:var(--blue);stroke-width:4px}.svg-dot{stroke:var(--blue)}.svg-text{fill:#777489}.track{background:#ecebf2;height:9px}.fill,.bar:nth-child(2) .fill,.bar:nth-child(3) .fill,.bar:nth-child(4) .fill{background:var(--blue)}.bar:nth-child(2) .fill{opacity:.82}.bar:nth-child(3) .fill{opacity:.65}.bar:nth-child(4) .fill{opacity:.48}.rank-grid{gap:12px}.rank-card{box-shadow:none;border-radius:16px;padding:15px 16px}.rank-no{color:var(--blue);background:#eeedff;border-radius:50%}.rank-card:first-child .rank-no{background:var(--yellow);color:var(--ink)}.rank-card b{font-size:13px}.rank-card small{font-size:10px}.rank-card>strong{font-variant-numeric:tabular-nums;font-size:13px}.table-wrap{border-color:#d8d7e5;border-radius:18px;box-shadow:0 2px #05003808}.table th{color:#626077;background:#f0f0f6;padding:13px;font-size:10px}.table td{padding:14px 13px;font-size:11px}.table tbody tr:hover{background:#fffbea}.arrows .active{color:var(--blue)}.tag{color:#087566;background:#e1f6ef}.tag.warn{color:#775000;background:#fff0bd}.tag.bad{color:#9c2536;background:#ffe0e4}.avatar{background:var(--yellow-note);color:var(--ink)}.upload{background:#f1efff;border:2px dashed #8982d8;border-radius:24px;padding:35px}.upload .icon{background:var(--blue);color:#fff;border-radius:17px;width:52px;height:52px}.upload h3{font-size:18px}.format-chip{color:#4b4681;background:#fff;border-color:#cbc7ee;border-radius:999px}.ocr-guide,.info-box{color:#355f59;background:#eaf8f5;border-color:#c2e7df;border-radius:14px}.progress-fill{background:var(--blue)}.panel,.setting-card{padding:23px}.form{gap:14px}.form label,.pin-grid label{color:#625f77}.form input,.form select,.form textarea,.pin-grid input,.review-table input{border-color:#c8c6d7;border-radius:12px;outline:none}.form input:focus,.form select:focus,.form textarea:focus,.review-table input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4262ff1b}.settings,.settings-v2{gap:16px}.setting-row{border-color:#e4e3eb}.bookstore-row{border-color:#e6e5ed}.danger-zone{background:#fff4f5;border-color:#f0c6cc}.reset-warning{border-radius:14px}.empty-state{background:#fafafd;border-color:#c9c7d9;border-radius:16px}.log-summary{gap:14px}.log-summary .card{border-radius:18px}.system-alert{border-left-width:6px;border-radius:18px;box-shadow:0 24px 60px #05003825}.modal{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#050038a6}.modal-card{border-radius:24px;box-shadow:0 34px 90px #05003855}.choice-icon{border-radius:17px}.modal pre{background:var(--navy)}.toast{background:var(--navy);border-radius:999px;padding:13px 18px}.diagnostic-grid div{background:#f1f0f7;border-radius:13px}.consent-box,.missing-box{border-radius:14px}.review-summary div{background:#f7f7fb;border-radius:13px}.review-table th{background:#f0f0f6}.review-table tr.unregistered{background:#fff9e7}.report-open .modal-card,.report-document{border-radius:22px}.report-brand{border-color:var(--ink)}.report-brand-mark i{background:var(--yellow);color:var(--ink);border-radius:12px}.report-title .report-kicker{color:var(--blue);background:#eeedff}.report-period{border-color:var(--blue);background:#f0efff}.round-fill{background:var(--blue)}.round-fill.ebook{background:var(--mint)}.report-legend i{background:var(--blue)}.report-legend i.ebook{background:var(--mint)}.report-detail th{background:#f1f0f7}.report-detail .current td{background:#fff8d5}.report-money .pay,.report-toolbar button.primary{background:var(--blue);border-color:var(--blue)}.consent-check{background:#f7faff;border:1px solid #cfdcf0;border-radius:14px;align-items:flex-start;gap:12px;padding:15px;flex-direction:row!important;display:flex!important}.consent-check input{flex:none;width:20px;height:20px;margin-top:2px}.consent-check span{gap:4px;display:grid}.consent-check small{color:var(--muted);line-height:1.55}.outcome-list{gap:6px;margin:10px 0 0;padding-left:20px;display:grid}.paper-only.round-head,.paper-only.round-row{grid-template-columns:3em minmax(120px,1fr) 10em}.paper-only.round-total{grid-template-columns:minmax(120px,1fr) 10em}.paper-only.round-total strong,.paper-only .round-amount.total{grid-column:auto}@media (width<=720px){.paper-only.round-head,.paper-only.round-row{grid-template-columns:2.5em minmax(100px,1fr) 8em}.paper-only.round-total{grid-template-columns:minmax(100px,1fr) 8em}}.modal-card.book-card{width:min(660px,100%);max-height:calc(100vh - 32px);padding:25px 30px 24px;overflow:hidden auto}.book-card #modalBody,.book-entry-form,.book-entry-form label{min-width:0}.book-entry-form{gap:12px;grid-template-columns:minmax(0,1fr)!important}.book-entry-form input,.book-entry-form select,.book-entry-form textarea{width:100%;min-width:0;display:block}.book-entry-form input{height:42px}.book-entry-form textarea{min-height:72px}.field-label{align-items:center;gap:7px;display:flex}.optional{width:max-content;min-height:20px;color:var(--blue);background:#eeedff;border-radius:99px;align-items:center;padding:3px 7px;font-size:9px;font-weight:800;display:inline-flex}.book-card .modal-desc{margin-bottom:14px}.book-card .info-box{margin-top:2px}.book-modal-actions{z-index:2;background:#fff;border-top:1px solid #e4e3eb;margin-top:12px;padding:14px 0 0;position:sticky;bottom:-24px}@media (width<=700px){.modal-card.book-card{border-radius:18px;width:100%;max-height:calc(100vh - 16px);padding:22px 18px 18px}.book-modal-actions{bottom:-18px}}@media (width<=1180px){.cards{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.chart.full{grid-column:auto}.rank-grid,.form{grid-template-columns:1fr 1fr}}@media (width<=1000px){.shell{grid-template-columns:84px 1fr}.side{padding:20px 10px 16px}.brand{justify-content:center;padding:0 10px 20px}.brand-copy,.privacy div,.nav-group>p{display:none}.nav-group{margin-bottom:8px}.nav button,.nav .nav-item{justify-content:center;padding:10px;font-size:0}.nav-label{display:none}.nav-icon{font-size:inherit!important;display:grid!important}.privacy{justify-content:center;padding:12px}.top,main{padding-left:25px;padding-right:25px}.settings,.settings-v2{grid-template-columns:1fr}}@media (width<=700px){.shell{min-height:100vh;display:block}.side{border:1px solid var(--line);z-index:30;background:#fff;border-width:1px 0 0;width:100%;height:72px;padding:5px 8px;position:fixed;top:auto;bottom:0;left:0}.brand,.privacy,.nav-group>p{display:none}.nav{align-items:center;height:62px;padding:0;display:flex;overflow-x:auto}.nav-group{display:contents}.nav button,.nav .nav-item{border-radius:12px;grid-template-rows:25px 15px;align-content:center;justify-items:center;gap:2px;width:75px;min-width:75px;height:56px;padding:5px;display:grid;transform:none;font-size:9px!important}.nav button:hover{transform:none}.nav-icon{display:grid!important}.nav-label{text-overflow:ellipsis;max-width:70px;display:block;overflow:hidden;font-size:9px!important}.workspace{min-width:0}.top{align-items:flex-start;height:auto;min-height:104px;padding:17px 16px 15px}.top h1{font-size:23px}.page-sub{max-width:240px;line-height:1.5}.mock-badge{padding:7px 9px}.mock-badge span small{display:none}main{padding:18px 12px 92px}.section-head{flex-direction:column;align-items:flex-start}.section-head>.actions{width:100%}.section-head>.actions .btn{flex:1}.cards{grid-template-columns:1fr 1fr;gap:9px}.kpi{min-height:140px;padding:15px;border-radius:18px!important}.kpi strong{margin-top:18px;font-size:20px}.kpi .label{align-items:start;gap:5px}.grid{display:block}.chart{min-height:260px;margin-bottom:10px;padding:16px}.rank-grid{grid-template-columns:1fr}.rank-card{grid-template-columns:31px minmax(0,1fr) auto}.rank-card b,.rank-card small{white-space:nowrap}.rank-card>strong{font-size:12px}.upload{padding:26px 15px}.form{grid-template-columns:1fr}.settings,.settings-v2{display:block}.setting-card{margin-bottom:10px}.system-alert{top:48px}.report-open .modal-card,.report-document{border-radius:0}}@media (width<=430px){.cards{grid-template-columns:1fr}.kpi{min-height:125px}.bar{grid-template-columns:72px 1fr 50px}.rank-card{gap:9px}.rank-card>strong{text-overflow:ellipsis;max-width:110px;overflow:hidden}}@media print{.report-brand-mark i{background:var(--yellow)!important;color:var(--ink)!important}.report-money .pay{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:var(--blue)!important;color:#fff!important}}.auth-wrap{background:var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:24px;width:min(440px,100%);padding:34px 32px 30px;box-shadow:0 24px 70px #05003814}.auth-card .logo{margin-bottom:14px}.auth-card h1{letter-spacing:-.04em;margin:0 0 6px;font-size:24px}.auth-card>p{color:var(--muted);margin:0 0 22px;font-size:12px;line-height:1.6}.auth-form{gap:12px;display:grid}.auth-form label{color:#625f77;gap:5px;font-size:10px;font-weight:750;display:grid}.auth-form input{background:#fff;border:1px solid #c8c6d7;border-radius:12px;outline:none;height:42px;padding:0 12px}.auth-form input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #4262ff1b}.auth-error{color:var(--red);background:#fff0f1;border:1px solid #f0c4c9;border-radius:12px;padding:11px 13px;font-size:11px;line-height:1.55}.auth-switch{text-align:center;color:var(--muted);margin-top:16px;font-size:11px}.auth-switch button{color:var(--blue);background:0 0;border:0;padding:0 3px;font-weight:800}.account-badge{align-items:center;gap:10px;display:flex}.account-badge .btn{white-space:nowrap}.cell-select{background:#fff;border:1px solid #c8c6d7;border-radius:9px;max-width:230px;height:32px;padding:0 6px;font-size:10px}.row-actions{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.check-inline{color:#625f77;white-space:nowrap;align-items:center;gap:4px;font-size:9px;display:inline-flex}.muted{color:var(--muted)}.mono{font-family:Consolas,monospace;font-size:10px}.invite-token{word-break:break-all;-webkit-user-select:all;user-select:all;background:#f1f0f7;border-radius:10px;padding:11px;font:10px/1.6 Consolas,monospace}.works-sub{background:#fafafd;border-top:1px solid #e6e5ed}.loading{text-align:center;color:var(--muted);padding:45px;font-size:12px}
