:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#000;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;--color-bg: #fff;--color-surface: #fafafa;--color-text: #000;--color-text-muted: #71717a;--color-border: #e4e4e7;--color-danger: #dc2626;--color-success: #15803d;--color-action: #000;--color-action-hover: #18181b;--color-action-text: #fff;--color-disabled: #f4f4f5;--color-disabled-text: #a1a1aa;--radius-sm: 6px;--radius-md: 10px}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--color-bg)}body{min-width:320px;min-height:100vh;margin:0;background:var(--color-bg)}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #000;outline-offset:2px}h1,h2,p{margin:0}.button{display:inline-flex;min-height:36px;align-items:center;justify-content:center;gap:8px;padding:8px 16px;border:1px solid transparent;border-radius:var(--radius-sm);font-size:14px;font-weight:500;line-height:18px;cursor:pointer;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.button-primary{border-color:var(--color-action);color:var(--color-action-text);background:var(--color-action)}.button-primary:hover:not(:disabled){background:var(--color-action-hover)}.button-secondary{border-color:var(--color-border);color:var(--color-text);background:var(--color-bg)}.button-secondary:hover:not(:disabled){background:var(--color-surface)}.button-danger{border-color:var(--color-danger);color:#fff;background:var(--color-danger)}.button-full{width:100%}.button-compact{min-height:32px;padding:6px 12px;font-size:13px}.button:disabled{border-color:var(--color-border);color:var(--color-disabled-text);background:var(--color-disabled);cursor:not-allowed}.login-page{display:grid;min-height:100vh;place-items:center;padding:32px 20px}.login-panel{width:min(350px,100%)}.login-header{margin-bottom:34px;text-align:center}.login-header h1{font-size:20px;font-weight:600;line-height:24px}.login-header p{margin-top:2px;color:var(--color-text-muted);font-size:13px;line-height:18px}.form-stack{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:6px;color:var(--color-text);font-size:14px;font-weight:600}.field input,.field select{width:100%;height:36px;padding:8px 10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-bg);font-size:13px;font-weight:400;line-height:18px}.field input::placeholder{color:var(--color-text-muted)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--color-danger)}.field-error{color:var(--color-danger);font-size:12px;font-weight:400}.divider{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:18px 0;color:var(--color-text-muted)}.divider span{height:1px;background:var(--color-border)}.divider small{font-size:12px}.social-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.social-actions .button{padding-inline:10px;font-size:12px}.alert{padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;line-height:18px}.login-panel>.alert{margin-bottom:18px}.alert-error{border-color:#fecaca;color:#991b1b;background:#fef2f2}.alert-info{color:#3f3f46;background:var(--color-surface)}.topbar{display:flex;align-items:center;justify-content:center;height:96px;background:var(--color-bg)}.topbar-inner{position:relative;display:flex;align-items:center;justify-content:center;width:min(1184px,calc(100% - 40px))}.segmented{display:inline-flex;gap:4px;padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#f1f1f3}.segment{display:inline-flex;min-width:268px;align-items:center;justify-content:center;padding:11px 24px;border-radius:7px;color:var(--color-text-muted);font-size:15px;text-decoration:none;transition:background-color .12s ease,color .12s ease}.segment.active{color:var(--color-text);background:var(--color-bg);box-shadow:0 1px 2px #0000001a}.account-actions{position:absolute;top:50%;right:0;display:flex;align-items:center;gap:16px;transform:translateY(-50%);color:var(--color-text-muted);font-size:13px}.page-container{width:min(1184px,calc(100% - 40px));margin:0 auto;padding:56px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.page-heading h1{font-size:24px;font-weight:600;line-height:32px}.page-heading p{margin-top:4px;color:var(--color-text-muted);font-size:14px;line-height:20px}.heading-actions{display:flex;gap:10px}.toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-top:28px}.search-field{width:min(360px,100%)}.input-with-icon{position:relative;display:block}.input-with-icon svg{position:absolute;top:10px;left:10px;color:var(--color-text-muted)}.input-with-icon input{padding-left:34px}.result-count{color:var(--color-text-muted);font-size:13px;font-weight:400}.result-count-block{margin-top:28px}.data-table-wrapper{margin-top:28px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.data-table{width:100%;border-collapse:collapse;table-layout:fixed}.data-table th,.data-table td{padding:12px 16px;text-align:left;vertical-align:middle}.data-table th{color:var(--color-text-muted);background:var(--color-surface);font-size:12px;font-weight:600;line-height:18px}.data-table td{border-top:1px solid var(--color-border);font-size:13px;line-height:18px}.books-table th:first-child{width:78px}.books-table th:nth-child(2){width:120px}.books-table th:nth-child(4){width:160px}.books-table th:nth-child(6){width:90px}.data-table .actions-column{width:176px}.authors-table th:first-child{width:210px}.book-cover,.cover-placeholder{display:grid;width:32px;height:44px;place-items:center;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);object-fit:cover}.cover-placeholder{color:var(--color-text-muted)}.row-actions{display:flex;gap:14px}.text-button{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;color:var(--color-text);background:transparent;font-size:13px;font-weight:500;cursor:pointer}.text-button-danger{color:var(--color-danger)}.id-cell{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.datatable-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.search-input{position:relative;display:block;width:min(320px,100%)}.search-input svg{position:absolute;top:50%;left:12px;color:var(--color-text-muted);transform:translateY(-50%)}.search-input input{width:100%;height:40px;padding:8px 12px 8px 36px;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);background:var(--color-bg);font-size:14px}.search-input input::placeholder{color:var(--color-text-muted)}.toolbar-actions{display:flex;gap:10px}.toolbar-actions .button{min-height:40px;border-radius:var(--radius-md)}.datatable-card{margin-top:24px;overflow:visible;border:1px solid var(--color-border);border-radius:var(--radius-md)}.datatable{width:100%;border-collapse:collapse;table-layout:fixed}.datatable th,.datatable td{padding:14px 12px;text-align:left;vertical-align:middle}.datatable th{color:var(--color-text-muted);font-size:15px;font-weight:400}.datatable tbody tr{border-top:1px solid var(--color-border)}.datatable td{font-size:15px;line-height:20px}.datatable td strong{font-weight:600}.datatable tbody tr.is-selected{background:var(--color-surface)}.datatable .col-select{width:52px;padding-left:18px}.datatable .col-cover{width:64px;padding-right:0}.datatable .col-pages{width:120px}.datatable .col-menu{width:64px;text-align:right;padding-right:18px}.datatable input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--color-action);cursor:pointer}.datatable .book-cover,.datatable .cover-placeholder{width:44px;height:58px}.sort-header{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;color:var(--color-text-muted);background:transparent;font-size:15px;cursor:pointer}.sort-header .sort-idle{opacity:.4}.sort-header .sort-active{color:var(--color-text);opacity:1}.sort-header .sort-desc{transform:rotate(180deg)}.row-menu{position:relative;display:inline-flex}.menu-trigger{display:grid;width:32px;height:32px;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);color:var(--color-text);background:transparent;cursor:pointer}.menu-trigger:hover{background:var(--color-surface)}.menu-popover{position:absolute;top:calc(100% + 4px);right:0;z-index:10;display:flex;min-width:150px;flex-direction:column;padding:5px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);box-shadow:0 10px 24px -6px #0003}.menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:0;border-radius:5px;color:var(--color-text);background:transparent;font-size:14px;text-align:left;cursor:pointer}.menu-item:hover{background:var(--color-surface)}.menu-item-danger{color:var(--color-danger)}.datatable-footer{display:flex;align-items:center;gap:32px;margin-top:18px;color:var(--color-text-muted);font-size:14px}.footer-selection{flex:1}.footer-pagesize{display:flex;align-items:center;gap:10px}.footer-pagesize select{height:36px;padding:0 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-bg);font-size:14px}.footer-page{color:var(--color-text);font-weight:500}.footer-nav{display:flex;gap:8px}.nav-button{display:grid;width:36px;height:36px;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-bg);cursor:pointer}.nav-button:hover:not(:disabled){background:var(--color-surface)}.nav-button:disabled{color:var(--color-disabled-text);cursor:not-allowed}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:20px;color:var(--color-text-muted);font-size:13px}.pagination>div{display:flex;gap:8px}.status-view,.empty-view{display:flex;min-height:220px;align-items:center;justify-content:center;margin-top:28px;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:14px}.status-view{gap:10px}.empty-view{flex-direction:column;gap:6px;text-align:center}.empty-view strong{color:var(--color-text);font-size:15px}.empty-view p{max-width:360px;line-height:20px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#00000047}.modal{width:min(480px,100%);max-height:calc(100vh - 48px);overflow-y:auto;border-radius:var(--radius-md);background:var(--color-bg);box-shadow:0 12px 32px -4px #0003}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:28px 28px 0}.modal-header h2{font-size:20px;font-weight:600;line-height:28px}.modal-header p{margin-top:4px;color:var(--color-text-muted);font-size:13px;line-height:18px}.icon-button{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);background:var(--color-bg);cursor:pointer}.modal-body{padding:24px 28px 28px}.modal-body>p{color:var(--color-text-muted);font-size:14px;line-height:21px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.import-summary{padding:14px;border:1px solid #bbf7d0;border-radius:var(--radius-sm);color:#166534;background:#f0fdf4;font-size:13px;line-height:19px}.import-summary ul{margin:8px 0 0;padding-left:18px;color:#991b1b}@media(max-width:760px){.topbar{height:56px}.topbar-inner,.page-container{width:calc(100% - 40px)}.nav-links{gap:20px}.nav-links a.active:after{bottom:-19px}.account-actions>span,.account-actions .button svg{display:none}.account-actions .button{min-height:auto;padding:0;border:0;color:var(--color-text-muted);background:transparent}.page-container{padding:28px 0 40px}.page-heading{align-items:flex-start}.page-heading p{display:none}.page-heading .button{padding-inline:12px}.heading-actions .button:first-child{display:none}.toolbar{display:block;margin-top:20px}.result-count{display:block;margin-top:10px}.data-table-wrapper{overflow:visible;border:0}.data-table,.data-table tbody{display:block}.data-table thead{display:none}.data-table tr{display:block;margin-bottom:16px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.data-table td{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:4px 0;border:0;text-align:right}.data-table td:before{color:var(--color-text-muted);content:attr(data-label);font-size:12px;text-align:left}.books-table td:first-child{display:none}.books-table td:nth-child(3),.authors-table td:nth-child(2){justify-content:flex-start;padding-bottom:8px;text-align:left}.books-table td:nth-child(3):before,.authors-table td:nth-child(2):before{display:none}.data-table .row-actions{justify-content:flex-start;padding-top:10px}.data-table .row-actions:before{display:none}.id-cell{white-space:normal}.social-actions{grid-template-columns:1fr}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;border-radius:12px 12px 0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
