:root{--navy:#1f3864;--navy-soft:#2a4a7f;--red:#c00000;--line:#dde3ec;--bg:#f5f7fb;--text:#1a1f2b;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:6px;padding:.45rem .8rem}button:hover{border-color:var(--navy-soft)}button.primary{background:var(--navy);color:#fff;border-color:var(--navy)}button.primary:hover{background:var(--navy-soft)}button:disabled{opacity:.55;cursor:default}input,select,textarea{font:inherit;border:1px solid var(--line);background:#fff;border-radius:6px;padding:.4rem .55rem}.muted{color:#6b7280}.small{font-size:.82rem}.block{width:100%;display:block}.error{color:var(--red);font-size:.9rem}.auth-screen{place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;width:360px;max-width:100%;padding:1.75rem;display:flex;box-shadow:0 10px 30px #1f386414}.auth-card h1{color:var(--navy);margin:0;font-size:1.25rem}.auth-card label{color:#4b5563;flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.auth-tabs{gap:.5rem;display:flex}.auth-tabs button{flex:1}.auth-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}.workspace{flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--navy);color:#fff;justify-content:space-between;align-items:center;padding:.7rem 1.1rem;display:flex}.topbar .muted{color:#c7d2e8}.topbar-right{align-items:center;gap:.75rem;display:flex}.topbar-right .muted{color:#c7d2e8}.workspace-body{flex:1;grid-template-columns:240px 1fr;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;padding:1rem}.sidebar h3{margin:1.2rem 0 .5rem;font-size:.95rem}.saved-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.saved-list li{border-radius:6px;align-items:center;display:flex}.saved-list li.active{background:#eef2fb}.saved-list .link{text-align:start;background:0 0;border:none;flex:1;padding:.4rem .5rem}.saved-list .icon{color:#9aa3b2;background:0 0;border:none;font-size:1.1rem}.main{min-width:0;padding:1.1rem 1.4rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.title-input{min-width:220px;font-weight:600}.section-input{min-width:160px}.toolbar .spacer{flex:1}.toggle{align-items:center;gap:.35rem;font-size:.9rem;display:flex}.inputs{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.2rem;display:grid}.siddur-input{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:.55rem;padding:.8rem;display:flex}.si-head{align-items:center;gap:.5rem;display:flex}.si-badge{background:var(--navy);color:#fff;border-radius:5px;padding:.15rem .5rem;font-size:.78rem}.label-input{flex:1}.si-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.si-controls .range input{width:3.4rem}.heb-input{resize:vertical;font-family:Frank Ruhl Libre,David Libre,serif;font-size:17px;line-height:1.9}.sbs{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.sbs-col{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.sbs-head{background:var(--navy);color:#fff;text-align:center;padding:.55rem;font-weight:600}.sbs-body{max-height:360px;padding:1rem 1.2rem;overflow-y:auto}.heb-text{text-align:right;direction:rtl;unicode-bidi:embed;font-family:Frank Ruhl Libre,David Libre,serif;font-size:18px;line-height:2.1}.heb-text .diff{color:var(--red);font-weight:700}.legend{align-items:center;gap:1.5rem;margin:.8rem 0 1.4rem;font-size:.9rem;display:flex}.swatch{vertical-align:-1px;border-radius:3px;width:.9rem;height:.9rem;margin-inline-end:.35rem;display:inline-block}.swatch.black{background:#000}.swatch.red{background:var(--red)}.source-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;width:100%}.source-table th{background:var(--navy);color:#fff;padding:.55rem;font-size:.85rem}.source-table td{border-top:1px solid var(--line);padding:.4rem .55rem}.source-table tr:nth-child(2n) td{background:#f7f9fd}.source-table .heb{text-align:right;direction:rtl;font-family:Frank Ruhl Libre,David Libre,serif;font-size:18px}.source-table .diff-cell{color:var(--red);font-weight:700}.source-table input{background:0 0;border:1px solid #0000;width:100%}.source-table input:focus{border-color:var(--line);background:#fff}h2{color:var(--navy);border-bottom:2px solid var(--navy);padding-bottom:.3rem;font-size:1.1rem}@media (width<=820px){.workspace-body,.inputs,.sbs{grid-template-columns:1fr}}.nav-page{text-align:start;width:100%;margin-bottom:.4rem;font-weight:600;display:block}.nav-page.active{background:var(--navy);color:#fff;border-color:var(--navy)}.nav-group{margin-top:.9rem}.nav-group-title{text-transform:uppercase;letter-spacing:.04em;color:#8a93a3;margin:.4rem 0 .25rem;font-size:.72rem}.nav-group ul{margin:0;padding:0;list-style:none}.nav-section{text-align:start;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;width:100%;padding:.35rem .4rem;font-size:.9rem;display:flex}.nav-section:hover{background:#eef2fb}.nav-section.active{background:#e3e9f7;font-weight:600}.status-dot{border:1px solid #cbd3e0;border-radius:50%;flex:none;width:.6rem;height:.6rem}.dot-none{background:#fff}.dot-progress{background:#e0a800;border-color:#e0a800}.dot-done{background:#2e7d32;border-color:#2e7d32}.section-view{min-width:0}.section-head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.heb-title{color:var(--navy);direction:rtl;margin:0;font-family:David Libre,serif;font-size:1.6rem}.section-actions{align-items:center;gap:.5rem;display:flex}.ref-input{flex:1;min-width:12rem}.note{color:#2e7d32}.assist,.comments{border-top:1px solid var(--line);margin-top:1.6rem;padding-top:1rem}.assist-table,.library-table,.tracker-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;width:100%;margin-top:.7rem}.assist-table th,.library-table th,.tracker-table th{background:var(--navy);color:#fff;text-align:start;padding:.45rem;font-size:.82rem}.assist-table td,.library-table td,.tracker-table td{border-top:1px solid var(--line);vertical-align:top;padding:.45rem}.assist-table tr.dim{opacity:.5}.heb{direction:rtl;font-family:David Libre,Frank Ruhl Libre,serif;font-size:17px}.badge{background:#eef2fb;border-radius:4px;padding:.1rem .45rem;font-size:.75rem;display:inline-block}.badge.yes{color:#1e5620;background:#d8ecd9}.badge.no{color:#7a1f1f;background:#f1d9d9}.badge.status-complete{color:#1e5620;background:#d8ecd9}.badge.status-in_progress{color:#7a5b00;background:#faedcc}.badge.status-not_started{color:#555;background:#eceff3}.draft{background:#f7f9fd;border-radius:6px;margin-top:.4rem;padding:.5rem}.comment-list{flex-direction:column;gap:.5rem;margin:.5rem 0;padding:0;list-style:none;display:flex}.comment-list li{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.5rem .7rem}.comment-head{align-items:center;gap:.5rem;display:flex}.comment-head .icon{margin-inline-start:auto}.comment-list p{margin:.3rem 0 0}.comment-form{align-items:flex-start;gap:.5rem;display:flex}.comment-form textarea{flex:1}.page{max-width:900px}.sefer-form{flex-wrap:wrap;gap:.5rem;margin:.8rem 0;display:flex}.sefer-form input{flex:1;min-width:10rem}.stats{flex-wrap:wrap;gap:1rem;margin:1rem 0;display:flex}.stat{border:1px solid var(--line);background:#fff;border-radius:10px;padding:.8rem 1.2rem}.stat-num{color:var(--navy);font-size:1.6rem;font-weight:700;display:block}.link{color:var(--navy);background:0 0;border:none;padding:0;text-decoration:underline}.accounts{max-width:640px}.accounts-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;width:100%;margin:1rem 0 2rem}.accounts-table th,.accounts-table td{text-align:left;border-bottom:1px solid var(--line);padding:.5rem .8rem}.accounts-form{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:.7rem;max-width:360px;padding:1rem 1.2rem;display:flex}.accounts-form label{flex-direction:column;gap:.25rem;display:flex}.success{color:#1a7f37}
