@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,600;0,700;1,400&family=DM+Sans:wght@300;400;500;600&display=swap");:root{--cream:#fdf6ec;--cream-dark:#f5e9d6;--navy:#1a2744;--navy-light:#2c3e6b;--amber:#d4860a;--amber-light:#f0a830;--amber-pale:#fef3d8;--sage:#5a7a5c;--rose:#c0534a;--text:#2a2015;--text-muted:#7a6a55;--border:#ddd0bc;--shadow:rgba(26,39,68,.12);--radius:10px;--radius-lg:18px}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--cream);color:var(--text);font-family:DM Sans,sans-serif;font-size:15px;line-height:1.6;min-height:100vh}h1,h2,h3,h4{font-family:Lora,serif;font-weight:700;line-height:1.2}.app-layout{display:flex;flex-direction:column;min-height:100vh}.top-nav{background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 28px;height:60px;gap:24px;box-shadow:0 2px 12px var(--shadow);position:-webkit-sticky;position:sticky;top:0;z-index:100}.top-nav .brand{font-family:Lora,serif;font-size:1.3rem;font-weight:700;color:var(--amber-light);letter-spacing:-.02em;margin-right:16px;white-space:nowrap}.top-nav .brand span{color:#fff;opacity:.6;font-weight:400;font-size:.85rem;margin-left:8px;letter-spacing:0}.nav-btn,.top-nav .brand span{font-family:DM Sans,sans-serif}.nav-btn{background:none;border:none;color:hsla(0,0%,100%,.7);font-size:.9rem;font-weight:500;cursor:pointer;padding:8px 14px;border-radius:6px;transition:all .18s;letter-spacing:.01em}.nav-btn:hover{color:#fff;background:hsla(0,0%,100%,.1)}.nav-btn.active{color:var(--amber-light);background:rgba(212,134,10,.15)}.main-content{flex:1 1;padding:32px 28px;max-width:1400px;margin:0 auto;width:100%}.card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:0 2px 16px var(--shadow);padding:24px}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:8px;border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:.88rem;font-weight:600;transition:all .18s;white-space:nowrap}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-light);transform:translateY(-1px);box-shadow:0 4px 12px rgba(26,39,68,.25)}.btn-amber{background:var(--amber);color:#fff}.btn-amber:hover{background:var(--amber-light);transform:translateY(-1px)}.btn-danger{background:var(--rose);color:#fff}.btn-danger:hover{background:#d6665e}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{background:var(--cream-dark);color:var(--text)}.btn-sm{padding:5px 12px;font-size:.82rem}.field-group{margin-bottom:16px}label{display:block;font-size:.82rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:5px}input[type=email],input[type=number],input[type=text],select,textarea{width:100%;padding:9px 12px;border:1.5px solid var(--border);border-radius:8px;font-family:DM Sans,sans-serif;font-size:.92rem;color:var(--text);background:#fff;transition:border-color .18s,box-shadow .18s;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--navy-light);box-shadow:0 0 0 3px rgba(44,62,107,.12)}textarea{resize:vertical;min-height:80px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px}.section-title{font-family:Lora,serif;font-size:1.6rem;color:var(--navy)}.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:18px;gap:18px}.book-card{background:#fff;border:1.5px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px var(--shadow);position:relative}.book-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px var(--shadow);border-color:var(--amber)}.book-card.selected{border-color:var(--navy);box-shadow:0 0 0 3px rgba(26,39,68,.18)}.book-card-cover{object-fit:cover;background:var(--cream-dark)}.book-card-cover,.book-card-cover-placeholder{width:100%;aspect-ratio:3/4;display:flex;align-items:center;justify-content:center}.book-card-cover-placeholder{background:linear-gradient(135deg,var(--navy) 0,var(--navy-light) 100%);color:hsla(0,0%,100%,.3);font-size:2.5rem}.book-card-info{padding:10px 12px}.book-card-title{font-family:Lora,serif;font-size:.88rem;font-weight:600;color:var(--navy);line-height:1.3;margin-bottom:3px}.book-card-meta{font-size:.78rem;color:var(--text-muted)}.book-card-sku{font-size:.72rem;color:var(--amber);font-weight:600;letter-spacing:.04em}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.03em}.badge-amber{background:var(--amber-pale);color:var(--amber)}.badge-navy{background:#e8ecf5;color:var(--navy)}.badge-sage{background:#e8f0e8;color:var(--sage)}.modal-overlay{position:fixed;inset:0;background:rgba(26,39,68,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:#fff;border-radius:var(--radius-lg);padding:32px;max-width:560px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.25)}.modal-title{font-family:Lora,serif;font-size:1.4rem;color:var(--navy);margin-bottom:20px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.toast-container{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px}.toast{background:var(--navy);color:#fff;padding:12px 20px;border-radius:10px;font-size:.88rem;font-weight:500;box-shadow:0 4px 20px rgba(0,0,0,.2);animation:slideIn .25s ease;display:flex;align-items:center;gap:8px}.toast.success{background:var(--sage)}.toast.error{background:var(--rose)}@keyframes slideIn{0%{transform:translateX(60px);opacity:0}to{transform:translateX(0);opacity:1}}.editor-layout{display:grid;grid-template-columns:300px 1fr;grid-gap:20px;gap:20px;height:calc(100vh - 130px)}.editor-sidebar{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.editor-sidebar-header{padding:16px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.editor-sidebar-scroll{flex:1 1;overflow-y:auto;padding:10px}.page-thumb{border:2px solid transparent;border-radius:8px;padding:8px 10px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:all .15s;margin-bottom:4px}.page-thumb:hover{background:var(--cream-dark)}.page-thumb.active{border-color:var(--navy);background:#e8ecf5}.page-thumb-num{width:28px;height:28px;border-radius:50%;background:var(--cream-dark);color:var(--text-muted);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.page-thumb.active .page-thumb-num{background:var(--navy);color:#fff}.page-thumb-title{font-size:.84rem;font-weight:500;color:var(--text)}.page-thumb-img,.page-thumb-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-thumb-img{font-size:.74rem;color:var(--text-muted)}.editor-main{display:grid;grid-template-rows:auto 1fr;grid-gap:16px;gap:16px;overflow:hidden}.editor-top-bar{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-panels{display:grid;grid-template-columns:1fr 380px;grid-gap:16px;gap:16px;overflow:hidden}.editor-form-panel{padding:20px;overflow-y:auto}.editor-form-panel,.editor-preview-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg)}.editor-preview-panel{padding:16px;display:flex;flex-direction:column;overflow:hidden}.preview-canvas{flex:1 1;position:relative;background:#111;border-radius:8px;overflow:hidden;min-height:200px}.preview-img{width:100%;height:100%;object-fit:contain;display:block}.preview-text-overlay{position:absolute;left:0;right:0;padding:12px;cursor:move}.image-picker-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));grid-gap:8px;gap:8px;max-height:320px;overflow-y:auto}.image-picker-item{border:2px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .15s;position:relative}.image-picker-item:hover{border-color:var(--amber)}.image-picker-item.selected{border-color:var(--navy)}.image-picker-item img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.image-picker-item .img-name{font-size:.7rem;padding:3px 4px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--cream);color:var(--text-muted)}.drag-handle{cursor:-webkit-grab;cursor:grab;color:var(--text-muted);opacity:.5;padding:0 4px}.drag-handle:hover{opacity:1}.catalog-layout{display:grid;grid-template-columns:240px 1fr;grid-gap:20px;gap:20px}.catalog-sidebar{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;max-height:calc(100vh - 130px);overflow-y:auto}.catalog-main{display:flex;flex-direction:column;gap:16px}.catalog-drop-zone{min-height:300px;border:2px dashed var(--border);border-radius:var(--radius-lg);padding:20px;background:var(--cream);transition:all .2s}.catalog-drop-zone.drag-over{border-color:var(--amber);background:var(--amber-pale)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (max-width:900px){.catalog-layout,.editor-layout,.editor-panels{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.w-full{width:100%}.text-sm{font-size:.85rem}.text-muted{color:var(--text-muted)}.font-bold{font-weight:700}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:12px;gap:12px}@media (max-width:640px){.top-nav{gap:8px;flex-wrap:wrap;height:auto;min-height:60px;padding:8px 12px}.top-nav .brand span{display:none}.top-nav .brand{font-size:1.1rem;margin-right:4px}.nav-btn{font-size:.8rem;padding:6px 10px}}