:root{--bg:#f6f5f2;--surface:#fff;--text:#181818;--muted:#737373;--line:#e8e5df;--accent:#c69a43;--accent2:#111;--radius:20px;--shadow:0 10px 35px rgba(0,0,0,.055)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text);padding-bottom:84px}a{color:inherit;text-decoration:none}.topbar{height:70px;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:0 max(18px,calc((100vw - 1240px)/2));background:rgba(246,245,242,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{font-weight:800;display:flex;align-items:center;gap:10px;margin-right:auto}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--accent2);color:#fff;display:grid;place-items:center}.desktop-nav{display:flex;align-items:center;gap:18px;font-weight:650}.primary-link{background:#111;color:#fff;padding:10px 14px;border-radius:12px}.logout-form{margin:0}.page-shell{width:min(1240px,calc(100% - 30px));margin:26px auto}.btn,.ghost-btn{border:0;cursor:pointer;font:inherit;font-weight:750;border-radius:13px;padding:12px 17px;display:inline-flex;align-items:center;justify-content:center}.btn.primary{background:#111;color:#fff}.btn.secondary,.ghost-btn{background:#fff;border:1px solid var(--line);color:#111}.full{width:100%}.hero{min-height:65vh;display:grid;grid-template-columns:1.3fr .7fr;gap:22px;align-items:center}.hero-copy{padding:30px 10px}.eyebrow,.mini-label{color:#8b6b2d;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:12px}.hero h1{font-size:clamp(42px,6vw,78px);letter-spacing:-.055em;line-height:.98;margin:16px 0 22px;max-width:850px}.hero p{font-size:20px;line-height:1.55;color:var(--muted);max-width:700px}.hero-actions{display:flex;gap:10px;margin-top:28px}.hero-card,.card,.feature-card,.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-card{padding:28px}.hero-card h2{font-size:30px;margin:12px 0 22px}.step-list{display:grid;gap:14px}.step-list div{display:flex;align-items:center;gap:14px}.step-list b{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#f1ece3}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.feature-card{padding:24px}.feature-card>span{font-size:27px}.feature-card h3{margin:14px 0 8px}.feature-card p{color:var(--muted);line-height:1.5;margin:0}.auth-wrap{min-height:75vh;display:grid;place-items:center}.auth-card{width:min(470px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:var(--shadow)}.auth-card h1{font-size:38px;margin:10px 0 24px}.form-stack{display:grid;gap:16px}.form-stack label{display:grid;gap:7px;font-weight:700}.form-stack input,.form-stack textarea,.composer textarea,.date-box input{width:100%;border:1px solid var(--line);background:#fbfbfa;border-radius:13px;padding:13px 14px;font:inherit;outline:none}.form-stack input:focus,.composer textarea:focus,.date-box input:focus{border-color:#9e7a36;box-shadow:0 0 0 3px rgba(198,154,67,.12)}.form-foot{text-align:center;color:var(--muted);margin:20px 0 0}.form-foot a{font-weight:800;color:#111}.alert{padding:12px 14px;border-radius:12px;margin-bottom:16px}.alert.error{background:#fff0f0;color:#8d2020;border:1px solid #f3cdcd}.content-grid{display:grid;grid-template-columns:220px minmax(0,680px) 260px;gap:18px;align-items:start;justify-content:center}.side-card{padding:18px;position:sticky;top:92px;display:grid;gap:8px}.side-card h3{margin:0 0 8px}.side-card a:not(.btn){padding:10px;border-radius:10px;font-weight:650}.side-card a:hover{background:#f6f4ef}.side-card small{color:var(--muted)}.side-card p{color:var(--muted);line-height:1.45}.feed-column{display:grid;gap:14px}.feed-column.narrow{width:min(680px,100%);margin:18px auto}.composer{padding:16px}.composer-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:10px}.composer-tabs label{cursor:pointer;border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:13px;font-weight:700}.composer-tabs input{display:none}.composer-tabs label:has(input:checked){background:#111;color:#fff;border-color:#111}.composer textarea{min-height:100px;resize:vertical}.composer-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px}.composer-actions span{font-size:12px;color:var(--muted)}.post-card{padding:17px}.post-head{display:flex;align-items:center;gap:11px}.post-head>div{display:grid;gap:2px}.post-head small{color:var(--muted)}.avatar,.profile-avatar{background:#181818;color:#fff;display:grid;place-items:center;font-weight:900}.avatar{width:42px;height:42px;border-radius:50%}.post-author{font-weight:800}.post-type{margin-left:auto;background:#f3efe7;color:#806022;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800;text-transform:uppercase}.post-body{font-size:16px;line-height:1.55;padding:16px 2px}.post-stats{display:flex;gap:24px;color:var(--muted);font-size:14px;border-top:1px solid var(--line);padding-top:12px}.empty-card{padding:26px;text-align:center}.empty-card p{color:var(--muted)}.profile-head{padding:24px;display:flex;gap:20px;align-items:flex-start}.profile-avatar{width:88px;height:88px;border-radius:26px;font-size:34px}.profile-main h1{margin:0 0 4px}.muted{color:var(--muted)}.profile-stats{display:flex;gap:20px;margin-top:18px;font-size:14px}.missa-hero{padding:28px;max-width:900px;margin:0 auto 18px}.missa-hero h1{font-size:42px;letter-spacing:-.035em;margin:10px 0}.missa-hero p{color:var(--muted)}.date-box{display:grid;gap:8px;max-width:320px;margin-top:20px;font-weight:800}.mass-parts{max-width:900px;margin:auto;display:grid;gap:10px}.mass-part{padding:18px;display:flex;align-items:center;justify-content:space-between}.mass-part h3{margin:4px 0 0}.bottom-nav{display:none}.bottom-nav a{display:grid;justify-items:center;gap:3px;color:var(--muted);font-weight:700}.bottom-nav span{font-size:21px}.bottom-nav small{font-size:10px}@media(max-width:980px){.content-grid{grid-template-columns:minmax(0,720px)}.desktop-only{display:none}.hero{grid-template-columns:1fr}.hero-card{display:none}.feature-grid{grid-template-columns:1fr}.desktop-nav{display:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:70px;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(15px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr);align-items:center;padding-bottom:env(safe-area-inset-bottom)}body{padding-bottom:82px}.page-shell{margin-top:16px}.hero{min-height:auto;padding:36px 0}.hero h1{font-size:48px}.hero p{font-size:17px}.topbar{height:62px}.logout-form{display:none}}@media(max-width:560px){.page-shell{width:min(100% - 20px,1240px)}.hero h1{font-size:42px}.hero-actions{flex-direction:column}.auth-card{padding:22px}.composer-actions{align-items:flex-end}.composer-actions span{max-width:55%}.profile-head{display:grid}.profile-stats{gap:12px;flex-wrap:wrap}.missa-hero h1{font-size:34px}.mass-part{gap:12px}.mass-part .ghost-btn{padding:10px;font-size:13px}}

/* ===== V0.2: LITURGIA + MÚSICAS ===== */
.auth-nav{display:flex;align-items:center;gap:14px;font-weight:700}.liturgy-top{padding:26px;margin-bottom:24px}.liturgy-title-row{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.liturgy-title-row h1{font-size:clamp(30px,4vw,52px);letter-spacing:-.04em;line-height:1.04;margin:8px 0 12px}.liturgy-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-weight:650}.liturgical-color,.status-badge,.moment-pill,.key-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800}.liturgical-color{background:#f1efe9;color:#403b34}.liturgical-color-verde{background:#e6f4ea;color:#226437}.liturgical-color-vermelho{background:#fbe8e8;color:#8d2929}.liturgical-color-roxo{background:#f0e7f8;color:#6f3c88}.liturgical-color-rosa{background:#fae8ef;color:#954b68}.liturgical-color-branco{background:#f7f7f5;color:#5f5f5a;border:1px solid var(--line)}.status-badge.warning{background:#fff2d7;color:#805f13}.date-nav{display:flex;align-items:center;gap:8px}.date-nav input,.form-stack select{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 12px;font:inherit;color:var(--text)}.ghost-btn.compact{padding:9px 11px;min-width:40px}.quick-jump{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.quick-jump a,.filter-chips a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-size:13px;font-weight:750}.section-block{margin:30px auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}.section-heading h2{font-size:28px;letter-spacing:-.025em;margin:4px 0 0}.text-link{font-weight:800;color:#6d5120}.suggestion-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.suggestion-block{padding:16px;min-height:180px}.suggestion-block-head h3{margin:4px 0 12px}.suggestion-list{display:grid;gap:7px}.suggestion-song{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:14px;padding:10px;background:#fbfaf8;transition:.15s ease}.suggestion-song:hover{transform:translateY(-1px);border-color:#d2c6af}.song-rank{width:28px;height:28px;border-radius:9px;background:#111;color:#fff;display:grid;place-items:center;flex:0 0 auto}.song-copy{min-width:0;display:grid;gap:2px}.song-copy strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.key-pill{background:#f3eee4;color:#77591f;margin-left:auto}.empty-mini{font-size:13px;color:var(--muted);line-height:1.45}.reading-stack{display:grid;gap:12px}.reading-group{padding:18px}.reading-group>h3{font-size:21px;margin:0 0 10px}.reading-item{border-top:1px solid var(--line)}.reading-item:first-of-type{border-top:0}.reading-item summary,.simple-details summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0}.reading-item summary::-webkit-details-marker,.simple-details summary::-webkit-details-marker{display:none}.reading-item summary span:first-child{display:grid;gap:3px}.reading-item summary small{color:var(--muted);font-weight:500}.details-icon{font-size:20px;color:var(--muted)}.reading-item[open] .details-icon{transform:rotate(45deg)}.reading-text{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.75;padding:0 0 18px;color:#2a2926}.psalm-refrain{background:#f6f1e7;border-left:3px solid var(--accent);padding:12px 14px;border-radius:0 10px 10px 0;font-weight:800;margin-bottom:12px}.two-column-section{display:grid;grid-template-columns:1fr 1fr;gap:14px}.prayer-card{padding:20px}.prayer-card h2{margin:5px 0 12px}.simple-details{border-top:1px solid var(--line)}.simple-details p{color:#42413e;line-height:1.65;margin:0 0 16px}.antiphon-box{background:#fbfaf8;border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:10px}.antiphon-box p{line-height:1.55;margin:8px 0 0;color:#4f4d48}.source-note{max-width:900px;margin:26px auto;color:var(--muted);font-size:12px;line-height:1.5;text-align:center}.source-note a{font-weight:800;text-decoration:underline}.library-hero{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.library-hero h1{font-size:40px;margin:6px 0 8px;letter-spacing:-.035em}.library-hero p{color:var(--muted);margin:0}.filter-chips{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.filter-chips a.active{background:#111;color:#fff;border-color:#111}.song-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.song-card{padding:18px;display:block}.song-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.moment-pill{background:#111;color:#fff}.song-card h3{font-size:20px;margin:16px 0 5px}.song-card p{color:var(--muted);margin:0 0 14px}.song-card small{color:#84682f}.song-detail-head{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.song-detail-head h1{font-size:42px;letter-spacing:-.035em;margin:10px 0 5px}.song-detail-head p{color:var(--muted);margin:0}.song-actions{display:flex;gap:8px;flex-wrap:wrap}.chord-card,.lyrics-card{padding:20px;margin-top:14px}.chord-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}.chord-toolbar>div:first-child{display:grid;gap:4px}.transpose-controls{display:flex;gap:6px}.chord-sheet{white-space:pre-wrap;overflow-wrap:anywhere;font:500 16px/1.8 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin:18px 0 0}.chord{display:inline-block;color:#8a6419;font-weight:900;margin-right:3px}.lyrics-text{font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.8;margin-top:12px}.admin-grid{display:grid;grid-template-columns:minmax(0,760px) 340px;gap:16px;align-items:start}.admin-form-card,.admin-list-card{padding:22px}.admin-form-card h1{font-size:34px;margin:6px 0 20px}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-stack select{width:100%}.form-stack small{font-weight:500;color:var(--muted);line-height:1.4}.alert.success{background:#eaf7ed;color:#256136;border:1px solid #cce7d2}.admin-list-card{position:sticky;top:92px}.compact-heading{margin-bottom:10px}.admin-song-list{display:grid;max-height:70vh;overflow:auto}.admin-song-list a{display:grid;gap:3px;padding:11px 4px;border-top:1px solid var(--line)}.admin-song-list a:first-child{border-top:0}.admin-song-list small{color:var(--muted)}
@media(max-width:980px){.auth-nav{display:none}.suggestion-grid,.song-grid{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.admin-list-card{position:static}.liturgy-title-row{display:grid}.date-nav{width:100%;flex-wrap:wrap}.date-nav input{flex:1;min-width:170px}}
@media(max-width:640px){.liturgy-top{padding:18px}.liturgy-title-row h1{font-size:32px}.suggestion-grid,.song-grid,.two-column-section{grid-template-columns:1fr}.section-heading{align-items:flex-start}.library-hero,.song-detail-head{display:grid}.library-hero h1,.song-detail-head h1{font-size:34px}.form-two{grid-template-columns:1fr}.chord-toolbar{align-items:flex-start;display:grid}.transpose-controls{width:100%}.transpose-controls .ghost-btn{flex:1}.today-link{display:none}}
