/* Login and workbook design. */
.login-layout{padding:0;width:100%;min-height:calc(100vh - 35px);display:grid;grid-template-columns:1.07fr 1fr;max-width:1800px;margin:auto}.login-story{background:#153e30;color:#faf9ed;padding:48px 9% 28px;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:820px}.story-brand{width:245px;margin-bottom:62px}.story-brand .light-logo{display:none}.story-brand .dark-logo{display:block}.overline{font-size:10px;letter-spacing:2px;font-weight:600;display:block}.login-story .overline{color:#b7c8a8}.login-story h1{font-family:Georgia,serif;font-size:clamp(40px,4.4vw,68px);line-height:1.08;font-weight:400;letter-spacing:-1.8px;margin:23px 0}.login-story h1 em{color:#d8c397;font-style:normal}.login-story>p{color:#b7c9b8;font-size:15px;line-height:1.8;margin:0}.rail-stage{height:268px;position:relative;margin:28px -10px 10px}.rail-line{position:absolute;left:-250px;right:-250px;top:180px;height:100px;transform:rotate(-17deg);border-block:2px solid #67826745;background:repeating-linear-gradient(90deg,transparent 0 25px,#67826735 25px 29px,transparent 29px 40px)}.hero-train{position:absolute;width:245px;background:#f5f5ec;color:#294735;box-shadow:0 20px 40px #001a1b40;padding:11px 13px;border:1px solid #ffffff45;border-radius:7px;transform:rotate(-8deg);z-index:2}.hero-train>span{font-size:8px;letter-spacing:1.3px}.hero-train svg{display:block;height:76px;width:100%;object-fit:contain;margin:9px 0}.hero-train small{display:flex;justify-content:space-between;font-size:9px;color:#53634d}.hero-train small b{font-size:8px;font-weight:400}.train-0{left:0;top:10px}.train-1{left:38%;top:94px;transform:rotate(7deg)}.train-2{left:5%;top:165px;transform:rotate(-4deg);width:208px;z-index:3}.train-2 svg{height:45px}.login-story footer{display:flex;justify-content:space-between;margin-top:auto;font-size:8px;letter-spacing:1.4px;color:#a8bca3;padding-top:45px}.login-side{padding:28px 7% 24px;display:flex;flex-direction:column;align-items:center}.login-layout .theme{margin-left:auto;border:0;background:transparent;color:var(--muted);font-size:12px}.login-form{width:100%;max-width:355px;margin:auto;padding:48px 0}.welcome-mark{width:43px;height:43px;background:var(--green);color:#fff;border-radius:12px;padding:8px 12px;font-size:24px;font-family:Georgia,serif;margin-bottom:28px;position:relative}.welcome-mark span{position:absolute;right:4px;bottom:5px;color:#d0b37c;font-size:16px}.login-form .overline{color:#7f8a75}.login-form h2{font-family:Georgia,serif;font-size:43px;font-weight:400;line-height:1.16;letter-spacing:-1px;margin:18px 0 12px}.login-form>p{margin-bottom:32px}.login-form label{display:block;font-weight:600;font-size:12px;margin:22px 0 9px}.login-form input{width:100%;padding:14px;background:var(--paper)}.password-field{position:relative}.password-field input{padding-right:60px}.password-field button{position:absolute;right:5px;top:6px;border:0;color:var(--muted);font-size:11px;background:transparent}.private-line{font-size:11px;color:var(--muted);margin:18px 0 24px}.lock{color:#537e58;margin-right:8px}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#346548}.login-submit{width:100%;padding:15px;text-align:left;font-weight:600}.login-submit span{float:right}.demo-note{border-top:1px solid var(--line);margin-top:28px;padding-top:18px;color:var(--muted);font-size:11px;line-height:1.7}.demo-note b{font-weight:500;color:var(--ink)}.login-side>footer{display:flex;justify-content:space-between;width:100%;font-size:10px;color:var(--muted);gap:20px}.login-side>footer span{font-size:8px;letter-spacing:1px}

:root{--paper:#fff;--ink:#233d32;--muted:#7c887e;--line:#dfe4db;--green:#244f3c;--soft:#edf1e8;--gold:#bc9862}
html[data-theme="dark"]{--paper:#192b22;--ink:#e2ebe4;--muted:#bbcabc;--line:#344c3d;--green:#38715a;--soft:#284333}
.login-layout{max-width:1800px;min-height:100vh;margin:0 auto;display:grid;grid-template-columns:1.07fr 1fr}
.login-layout .overline{display:block;font-size:10px;letter-spacing:2px;font-weight:600}
.login-layout .login-side .theme{width:auto;margin:0 0 0 auto;background:transparent;border:0;font-size:12px}
.login-layout .story-brand img{width:100%;height:auto}
.login-layout .hero-train svg{display:block;width:100%;height:76px;margin:9px 0}
.login-layout .train-2 svg{height:45px}
.login-layout .login-form .login-submit{width:100%;padding:15px;text-align:left;margin:0}
.login-layout .login-form .login-submit span{float:right}
.login-layout .login-form .password-field input{padding-right:62px}
.login-layout .login-form .password-field button{width:auto;margin:0}
.login-layout .login-form .access-note{font-size:11px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:25px;line-height:1.7}
.login-layout .auth-error{font-size:12px;color:#a94636;margin:12px 0}
.login-layout .auth-error:empty{display:none}
.login-layout .login-story h1{color:#faf9ed}
.login-layout .login-story>p{color:#b7c9b8}
.workbook-heading{border:1px solid #cbd6bf;border-radius:9px;overflow:hidden;background:var(--paper);margin:26px 0 18px}
.book-title{display:flex;align-items:center;gap:14px;padding:18px 20px;background:#f8faf4;border-bottom:1px solid var(--line)}
.book-title h2{margin:0 0 4px;font-size:15px}.book-title p{font-size:11px;margin:0}.book-total{margin-left:auto;white-space:nowrap;font-size:12px;color:var(--muted)}
.excel-icon{display:grid;place-items:center;background:#356943;color:#fff;border-radius:4px;width:32px;height:37px;font-weight:700;font-size:20px;box-shadow:4px 0 #90aa7d}
.book-switcher{display:flex;gap:5px;overflow:auto;padding:10px;background:var(--paper)}
.book-switcher button{font-size:11px;white-space:nowrap;border-color:transparent;padding:9px 12px}.book-switcher button.active{background:#e5eddd;border-color:#d5dfcb;color:#345b35}
.sheet-formula{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);font-size:11px;min-height:37px}.sheet-formula>span{padding:11px 20px;border-right:1px solid var(--line)}.sheet-formula i{font-family:Georgia,serif;font-size:18px;color:#99aa8c}.sheet-formula small{font-size:10px}
.sheet-title{background:#e6eddc;border-top:1px solid #d8e1cc;border-left:5px solid #678b50;padding:19px 20px;color:#345033;font-size:14px;letter-spacing:.7px}
.collection-mode{display:flex;gap:0}.collection-mode button{border-radius:0;white-space:nowrap;font-size:12px}.collection-mode button:first-child{border-radius:7px 0 0 7px}.collection-mode button:last-child{border-radius:0 7px 7px 0}.collection-mode button[aria-pressed="true"]{background:#e1ead7;border-color:#a9bc94;color:#345b35}
.collection-table{border-radius:0;font-family:Calibri,'Segoe UI',sans-serif}.collection-table table{font-size:12px}.collection-table td,.collection-table th{border-right:1px solid #dce3d4;border-bottom:1px solid #dce3d4;padding:9px 12px}.collection-table tbody tr:nth-child(even){background:#f9faf6}.collection-table th{background:#edf2e3;top:22px}.collection-table th button{padding:11px 12px;font-size:11px}.collection-table .sheet-letters th{padding:3px;text-align:center;font-size:9px;font-weight:400;background:#f3f5ee;color:#88947d;height:22px;top:0;z-index:2}.collection-table th.excel-col-name{background:#dce8cc}.collection-table th.excel-col-address{background:#f0e8b4}.collection-table td.excel-col-address{background:#faf8e7;text-align:center;font-family:Consolas,monospace}.collection-table th.excel-col-reference{background:#e4dcf0}.collection-table th.excel-col-decoder{background:#e0e9f2}.collection-table th.excel-col-control{background:#d8e5d3}.collection-table td.excel-col-reference{font-weight:600;color:#436035}.collection-table td.excel-col-name{min-width:220px}.collection-table td.excel-col-inventory{text-align:center;color:#7c886f}
.workbook-tabs{display:flex;overflow:auto;align-items:center;background:#f0f3ea;border:1px solid #cbd6bf;gap:0;margin-top:0}.workbook-tabs button{font-size:11px;white-space:nowrap;padding:13px 20px;border:0;border-radius:0;border-right:1px solid #d8e2ce;color:#6b7c5e;background:transparent}.workbook-tabs button.active{background:var(--paper);color:#31572f;border-bottom:3px solid #5d813f;font-weight:600}.workbook-footnote{font-size:11px;line-height:1.7;color:var(--muted)}
.workbook-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #c5d2b5;background:#fbfcf7;gap:0}.workbook-photo{border:1px solid #c5d2b5;background:var(--paper);min-width:0;overflow:hidden;font-size:12px}.workbook-photo>header{display:flex;justify-content:space-between;gap:10px;background:#e2edcc;padding:11px 14px;border-bottom:1px solid #c8d6b8}.workbook-photo>header strong{font-size:13px}.workbook-photo>header strong span{font-weight:400}.workbook-photo>header>span{font-size:11px}.workbook-photo-open{display:block;width:100%;height:200px;border:0;border-radius:0;padding:10px;background:white}.workbook-photo-open:hover{background:#f9faf5}.workbook-photo-open img{height:100%;width:100%;object-fit:contain}.workbook-photo-open .placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:transparent}.workbook-photo-open .placeholder small{font-size:11px}.workbook-photo-name{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);gap:10px;padding:11px 14px}.workbook-photo-name b{font-weight:500}.workbook-photo-name span{font-size:10px;color:var(--muted)}.workbook-photo-cells{display:flex;align-items:stretch;background:#f5f7ee;border-top:1px solid #d7e0ca}.workbook-photo-cells>span{padding:10px;font-size:10px;flex:1;border-right:1px solid #d7e0ca;overflow-wrap:anywhere}.workbook-photo-cells b{margin-left:5px;font-weight:500}.workbook-photo-cells>span:nth-child(2){background:#f6efc7;flex:0 0 85px}.workbook-photo-cells>span:last-child{font-size:9px;color:#6d8551;border:0;text-align:right}.workbook-photo-cells>span.pending{color:#a28a50}.workbook-photo-price{display:flex;gap:16px;border-top:1px solid #d7e0ca;padding:10px;font-size:11px;background:#f5f7ee}
html[data-theme="dark"] .book-title,html[data-theme="dark"] .sheet-formula{background:#243629}
html[data-theme="dark"] .sheet-title,html[data-theme="dark"] .workbook-photo>header{background:#364d2f;border-color:#556e43;color:#e1ead9}
html[data-theme="dark"] .workbook-tabs,html[data-theme="dark"] .workbook-photo-cells,html[data-theme="dark"] .workbook-photo-price{background:#2c3f2c}
html[data-theme="dark"] .workbook-tabs button.active{background:#192b22;color:#c1d7a9}
html[data-theme="dark"] .collection-table th,html[data-theme="dark"] .collection-table td{border-color:#3a4d35}
html[data-theme="dark"] .collection-table tbody tr:nth-child(even){background:#253629}
html[data-theme="dark"] .collection-table th.excel-col-name{background:#3f5435}
html[data-theme="dark"] .collection-table th.excel-col-address,html[data-theme="dark"] .workbook-photo-cells>span:nth-child(2){background:#574e2c}
html[data-theme="dark"] .collection-table th.excel-col-reference{background:#493e54}
html[data-theme="dark"] .collection-table th.excel-col-decoder{background:#344954}
html[data-theme="dark"] .collection-table td.excel-col-address{background:#383a26}
html[data-theme="dark"] .collection-table td.excel-col-reference{color:#b0cb92}
html[data-theme="dark"] .book-switcher button.active,html[data-theme="dark"] .collection-mode button[aria-pressed="true"]{background:#3f5432;color:#e1ecd7;border-color:#587247}
html[data-theme="dark"] .workbook-photo-open,html[data-theme="dark"] .workbook-photo-open:hover{background:#fff}
@media(max-width:1100px){.login-story{min-height:780px}.story-brand{width:210px}.hero-train{width:210px}.train-2{width:180px}.toolbar{flex-wrap:wrap}.collection-mode{flex-wrap:wrap}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr}.login-story{min-height:auto;padding:30px}.story-brand{margin-bottom:30px;width:210px}.login-story h1{font-size:43px}.rail-stage{height:275px;max-width:430px;width:100%;margin:auto}.login-story footer{padding-top:25px}.login-story>p{font-size:13px}.login-side{padding:24px}.login-form{padding:30px 0}.workbook-photos{grid-template-columns:1fr}.book-title{padding:14px 12px}.book-title p{font-size:9px;overflow-wrap:anywhere}.book-title h2{font-size:13px}.book-total{font-size:10px}.sheet-formula small{display:none}.sheet-title{font-size:12px}.collection-mode{width:100%}.collection-mode button{flex:1}.workbook-tabs button{padding-inline:15px}.workbook-photo-cells>span{font-size:9px}}

.book-title #refresh-workbook{font-size:11px;padding:8px 10px}.workbook-heading~.toolbar{gap:8px}.workbook-heading~.toolbar input{min-width:170px}.workbook-heading~.toolbar select{width:180px}@media(max-width:760px){.book-title{flex-wrap:wrap}.book-total{margin-left:auto}.book-title #refresh-workbook{margin-left:auto}.login-layout .hero-train{max-width:65%}}

/* The chosen page size expands the table; only the browser scrolls vertically. */
.tablewrap.collection-table{max-height:none;overflow-x:auto}

.edit-state-header{display:flex;align-items:center;justify-content:space-between;gap:15px}.edit-state{font-size:11px;color:#718367;background:#eef3e8;padding:6px 10px;border-radius:5px;white-space:nowrap}#edit .actions{margin-bottom:20px}#edit input:disabled{background:#f4f6f1;color:#596b58;cursor:default;opacity:1}html[data-theme="dark"] #edit input:disabled{background:#1c3024;color:#bdccba}html[data-theme="dark"] .edit-state{background:#304731;color:#c3d4b7}#edit-help{font-size:12px}
.collection-table table.resizable-columns{table-layout:fixed;min-width:0}.collection-table table.resizable-columns th,.collection-table table.resizable-columns td{min-width:0;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-table table.resizable-columns th{position:relative}.collection-table table.resizable-columns th button[data-sort]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding-right:19px}.collection-table .column-resize-handle{position:absolute;right:0;top:0;bottom:0;width:10px;cursor:col-resize;touch-action:none;z-index:3;border-right:2px solid transparent}.collection-table .column-resize-handle:hover,.collection-table .column-resize-handle:focus-visible{border-right-color:#527945;background:#52794524;outline:0}.collection-table.resizing-column,.collection-table.resizing-column *{cursor:col-resize!important;user-select:none}.collection-table table.resizable-columns .sheet-letters th{position:relative}html[data-theme="dark"] .collection-table .column-resize-handle:focus-visible,html[data-theme="dark"] .collection-table .column-resize-handle:hover{border-right-color:#b8d89d}
.collection-table.fixed-table-header{position:fixed;z-index:30;overflow:hidden;margin:0;padding:0;border:0;border-bottom:1px solid #b6c6ae;box-shadow:0 3px 7px #173d3026;background:#edf2e3;max-width:none;max-height:none}.collection-table.fixed-table-header[hidden]{display:none!important}.fixed-table-header table{margin:0;border:0}.fixed-table-header table.resizable-columns th,.fixed-table-header table.resizable-columns .sheet-letters th{position:relative;top:auto}.fixed-table-header th{box-sizing:border-box}.fixed-table-header table{transform-origin:top left}html[data-theme="dark"] .fixed-table-header{background:#20392b}

/* Steam rising from the cover logo; decorative and motion-preference aware. */
.story-brand-steam{position:relative;isolation:isolate}
.story-brand-steam>.logo-steam{position:absolute;inset:0;pointer-events:none;clip-path:polygon(8% 7%,21% 7%,21% 25%,8% 25%);animation:cover-logo-steam 3.6s ease-out infinite;transform-origin:13% 24%;opacity:0}
.story-brand-steam>.logo-steam img{display:block;width:100%;height:auto}
.story-brand-steam>.logo-steam-second{animation-delay:1.8s}
@keyframes cover-logo-steam{0%{opacity:0;transform:translate(0,0) scale(1)}18%{opacity:.48}65%{opacity:.2}100%{opacity:0;transform:translate(8px,-23px) scale(1.16)}}
@media(prefers-reduced-motion:reduce){.story-brand-steam>.logo-steam{animation:none;display:none}}
