:root{--bg:#f7f4f0;--surface:#fff;--surface-alt:#f2ede7;--border:#e4ddd4;--text:#2b2420;--muted:#7a6f66;--primary:#8a5a3b;--primary-hover:#744a30;--primary-text:#fff;--success:#2f7d4f;--success-hover:#266841;--success-bg:#e7f4ec;--danger:#b3403a;--danger-hover:#973530;--danger-bg:#fbeceb;--warning:#8a6100;--warning-bg:#fdf3dc;--focus:#8a5a3b59;--shadow:0 1px 2px #2b24200f, 0 2px 8px #2b24200d;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#181513;--surface:#221e1b;--surface-alt:#2b2622;--border:#3a332e;--text:#f1ebe5;--muted:#a89c91;--primary:#c8875c;--primary-hover:#d89a70;--primary-text:#1b1310;--success:#4caf76;--success-hover:#5fc189;--success-bg:#1d3326;--danger:#e0645d;--danger-hover:#ea7a74;--danger-bg:#3a2120;--warning:#e8b54a;--warning-bg:#352b16;--focus:#c8875c66;--shadow:0 1px 2px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}h1,h2,h3,p{margin:0}h1{flex-wrap:wrap;align-items:center;gap:10px;font-size:1.6rem;line-height:1.25;display:flex}h2{font-size:1.2rem}h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;font-size:.8rem}a{color:inherit}.muted{color:var(--muted)}.small{font-size:.85rem}.layout{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.brand-sub{color:var(--muted);font-weight:400}.brand-mark{background:var(--primary);width:32px;height:32px;color:var(--primary-text);border-radius:8px;place-items:center;font-weight:700;display:inline-grid}.brand-mark-large{border-radius:14px;width:52px;height:52px;font-size:1.5rem}.topbar-user{color:var(--muted);align-items:center;gap:12px;min-width:0;font-size:.9rem;display:flex}.topbar-user>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content{flex-direction:column;gap:20px;width:100%;max-width:1040px;margin:0 auto;padding:32px 24px 64px;display:flex}.page-header{flex-direction:column;gap:6px;display:flex}.back-link{color:var(--muted);width:fit-content;font-size:.9rem;text-decoration:none}.back-link:hover{color:var(--primary)}.center-screen{place-items:center;min-height:100vh;display:grid}.center-block{place-items:center;padding:48px 0;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.btn{border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 18px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-alt)}.btn:focus-visible,.suggestion-row:focus-visible,.stat-card:focus-visible,input:focus-visible{box-shadow:0 0 0 3px var(--focus);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-small{min-height:34px;padding:4px 12px;font-size:.875rem}.btn-block{width:100%}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-success{background:var(--success);border-color:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:var(--success-hover)}.btn-danger{border-color:var(--danger);color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--danger-bg)}.alert{border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-size:.925rem;display:flex}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-success{background:var(--success-bg);color:var(--success)}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin;display:inline-block}.btn .spinner{border-color:currentColor #fff6 #fff6;width:18px;height:18px}@keyframes spin{to{transform:rotate(360deg)}}.login-screen{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{flex-direction:column;gap:18px;width:100%;max-width:400px;padding:32px;display:flex}.login-header{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-bottom:4px;display:flex}.field{flex-direction:column;gap:6px;font-size:.9rem;font-weight:600;display:flex}.field input{font:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px 12px;font-weight:400}.field input:focus-visible{border-color:var(--primary)}.stat-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.stat-card{flex-direction:column;gap:4px;text-decoration:none;transition:transform .15s,border-color .15s;display:flex}.stat-card:hover{border-color:var(--primary);transform:translateY(-2px)}.stat-label{color:var(--muted);font-size:.9rem;font-weight:600}.stat-value{align-items:center;min-height:3.1rem;font-size:2.6rem;font-weight:700;line-height:1.2;display:flex}.stat-link{color:var(--primary);margin-top:4px;font-size:.9rem;font-weight:600}.count-badge{background:var(--primary);color:var(--primary-text);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:700}.suggestion-list{margin:0;padding:0;list-style:none;overflow:hidden}.suggestion-list li+li{border-top:1px solid var(--border)}.suggestion-row{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto auto;align-items:center;gap:16px;padding:14px 20px;display:grid}.suggestion-row:hover{background:var(--surface-alt)}.suggestion-row-main{flex-direction:column;min-width:0;display:flex}.suggestion-book{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.suggestion-author{font-size:.875rem}.suggestion-value{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:.9rem;display:-webkit-box;overflow:hidden}.suggestion-row-meta{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.chevron{color:var(--muted);font-size:1.5rem}.tag{background:var(--surface-alt);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.cover{object-fit:cover;background:var(--surface-alt);border-radius:4px;flex-shrink:0}.cover-small{width:44px;height:66px}.cover-large{width:96px;height:144px}.cover-placeholder{color:var(--muted);border:1px solid var(--border);place-items:center;font-weight:700;display:grid}.cover-large.cover-placeholder{font-size:2rem}.list-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pagination{align-items:center;gap:6px;display:flex}.pagination-pages{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pagination-pages .btn{min-width:34px;padding:4px 8px}.pagination-gap{color:var(--muted);padding:0 4px}.empty-state{text-align:center;padding:48px 20px}.empty-title{margin-bottom:4px;font-size:1.1rem;font-weight:700}.detail-grid{grid-template-columns:3fr 2fr;gap:16px;display:grid}.book-card{align-items:flex-start;gap:20px;display:flex}.book-title{margin-bottom:2px}.book-subtitle{margin-bottom:6px}.meta-list{flex-direction:column;gap:14px;margin:0;display:flex}.meta-list dt{color:var(--muted);font-size:.8rem;font-weight:600}.meta-list dd{margin:2px 0 0}.compare{grid-template-columns:1fr 1fr;gap:20px;display:grid}.compare-col{min-width:0}.compare-note{grid-column:1/-1}.value-box{background:var(--surface-alt);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;min-height:52px;padding:14px 16px}.value-suggested{background:var(--success-bg);border-color:var(--success)}.value-long{max-height:420px;font-size:.925rem;overflow-y:auto}.actions{justify-content:flex-end;gap:12px;display:flex}.actions .btn{min-width:130px}.input{width:100%;font:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:10px 12px;font-weight:400}.input:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus);outline:none}textarea.input{resize:vertical;min-height:96px}.field-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.counter{color:var(--muted);font-size:.8rem;font-weight:400}.counter-near{color:var(--danger)}.link-button{font:inherit;color:var(--primary);cursor:pointer;background:0 0;border:0;padding:0;font-size:.85rem}.link-button:hover{text-decoration:underline}.is-loading{opacity:.55;transition:opacity .15s}.stat-unit{color:var(--muted);align-self:flex-end;margin-left:8px;padding-bottom:8px;font-size:1rem;font-weight:600}.page-header-row{flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.page-header-row>div{flex-direction:column;gap:6px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex}.tab{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-weight:600}.tab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.tab:hover{color:var(--text)}.notification-list{margin:0;padding:0;list-style:none;overflow:hidden}.notification-row{align-items:flex-start;gap:16px;padding:16px 20px;display:flex}.notification-row+.notification-row{border-top:1px solid var(--border)}.notification-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.notification-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.notification-title{overflow-wrap:anywhere;font-weight:600}.notification-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.925rem}.notification-meta{flex-wrap:wrap;gap:2px 14px;display:flex}.status{white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:.75rem;font-weight:700}.status-scheduled{background:var(--surface-alt);color:var(--primary);border:1px solid var(--primary)}.status-sending{background:var(--surface-alt);color:var(--text)}.status-sent{background:var(--success-bg);color:var(--success)}.status-failed{background:var(--danger-bg);color:var(--danger)}.status-canceled{background:var(--surface-alt);color:var(--muted);text-decoration:line-through}.notification-form{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.form-main,.form-side{flex-direction:column;gap:16px;min-width:0;display:flex}.form-side{position:sticky;top:76px}.form-section{flex-direction:column;gap:16px;display:flex}.form-section h2{font-size:1.05rem}.choice-group{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice{cursor:pointer;border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.choice:hover{border-color:var(--primary)}.choice-checked{border-color:var(--primary);background:var(--surface-alt)}.choice input{accent-color:var(--primary);margin-top:4px}.choice>span{flex-direction:column;display:flex}.choice-title{font-weight:600}.choice:has(input:focus-visible){box-shadow:0 0 0 3px var(--focus)}.push-preview{background:var(--surface-alt);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.push-preview-header{align-items:center;gap:6px;margin-bottom:4px;font-size:.8rem;display:flex}.push-preview-icon{border-radius:5px;width:18px;height:18px;font-size:.65rem}.push-preview-title{overflow-wrap:anywhere;font-weight:600}.push-preview-body{overflow-wrap:anywhere;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.alert-warning{background:var(--warning-bg);color:var(--warning)}.translations{flex-direction:column;gap:14px;display:flex}.translations-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.translations-header p{max-width:52ch}.translations-actions{flex-shrink:0;align-items:center;gap:14px;display:flex}.translations-actions .btn{min-width:120px}.translation-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.translation-card{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:10px;min-width:0;margin:0;padding:12px 14px 14px;display:flex}.translation-card legend{padding:0 6px;font-size:.9rem;font-weight:600}.translation-card legend .tag{margin-right:2px;padding:1px 7px;font-size:.7rem}.language-switch{flex-wrap:wrap;gap:4px;display:flex}.language-chip{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:700}.language-chip:hover{color:var(--text);border-color:var(--primary)}.language-chip-active{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.language-chip:focus-visible{box-shadow:0 0 0 3px var(--focus);outline:none}.user-picker{flex-direction:column;gap:12px;display:flex}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:var(--surface-alt);border:1px solid var(--border);border-radius:999px;align-items:center;gap:4px;padding:3px 4px 3px 10px;font-size:.85rem;display:inline-flex}.chip button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;width:22px;height:22px;font-size:1rem;line-height:1}.chip button:hover{background:var(--border);color:var(--text)}.user-results{border:1px solid var(--border);border-radius:10px;overflow:hidden}.user-results ul{max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.user-results li+li{border-top:1px solid var(--border)}.user-row{cursor:pointer;align-items:center;gap:12px;padding:10px 14px;display:flex}.user-row:hover{background:var(--surface-alt)}.user-row input{accent-color:var(--primary);flex-shrink:0;width:16px;height:16px}.user-row-main{flex-direction:column;flex:1;min-width:0;display:flex}.user-name,.user-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-empty{text-align:center;padding:16px}.tag-muted{color:var(--muted);font-weight:500}@media (width<=900px){.notification-form{grid-template-columns:1fr}.form-side{position:static}}@media (width<=760px){.detail-grid,.compare{grid-template-columns:1fr}}@media (width<=600px){.hide-mobile{display:none}.topbar{padding:10px 16px}.content{gap:16px;padding:20px 16px 48px}h1{font-size:1.35rem}.suggestion-row{grid-template-columns:auto 1fr auto;gap:12px;padding:12px 14px}.suggestion-row-meta{text-align:left;flex-flow:wrap;grid-area:2/2/auto/3;align-items:center;gap:4px 10px}.chevron{grid-area:1/3/3}.book-card{gap:14px}.cover-large{width:72px;height:108px}.list-footer{text-align:center;flex-direction:column-reverse;align-items:stretch}.pagination{justify-content:center}.choice-group,.translation-grid{grid-template-columns:1fr}.translations-header{flex-direction:column}.translations-actions{justify-content:space-between;width:100%}.notification-row{flex-direction:column;gap:10px;padding:14px}.page-header-row .btn{width:100%}.actions{background:var(--bg);padding:12px 0;position:sticky;bottom:0}.actions .btn{flex:1;min-width:0}}
