:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#25312e;background:#f7f6f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink:#25312e;--muted:#737b73;--green:#427361;--green-dark:#305d4c;--line:#e3e6dd;--paper:#f7f6f2;--white:#fffefb;--sidebar:#273530;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #83ad9b;outline-offset:3px}a{color:inherit}button svg{flex-shrink:0}button{color:inherit}svg{vertical-align:middle;flex-shrink:0}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}input,select,textarea{min-width:0}input[type=checkbox],input[type=radio]{accent-color:var(--green);width:17px;height:17px;flex-shrink:0}select{cursor:pointer}input::placeholder,textarea::placeholder{color:#879087}code{font-size:.91em;background:#ebece4;padding:3px 6px;border-radius:4px}small{line-height:1.6}hr{border:0;border-top:1px solid var(--line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--sidebar);color:#e8eee7;padding:34px 20px 20px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;margin-bottom:24px;letter-spacing:-.6px;font-size:22px;font-weight:600}.brand-icon{height:44px;width:37px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:#a5b6a236;color:#d9e7c9}.brand-light{font-weight:300;color:#cbd6ca}.brand small{display:block;font-size:6.5px;letter-spacing:.95px;color:#aab8ac;margin-top:6px;font-weight:500}.workspace-tag{font-size:10px;color:#b6c6b9;display:flex;align-items:center;gap:7px;padding:11px 10px;background:#c9e3d10b;border:1px solid #c9e3d115;border-radius:6px;margin-bottom:31px}.nav-section{font-size:9px;letter-spacing:1.65px;color:#8da596;margin:0 14px 13px}.nav-item{width:100%;border:0;background:none;border-radius:7px;color:#bdccbf;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 12px;font-size:12px;margin:2px 0;min-height:43px}.nav-item svg{opacity:.85}.nav-item:hover{background:#ffffff09;color:#f3f7f2}.nav-item.active{background:#a3c5a923;color:#eaf4e4;box-shadow:inset 2px 0 #bcd3a8}.nav-count{margin-left:auto;font-size:10px;background:#ffffff0c;border:1px solid #d6e6d712;padding:3px 6px;border-radius:4px;color:#c1d5c4;font-variant-numeric:tabular-nums}.management-label{margin-top:33px}.sidebar-bottom{margin-top:auto;padding-top:34px}.reading-summary{padding:16px 12px 20px}.reading-summary>div:first-child{display:flex;justify-content:space-between;font-size:10px;margin-bottom:10px;color:#b3c6b7}.reading-summary strong{font-weight:500;color:#dfebd9}.progress{height:5px;background:#e5e9df;border-radius:20px;overflow:hidden}.progress i{height:100%;display:block;background:var(--green);border-radius:20px;transition:width .25s ease}.reading-summary .progress{background:#ffffff15;height:4px}.reading-summary .progress i{background:#abc89d}.reading-summary small{display:block;color:#91aa98;font-size:9px;margin-top:8px}.local-card{border-top:1px solid #ffffff15;padding:19px 10px 13px;display:flex;align-items:flex-start;gap:10px;color:#bbcfbf}.local-card strong{font-size:10px;font-weight:500;display:block}.local-card small{font-size:9px;display:block;color:#96ad9e;margin-top:5px;line-height:1.7}.version-label{font-size:7px;letter-spacing:1.3px;color:#7e9987;display:block;padding:17px 10px 0}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:66px;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;background:#fbfaf6}.breadcrumb{font-size:11px;color:#92988f;display:flex;gap:12px;align-items:center}.breadcrumb strong{font-weight:500;color:#5b685d}.breadcrumb span{color:#b5bcb0}.topbar-right{display:flex;align-items:center;gap:18px}.save-indicator{font-size:10px;color:#668172;display:flex;align-items:center;gap:7px}.save-indicator i{width:5px;height:5px;background:#789a7c;border-radius:50%}.icon-button{border:1px solid transparent;padding:7px;border-radius:6px;background:transparent;display:inline-flex;align-items:center;justify-content:center;color:#6c786d}.icon-button:hover{background:#e9ede4}.content{padding:35px 42px 48px;flex:1;max-width:1800px;width:100%;margin:0 auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.eyebrow{display:block;font-size:9px;font-weight:600;letter-spacing:1.75px;color:#778771;margin-bottom:12px}.page-heading h1{font-family:var(--serif);font-size:39px;letter-spacing:-1.5px;margin-bottom:11px;line-height:1.15;color:#293b30}.page-heading p{font-size:12px;color:#7d8478;margin:0}.button{padding:10px 15px;border:1px solid #d8ded1;border-radius:7px;background:#fffefb;color:#4e5d4e;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;font-weight:500;text-decoration:none;white-space:nowrap;line-height:1.5;min-height:38px;transition:background .15s,border-color .15s}.button:hover{background:#edf0e7;border-color:#bfcbb9}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.button.large{padding:13px 21px;font-size:12px}.button-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.text-button{display:inline-flex;gap:7px;align-items:center;border:0;padding:7px 0;font-size:11px;background:none;color:var(--green);text-decoration:none;line-height:1.5}.text-button:hover{text-decoration:underline}.text-button.danger{color:#986655}.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fffefb;border:1px solid var(--line);border-radius:9px;padding:22px 0;margin-bottom:31px;box-shadow:0 2px 3px #293e2802}.stat{padding:0 24px;border-right:1px solid var(--line);min-width:0}.stat:last-child{border-right:0}.stat>span{font-size:10px;display:flex;align-items:center;gap:7px;color:#6b7969;white-space:nowrap}.stat>span svg{color:#8e9e87;width:15px}.stat>strong{display:block;font-family:var(--serif);font-size:29px;letter-spacing:-.6px;line-height:1.2;margin:12px 0 4px;font-weight:400;font-variant-numeric:tabular-nums}.stat>strong em{font-family:Inter,"Segoe UI",Arial,sans-serif;font-style:normal;font-size:13px;margin-left:5px;letter-spacing:0;color:#9aab90}.stat>small{font-size:9px;color:#8b9384}.collection-tools{margin-bottom:22px}.collection-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.collection-heading h2{font-size:16px;margin:0;letter-spacing:-.2px;font-weight:500}.collection-heading h2 span{display:inline-block;vertical-align:middle;font-size:10px;color:#7c8b74;background:#eaeee4;border:1px solid #e0e6d8;padding:3px 6px;border-radius:4px;margin-left:6px;font-weight:400}.scope-tabs{display:flex;border-bottom:1px solid var(--line);gap:19px}.scope-tabs button{border:0;padding:9px 0;background:none;color:#8a9584;font-size:10px;border-bottom:2px solid transparent;margin-bottom:-1px}.scope-tabs button.active{border-color:var(--green);color:var(--green);font-weight:600}.search-row{display:flex;align-items:stretch;gap:12px}.searchbox{display:flex;gap:10px;align-items:center;border:1px solid #dfe4d7;background:#fffefb;border-radius:7px;padding:0 13px;height:43px;flex:1;min-width:140px}.searchbox svg{color:#8e9b85}.searchbox input{width:100%;border:0;background:none;outline:0;font-size:11px;height:100%;color:var(--ink)}.searchbox:focus-within{border-color:#99b094;box-shadow:0 0 0 2px #8aa88620}.searchbox kbd{border:1px solid #e5e9dd;background:#f7f8f2;color:#a4ad99;border-radius:3px;padding:1px 5px;font-size:10px}.sort-control{display:flex;align-items:center}.sort-control select{height:43px;background:#fffefb;border:1px solid #dfe4d7;border-radius:7px;padding:0 29px 0 12px;color:#66735f;font-size:10px;max-width:190px}.view-toggle{border:1px solid #dfe4d7;border-radius:7px;display:flex;padding:3px;background:#fffefb;gap:3px}.view-toggle button{border:0;background:none;color:#a6ad9e;display:flex;align-items:center;justify-content:center;width:36px;border-radius:4px}.view-toggle button.active{background:#eaf0e4;color:#638158}.filters-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.filters-row select{font-size:10px;padding:8px 22px 8px 10px;border:1px solid #e0e5d9;border-radius:5px;background:#f7f8f2;color:#76806d;max-width:160px;height:33px}.reset-filters{margin-left:auto;font-size:9px;color:#8a9780}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));column-gap:22px;row-gap:29px}.book-card{min-width:0}.book-open{display:block;width:100%;background:none;border:0;text-align:left;padding:0;overflow:visible}.cover-wrap{position:relative;margin-bottom:13px}.cover{aspect-ratio:2/3;width:100%;position:relative;border-radius:4px 7px 7px 4px;overflow:hidden;background:#e5e8dd;box-shadow:1px 3px 7px #27302519,0 12px 17px -13px #27302550}.cover img{width:100%;height:100%;object-fit:cover;display:block}.cover-sheen{position:absolute;inset:0;box-shadow:inset 4px 0 4px #ffffff25,inset -1px 0 2px #00000011;background:linear-gradient(90deg,#00000013,transparent 5%,#ffffff08 7%,transparent 9%);pointer-events:none}.book-open .cover{transition:transform .2s,box-shadow .2s}.book-open:hover .cover{transform:translateY(-4px);box-shadow:1px 6px 10px #27302523,0 16px 22px -13px #27302555}.book-open h3{font-size:11px;font-weight:600;color:#3a4838;line-height:1.5;margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:33px}.book-edition{font-size:10px;color:#8a9480;line-height:1.5;margin:0 0 9px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.book-bottom{display:flex;justify-content:space-between;gap:6px;align-items:center;font-size:9px;color:#818e74}.reading-toggle{font-size:9px;border:0;display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:4px;color:#8b967c;background:#eef1e7;white-space:nowrap}.reading-toggle.read{color:#628759;background:#e7efdf}.reading-toggle.reading{color:#9b813c;background:#f1ebd9}.reading-toggle:hover{filter:brightness(.95)}.card-price{font-size:10px;color:#919a87;white-space:nowrap}.cover-badge{position:absolute;top:9px;left:9px;display:inline-flex;align-items:center;gap:4px;font-size:8px;font-weight:500;border-radius:4px;padding:5px 7px;box-shadow:0 1px 4px #00000015;backdrop-filter:blur(8px)}.read-badge{background:#f2f8edeb;color:#496d42}.wishlist-badge{background:#fff9ecef;color:#94773e}.reading-badge{background:#fff1cceb;color:#8a691e}.retention-dot{position:absolute;right:8px;bottom:9px;background:#fdf0e6eb;color:#92613b;padding:4px;border-radius:4px}.release-line{display:block;color:#87917a;font-size:9px;line-height:1.6;margin-top:6px}.wishlist-meta{color:#8f8959;font-size:9px}.placeholder{display:flex;flex-direction:column;padding:14px 13px;justify-content:center;align-items:center;text-align:center;color:#526445;background:#dce2d0;border:1px solid #cfd8c2;background-image:linear-gradient(135deg,#ffffff16,#42523206)}.placeholder-brand{font-size:6px;letter-spacing:1.4px;position:absolute;top:13px;left:12px;right:12px;opacity:.65}.placeholder-art{opacity:.5;margin-bottom:18px}.placeholder strong{font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.2;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.placeholder-vol{font-size:8px;letter-spacing:1px;margin-top:15px}.placeholder-note{position:absolute;bottom:10px;left:0;right:0;font-size:7px;opacity:.6}.palette-1{background-color:#dfd5c5;color:#776246;border-color:#d1c4ad}.palette-2{background-color:#ccdcd7;color:#3d6157;border-color:#bccfc5}.palette-3{background-color:#d2d7e0;color:#53637a;border-color:#c1c9d6}.palette-4{background-color:#e3d4d3;color:#815758;border-color:#d4c0bd}.palette-5{background-color:#dcdacb;color:#6c6c4b;border-color:#cfccb6}.list-wrap{border:1px solid var(--line);border-radius:8px;overflow-x:auto;background:#fffefb}.book-list{width:100%;border-collapse:collapse;font-size:11px}.book-list th{text-align:left;font-size:9px;letter-spacing:.6px;color:#86947b;text-transform:uppercase;font-weight:500;background:#f2f5ec;padding:14px 16px}.book-list td{border-top:1px solid var(--line);padding:12px 16px;color:#7a8672}.list-book{border:0;background:none;text-align:left;display:flex;align-items:center;gap:14px;max-width:480px;padding:0}.list-book strong{font-size:11px;font-weight:500;color:#45583e;display:block;line-height:1.5}.list-book small{display:block;color:#91a086;font-size:9px;margin-top:5px}.cover.mini{width:37px;min-width:37px;height:55px;border-radius:2px;box-shadow:1px 2px 3px #00000020}.mini.placeholder{padding:3px}.mini.placeholder .placeholder-brand,.mini.placeholder .placeholder-art,.mini.placeholder .placeholder-note,.mini.placeholder .placeholder-vol{display:none}.mini.placeholder strong{font-size:7px}.reading-pill{font-size:9px;padding:5px 8px;background:#edf0e6;border-radius:5px;white-space:nowrap;display:inline-block}.reading-pill.read{background:#e8f0e1;color:#64865b}.reading-pill.reading{background:#f1ead2;color:#947b3c}.app-footer{margin:0 42px;padding:21px 0 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#8c9881;line-height:1.6}.app-footer span{color:#a0a895}.welcome{max-width:680px;text-align:center;margin:40px auto 70px;display:flex;align-items:center;flex-direction:column}.welcome-emblem{width:98px;height:98px;border-radius:22px;background:#e5ecdc;color:#728b61;display:flex;align-items:center;justify-content:center;margin-bottom:29px;transform:rotate(-3deg)}.welcome .eyebrow{margin-bottom:18px}.welcome h1{font-family:var(--serif);font-size:49px;letter-spacing:-2px;margin-bottom:18px;line-height:1.12}.welcome>p{max-width:390px;font-size:13px;color:#7e8c72;margin-bottom:25px}.welcome-actions{display:flex;gap:10px;margin-bottom:25px;flex-wrap:wrap;justify-content:center}.welcome-instruction{background:#eef1e6;border:1px solid #e1e7d6;border-radius:8px;padding:19px 22px;font-size:11px;line-height:1.8;color:#7b876e;max-width:520px}.welcome-instruction strong{color:#586c4c}.welcome-benefits{display:flex;gap:25px;font-size:10px;color:#7e8f71;margin:28px 0;flex-wrap:wrap;justify-content:center}.welcome-benefits span{display:flex;align-items:center;gap:7px}.welcome p.local-warning{font-size:10px;color:#9b9d89;max-width:440px;line-height:1.7}.notice{padding:13px 42px;background:#f7edcf;color:#856f38;font-size:12px;border-bottom:1px solid #ecddb0}.notice[hidden]{display:none}.notice button{border:0;background:none;color:#685124;text-decoration:underline;margin-left:15px;font-size:inherit}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);max-width:min(560px,90vw);background:#304d3d;color:#f1f5ea;padding:13px 20px;border-radius:9px;font-size:12px;box-shadow:0 9px 25px #182a2440;opacity:0;transition:transform .2s,opacity .2s;z-index:1000;pointer-events:none;line-height:1.6}.toast.visible{opacity:1;transform:translate(-50%,0)}.toast.error{background:#8f4f40}.empty-results,.loading-state{text-align:center;padding:70px 20px;color:#88957e}.empty-results svg{color:#a9b69d;margin-bottom:19px}.empty-results h3,.loading-state h2{font-family:var(--serif);font-size:27px;color:#516248;margin-bottom:11px}.empty-results p,.loading-state p{font-size:12px}.spinner{display:block;margin:20px auto;width:30px;height:30px;border:3px solid #d9e1d0;border-top-color:var(--green);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-panel{background:#fff2e9;border:1px solid #e8d7ca;border-radius:10px;padding:25px}.error-panel h1{font-family:var(--serif);font-size:30px;color:#805540}.error-panel p{font-size:13px;color:#967c67}.series-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}.series-card{border:1px solid var(--line);background:#fffefb;border-radius:10px;padding:0;text-align:left;overflow:hidden;transition:transform .2s,box-shadow .2s}.series-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #2e452614}.series-covers{height:192px;background:linear-gradient(120deg,#eef0e6,#e5ecdc);position:relative;display:flex;justify-content:center;overflow:hidden;border-bottom:1px solid #e3e8da}.series-fan{position:absolute;width:95px;top:24px;transform-origin:bottom center}.series-fan .cover{box-shadow:0 2px 10px #31462c30}.series-fan.fan-0{transform:translateX(-50px) rotate(-9deg);z-index:1}.series-fan.fan-1{transform:translateX(50px) rotate(9deg);z-index:2}.series-fan.fan-2{z-index:3;top:23px}.series-covers .series-fan:only-child{transform:none;width:100px;top:20px}.series-card-body{padding:20px}.series-card-body .eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:8px}.series-card h2{font-family:var(--serif);font-size:20px;line-height:1.25;min-height:50px;margin:0 0 10px}.series-card p{font-size:10px;color:#8a987c;margin:0 0 14px}.series-bottom{display:flex;justify-content:space-between;font-size:9px;margin-top:10px;color:#8a9b7c}.back-link{margin-bottom:20px}.series-context{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;background:#edf1e5;border:1px solid #dfe6d3;border-radius:9px;padding:23px;margin-bottom:30px}.series-context .eyebrow{font-size:8px;margin-bottom:8px}.series-context strong{display:block;font-family:var(--serif);font-size:24px;text-transform:capitalize;font-weight:400}.series-context p{grid-column:1/-1;font-size:10px;color:#8b967c;border-top:1px solid #dae2cc;padding-top:13px;margin:0}.panel{background:#fffefb;border:1px solid var(--line);padding:26px;border-radius:10px}.panel h2{font-family:var(--serif);font-size:23px;line-height:1.25;letter-spacing:-.4px;margin-bottom:15px;color:#41573a}.panel>p{font-size:12px;color:#7b8970;line-height:1.8;margin-bottom:20px}.panel .eyebrow{font-size:8px;margin-bottom:10px}.panel small{color:#96a18c}.insights-grid,.data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.reading-ring{width:190px;height:190px;border-radius:50%;background:conic-gradient(#8ba877 var(--read),#edf0e5 0);padding:14px;display:flex;align-items:center;justify-content:center;margin:25px auto}.reading-ring>div{background:#fffefb;border-radius:50%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column}.reading-ring strong{font-family:var(--serif);font-size:37px;font-weight:400;color:#587247}.reading-ring span{font-size:8px;color:#8c9a7d;margin-top:6px}.legend{display:flex;justify-content:center;gap:20px;font-size:10px;color:#7b8a6d;margin-bottom:20px}.bar-item{margin:24px 0}.bar-item>div:first-child{display:flex;justify-content:space-between;font-size:11px;margin-bottom:9px;color:#7e8c71}.bar-item strong{font-weight:500;color:#5c7350}.bar-item .progress{height:7px}.bar-item .progress i{background:#91aa7d}.panel dl{margin:0}.panel dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e6eadf;padding:15px 0;font-size:12px}.panel dl>div:last-child{border:0}.panel dt{color:#8b987d}.panel dd{color:#5e7552;margin:0;font-weight:500;font-variant-numeric:tabular-nums}.spending-panel .muted{margin-top:25px}.muted{color:#8f9a83;font-size:11px;line-height:1.7}.small{font-size:10px!important;line-height:1.7}.mode-banner{padding:21px 23px;background:#edf1e5;border:1px solid #dde6d0;border-radius:9px;display:flex;gap:17px;margin-bottom:24px;color:#7b9468}.mode-banner strong{font-size:12px;color:#587347;font-weight:500}.mode-banner p{font-size:11px;color:#859578;line-height:1.8;margin:7px 0 0}.data-grid .button-row{margin-bottom:10px}.data-grid .panel>p.small{margin:17px 0 0}.future-status{display:flex;align-items:center;gap:10px;font-size:11px;color:#88997a;background:#f1f4eb;padding:12px;border-radius:6px}.import-audit{margin-top:22px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.tag{display:inline-block;font-size:9px;padding:5px 8px;border-radius:4px;background:#eff2e7;color:#8a9978;line-height:1.6;white-space:nowrap;text-transform:capitalize}.tag.review{color:#a4823f;background:#f6efdb}.tag.resolved{color:#638653;background:#e9f0e0}.audit-checks{display:flex;gap:15px;flex-wrap:wrap;font-size:10px;margin:20px 0}.audit-checks span{display:flex;align-items:center;gap:5px}.passed{color:#6f915e}.failed{color:#b66341}.audit-issue{display:flex;align-items:flex-start;gap:14px;margin:17px 0}.audit-issue p{font-size:11px;color:#839374;margin:1px 0 0;line-height:1.8}.audit-issue .tag{min-width:65px;text-align:center}.modal{border:1px solid #dee5d6;border-radius:14px;background:#fffefb;padding:0;color:var(--ink);width:min(640px,94vw);max-height:92vh;box-shadow:0 30px 100px #12231560;overflow:auto}.modal-wide{width:min(960px,95vw)}.modal::backdrop{background:#13251b88;backdrop-filter:blur(4px)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 26px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fffefbf5;z-index:5;backdrop-filter:blur(6px)}.modal-header .eyebrow{margin:0;font-size:9px}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px;border-top:1px solid var(--line);background:#f7f9f1;position:sticky;bottom:0;z-index:5}.modal-footer .button{font-size:11px}.book-detail-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:29px;padding:27px}.detail-cover-area{display:flex;flex-direction:column;align-items:stretch}.detail-cover-area .cover{margin-bottom:17px}.detail-cover-area .cover-upload{font-size:10px}.detail-cover-area>p.small{font-size:9px!important;color:#97a28c;margin-top:12px;word-break:break-word}.source-note{margin-top:15px;border-top:1px solid var(--line);padding-top:20px;color:#94a286}.source-note strong{font-size:9px;color:#859675;font-weight:500}.source-note p{font-size:9px;margin:8px 0}.source-note small{font-size:8px;line-height:1.6;display:block}.detail-fields h2{font-family:var(--serif);font-size:28px;letter-spacing:-.6px;line-height:1.15;margin:0 0 8px}.detail-subtitle{font-size:10px;color:#859677;margin:0 0 23px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field{display:flex;flex-direction:column;gap:7px;font-size:10px;color:#7f8e73;min-width:0}.field>span{font-size:10px;color:#6e815f;font-weight:500}.field input,.field select,.field textarea{width:100%;border:1px solid #dce3d3;border-radius:6px;padding:10px 11px;background:#fff;color:#506745;font-size:11px;line-height:1.5;min-height:38px}.field small{font-size:8px;color:#99a68b}.detail-fields>.field{margin-top:16px}.field textarea{resize:vertical}.form-error{font-size:11px;padding:13px 15px;background:#fff0e7;border:1px solid #edd5c5;color:#a96943;border-radius:6px;margin-top:16px;line-height:1.65}.form-error[hidden]{display:none}.duplicate-confirm{margin-top:18px;background:#fff3d5;padding:15px;font-size:12px;line-height:1.6;border-radius:6px}.duplicate-confirm[hidden]{display:none}.duplicate-confirm label{display:flex;gap:8px;align-items:flex-start}.purchase-button{background:#f1eddf;border-color:#e0d8bc;color:#907947}.import-body{padding:26px}.import-body h2{font-family:var(--serif);font-size:32px;letter-spacing:-.6px;margin-bottom:10px}.import-body>p{font-size:12px;color:#8b9a7d}.import-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:23px 0}.import-totals>div{background:#eff3e7;padding:18px;border-radius:8px;display:flex;flex-direction:column;gap:6px}.import-totals strong{font-family:var(--serif);font-size:31px;font-weight:400;color:#577342}.import-totals span{font-size:10px;color:#8da078}.import-choice>label{display:flex;gap:12px;margin:20px 0;align-items:flex-start}.import-choice strong{display:block;font-size:12px;font-weight:500;color:#5c7549;margin:2px 0 7px}.import-choice small{display:block;font-size:10px;color:#8b9d78;line-height:1.7}.import-choice .restore-ack{font-size:10px;color:#9a895c;align-items:center;background:#f7f2e2;padding:12px;border-radius:6px}.import-issues{font-size:11px;color:#859976;margin:20px 0}.import-issues summary{cursor:pointer}.import-issues p{font-size:10px;padding-left:10px;margin-top:15px}
@media(min-width:1500px){.book-grid{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:29px}.content{padding:41px 52px}.topbar{padding:0 52px}.page-heading h1{font-size:44px}.book-open h3{font-size:12px}}
@media(max-width:1150px){.app-shell{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding:28px 15px 18px}.brand{font-size:19px;gap:8px}.brand small{font-size:5.5px;letter-spacing:.7px}.content{padding:29px 27px}.topbar{padding:0 27px}.book-grid{gap:22px 17px;grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.stat{padding:0 15px}.stat>strong{font-size:25px}.stat>small{font-size:8px}.scope-tabs{gap:12px}.app-footer{margin:0 27px}.page-heading h1{font-size:35px}}
@media(max-width:850px){.app-shell{grid-template-columns:76px minmax(0,1fr)}.sidebar{padding:24px 12px}.brand{margin-bottom:28px}.brand>span:last-child,.workspace-tag,.nav-section,.nav-item>span,.sidebar-bottom{display:none}.brand-icon{margin:auto}.nav-item{justify-content:center;padding:13px 0;margin-bottom:7px}.sidebar>nav:nth-of-type(2){margin-top:24px}.nav-item.active{box-shadow:inset 2px 0 #bcd3a8}.content{padding:26px 25px}.topbar{padding:0 25px;height:56px}.page-heading h1{font-size:32px}.stats-strip{padding:18px 0}.stat>span{font-size:9px;gap:5px}.stat>strong{font-size:23px}.stat>small{font-size:8px}.stat>span svg{display:none}.search-row{gap:8px}.sort-control select{max-width:148px;padding-right:15px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.series-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.welcome h1{font-size:40px}.app-footer{flex-direction:column;gap:3px}.insights-grid,.data-grid{gap:15px}.panel{padding:22px}.panel h2{font-size:21px}.book-detail-layout{grid-template-columns:150px minmax(0,1fr);gap:20px}.detail-fields h2{font-size:24px}}
@media(max-width:600px){.app-shell{display:flex;flex-direction:column}.sidebar{position:sticky;top:0;z-index:20;height:auto;min-height:56px;padding:8px 12px;overflow:visible;display:flex;flex-direction:row;justify-content:space-between;gap:10px;align-items:center}.brand{margin:0;flex-shrink:0}.brand-icon{width:33px;height:34px}.brand-icon svg{width:21px}.sidebar nav{display:flex;gap:3px}.sidebar nav:nth-of-type(2){margin:0}.nav-item{margin:0;width:36px;min-height:37px;padding:8px;border-radius:6px}.nav-item svg{width:18px}.nav-item.active{box-shadow:inset 0 -2px #c6dcb6}.topbar{height:42px;padding:0 18px}.topbar-right{gap:7px}.save-indicator{font-size:8px}.breadcrumb{font-size:9px;gap:7px}.topbar .icon-button{padding:4px}.content{padding:25px 18px 32px}.page-heading{gap:12px;align-items:flex-start;margin-bottom:23px}.page-heading .eyebrow{font-size:7px;letter-spacing:1.3px;margin-bottom:10px}.page-heading h1{font-size:29px;letter-spacing:-1px;line-height:1.1;margin-bottom:12px}.page-heading p{font-size:10px;line-height:1.6}.page-heading>.button{font-size:0;padding:10px;min-height:37px;margin-top:14px}.page-heading>.button svg{width:18px;height:18px}.stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 0;padding:18px 0;margin-bottom:25px}.stat{padding:0 17px}.stat:nth-child(2){border-right:0}.stat:nth-child(n+3){border-top:1px solid var(--line);padding-top:18px}.stat>span{font-size:9px}.stat>strong{font-size:25px;margin-top:9px}.stat>small{font-size:8px}.stat>span svg{display:block;width:13px}.collection-heading{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:14px}.collection-heading h2{font-size:15px}.scope-tabs{gap:22px;width:100%}.scope-tabs button{font-size:10px}.search-row{flex-wrap:wrap}.searchbox{flex-basis:100%;height:42px}.sort-control{flex:1}.sort-control select{max-width:none;width:100%;height:35px;font-size:10px}.view-toggle button{width:32px}.view-toggle{height:35px}.filters-row{gap:6px;margin-top:10px}.filters-row label{max-width:calc(50% - 3px)}.filters-row select{padding:7px 16px 7px 8px;font-size:9px;max-width:100%;height:31px}.reset-filters{margin-left:0;padding-left:5px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 17px}.cover-badge{font-size:8px;padding:4px 6px;top:7px;left:7px}.book-open h3{font-size:11px;min-height:33px}.book-edition{font-size:9px}.book-bottom{font-size:9px}.card-price{font-size:9px}.book-list th{font-size:8px;padding:10px}.book-list td{padding:10px;font-size:9px}.book-list th:nth-child(2),.book-list td:nth-child(2){display:none}.book-list .cover{display:none}.list-book strong{font-size:10px}.list-book small{font-size:8px}.app-footer{margin:0 18px;font-size:8px;padding:18px 0 22px}.series-grid{grid-template-columns:1fr;gap:17px}.series-covers{height:180px}.series-card-body{padding:20px}.series-card h2{min-height:0;font-size:23px}.series-context{gap:15px 12px;padding:18px}.series-context .eyebrow{font-size:6px;letter-spacing:.8px}.series-context strong{font-size:20px}.series-context p{font-size:9px}.insights-grid,.data-grid{grid-template-columns:1fr;gap:17px}.panel{padding:23px}.panel h2{font-size:24px}.panel>p{font-size:11px}.mode-banner{padding:17px;gap:12px}.mode-banner>svg{width:21px}.mode-banner strong{font-size:11px}.mode-banner p{font-size:10px}.audit-checks{font-size:9px;gap:10px}.audit-issue{gap:10px}.audit-issue p{font-size:10px}.panel-header{flex-direction:column;gap:0}.import-audit h2{font-size:22px}.welcome{margin:25px auto}.welcome h1{font-size:37px;letter-spacing:-1.4px}.welcome>p{font-size:12px}.welcome-emblem{width:85px;height:85px;margin-bottom:25px}.welcome-actions{gap:12px;flex-direction:column}.welcome-instruction{font-size:10px;padding:17px}.welcome-benefits{gap:16px;font-size:9px;flex-direction:column;text-align:left}.welcome p.local-warning{font-size:9px}.modal,.modal-wide{width:100%;max-width:100%;max-height:100dvh;border-radius:0;border:0;margin:0;height:100dvh}.modal-header{padding:13px 18px}.book-detail-layout{display:flex;flex-direction:column;padding:22px 18px;gap:25px}.detail-cover-area{display:grid;grid-template-columns:115px 1fr;gap:8px 18px;align-items:center}.detail-cover-area #detail-art{grid-row:1/5}.detail-cover-area .cover{margin:0}.detail-cover-area .source-note{display:none}.detail-cover-area .cover-upload{font-size:10px}.detail-cover-area>p.small{margin:0;align-self:start}.detail-fields h2{font-size:27px}.form-grid{gap:15px 12px}.field input,.field select,.field textarea{font-size:12px;padding:10px 9px}.field>span{font-size:10px}.field small{font-size:8px}.modal-footer{padding:14px 18px;flex-direction:column;align-items:stretch;gap:10px}.modal-footer>.button-row{justify-content:flex-end}.modal-footer>.button-row .button{font-size:10px;padding:9px 10px;flex:1;white-space:normal}.modal-footer>.button{align-self:stretch}.import-body{padding:23px 18px}.import-body h2{font-size:30px}.import-totals{gap:10px}.import-totals>div{padding:15px}.notice{padding:12px 18px;font-size:10px}.notice button{margin-left:0;display:block;padding:5px 0}.toast{bottom:18px;font-size:11px;width:max-content;max-width:92vw}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
/* Reading comfort refinements after the first screenshot review. */
.book-open h3{font-size:12px;min-height:36px}.book-edition,.card-price,.release-line,.page-heading p,.stat>small,.field small,.panel>p,.muted,.app-footer{color:#6b7863}.book-bottom,.reading-toggle{font-size:10px}.field small{font-size:9px}.stat>small{font-size:10px}.book-edition{font-size:11px}.card-price{font-size:11px}.release-line{font-size:10px}.reset-filters{color:#69795e}.filters-row select{color:#5e7053}.placeholder-note{opacity:.8}.list-book small{color:#6c7d60}.series-card p,.series-bottom{color:#6d7e62}.panel>p.small{color:#6e7c65}
@media(max-width:600px){.book-open h3{font-size:11px;min-height:33px}.book-edition,.book-bottom,.reading-toggle,.card-price{font-size:10px}.stat>small{font-size:9px}.field small{font-size:9px}.release-line{font-size:9px}}

/* Import feedback remains visible while local file I/O completes. */
.import-progress{display:flex;align-items:center;gap:14px;padding:20px 0}.import-progress p{margin:0;font-size:13px;color:var(--muted)}.import-progress .spinner{flex-shrink:0;margin:0}.import-filename{overflow-wrap:anywhere}.import-body .form-error{margin:16px 0}

/* v0.3 cover tools: independent dialogs preserve unsaved volume forms. */
.cover-toolbar-button{margin-left:auto;padding:7px 11px;min-height:32px;font-size:11px}
.cover-online{width:100%;margin:12px 0 0;font-size:11px;white-space:normal;line-height:1.5}
#undo-cover-selection{margin-top:10px;font-size:11px}#undo-cover-selection[hidden]{display:none}
.auto-cover-after-save{display:flex;align-items:flex-start;gap:9px;margin:20px 0 5px;padding:12px;border-radius:7px;background:#eef3e7;font-size:12px;line-height:1.6;color:#4d6540}
.auto-cover-after-save input{margin-top:4px;flex-shrink:0}
.cover-modal{max-width:880px;width:calc(100% - 44px)}
.cover-tools-body{padding:25px 28px 20px}.cover-tools-body>h2{font-family:var(--serif);font-size:31px;font-weight:400;letter-spacing:-.5px;color:#3f5733}
.cover-subtitle{font-size:13px;line-height:1.6;color:#617253;margin:9px 0 18px;overflow-wrap:anywhere}
.cover-privacy{padding:14px 16px;border:1px solid #dbe4ce;border-radius:8px;background:#f1f5e9;color:#526449;font-size:12px;line-height:1.65;margin:18px 0}
.cover-search-form{display:flex;gap:12px;align-items:flex-end}.cover-search-form>.field{flex:1;min-width:0}.cover-search-form .field input{font-size:14px}
.cover-search-form>.button{height:40px;flex-shrink:0}.cover-search-options{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0;font-size:12px;color:#506142;flex-wrap:wrap}
.cover-search-options label,.batch-auto{display:flex;gap:8px;align-items:flex-start;line-height:1.6;font-size:12px;color:#506142}.cover-search-options input,.batch-auto input{margin-top:3px}
.cover-protection{color:#795a24;background:#faf3e4;border-radius:6px;padding:10px 12px;margin:0}
.cover-status{padding:12px 0;font-size:13px;line-height:1.65;color:#506744;min-height:44px;overflow-wrap:anywhere}
.cover-status:empty{min-height:0;padding:0}.cover-modal .form-error{margin:10px 0 18px;font-size:13px}
.cover-candidate{display:grid;grid-template-columns:133px minmax(0,1fr);gap:22px;border:1px solid #dce3d2;border-radius:10px;margin:15px 0;padding:18px;background:#fffefa}
.candidate-image{align-self:start;min-width:0}.candidate-image img{width:100%;height:auto;max-height:225px;object-fit:contain;display:block;border-radius:4px;box-shadow:0 5px 15px #263a2018}
.candidate-image-placeholder{height:180px;background:#eef1e5;color:#758365;border-radius:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:14px;text-align:center;font-size:11px;line-height:1.5}
.candidate-details{min-width:0}.candidate-details h3{font-size:17px;line-height:1.4;margin:8px 0 13px;color:#3c5430;overflow-wrap:anywhere}.candidate-details dl{margin:0 0 14px;font-size:12px;line-height:1.65}.candidate-details dl>div{display:grid;grid-template-columns:115px minmax(0,1fr);gap:12px;margin:5px 0}.candidate-details dt{color:#718164}.candidate-details dd{margin:0;color:#465c3c;overflow-wrap:anywhere}
.candidate-details .button-row{gap:12px;flex-wrap:wrap}.candidate-warnings{border-left:3px solid #c69f5e;background:#faf4e8;padding:9px 12px;margin:10px 0 14px;color:#795d31;font-size:12px;line-height:1.6}.candidate-warnings p{margin:4px 0}.candidate-failure{color:#9b4d35;font-size:12px;line-height:1.6;margin:12px 0}.cover-modal button:disabled{opacity:.45;cursor:not-allowed}
.cover-done{display:flex;gap:13px;padding:18px;background:#edf5e5;border:1px solid #cbdcb9;border-radius:8px;color:#415e31;margin:20px 0}.cover-done[hidden]{display:none}.cover-done>svg{flex-shrink:0}.cover-done strong{font-size:15px}.cover-done p{font-size:13px;line-height:1.6;margin:7px 0}.cover-done .button{margin-top:8px}
.cover-tool-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-top:1px solid #dde3d5;margin-top:23px;padding-top:16px;font-size:12px}.cover-tool-footer a{color:#576f44;text-decoration:underline;text-underline-offset:3px}
.cover-batch-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:15px 0}.batch-auto{margin-top:15px}
.cover-batch-row{border-top:1px solid #e0e5d7;padding:14px 2px;display:flex;align-items:center;gap:15px;justify-content:space-between}.cover-batch-row>label{display:flex;gap:12px;align-items:flex-start;flex:1;min-width:0;cursor:pointer}.cover-batch-row input{margin-top:3px;flex-shrink:0}.cover-batch-row strong{font-size:13px;color:#3d5531;line-height:1.5;font-weight:500;display:block;overflow-wrap:anywhere}.cover-batch-row small{display:block;font-size:11px;line-height:1.6;color:#6e7d61;margin-top:5px}.batch-row-actions{flex-shrink:0}.batch-row-actions .button,.batch-row-actions .text-button{font-size:11px;padding:8px 10px}
@media(max-width:600px){.cover-modal{width:100%;max-width:100%}.cover-tools-body{padding:22px 18px}.cover-tools-body>h2{font-size:28px}.cover-search-form{flex-wrap:wrap}.cover-search-form>.field{flex-basis:100%}.cover-search-form>.button{width:100%}.cover-search-options{gap:8px}.cover-search-options label,.batch-auto{font-size:12px}.cover-candidate{grid-template-columns:84px minmax(0,1fr);gap:14px;padding:14px 10px}.candidate-image-placeholder{height:120px;font-size:10px;padding:8px}.candidate-details h3{font-size:15px}.candidate-details dl>div{display:block;margin:8px 0}.candidate-details dt{font-size:10px}.candidate-details dd{font-size:11px}.candidate-details .button-row{gap:7px}.candidate-details .button{width:100%;white-space:normal;font-size:11px}.candidate-warnings{font-size:11px;padding:8px}.cover-batch-row{flex-direction:column;align-items:stretch;gap:10px}.batch-row-actions{padding-left:25px}.cover-toolbar-button{margin:0;flex-basis:100%;justify-content:center;font-size:11px}.cover-online{margin:0;font-size:10px}.detail-cover-area #detail-art{grid-row:1/7}.cover-tools-body .cover-privacy{font-size:11px}.cover-batch-actions>.button{font-size:11px;flex:1;padding:10px 8px;white-space:normal}.cover-done p{font-size:12px}.cover-tool-footer{font-size:11px}}
/* v0.4: edition lookup, safe enrichment and publication-run shelves. */
.metadata-tools{width:min(1020px,calc(100vw - 32px));max-height:92dvh;border:1px solid var(--border,#ddd6ca);border-radius:18px;padding:0;background:var(--paper,#fffdf9);color:var(--ink,#292b27);box-shadow:0 24px 90px #0004;overflow:auto}.metadata-tools::backdrop{background:#171e1bd0;backdrop-filter:blur(3px)}.metadata-tools .modal-header{position:sticky;top:0;z-index:3;background:var(--paper,#fffdf9);align-items:flex-start}.metadata-tools .modal-header h2{margin:6px 0;font-size:25px}.metadata-tools .modal-header p{font-size:13px;margin:4px 0 0;max-width:740px;color:#68716a}.metadata-body{padding:24px}.metadata-search-row{display:flex;gap:12px;align-items:flex-end}.metadata-search-row>.field{flex:1}.metadata-preferences{margin:14px 0;padding:12px 16px;border:1px solid #dddcd4;border-radius:10px}.metadata-preferences summary{font-weight:650;font-size:13px;cursor:pointer}.metadata-preferences .form-grid{margin-top:16px}.metadata-check{display:flex;gap:9px;align-items:flex-start;font-size:13px;margin:14px 0;line-height:1.6}.metadata-check input{flex:0 0 auto;margin-top:4px}.metadata-candidate{display:grid;grid-template-columns:138px minmax(0,1fr);gap:22px;padding:22px 0;border-top:1px solid #e1dfd6}.metadata-art{height:202px;border-radius:9px;background:#ebece5;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;gap:12px;overflow:hidden}.metadata-art img{width:100%;height:100%;object-fit:contain}.metadata-art small{font-size:11px;line-height:1.4;overflow:auto}.metadata-candidate-info h3{font-size:18px;margin:0 0 7px}.metadata-candidate-info>p{font-size:13px}.metadata-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:14px 0}.metadata-facts div{min-width:0}.metadata-facts dt{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#6a756c}.metadata-facts dd{font-size:13px;margin:3px 0;overflow-wrap:anywhere}.metadata-warning{background:#f7eee0;border-left:3px solid #ad8254;padding:10px 12px;font-size:12px;line-height:1.6;border-radius:0 7px 7px 0}.metadata-candidate a,.metadata-batch-row a{font-size:12px;color:#39614f}.metadata-bottom{margin-top:22px;padding-top:18px;border-top:1px solid #ddd}.metadata-summary{display:flex;flex-wrap:wrap;gap:20px;padding:16px;background:#e9eee6;border-radius:10px;margin-bottom:14px;font-size:13px}.metadata-batch-row{padding:18px 0;border-bottom:1px solid #dddcd3}.metadata-batch-title{display:flex;gap:12px;align-items:flex-start}.metadata-batch-title strong{display:block;font-size:15px}.metadata-batch-title small{display:block;font-size:11px;color:#67776c;margin-top:4px}.metadata-batch-title input{margin-top:5px}.metadata-batch-row>.field{margin-top:12px}.metadata-batch-row select{width:100%;max-width:100%;text-overflow:ellipsis;min-width:0}.metadata-batch-row>p{font-size:13px}.metadata-changes{display:flex;gap:12px 28px;flex-wrap:wrap;margin:14px 0 6px}.metadata-changes dt{font-size:11px;color:#596b5e}.metadata-changes dd{font-size:12px;margin:3px 0;overflow-wrap:anywhere}.smart-add-panel{padding:18px;border-radius:12px;background:#edf1e8;border:1px solid #dce3d4;margin:12px 0 24px}.smart-add-panel .field{margin:12px 0}.smart-add-panel>.button{margin-top:12px}.smart-add-panel p{margin:12px 0 0}.series-shelf-tools{margin:24px 0}.series-shelf-tools .search-row{align-items:flex-end;margin-top:18px;display:grid;grid-template-columns:1.3fr 1.5fr 1fr}.series-shelf-tools .field{min-width:0}.series-shelf-tools select{max-width:100%;text-overflow:ellipsis}.publication-run{margin:28px 0 36px}.run-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:20px;padding-top:22px;border-top:1px solid #d9ded3}.run-header h2{font-size:19px;margin:7px 0}.run-header p{font-size:12px;color:#677166}.run-header>.tag{flex-shrink:0}.shelf-card.unowned .cover{filter:grayscale(1);opacity:.52}.shelf-card.unowned:hover .cover{filter:grayscale(.65);opacity:.75}.unowned-badge{background:#454f46;color:white}.owned-badge{background:#e9f4de;color:#23482c}.shelf-cover-status{font-size:10px;color:#6c776b;line-height:1.4;display:block;margin-top:5px}.series-volume-grid .book-card h3{font-size:13px;line-height:1.5}.metadata-body .form-grid{align-items:start}.metadata-tools input,.metadata-tools select{max-width:100%;min-width:0}.metadata-tools input[type=checkbox]{width:16px;height:16px}.metadata-tools button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:680px){.metadata-tools{width:calc(100vw - 12px);max-height:95dvh}.metadata-body{padding:16px}.metadata-tools .modal-header{padding:18px}.metadata-tools .modal-header h2{font-size:21px}.metadata-search-row{display:block}.metadata-search-row>.button{width:100%;margin:10px 0}.metadata-candidate{grid-template-columns:85px minmax(0,1fr);gap:12px}.metadata-art{height:128px;padding:5px}.metadata-facts{grid-template-columns:1fr}.metadata-candidate .button-row{flex-direction:column;align-items:stretch}.metadata-candidate .button{font-size:12px;padding:10px 8px}.metadata-candidate-info h3{font-size:16px;overflow-wrap:anywhere}.metadata-tools .form-grid{grid-template-columns:1fr}.series-shelf-tools .search-row{grid-template-columns:1fr}.run-header{display:block}.run-header>.tag{display:inline-block;margin:6px 0}.series-shelf-tools .button-row{align-items:stretch;flex-direction:column}.metadata-summary{gap:10px}.metadata-batch-row select{font-size:12px}.smart-add-panel{padding:13px}.metadata-changes{display:grid;grid-template-columns:1fr;gap:8px}}

/* v0.4.1: keep the explicit run-assignment action visible on unassigned cards. */
.assign-run-card{display:inline-flex;align-self:start;margin:0.45rem 0.65rem 0.7rem;text-align:left;font-size:0.76rem;}
/* v0.5 catalogue management: distinct destructive actions, readable previews. */
.catalogue-tools{max-height:92vh;overflow:auto;padding:0}.catalogue-tools>.modal-header{position:sticky;top:0;background:var(--paper,#f8f7f3);z-index:3;align-items:flex-start}.catalogue-tools>.modal-header h2{margin:5px 0}.catalogue-tools>.modal-header p{font-size:13px;max-width:760px;line-height:1.6;color:var(--muted,#667268)}
.catalogue-body{padding:22px 28px 28px}.catalogue-body .book-detail-layout{padding:0}.catalogue-body .button-row{flex-wrap:wrap}.catalogue-body .field{min-width:0}.catalogue-body .field input,.catalogue-body .field select{max-width:100%}.catalogue-error{margin-bottom:18px}.catalogue-footer{border-top:1px solid #dbe0d7;margin-top:24px;padding-top:18px;display:flex;gap:18px;align-items:center;justify-content:space-between}.catalogue-footer .button-row{justify-content:flex-end}.notice-inline{padding:14px 16px;background:#f0f2e8;border-left:3px solid #8b9c76;border-radius:5px;font-size:13px;line-height:1.6}.run-preview{padding:16px;margin:20px 0;background:#f4f5ef;border:1px solid #dce1d2;border-radius:8px}.run-preview h3{margin-top:0}.run-actions{display:flex;flex-direction:column;align-items:flex-end;gap:9px}.danger-button{background:#913c35!important;color:white!important;border-color:#913c35!important}.shelf-card>.text-button{font-size:12px;margin:8px 0;text-align:left}.catalogue-body .detail-cover-area>.button,.catalogue-body .detail-cover-area>.text-button{margin-top:10px}.catalogue-body .metadata-batch-row strong{overflow-wrap:anywhere}
@media(max-width:650px){.catalogue-body{padding:16px}.catalogue-tools>.modal-header{padding:16px}.catalogue-footer{display:block}.catalogue-footer>.button-row{justify-content:flex-start;margin-top:15px}.run-actions{align-items:flex-start}.run-header{flex-wrap:wrap;gap:14px}.catalogue-body .book-detail-layout{display:block}.catalogue-body .detail-cover-area{max-width:200px;margin:0 auto 24px}.catalogue-body .form-grid{grid-template-columns:minmax(0,1fr)}.catalogue-tools{width:calc(100% - 20px);max-width:calc(100% - 20px)}}

/* v0.6: hidden controls must override flex button rules. */
[hidden]{display:none!important}
.series-management{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 24px}
.series-management .danger{margin-left:auto}
.series-editor.modal{max-width:720px}
.series-editor .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.series-editor .form-grid .field:first-child{grid-column:1/-1}
.series-editor .catalogue-body{padding:8px 28px 28px}
.series-editor .button-row{margin-top:24px}
.series-empty-art{height:185px;display:flex;align-items:center;justify-content:center;color:var(--muted);background:#edf0e8}
.archived-series-section{margin:0 0 28px}.series-archive-banner{margin:10px 0 22px;padding:16px;background:#fff4db;border:1px solid #e8d6ac;border-radius:8px}
.web-cover.modal{max-width:680px}.web-cover .catalogue-body{padding:8px 28px 28px}.web-cover-preview{padding:16px;text-align:center;background:#f1f3ed;border-radius:8px;margin:16px 0}.web-cover-preview img{max-height:280px;max-width:100%;object-fit:contain}.web-cover .field input{min-width:0;width:100%}.web-cover .button-row{flex-wrap:wrap;margin-top:18px}.web-cover .small{overflow-wrap:anywhere}
@media(max-width:600px){.series-editor .form-grid{grid-template-columns:1fr}.series-management .danger{margin-left:0}.series-editor .catalogue-body,.web-cover .catalogue-body{padding:8px 18px 18px}}

/* v0.7: shared genres, keyboard-operable tag entry and series filters. */
.genre-badges{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.genre-badge,.genre-chip,.genre-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 9px;border-radius:14px;font-size:12px;background:#edf0e8;color:#344c42;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.series-page-genres{margin:8px 0 22px}.genre-editor{grid-column:1 / -1;min-width:0}.genre-editor .field{margin-bottom:8px}.genre-editor-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:7px;min-height:0}.genre-chip button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:18px;line-height:1;padding:2px 4px;border-radius:50%;min-width:24px;min-height:24px}.genre-chip.inherited{background:#e4eadd}.genre-chip small{font-size:10px;opacity:.7}.genre-editor small{display:block;margin:4px 0}.genre-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.genre-suggestion{border:1px solid #d8ddd3;background:transparent;color:#3a594b;border-radius:12px;padding:5px 9px;font:inherit;font-size:12px;cursor:pointer}.genre-suggestion:hover,.genre-chip button:hover{background:#dce6d5}.genre-input-error[hidden]{display:none}.series-search-tools{margin:12px 0 25px;border:1px solid #d8ddd3;border-radius:10px;padding:18px}.series-search-tools .search-row{align-items:flex-end;flex-wrap:wrap}.series-search-tools .searchbox{flex:1 1 250px;min-width:200px;margin-bottom:0}.series-search-tools .field{min-width:170px;margin:0}.series-search-tools #series-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.genre-filter-chip{border:1px solid #c8d7be;cursor:pointer}.genre-chip button:focus-visible,.genre-suggestion:focus-visible,.genre-filter-chip:focus-visible{outline:3px solid #526f3f;outline-offset:3px}.series-card-body .genre-badge{font-size:11px}.genre-editor-chips:empty,.genre-suggestions:empty{margin:0}
@media(max-width:650px){.series-search-tools .search-row{display:flex;flex-direction:column;align-items:stretch;gap:12px}.series-search-tools .searchbox{flex:auto;min-width:0}.series-search-tools .field{min-width:0}.genre-editor{max-width:100%}.genre-chip,.genre-badge{white-space:normal}.series-search-tools{padding:14px}}

/* v0.8: read-only local analytics. No external chart or font dependencies. */
.ins-heading{align-items:flex-start}.ins-heading .button{margin-top:12px}.ins-warning,.ins-error{background:#fff3e9;border:1px solid #e3bca7;color:#824a30;border-radius:7px;padding:12px 16px;font-size:12px;line-height:1.65}.ins-error[hidden]{display:none}
.ins-filter-box{background:var(--white);border:1px solid var(--line);border-radius:9px;margin-bottom:16px}.ins-filter-box>summary{padding:15px 19px;font-size:12px;color:var(--green-dark);cursor:pointer;line-height:1.8}.ins-filter-box>summary svg{margin:0 8px}.ins-filter-box>summary>span{font-size:11px;margin-left:18px;color:#7b8177;overflow-wrap:anywhere}.ins-filter-body{border-top:1px solid var(--line);padding:18px 20px}.ins-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ins-filter-grid select{width:100%;font-size:11px}.ins-filter-footer{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:12px}.ins-filter-footer p{margin:0;max-width:780px}.ins-selected-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.ins-check{font-size:11px;display:flex;gap:9px;align-items:center;line-height:1.6}.ins-check input{flex-shrink:0}.ins-scope-line{display:flex;justify-content:space-between;gap:18px;margin:0 0 20px;font-size:10px;color:var(--muted);line-height:1.7}.ins-scope-line strong{font-weight:500;color:#526d5b}.ins-scope-line>span{max-width:65%;text-align:right;overflow-wrap:anywhere}
.ins-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.ins-panel{border:1px solid var(--line);border-radius:10px;padding:23px;background:var(--white);min-width:0;box-shadow:0 2px 5px #27302504}.ins-wide{grid-column:1/-1}.ins-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:19px}.ins-panel-heading .eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:8px}.ins-panel-heading h2{font-size:20px;margin:0;letter-spacing:-.45px}.ins-panel-heading .icon-button{opacity:.5;margin-top:-6px}.ins-panel-heading .icon-button:hover{opacity:1}.ins-note{font-size:10px;color:#7b8476;margin:16px 0 0;line-height:1.75}.ins-footnote{font-size:10px;color:var(--muted);margin:20px 0 0;line-height:1.8}.ins-no-panels{grid-column:1/-1;padding:45px;text-align:center;border:1px dashed #bdcbbb;border-radius:8px}.ins-no-panels h2{font-family:var(--serif);font-size:26px}.ins-no-panels p{font-size:12px;color:var(--muted)}
.ins-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ins-kpi{text-align:left;background:#f7f8f2;border:1px solid #e7ebdf;border-radius:8px;min-width:0;padding:18px 16px;display:flex;flex-direction:column;align-items:flex-start;gap:11px;transition:border-color .15s,background .15s}.ins-kpi:hover{border-color:#a7bba1;background:#f0f4e9}.ins-kpi>span{font-size:11px;color:#62745d;line-height:1.5}.ins-kpi>strong{font-family:var(--serif);font-size:32px;letter-spacing:-1px;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ins-kpi small{font-size:9px;color:#7b8872;line-height:1.6}.ins-money-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.ins-money-kpis .ins-kpi{padding:17px 13px}.ins-money-kpis .ins-kpi strong{font-size:27px}.ins-money-kpis .ins-kpi:nth-child(3){background:#eef3e9}
.ins-control{display:flex;gap:10px;align-items:center;font-size:10px;color:#78856e;margin-bottom:16px}.ins-control>span{flex-shrink:0}.ins-control select{border:1px solid #dce3d3;background:#f8faf4;border-radius:6px;font-size:11px;color:#536b4c;padding:8px;max-width:100%;min-width:0}.ins-panel-controls{display:flex;gap:16px;flex-wrap:wrap}.ins-bars{display:flex;flex-direction:column;gap:14px;max-height:435px;overflow-y:auto;padding:3px 3px 7px;scrollbar-width:thin}.ins-bar{border:0;background:transparent;padding:4px 0;text-align:left;width:100%;border-radius:4px}.ins-bar:hover .ins-bar-label{color:var(--green)}.ins-bar-label{display:flex;gap:14px;justify-content:space-between;align-items:baseline;font-size:11px;line-height:1.7;margin-bottom:6px}.ins-bar-label>span{overflow-wrap:anywhere}.ins-bar-label strong{white-space:nowrap;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.ins-bar-label small{font-weight:400;font-size:10px;color:#849079;margin-left:6px}.ins-bar-track{display:block;height:7px;border-radius:20px;background:#edf0e7;overflow:hidden;position:relative}.ins-bar-track>i{display:block;height:100%;background:#58836a;border-radius:20px}.ins-bar>small{display:block;font-size:9px;color:#858e7b;margin-top:4px}.ins-bar:hover .ins-bar-track>i{background:#396b54}.ins-empty{padding:23px 15px;text-align:center;color:#85907d;border:1px dashed #e0e6d7;border-radius:8px;margin:8px 0}.ins-empty p{font-size:12px;margin:10px 0 0;line-height:1.8}.ins-stack{display:flex;height:18px;gap:2px;border-radius:5px;overflow:hidden;background:#f0f2ec;margin:15px 0 12px}.ins-segment{padding:0;border:0;min-width:4px;flex:1;transition:opacity .15s}.ins-segment:hover{opacity:.75}.ins-dot{display:inline-block;width:8px;height:8px;border-radius:2px;flex-shrink:0}.holding-owned,.status-completed{background:#52806a}.holding-wishlist,.status-hiatus{background:#c5ad73}.holding-unowned,.status-unknown{background:#d8ded3}.status-ongoing{background:#8fae85}.status-cancelled{background:#b69486}.ins-status-legend{display:flex;flex-direction:column;gap:4px}.ins-legend-row{display:flex;align-items:center;gap:10px;border:0;background:none;text-align:left;padding:8px 2px;font-size:11px;border-radius:4px}.ins-legend-row:hover,.ins-legend-button:hover{background:#f2f5ec}.ins-legend-row strong{margin-left:auto;font-variant-numeric:tabular-nums}.ins-legend-row small{width:48px;text-align:right;color:var(--muted);font-size:10px}
.ins-carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 3px 15px}.ins-next-card{flex:0 0 155px;min-width:0;scroll-snap-align:start}.ins-next-open{width:100%;text-align:left;background:none;border:0;padding:0;position:relative}.ins-next-open .cover{margin-bottom:12px}.ins-next-open h3{font-size:12px;font-weight:600;line-height:1.5;margin:0 0 6px}.ins-next-open p{font-size:10px;color:#7f8876;line-height:1.6;margin-bottom:7px}.ins-next-card>small{font-size:9px;color:#8b907f;display:block;line-height:1.65}.ins-read-label{position:absolute;top:9px;left:7px;font-size:8px;padding:4px 6px;border-radius:4px;background:#eef3e4;color:#4f6c44;max-width:135px}.ins-read-label.in-progress{background:#dce8df;color:#2f674d}.ins-next-card .ins-gap{color:#946e44;font-size:10px;margin-top:6px;text-align:left}.ins-next-card .tag{margin-top:4px}
.ins-run-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-height:565px;overflow:auto;padding:3px;scrollbar-width:thin}.ins-run-row{border:1px solid #e6eade;border-radius:8px;padding:14px;min-width:0}.ins-run-title{display:flex;gap:12px;justify-content:space-between;align-items:flex-start}.ins-run-title .text-button{font-size:12px;font-weight:600;text-align:left;padding:0;line-height:1.65}.ins-run-title p{font-size:10px;margin:5px 0 12px;color:#859077}.ins-run-title .tag{font-size:7px;white-space:normal;text-align:center;flex-shrink:0;max-width:100px}.ins-run-summary{display:flex;justify-content:space-between;font-size:10px;gap:8px}.ins-run-summary strong{font-weight:500}.ins-run-summary>span{color:var(--muted)}.ins-run-row .ins-stack{height:11px;margin:9px 0}.ins-run-legend{display:flex;gap:10px;flex-wrap:wrap}.ins-legend-button{display:flex;align-items:center;gap:5px;border:0;background:none;padding:4px 0;font-size:9px;border-radius:3px}.ins-legend-button strong{font-variant-numeric:tabular-nums;font-size:10px}
.ins-release-controls{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-end}.ins-release-controls .ins-control{margin:0;flex-direction:column;align-items:flex-start;gap:6px}.ins-date-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.ins-date-form input{font-size:11px;width:150px}.ins-date-form .field{margin:0}.ins-date-form .field>span{font-size:10px}.ins-release-scope{margin:13px 0 20px}.ins-timeline{max-height:540px;overflow:auto;scrollbar-width:thin;padding-right:5px}.ins-timeline>section{border-left:2px solid #dce5d4;padding:0 0 19px 20px}.ins-month{display:flex;align-items:center;gap:18px;margin:0 0 10px;justify-content:space-between}.ins-month h3{font-size:16px;font-family:var(--serif);margin:0}.ins-month .text-button{font-size:10px}.ins-release-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ins-release-item{display:flex;gap:12px;align-items:center;text-align:left;padding:9px;border:1px solid #e5e9de;border-radius:7px;background:#fbfcf7;min-width:0;width:100%}.ins-release-item:hover{border-color:#b3c3a7}.ins-release-art{width:38px;flex-shrink:0}.ins-release-item>span:last-child{min-width:0}.ins-release-item strong{font-size:10px;line-height:1.65;display:block;font-weight:500;overflow-wrap:anywhere}.ins-release-item small{font-size:9px;color:#839076;display:block;margin-top:5px}.ins-partial-dates{margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.ins-partial-dates details{border-top:1px solid var(--line);padding-top:12px}.ins-partial-dates summary{font-size:11px;color:var(--green);cursor:pointer;padding-bottom:10px}.ins-partial-dates .ins-release-item{margin:8px 0}.ins-partial-dates details[open]{max-height:320px;overflow:auto;scrollbar-width:thin}
.ins-health-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px 30px}.ins-health{min-width:0}.ins-health>div:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:8px}.ins-health h3{font-size:12px;margin:0}.ins-health>div>strong{font-size:11px;font-weight:500;color:#748369}.ins-health-links{display:flex;justify-content:space-between;gap:12px}.ins-health-links .text-button{font-size:10px}.ins-health .ins-note{margin-top:0;font-size:9px}
.ins-dialog{border:1px solid var(--line);border-radius:13px;background:var(--white);color:var(--ink);padding:0;width:min(900px,calc(100vw - 32px));max-height:90vh;overflow:auto;box-shadow:0 30px 90px #182b2a45}.ins-dialog::backdrop{background:#1d2b254a;backdrop-filter:blur(3px)}.ins-dialog>header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 16px;border-bottom:1px solid var(--line)}.ins-dialog>header h2{font-size:26px;font-family:var(--serif);margin:0 0 8px;overflow-wrap:anywhere}.ins-dialog>header p{font-size:11px;margin:0;color:var(--muted);line-height:1.75}.ins-dialog>footer{padding:17px 24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;align-items:center;position:sticky;bottom:0;background:var(--white)}.ins-dialog .button:disabled{cursor:default}.ins-drill-toolbar{display:flex;gap:20px;align-items:flex-end;padding:17px 24px}.ins-drill-toolbar .field{flex:1;margin:0}.ins-drill-toolbar .field>span{font-size:10px}.ins-drill-toolbar input{font-size:12px}.ins-drill-toolbar p{font-size:10px;color:var(--muted);margin:0 0 10px}#ins-drill-results{padding:0 24px 20px;max-height:48vh;overflow:auto}.ins-record{display:flex;align-items:center;gap:14px;border:1px solid #e5e9dd;border-radius:7px;width:100%;padding:10px;background:#fdfef9;text-align:left;margin-bottom:8px}.ins-record:hover{border-color:#a7b99b;background:#f5f8ef}.ins-record-art{flex:0 0 36px}.ins-record-icon{display:flex;align-items:center;justify-content:center;width:36px;height:45px;color:#7f9570}.ins-record>span:nth-child(2){min-width:0;flex:1}.ins-record strong{font-size:12px;line-height:1.6;display:block;font-weight:500;overflow-wrap:anywhere}.ins-record small{font-size:9px;line-height:1.8;color:#87937a;display:block}.ins-record-action{font-size:10px;color:var(--green);white-space:nowrap;display:flex;gap:8px;align-items:center}#ins-drill-pager{display:flex;gap:10px;align-items:center}#ins-drill-pager>span{font-size:10px;color:var(--muted)}#ins-drill-pager .button{font-size:10px;padding:7px 10px;min-height:30px}.ins-layout{max-width:650px}.ins-layout>.ins-note{padding:0 25px 18px}.ins-layout-row{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #edf0e6;padding:10px 0}.ins-layout-row>label{display:flex;gap:12px;align-items:center;font-size:12px;line-height:1.65;flex:1}.ins-layout-row small{display:inline-block;color:#94a08a;font-size:9px;margin-right:9px}.ins-layout-row>div{display:flex;gap:6px}.ins-layout-row .button{font-size:15px;min-height:30px;width:31px;padding:2px}#ins-layout-list{padding:8px 25px;max-height:55vh;overflow:auto}.ins-release-art .placeholder .placeholder-art,.ins-record-art .placeholder .placeholder-art{display:none}.ins-release-art .placeholder strong,.ins-record-art .placeholder strong{font-size:6px}.ins-release-art .placeholder-brand,.ins-release-art .placeholder-note,.ins-record-art .placeholder-brand,.ins-record-art .placeholder-note{display:none}.ins-release-art .placeholder-vol,.ins-record-art .placeholder-vol{font-size:5px}
@media(min-width:1600px){.ins-next-card{flex-basis:175px}}
@media(max-width:1100px){.ins-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ins-money-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ins-run-list{grid-template-columns:1fr}.ins-release-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-kpi>strong{font-size:27px}.ins-control{align-items:flex-start;flex-direction:column;gap:6px}.ins-panel-controls{gap:10px}.ins-panel-controls .ins-control{flex:1;min-width:110px}}
@media(max-width:750px){.ins-dashboard{grid-template-columns:1fr}.ins-heading{flex-wrap:wrap;gap:10px}.ins-heading .button{margin:0}.ins-panel{padding:19px}.ins-panel-heading h2{font-size:19px}.ins-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-filter-footer{align-items:flex-start;flex-direction:column;gap:10px}.ins-scope-line{flex-direction:column;gap:4px}.ins-scope-line>span{max-width:100%;text-align:left}.ins-filter-box>summary>span{display:block;margin:6px 0 0}.ins-money-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.ins-money-kpis .ins-kpi:last-child{grid-column:1/-1}.ins-health-grid{grid-template-columns:1fr}.ins-partial-dates{grid-template-columns:1fr}.ins-record-action{font-size:0;gap:0}.ins-record-action svg{width:14px}.ins-dialog>header{padding:18px}.ins-dialog>header h2{font-size:23px}.ins-drill-toolbar{padding:14px 18px;gap:10px;flex-direction:column;align-items:stretch}.ins-drill-toolbar p{margin:0}.ins-dialog>footer{padding:14px;flex-wrap:wrap}#ins-drill-results{padding:0 14px 15px}.ins-dialog>footer>.button{margin-left:auto}.ins-dialog #ins-drill-pager{gap:6px}.ins-dialog #ins-drill-pager>span{font-size:9px}.ins-layout-row label{font-size:11px}.ins-layout-row small{display:block}.ins-layout .ins-note{padding:0 18px}.ins-dialog{width:calc(100vw - 22px)}#ins-layout-list{padding:6px 18px}.ins-release-item strong{font-size:10px}.ins-filter-grid .ins-check{grid-column:1/-1}}
@media(max-width:420px){.ins-filter-grid{grid-template-columns:1fr}.ins-release-grid{grid-template-columns:1fr}.ins-release-controls .ins-control{width:100%}.ins-date-form input{width:128px}.ins-date-form .button{width:100%}.ins-next-card{flex-basis:140px}.ins-money-kpis .ins-kpi strong{font-size:24px}.ins-kpi{padding:14px 12px}.ins-kpi>span{font-size:10px}.ins-status-legend .ins-legend-row{font-size:10px}.ins-run-title{flex-direction:column;gap:3px}.ins-run-title .tag{max-width:none;font-size:8px;margin-bottom:9px}.ins-filter-box>summary{padding:12px}.ins-filter-body{padding:12px}.ins-panel-controls .ins-control{min-width:0;width:100%;flex-basis:100%}.ins-drill footer{justify-content:center}.ins-drill footer>.button{margin-left:0}.ins-record{gap:10px}.ins-record strong{font-size:11px}.ins-record small{font-size:8px}}
@media(max-width:600px){.page-heading.ins-heading>.button{font-size:11px;width:auto;padding:10px 14px}.page-heading.ins-heading>.button svg{margin:0}}
.ins-panel-spend-groups .ins-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;align-items:start}
@media(max-width:750px){.ins-panel-spend-groups .ins-bars{grid-template-columns:1fr}}
/* Cloud preview shell. No private catalogue is rendered before authentication. */
.cloud-login{min-height:100dvh;display:grid;place-items:center;padding:28px;background:var(--bg,#f6f6f0)}
.cloud-login-card{width:min(100%,490px);background:#fffefa;padding:40px;border:1px solid #d9dfd5;border-radius:20px;box-shadow:0 20px 60px #24382c0c}
.cloud-login-card h1{font-family:Georgia,serif;font-size:34px;line-height:1.15;font-weight:500;margin:18px 0}.cloud-login-card p{line-height:1.6}.cloud-login-mark{color:#52674f;margin-top:24px}.cloud-login-card form{display:grid;gap:16px;margin-top:26px}.cloud-login-card form>.button{justify-content:center;min-height:44px}.cloud-login-card .field input{width:100%}.cloud-auth-dialog{border:0;background:none;padding:0;width:min(96vw,500px);max-height:94dvh}.cloud-auth-dialog::backdrop{background:#1d3025da}.cloud-toolbar{position:sticky;top:0;z-index:50;min-height:48px;display:flex;align-items:center;gap:12px;padding:7px 18px;background:#e9eee4;border-bottom:1px solid #cbd5c5;font-size:12px;color:#273b30}.cloud-toolbar[hidden]{display:none}.cloud-toolbar #cloud-message{flex:1;line-height:1.4}.cloud-preview-tag{font-weight:700;font-size:10px;letter-spacing:.08em}.cloud-toolbar-actions{display:flex;gap:6px;flex-wrap:wrap}.cloud-toolbar .button{padding:6px 10px;min-height:32px;font-size:11px}.cloud-toolbar[data-state=error],.cloud-toolbar[data-state=pending]{background:#fff0d4}.cloud-enabled .sidebar{top:48px;height:calc(100dvh - 48px)}.cloud-signout{font-size:12px;padding:5px 10px}
@media(max-width:760px){.cloud-toolbar{position:relative;flex-wrap:wrap;padding:10px 12px}.cloud-toolbar #cloud-message{min-width:200px}.cloud-toolbar-actions{width:100%}.cloud-enabled .sidebar{top:auto;height:auto}.cloud-login-card{padding:26px}.cloud-login-card h1{font-size:29px}.cloud-signout{padding:5px 8px}.topbar-right{gap:7px}}

.cloud-pending-controls{padding:16px 24px;background:#fff0d4;border-top:1px solid #d9b880}.cloud-pending-controls p{line-height:1.5;margin-top:0}
