:root{--navy:#1a2744;--navy-light:#2d4a7a;--crimson:#9b1b30;--crimson-hover:#7e1526;--gold:#c9a84c;--cream:#faf6f0;--dark:#1a1a2e;--gray:#6b7280;--gray-light:#9ca3af;--light-gray:#f3f4f6;--border:#e5e7eb;--white:#fff;--shadow:0 1px 3px #0000001a;--shadow-lg:0 4px 12px #0000001a;--shadow-btn:0 1px 2px #0000000d;--radius:8px;--radius-sm:6px;--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background:var(--cream);color:var(--dark);-webkit-font-smoothing:antialiased}a{color:var(--crimson);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:var(--font-sans)}input,textarea,select{font-family:var(--font-sans);font-size:.95rem}.login-page{background:linear-gradient(135deg, var(--navy) 0%, #0f1a2e 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login-page .brand{font-family:var(--font-sans);color:var(--white);letter-spacing:.02em;margin-bottom:.5rem;font-size:2rem}.login-page .brand-sub{color:var(--gold);text-transform:uppercase;letter-spacing:.15em;margin-bottom:2rem;font-size:.9rem}.login-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:420px;padding:2.5rem}.login-card h1{font-family:var(--font-sans);color:var(--navy);margin-bottom:.25rem;font-size:1.5rem}.login-card p{color:var(--gray);margin-bottom:1.5rem;font-size:.9rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border);background:var(--white);border-radius:6px;width:100%;padding:.65rem .85rem;font-size:.95rem;transition:border-color .2s}input[type=checkbox]{width:16px;height:16px;accent-color:var(--crimson);cursor:pointer;flex-shrink:0;margin:0}label:has(>input[type=checkbox]){cursor:pointer;text-transform:none;letter-spacing:0;align-items:center;gap:.5rem;margin-bottom:0;font-weight:400;display:flex}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--crimson);outline:none;box-shadow:0 0 0 3px #9b1b301a}.form-group textarea{resize:vertical;min-height:100px}.btn{border-radius:var(--radius-sm);letter-spacing:.01em;cursor:pointer;box-shadow:var(--shadow-btn);border:none;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.88rem;font-weight:600;line-height:1.4;transition:all .15s;display:inline-flex}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #9b1b3040}.btn-primary{background:var(--crimson);color:var(--white)}.btn-primary:hover{background:var(--crimson-hover);box-shadow:0 2px 4px #00000026}.btn-secondary{background:var(--white);color:var(--dark);border:1px solid var(--border);box-shadow:none}.btn-secondary:hover{background:var(--light-gray);border-color:#d1d5db}.btn-danger{color:var(--white);background:#dc2626}.btn-danger:hover{background:#b91c1c;box-shadow:0 2px 4px #00000026}.btn-ghost{color:var(--gray);box-shadow:none;background:0 0}.btn-ghost:hover{background:var(--light-gray);color:var(--dark)}.btn-sm{padding:.35rem .8rem;font-size:.78rem}.btn-lg{padding:.75rem 1.5rem;font-size:1rem}.btn-block{justify-content:center;width:100%}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--navy);width:240px;color:var(--white);flex-direction:column;flex-shrink:0;display:flex}.admin-sidebar .brand{border-bottom:1px solid #ffffff1a;padding:1.5rem}.admin-sidebar .brand h2{font-family:var(--font-sans);font-size:1.25rem}.admin-sidebar .brand small{color:var(--gold);text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.admin-sidebar nav{flex:1;padding:1rem 0}.admin-sidebar nav a{color:#ffffffa6;letter-spacing:.01em;border-left:3px solid #0000;align-items:center;gap:.75rem;padding:.72rem 1.5rem;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex;position:relative}.admin-sidebar nav a:hover{color:#ffffffeb;background:#ffffff0f;border-left-color:#ffffff26}.admin-sidebar nav a.active{color:#fff;border-left-color:var(--gold);background:#ffffff14;font-weight:600}.admin-sidebar nav a svg{opacity:.7;flex-shrink:0;width:18px;height:18px;transition:opacity .15s}.admin-sidebar nav a:hover svg,.admin-sidebar nav a.active svg{opacity:1}.admin-sidebar nav a svg{flex-shrink:0;width:18px;height:18px}.sidebar-footer{border-top:1px solid #ffffff1a;padding:1rem 1.5rem}.sidebar-footer button{color:#ffffffbf;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem 0;font-size:.9rem;display:flex}.sidebar-footer button:hover{color:var(--white)}.admin-main{flex-direction:column;flex:1;display:flex;overflow-x:hidden}.admin-header{background:var(--white);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.admin-header h1{font-family:var(--font-sans);color:var(--navy);font-size:1.35rem}.admin-content{flex:1;padding:2rem;overflow-y:auto}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.5rem}.card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.card-header h2{font-family:var(--font-sans);color:var(--navy);font-size:1.15rem}.table-container{overflow-x:auto}table{border-collapse:collapse;width:100%}table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);border-bottom:2px solid var(--border);padding:.7rem .85rem;font-size:.8rem;font-weight:600}table td{border-bottom:1px solid var(--border);padding:.7rem .85rem;font-size:.9rem}table tr:hover td{background:var(--cream)}table td.actions{gap:.4rem;display:flex}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-feature{color:#1e40af;background:#dbeafe}.badge-report{color:#9d174d;background:#fce7f3}.badge-update,.badge-published{color:#065f46;background:#d1fae5}.badge-draft{color:#92400e;background:#fef3c7}.badge-approved{color:#065f46;background:#d1fae5}.badge-pending{color:#92400e;background:#fef3c7}.badge-rejected{color:#991b1b;background:#fee2e2}.badge-paid{color:#065f46;background:#d1fae5}.badge-unpaid{color:#991b1b;background:#fee2e2}.badge-tier-free{color:#475569;background:#f1f5f9}.badge-tier-silver{color:#334155;background:#e2e8f0}.badge-tier-gold{color:#92400e;background:#fef3c7}.badge-tier-platinum{color:#5b21b6;background:#ede9fe}.badge-inq-new{color:#92400e;background:#fef3c7}.badge-inq-contacted{color:#065f46;background:#d1fae5}.badge-inq-closed{color:#475569;background:#f1f5f9}.badge-order-pending{color:#92400e;background:#fef3c7}.badge-order-paid{color:#065f46;background:#d1fae5}.badge-order-shipped{color:#1e40af;background:#dbeafe}.badge-order-delivered{color:#5b21b6;background:#ede9fe}.badge-order-cancelled{color:#991b1b;background:#fee2e2}.loading-screen{justify-content:center;align-items:center;min-height:100vh;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--crimson);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.flash{border-radius:6px;margin-bottom:1rem;padding:.85rem 1.25rem;font-size:.9rem}.flash-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.flash-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.empty-state{text-align:center;color:var(--gray);padding:4rem 2rem}.empty-state svg{opacity:.5;width:48px;height:48px;margin-bottom:1rem}.empty-state h3{font-family:var(--font-sans);color:var(--dark);margin-bottom:.5rem}.confirm-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:90%;max-width:400px;padding:2rem}.confirm-dialog h3{font-family:var(--font-sans);margin-bottom:.5rem}.confirm-dialog p{color:var(--gray);margin-bottom:1.5rem;font-size:.9rem}.confirm-dialog .actions{justify-content:flex-end;gap:.75rem;display:flex}.editor-wrapper{border:1px solid var(--border);border-radius:6px}.editor-toolbar{border-bottom:1px solid var(--border);background:var(--light-gray);z-index:10;border-radius:6px 6px 0 0;flex-wrap:wrap;gap:2px;padding:.5rem;display:flex;position:sticky;top:0;box-shadow:0 2px 6px #0000000f}.editor-toolbar button{color:var(--dark);background:0 0;border:none;border-radius:4px;padding:.35rem .5rem;font-size:.85rem;transition:all .15s}.editor-toolbar button:hover,.editor-toolbar button.is-active{background:var(--white);color:var(--crimson);box-shadow:0 1px 2px #0000001a}.editor-content{outline:none;min-height:400px;padding:1.25rem}.editor-content h1{font-family:var(--font-sans);letter-spacing:-.02em;margin:1rem 0 .5rem;font-size:1.75rem;font-weight:700}.editor-content h2{font-family:var(--font-sans);letter-spacing:-.01em;margin:.85rem 0 .4rem;font-size:1.4rem;font-weight:600}.editor-content h3{font-family:var(--font-sans);margin:.7rem 0 .3rem;font-size:1.15rem;font-weight:600}.editor-content p{margin:.5rem 0;line-height:1.7}.editor-content blockquote{border-left:3px solid var(--crimson);background:var(--cream);margin:1rem 0;padding:.75rem 1.25rem;font-style:italic}.editor-content blockquote.book-excerpt,.editor-content div.book-excerpt,.editor-content p.book-excerpt{color:#333;background:0 0;border:none;margin:1rem 3rem;padding:0;font-size:.95em;font-style:normal}.editor-content blockquote.book-excerpt p,.editor-content div.book-excerpt p{margin:.5rem 0}.editor-content pre{color:#e2e8f0;background:#1e293b;border-radius:6px;margin:1rem 0;padding:1rem;font-size:.85rem;overflow-x:auto}.editor-content img{border-radius:6px;max-width:100%;margin:1rem 0}.editor-content figure{text-align:center;margin:1rem auto}.editor-content figure.img-lg{max-width:78%}.editor-content figure.img-md{max-width:62%}.editor-content figure.img-sm{max-width:42%}.editor-content figure img{border-radius:6px;max-width:100%;margin:0 auto;display:block}.editor-content figcaption{color:var(--gray);text-align:center;margin-top:.5rem;font-size:.82rem}.editor-content .selectedNode,.editor-content figure.ProseMirror-selectednode{outline:2px solid var(--crimson);outline-offset:2px;border-radius:6px}.editor-content .figure{flex-direction:column;align-items:center;margin:1rem auto;display:flex}.editor-content .figure.img-sm{max-width:42%}.editor-content .figure.img-md{max-width:62%}.editor-content .figure.img-lg{max-width:78%}.editor-content .figure img{border-radius:6px;max-width:100%;display:block}.figure-caption-input{text-align:center;border:1px dashed var(--border);background:var(--white);width:100%;color:var(--dark);border-radius:4px;outline:none;margin-top:6px;padding:.3rem .5rem;font-size:.82rem}.figure-caption-input:focus{border-color:var(--navy)}.figure-size-row{color:var(--gray);align-items:center;gap:6px;margin-top:6px;font-size:.72rem;display:flex}.figure-size-btn{border:1px solid var(--border);background:var(--white);color:var(--dark);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:.3rem .6rem;font-size:.78rem;transition:all .15s;display:inline-flex}.figure-size-btn:hover{border-color:var(--navy)}.figure-size-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}.editor-content ul,.editor-content ol{margin:.5rem 0;padding-left:1.5rem}.editor-content li{margin:.25rem 0}.editor-content .callout{border-left:4px solid var(--gold);background:#fffbeb;border-radius:6px;margin:1rem 0;padding:1rem 1.25rem;font-size:.95rem}.editor-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);color:#adb5bd;pointer-events:none;float:left;height:0}.toolbar-sep{background:var(--border);vertical-align:middle;width:1px;height:20px;margin:0 2px;display:inline-block}.spinner-small{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin;display:inline-block}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.stat-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.stat-card .stat-value{font-family:var(--font-sans);color:var(--navy);margin-bottom:.25rem;font-size:2rem}.stat-card .stat-label{color:var(--gray);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-4{margin-top:1rem}.text-sm{font-size:.85rem}.text-gray{color:var(--gray)}.font-serif{font-family:var(--font-sans);font-weight:600}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.max-w-lg{max-width:800px}
