:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1b2530;background:#f4f6f8}*{box-sizing:border-box}body{margin:0}.top{background:#fff;border-bottom:1px solid #d8dfe5;padding:12px max(16px,calc((100vw - 820px)/2));display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-weight:700;font-size:1.3rem;color:#173a61;text-decoration:none}nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px}nav form{display:inline}nav a{white-space:nowrap}main{max-width:820px;margin:24px auto;padding:0 16px 50px}h1{font-size:1.7rem;margin:0 0 18px}h2{font-size:1.15rem;margin:0 0 12px}a{color:#175c9f}.panel{background:white;border:1px solid #d8dfe5;border-radius:12px;padding:20px;margin:0 0 18px}.narrow{max-width:420px;margin:70px auto}form label{display:block;font-weight:600;margin:0 0 14px}input,select,button{font:inherit}input:not([type=hidden]):not([type=file]),select{display:block;width:100%;padding:11px;border:1px solid #aab6c3;border-radius:8px;background:white;margin-top:5px}button,.capture-button{background:#e9eff5;color:#143857;border:1px solid #b5c5d5;border-radius:8px;padding:10px 14px;cursor:pointer;display:inline-block;text-align:center;text-decoration:none}button.primary,.capture-button.primary{background:#145a92;color:white;border-color:#145a92}button.danger{color:#a02121}button.small{padding:5px 9px;font-size:.88rem}button:disabled{opacity:.5;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.photo{margin-bottom:20px}.photo .actions{margin:0}.photo .muted{margin-bottom:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:#637182}.notice{background:#fff5dd;padding:10px;border-radius:8px}.success{background:#e1f5e9;color:#185835;padding:10px;border-radius:8px}.error{color:#9b1c1c}.simple-list{padding-left:20px}.simple-list li{margin-bottom:8px}.heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.filters{display:flex;gap:8px;margin-bottom:14px}.filters input{flex:1}.filters select{max-width:190px}.filters input,.filters select{margin:0!important}.book h2{margin-bottom:3px}.book p{margin:4px 0}.book details{margin-top:14px}.edit-book{margin-top:16px}.category-list{list-style:none;padding:0}.category-list li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e3e7ea;padding:10px 0}.chat-result{border-top:1px solid #e3e7ea;padding:10px 0}.chat-result p{margin:3px 0}@media(max-width:600px){.top{align-items:flex-start;flex-direction:column}nav{gap:9px}main{margin-top:18px}.panel{padding:16px}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.filters select{flex:1}.photo .actions{flex-direction:column}.capture-button{width:100%}}
.book-table{width:100%;border-collapse:collapse;background:#fff}.table-scroll{overflow-x:auto;border:1px solid #d8dfe5;border-radius:12px}.book-table th,.book-table td{padding:10px 12px;border-bottom:1px solid #e5eaf0;text-align:left;vertical-align:middle}.book-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#637182;background:#f8fafc}.book-table tr:last-child td{border-bottom:0}.book-identity strong,.book-identity span{display:block}.book-identity strong{line-height:1.25}.book-identity span{font-size:.88rem;color:#637182;margin-top:2px}.book-category{font-size:.88rem;color:#405165}.book-count{text-align:center!important;font-size:1.65rem;font-weight:750;color:#145a92;white-space:nowrap}.book-count small{display:block;font-size:.7rem;font-weight:400;color:#637182}.count-heading{text-align:center!important}.row-actions{display:flex;gap:5px;flex-wrap:wrap}.row-actions form{margin:0}.row-actions button{white-space:nowrap}.app-dialog{border:0;border-radius:14px;box-shadow:0 18px 60px #10243d55;width:min(540px,calc(100vw - 24px));max-height:90vh;padding:0}.app-dialog::backdrop{background:#11263a99}.dialog-content{padding:22px}.dialog-content h2{font-size:1.25rem}.dialog-content p{margin:8px 0}.dialog-content .actions{margin-top:18px}.dialog-content .actions button{flex:1 1 auto}.dialog-content form{margin-top:14px}@media(max-width:600px){.book-table th,.book-table td{padding:8px}.book-category{display:none}.row-actions{min-width:110px}.row-actions button{font-size:.76rem;padding:4px 6px}}
textarea{display:block;width:100%;padding:11px;border:1px solid #aab6c3;border-radius:8px;background:white;font:inherit;resize:vertical;margin-top:5px}

.scan-dialog [hidden]{display:none!important}.scan-match{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:8px 0;padding:10px;border:1px solid #d8dfe5;border-radius:8px}.scan-match input[type=radio]{width:auto!important;flex:0 0 auto;margin:4px 0!important}.capture-button[aria-disabled=true]{opacity:.5;cursor:wait}

.book-title{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}.book-title strong{display:inline}.book-identity .category-tag,.category-tag{display:inline-block;font-size:.72rem;font-weight:500;line-height:1.3;color:#28577d;background:#e9f2f9;border:1px solid #cedfea;border-radius:999px;padding:3px 8px;margin:0;white-space:normal}.row-actions{display:grid;grid-template-columns:repeat(2,max-content);gap:5px}.sales-table{width:100%;border-collapse:collapse}.sales-table th,.sales-table td{padding:10px 12px;border-bottom:1px solid #e5eaf0;text-align:left;vertical-align:top}.sales-table th{background:#f8fafc;color:#637182;font-size:.8rem}.sales-table small{display:block;color:#637182;margin-top:3px}.inventory-note{font-weight:400;color:#637182}.inventory-error{color:#9b1c1c}@media(max-width:600px){.row-actions{grid-template-columns:1fr;min-width:105px}.book-count{font-size:1.5rem}.book-table td{padding:8px 6px}.book-title{gap:5px}.book-identity .category-tag{font-size:.66rem;padding:2px 6px}.sales-table th,.sales-table td{padding:8px;font-size:.85rem}}

.category-tag[data-category-color="0"]{color:#713b09;background:#fff1d6;border-color:#ecd29e}
.category-tag[data-category-color="1"]{color:#244994;background:#e6edff;border-color:#bfcdf0}
.category-tag[data-category-color="2"]{color:#67368c;background:#f1e6fc;border-color:#d9bee9}
.category-tag[data-category-color="3"]{color:#185b3b;background:#e1f3e8;border-color:#b4dbc3}
.category-tag[data-category-color="4"]{color:#8b3829;background:#ffe9e1;border-color:#edc0b1}
.category-tag[data-category-color="5"]{color:#7c263e;background:#fce5ec;border-color:#e7bac8}
.category-tag[data-category-color="6"]{color:#135e67;background:#dff3f4;border-color:#acd8dc}
.category-tag[data-category-color="7"]{color:#665310;background:#faf2cc;border-color:#e5d997}
.category-tag[data-category-color="8"]{color:#3b417d;background:#e9e9fa;border-color:#c6c6e8}
.category-tag[data-category-color="9"]{color:#536715;background:#eef5d9;border-color:#cddaac}
.category-tag[data-category-color="10"]{color:#86481f;background:#f9eada;border-color:#e1c4a8}
.category-tag[data-category-color="11"]{color:#344e61;background:#e6eff5;border-color:#bfd2df}
.category-tag[data-category-color="12"]{color:#744c6d;background:#f4e8f1;border-color:#dbc4d6}
.row-actions button{min-height:44px;font-size:.9rem;padding:9px 12px;touch-action:manipulation}
.row-actions [data-edit-book]{grid-column:1/-1}.quick-add{background:#e1f3e8;color:#185b3b;border-color:#a5cdb7;font-weight:750;font-size:1.05rem!important}.row-feedback{font-size:.8rem;color:#405165;margin:8px 0 0}
@media(max-width:600px){
  .table-scroll:has(.book-table){overflow:visible;border:0;background:transparent}
  .book-table,.book-table tbody{display:block;background:transparent}
  .book-table thead{display:none}
  .book-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) 65px;gap:12px;background:#fff;border:1px solid #d8dfe5;border-radius:12px;padding:16px;margin:0 0 12px}
  .book-table td{display:block;padding:0;border:0;min-width:0}
  .book-table .book-identity{grid-column:1;grid-row:1}
  .book-table .book-count{grid-column:2;grid-row:1;font-size:2rem;align-self:start}
  .book-table .book-count small{font-size:.75rem;white-space:normal}
  .book-table .book-actions{grid-column:1/-1;grid-row:2}
  .book-title strong{font-size:1.05rem;line-height:1.35;overflow-wrap:anywhere}
  .book-identity>span{font-size:.95rem;margin-top:6px}
  .book-identity .category-tag{font-size:.78rem;padding:4px 9px}
  .row-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0}
  .row-actions button{min-height:48px;font-size:.95rem;padding:11px 8px;white-space:normal}
  .filters button{min-height:48px;flex:1}.filters input,.filters select{min-height:48px}
  .app-dialog button,.app-dialog input:not([type=hidden]):not([type=radio]),.app-dialog select{min-height:48px}
  .dialog-content button[type=submit]{width:100%}
  .heading{flex-wrap:wrap}.heading h1{margin-bottom:8px}
}

@media(max-width:600px){.top nav{gap:4px 12px}.top nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px}.top nav button{min-height:44px}}

.checkbox-label{display:flex;align-items:center;gap:10px;font-weight:500}.checkbox-label input[type=checkbox]{width:22px!important;height:22px!important;flex:0 0 auto;margin:0!important;padding:0!important}.collection-fields{margin:14px 0}.collection-fields fieldset{border:1px solid #d8dfe5;border-radius:10px;padding:14px}.edition-range{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-actions a{min-height:44px;font-size:.9rem}.collection-fields [hidden],#collection-missing[hidden]{display:none!important}#collection-volumes{margin-top:18px}.scan-dialog{width:min(640px,calc(100vw - 24px))}@media(max-width:600px){.row-actions a{min-height:48px;padding:12px 8px;font-size:.95rem}.app-dialog .dialog-content{padding:16px}.collection-fields fieldset{padding:12px}.checkbox-label{min-height:48px}}