:root{color:#18372f;font-synthesis:none;--green:#156b57;--ink:#18372f;--muted:#63796f;--line:#dce6e0;--light:#edf4ef;--white:#fff;--warning:#88591b;--red:#a53232;background:#f6f8f7;font-family:Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,.button{min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cad9d0;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:10px 17px;font-weight:600;line-height:1.35;text-decoration:none;display:inline-flex}button:hover,.button:hover{border-color:var(--green);background:#f0f6f2}button:disabled{opacity:.5;cursor:not-allowed}.primary,.primary:hover{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:#0f5847}.quiet{background:0 0;border-color:#0000;padding-inline:10px;font-size:.9rem}.danger{color:var(--red)}a{color:var(--green);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #e0b24e}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.035em;margin-bottom:14px;font:500 clamp(1.9rem,3.2vw,2.8rem)/1.2 Cambria,Times New Roman,serif}h2{margin-bottom:12px;font-size:1.2rem;line-height:1.4}h3{margin-bottom:6px;font-size:1rem;line-height:1.45}small,.hint{color:var(--muted);font-size:.85rem}small{display:block}strong{font-weight:650}p{margin-bottom:14px}input,select,textarea{width:100%;min-height:46px;color:var(--ink);background:#fff;border:1px solid #bdcfc4;border-radius:6px;padding:11px 13px}textarea{resize:vertical}input[type=checkbox]{width:19px;height:19px;min-height:auto;accent-color:var(--green);flex:0 0 19px}input[type=file]{max-width:100%;padding:8px;font-size:.85rem}input[type=file]::file-selector-button{background:var(--light);color:var(--green);border:0;border-radius:4px;margin-right:10px;padding:7px}fieldset{border:0;min-width:0;margin:0;padding:0}.field{flex-direction:column;gap:6px;min-width:0;margin-bottom:16px;font-size:.9rem;font-weight:600;display:flex}.field small{font-weight:400}.check{align-items:flex-start;gap:10px;padding-block:10px;font-size:.9rem;font-weight:400;display:flex}.check input{margin-top:3px}.full{width:100%}.grow{flex:1;min-width:0}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions.vertical{flex-direction:column;align-items:stretch}.two-columns{grid-template-columns:1fr 1fr;gap:18px;display:grid}.inline-form{align-items:center;gap:8px;margin-block:12px;display:flex}.inline-form>*{min-width:0}.inline-form input{flex:2}.inline-form select{flex:1}.inline-form button{flex-shrink:0}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;font-size:.72rem;font-weight:700}.lead{color:var(--muted);max-width:700px;margin-bottom:30px;font-size:1.05rem}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;margin-bottom:24px;padding:26px}.section-heading,.page-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.page-header{margin-bottom:12px}.page-header h1{overflow-wrap:anywhere}.section-heading{margin-bottom:16px}.section-heading .field{margin-bottom:0}.badge{letter-spacing:.02em;color:#596b60;background:#f0f2ee;border-radius:4px;margin:0 6px 8px 0;padding:4px 9px;font-size:.72rem;font-weight:600;display:inline-block}.badge.green{color:#24653b;background:#e6f4e9}.notice{color:#735321;overflow-wrap:anywhere;background:#f9f4e8;border:1px solid #e8d8b5;border-radius:7px;margin-block:16px;padding:14px 16px;font-size:.9rem}.notice.error{color:var(--red);background:#fff1f0;border-color:#edcccc}.notice.success{color:#1f613c;background:#edf6ee;border-color:#cbe1d0}.text-error{color:var(--red);font-size:.85rem}.empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:9px;margin-block:20px;padding:36px 24px}.empty p:last-child{margin-bottom:0}.loading{color:var(--muted);align-items:center;gap:12px;padding:16px;display:flex}.spinner{border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;width:250px;height:100vh;padding:36px 22px 24px;display:flex;position:sticky;top:0}.brand{color:var(--ink);border-left:5px solid var(--green);width:max-content;margin-bottom:44px;padding-left:13px;text-decoration:none;display:block}.brand-number{letter-spacing:-.07em;align-items:flex-end;gap:8px;font-family:Georgia,serif;font-size:2.5rem;font-weight:700;line-height:1;display:flex}.brand-number span{letter-spacing:.06em;padding-bottom:4px;font:700 .72rem/1.3 Segoe UI,sans-serif}.brand-caption{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-top:8px;font-size:.73rem;display:block}.sidebar nav{flex-direction:column;gap:8px;display:flex}.sidebar nav a{min-height:48px;color:var(--muted);border-radius:7px;align-items:center;gap:11px;padding:12px 13px;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.sidebar nav a.active{background:var(--light);color:var(--green)}.account{border-top:1px solid var(--line);overflow-wrap:anywhere;margin-top:auto;padding-top:20px}.main-content{width:100%;min-width:0;max-width:1320px;padding:46px 48px 70px}.back{margin-bottom:24px;font-size:.85rem;text-decoration:none;display:inline-block}.toolbar{align-items:center;gap:22px;margin-bottom:24px;display:flex}.toolbar .field{flex:1;max-width:560px;margin:0}.branch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.branch-card{border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;border-radius:10px;padding:28px;position:relative}.branch-icon{color:var(--green);margin-bottom:22px;font-size:2.6rem;line-height:1}.branch-card h2{margin:10px 0 26px;font:500 1.45rem/1.4 Cambria,Times New Roman,serif}.branch-card .badge{position:absolute;top:27px;right:24px}.session-card{border:1px solid var(--line);background:#fff;border-left:4px solid #8cab97;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;padding:24px;display:flex}.session-card p{margin-bottom:0}.catalog-row{border-bottom:1px solid var(--line);gap:18px;padding:24px 0;display:flex}.catalog-row h2{font-size:1.05rem}.catalog-row p{color:var(--muted);font-size:.85rem}.book-mark{width:38px;height:52px;color:var(--green);background:#e6eeea;border-left:4px solid #88aa97;border-radius:3px 7px 7px 3px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.4rem;display:flex}.catalog-list{border:1px solid var(--line);background:#fff;border-radius:10px;padding:4px 24px}.pagination{justify-content:center;align-items:center;gap:22px;margin:24px 0;font-size:.85rem;display:flex}.modal{border:1px solid var(--line);width:min(680px,100% - 24px);max-height:90dvh;color:var(--ink);border-radius:14px;padding:28px;box-shadow:0 25px 90px #153e2f30}.modal::backdrop{background:#10281fc0}.modal .quantity-panel{box-shadow:none;border:0;margin:0;padding:0}.modal>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.modal h2{margin:0}.modal .quiet{font-size:1rem}details{margin:12px 0;font-size:.85rem}summary{cursor:pointer;color:var(--green);min-height:44px;padding-block:10px;font-weight:600}details p{margin-top:8px}details .hint{line-height:1.55}.mono,code{overflow-wrap:anywhere;font-family:Consolas,monospace}.code-choice,.code-row{border:1px solid var(--line);border-radius:5px;flex-wrap:wrap;align-items:center;gap:12px;margin:8px 0;padding:10px;display:flex}.code-choice span,.code-row span{flex:1}.file-tabs{gap:8px;margin:20px 0;display:flex;overflow:auto}.file-tabs button{white-space:nowrap;font-size:.8rem}.file-tabs button[aria-selected=true]{border-color:var(--green);background:var(--light)}.mapping-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.import-row{border-bottom:1px solid var(--line);grid-template-columns:1.3fr 1fr;gap:24px;padding:20px 0;display:grid}.import-row p{margin-bottom:7px;font-size:.85rem}.import-row .field{margin-bottom:8px}.table-scroll{width:100%;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}th{color:var(--muted);white-space:nowrap;background:#f5f8f5;font-size:.8rem;font-weight:600}th,td{border-bottom:1px solid var(--line);vertical-align:top;padding:13px 15px}td:first-child{min-width:180px}td{overflow-wrap:anywhere}td small{margin-top:5px}.number{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;font-weight:650}.workspace-context{z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-block:1px solid var(--line);background:#f6f8f7f5;align-items:center;gap:20px;margin:20px 0 24px;padding:12px 0;display:flex;position:sticky;top:0}.workspace-context>div:first-child{flex-wrap:wrap;flex:1;align-items:center;gap:8px;font-size:.85rem;display:flex}.workspace-context .badge{margin:0 8px 0 0}.workspace-context .field{min-width:145px;margin:0}.workspace-context .field>span{font-size:.72rem}.workspace-grid{grid-template-columns:1.15fr 1fr;align-items:start;gap:24px;display:grid}.recognition .candidate{text-align:left;white-space:normal;flex-direction:column;align-items:flex-start;gap:5px;width:100%;margin:12px 0;padding:17px;font-weight:400;display:flex}.candidate.selected{border:2px solid var(--green);background:var(--light)}.candidate .badge{margin-bottom:0}.quantity-panel{border-top:4px solid var(--green)}.quantity-panel h2{font:500 1.5rem/1.45 Cambria,Times New Roman,serif}.quantity-control{align-items:stretch;gap:10px;display:flex}.quantity-control button{flex-shrink:0;width:54px;font-size:1.6rem}.quantity-control input{text-align:center;font-variant-numeric:tabular-nums;min-height:74px;font-size:2rem;font-weight:600}.save-button{min-height:52px;margin:12px 0 18px}.draft-save{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.draft-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:18px 0;display:flex}.draft-row p{margin:0;font-size:.85rem}.ocr-text{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7f4;padding:14px;font-family:inherit}.report-totals{background:#eaf1ec;border-radius:10px;grid-template-columns:repeat(4,1fr);margin:28px 0 16px;padding:24px;display:grid}.report-totals>div{border-right:1px solid #c9d9cd;padding-inline:24px}.report-totals>div:first-child{padding-left:0}.report-totals>div:last-child{border:0}.report-totals strong{font:500 2.2rem/1.2 Georgia,serif;display:block}.report-totals span{color:var(--muted);font-size:.8rem}.session-finalize{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.guide li{max-width:750px;margin-bottom:14px}.guide h3{margin-top:24px}.auth-layout{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-intro{background:#e7efe9;flex-direction:column;justify-content:center;padding:8vh 8vw;display:flex;position:relative;overflow:hidden}.auth-intro h1{z-index:1;font-size:clamp(2.5rem,5vw,4.7rem);position:relative}.auth-intro p{color:var(--muted);max-width:330px;font-size:1.1rem}.auth-card{width:100%;max-width:450px;margin:auto;padding:40px}.auth-card h2{font:500 2rem Cambria,Times New Roman,serif}.auth-card p{color:var(--muted)}.auth-card .full{margin:10px 0 24px}.book-spines{align-items:flex-end;gap:10px;height:150px;margin-top:35px;display:flex}.book-spines i{background:#abc2b1;border-left:7px solid #729c83;border-radius:4px 5px 0 0;width:45px;height:130px;display:block}.book-spines i:nth-child(2){background:#41775d;border-color:#2c5d45;width:33px;height:150px}.book-spines i:nth-child(3){background:#d6be79;border-color:#af9654;width:58px;height:117px}.book-spines i:nth-child(4){transform-origin:0 100%;height:136px;margin-left:10px;transform:rotate(-8deg)}.book-spines i:nth-child(5){background:#698375;border-color:#536c5d;width:37px;height:142px}.setup{max-width:870px;margin:0 auto;padding:50px 24px}.setup h1{font-size:clamp(2.2rem,5vw,3.8rem)}.setup>.panel{margin-top:32px}.setup li{margin-bottom:12px}.setup footer{color:var(--muted);margin-top:30px;font-size:.8rem}@media (width>=1500px){.main-content{margin-inline:auto}}@media (width<=1100px){.sidebar{width:215px;padding-inline:15px}.main-content{padding:32px 25px}.workspace-grid,.branch-grid{grid-template-columns:1fr}.workspace-context{flex-wrap:wrap;gap:12px}.workspace-context>div:first-child{flex-basis:100%}}@media (width<=720px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);width:100%;height:auto;padding:18px 18px 8px;position:static}.sidebar .brand{margin-bottom:18px}.brand-number{font-size:2rem}.brand-caption{padding-top:4px;font-size:.62rem}.sidebar nav{flex-direction:row;gap:4px;overflow-x:auto}.sidebar nav a{gap:6px;min-width:max-content;min-height:44px;padding:9px;font-size:.75rem}.account{text-align:right;border:0;max-width:42%;margin:0;padding:0;position:absolute;top:18px;right:12px}.account small{text-overflow:ellipsis;white-space:nowrap;max-width:135px;font-size:.66rem;overflow:hidden}.account button{min-height:36px;padding:4px 8px;font-size:.75rem}.main-content{padding:28px 17px 50px}.page-header{flex-direction:column;align-items:flex-start;gap:10px}.page-header .actions{width:100%}.page-header h1{font-size:2rem}.lead{margin-bottom:22px;font-size:.95rem}.panel{border-radius:9px;margin-bottom:20px;padding:20px 16px}.toolbar{flex-wrap:wrap;align-items:stretch;gap:12px}.toolbar .field{min-width:100%}.two-columns{grid-template-columns:1fr;gap:0}.mapping-grid{grid-template-columns:1fr 1fr;gap:10px}.section-heading{flex-wrap:wrap;gap:12px}.section-heading h2{margin:0}.branch-card{padding:23px}.session-card{padding:20px;display:block}.session-card .actions{margin-top:18px}.catalog-list{padding-inline:14px}.catalog-row{flex-wrap:wrap;gap:10px}.catalog-row .actions.vertical{flex-direction:row;flex-basis:100%;justify-content:flex-end}.book-mark{width:30px;height:43px}.catalog-row h2{font-size:1rem}.import-row{grid-template-columns:1fr;gap:10px}.inline-form{flex-wrap:wrap}.inline-form input{min-width:130px}.workspace-context{margin-top:16px;padding:10px 0;top:0}.workspace-context .field{flex:1}.workspace-context>div:first-child{font-size:.8rem}.workspace-context strong{font-size:.95rem}.draft-row{flex-direction:column;align-items:flex-start}.report-totals{grid-template-columns:1fr 1fr;gap:20px;padding:22px}.report-totals>div,.report-totals>div:first-child{border:0;padding-left:0}.report-totals strong{font-size:2rem}.report-totals span{font-size:.75rem}.auth-layout{display:block}.auth-intro{padding:28px 26px}.auth-intro .brand{margin-bottom:28px}.auth-intro h1{font-size:2.4rem}.auth-intro p{margin-bottom:0;font-size:1rem}.book-spines{display:none}.auth-card{max-width:500px;padding:34px 26px}.modal{padding:22px 18px}.setup{padding-top:30px}.quantity-panel .save-button{box-shadow:0 5px 20px #193e2730}th,td{padding:11px;font-size:.8rem}.table-scroll table{min-width:480px}.code-row a{font-size:.78rem}.code-row{gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation:none!important}}
