/* Compact journal layout: one shared app surface, a daily card, pill charts and a bottom dock. */
:root{--paper:#f2f1ee;--ink:#292827;--muted:#787774;--yellow:#ffbd28;--yellow-hover:#f7b31b;--line:#e7e5e1}
html{scroll-padding-bottom:110px}body{background:#e1dedd;font-family:'Segoe UI',Arial,sans-serif;letter-spacing:-.015em}
h1{font-size:1.42rem;font-weight:700;letter-spacing:-.035em}h2{font-size:1.06rem;letter-spacing:-.025em}
.sidebar{position:relative;inset:auto;width:min(100%,1040px);margin:24px auto 0;padding:26px 34px 8px;border-radius:30px 30px 0 0;background:var(--paper);display:flex;flex-direction:row;align-items:center;justify-content:space-between;z-index:10}
.sidebar-caption,.sidebar-bottom,.sidebar-note{display:none}.sidebar .brand{font-size:1.32rem;letter-spacing:-.04em}.brand small,.sidebar .brand small{font-size:.7rem;letter-spacing:0;font-weight:400;margin-top:8px;color:var(--muted)}
.mobile-account{display:block;position:relative;right:auto;top:auto;z-index:21}.mobile-account>summary{padding:0;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#ffd5a7;list-style:none;cursor:pointer}.mobile-account>summary::-webkit-details-marker{display:none}.account-initial{font-size:1rem;font-weight:650;color:#7b512f}.mobile-account>div{position:absolute;right:0;top:56px;width:270px;padding:22px;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:0 12px 30px #26201a20}.mobile-account strong{font-size:.9rem}.mobile-account p{font-size:.75rem;color:var(--muted);margin:8px 0 15px}.mobile-account form{margin-top:12px}
.workspace{margin:0 auto 24px;padding:20px 34px 115px;width:min(100%,1040px);max-width:1040px;background:var(--paper);min-height:calc(100vh - 140px);border-radius:0 0 30px 30px}
.sidebar nav{position:fixed;inset:auto auto 18px 50%;transform:translateX(-50%);width:min(540px,calc(100% - 28px));display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:8px 12px;background:#faf9f7f5;backdrop-filter:blur(16px);border:1px solid #e3e0db;border-radius:25px;box-shadow:0 5px 24px #25211b0c;z-index:20}
.sidebar nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;gap:4px;min-height:56px;font-size:.67rem;font-weight:400;color:#85827c;border-radius:16px}.sidebar nav a svg{height:22px;width:22px}.sidebar nav a.active{background:transparent;color:#292827;font-weight:650}.sidebar nav a.active svg{fill:#ffbd2840;stroke:#292827}.sidebar nav a:hover{background:#ebe9e3}.sidebar nav a.active:after{content:'';position:absolute;bottom:3px;width:5px;height:5px;background:var(--yellow);border-radius:50%}
.page-top{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;align-items:center;margin-bottom:20px}.page-top>div:first-child{flex:1;padding-right:52px}.page-top h1{font-size:1.42rem;margin-bottom:5px}.page-top .eyebrow{display:none}.date-title{font-size:.75rem}.page-top>.desktop-date{display:none}.mobile-date{display:block;position:absolute;right:0;top:0;z-index:8}.mobile-date>summary{display:grid;place-items:center;width:48px;height:48px;background:white;border-radius:50%;list-style:none;cursor:pointer}.mobile-date>summary::-webkit-details-marker{display:none}.mobile-date[open]>summary{background:var(--yellow)}.mobile-date>form{position:absolute;right:0;top:56px;width:min(300px,calc(100vw - 32px));background:white;border:1px solid var(--line);box-shadow:0 8px 30px #40372320;border-radius:20px;padding:17px}.mobile-date label{display:block;font-size:.75rem;margin-bottom:8px}.mobile-date .date-controls{flex-wrap:wrap}.mobile-date input{flex-basis:100%;width:100%;background:#f4f3f0!important}.mobile-date button{width:100%}
.page-top>.week-strip{order:3;width:100%;max-width:100%;padding:0;gap:8px;margin:4px 0 0;background:transparent;border-radius:0;flex-shrink:1}.week-day{padding:0;min-height:68px;gap:7px;border-radius:12px}.week-day>span{font-size:.69rem}.week-day strong{height:46px;width:46px;font-size:.81rem;font-weight:600;background:white}.week-day.selected strong{background:var(--yellow)}.week-day:hover{background:transparent}.week-day:hover strong{box-shadow:0 0 0 2px #d4c5a3}.week-day.unavailable{opacity:.5}.week-day.unavailable strong{background:#faf9f7}
.journal-overview{display:grid;grid-template-columns:1.16fr 1fr;gap:26px;align-items:start;margin-bottom:24px}.day-card{position:relative;overflow:hidden;border-radius:20px;background:#ffd15b;height:270px}.day-card img{position:absolute;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:bottom}.day-card>div{position:relative;z-index:1;padding:24px;text-align:center}.day-card h2{font-size:1.04rem;font-weight:650;line-height:1.3;margin-bottom:7px}.day-card p{font-size:.73rem;line-height:1.4;margin:0;color:#62522e}.day-card img{height:74%}.quick-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px}.quick-heading h2{font-size:1rem;margin:0}.quick-heading>a{font-size:.7rem;color:var(--muted);min-height:36px;display:flex;align-items:center}.quick-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-card{display:flex;flex-direction:column;padding:17px;border-radius:18px;background:#efd7d4;min-height:145px}.quick-card:nth-child(2){background:#e3d9f6}.quick-card:hover{text-decoration:none;filter:brightness(.98)}.quick-icon{display:none}.quick-card strong{font-size:.84rem;margin-bottom:7px;font-weight:650}.quick-card>span:not(.quick-icon){font-size:.73rem;line-height:1.5;color:#5e5654}.quick-card small{font-size:.63rem;margin-top:auto;padding-top:17px;color:#746961}
.journal-statistics{text-align:center;padding:15px 0 0}.stat-caption{font-size:.76rem;font-weight:600;margin-bottom:4px}.attendance-number{font-size:3rem;font-weight:750;letter-spacing:-.06em;line-height:1.15}.stat-description{font-size:.71rem;color:var(--muted);margin:8px 0 20px}.pill-chart{padding:18px 16px 15px;background:white;border-radius:20px;text-align:left}.pill-chart h2{font-size:1rem;margin:0 0 2px}.pill-chart>p{font-size:.65rem;color:var(--muted);margin-bottom:15px}.pill-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pill-column{min-width:0;text-align:center}.pill-track{height:166px;background:#f1f0ed;border-radius:50px;overflow:hidden;position:relative;display:flex;align-items:end;justify-content:center}.pill-fill{position:absolute;inset:auto 0 0;border-radius:50px}.present-fill{background:#ffbd28}.absent-fill{background:#805044}.unknown-fill{background:#91a936}.total-fill{background:#898674}.pill-track strong{z-index:1;margin-bottom:16px;display:grid;place-items:center;min-width:35px;height:28px;border-radius:20px;background:#ffffffe6;color:#343129;font-size:.78rem;font-weight:650}.pill-column>span{display:block;font-size:.62rem;letter-spacing:-.025em;margin-top:8px;line-height:1.2;min-height:29px;overflow-wrap:anywhere}.chart-action{display:flex;margin-top:14px;min-height:48px;border-radius:30px;justify-content:space-between;font-size:.79rem;padding:10px 20px}
.completion{padding:12px 16px;background:#e8eadc;border-radius:16px;gap:10px;margin-bottom:12px}.completion strong{font-size:.8rem}.completion .small{font-size:.7rem}.completion-icon{height:25px;width:25px}.completion-track{width:110px;height:5px}.notice{font-size:.75rem;padding:12px 16px;background:#eae7e1;border-radius:16px;gap:4px 12px;margin-bottom:20px}.notice strong{font-size:.75rem}.page-footnote{font-size:.66rem}.section-heading h2{font-size:1.04rem}.section-heading p{font-size:.69rem}.print-button{font-size:.7rem;min-height:48px;border-radius:20px}.table-toolbar{background:transparent;padding:0 0 12px;border-radius:0}.filter-chip{font-size:.71rem;padding:10px 14px;border-radius:20px;min-height:48px}.table-wrap{border-radius:18px}.groups-table th{font-size:.65rem;padding:13px 10px}.groups-table td{font-size:.79rem;padding:14px 10px}.group-link strong{font-size:.88rem}.group-link small{font-size:.65rem}.group-icon{width:38px;height:38px;font-size:1rem;border-radius:13px}.badge{font-size:.63rem}.groups-table .row-arrow{display:none}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.group-switch{gap:6px}.group-switch a{font-size:.76rem;border-radius:30px}.attendance-form,.directory-card,.search-form,.calendar-grid{border-radius:20px}.child-row:nth-child(even){background:white}.child-row fieldset{grid-template-columns:1fr}.child-row legend{padding-top:0}.sheet-header h2{font-size:1.05rem}.save-bar{bottom:102px}.child-row legend{font-size:1rem}.mark-option{font-size:.82rem}.sheet-tools{padding-bottom:16px}.calendar-cell{min-height:100px}
.auth-workspace{display:flex;justify-content:center;align-items:center;padding:28px 16px;min-height:100vh;background:#e1dedd}.journal-login{width:396px;max-width:100%;padding:26px 22px 20px;background:var(--paper);border-radius:30px}.journal-login-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:12px}.journal-login-head h1{font-size:1.17rem;letter-spacing:-.035em;margin-bottom:5px;line-height:1.25}.journal-login-head p{font-size:.69rem;color:var(--muted);margin:0}.login-sun{height:40px;width:40px;display:grid;place-items:center;border-radius:50%;background:#ffd48c;flex-shrink:0}.login-sun svg{height:25px;width:25px}.login-day{height:196px;border-radius:17px}.login-day>div{padding:15px 16px}.login-day h2{font-size:.89rem}.login-day p{font-size:.65rem}.login-day img{height:72%}.journal-login-form{margin-top:20px}.journal-login-form h2{font-size:1.1rem;margin-bottom:5px}.journal-login-form>.muted{font-size:.72rem;margin-bottom:15px}.journal-login-form label{display:block;font-size:.75rem;font-weight:550;margin:12px 0 5px}.journal-login-form input:not([type=hidden]){width:100%;min-height:48px;border-radius:15px;background:white;font-size:.85rem;padding:11px 14px}.journal-login-form .primary{margin-top:20px;min-height:48px;font-size:.85rem;border-radius:30px;justify-content:space-between;padding:10px 20px}.journal-help{font-size:.62rem;color:var(--muted);margin:13px 0 0;line-height:1.5}.journal-login-foot{margin-top:20px;text-align:center;font-size:.64rem;color:#8a857c}.journal-login-foot span{color:#cda03c;margin-right:5px}.journal-login .feedback{margin:8px 0;font-size:.75rem}
@media(max-width:700px){body{background:var(--paper)}.sidebar{margin:0;padding:24px 20px 8px;border-radius:0}.sidebar .brand{font-size:1.13rem}.sidebar .brand small{font-size:.65rem}.mobile-account>summary{height:44px;width:44px}.workspace{padding:16px 20px 110px;margin:0;border-radius:0;min-height:calc(100vh - 100px)}.page-top h1{font-size:1.2rem}.page-top{gap:11px;margin-bottom:18px}.page-top>div:first-child{padding-right:50px}.page-top>.week-strip{gap:4px;margin-top:2px}.week-day{min-height:65px;gap:6px}.week-day strong{width:39px;height:39px;font-size:.77rem}.week-day>span{font-size:.64rem}.mobile-date>summary{height:44px;width:44px}.date-title{font-size:.7rem}.journal-overview{grid-template-columns:1fr;gap:22px}.day-card{height:238px}.day-card>div{padding:18px}.day-card h2{font-size:.95rem}.day-card p{font-size:.71rem}.quick-heading{margin-top:16px;margin-bottom:6px}.quick-heading h2{font-size:.94rem}.quick-card{min-height:141px;padding:15px;border-radius:16px}.quick-card strong{font-size:.8rem}.quick-card>span:not(.quick-icon){font-size:.68rem}.quick-card small{font-size:.61rem;padding-top:13px}.journal-statistics{padding:14px 0 0}.pill-track{height:198px}.pill-columns{gap:10px}.pill-chart{padding:18px 14px 16px}.pill-column>span{font-size:.63rem;min-height:20px}.stat-description{margin-bottom:17px}.chart-action{display:flex;margin-top:13px}.sidebar nav{bottom:calc(12px + env(safe-area-inset-bottom));border:0;box-shadow:0 3px 20px #26211b0c;background:#faf9f7f7;padding:8px 6px;gap:2px;border-radius:23px;width:calc(100% - 20px)}.sidebar nav a{min-height:53px;font-size:.6rem;gap:4px}.sidebar nav a svg{height:20px;width:20px}.completion{gap:8px}.completion>div:first-child{gap:8px}.completion .small{padding-left:33px;flex-basis:100%}.completion-track{width:100%}.notice{font-size:.72rem}.section-heading h2{font-size:1rem}.section-heading p{font-size:.67rem;max-width:210px}.groups-table tr{padding:15px;gap:9px 12px}.groups-table td{padding:0;font-size:.8rem}.groups-table td:nth-child(6){font-size:.65rem}.groups-table td:before{font-size:.62rem}.group-link strong{font-size:.96rem}.group-icon{width:36px;height:36px}.badge{font-size:.64rem}.filter-chip{font-size:.67rem;padding:10px 11px}.table-toolbar{gap:4px}.group-switch{margin-bottom:14px}.group-switch a{font-size:.73rem;padding:12px}.workspace:has(#sheet-panel) .page-top{margin-bottom:14px}.sheet-tools{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px;padding:14px 12px}.sheet-tools button{font-size:.7rem;padding:10px 8px;min-height:56px}.fill-progress{min-width:0}.fill-progress strong{font-size:.73rem}.child-row{padding:17px 12px}.child-row legend{font-size:1rem}.mark-option{font-size:.72rem}.mark-option span{padding:9px 3px}.save-bar{bottom:94px}.directory-grid{grid-template-columns:1fr}.calendar-cell{min-height:85px}.auth-workspace{padding:0;align-items:start;background:var(--paper)}.journal-login{width:396px;padding:25px 20px 20px;border-radius:0}.login-day{height:195px}.login-day>div{padding:15px 16px}.login-day h2{font-size:.9rem}.login-day p{font-size:.67rem}.journal-login-form{margin-top:20px}.journal-login-foot{margin-top:20px}}
@media print{body{background:white}.sidebar,.journal-day-column,.chart-action,.mobile-date,.quick-cards{display:none!important}.workspace{margin:0;padding:0;width:100%;max-width:none;background:white}.journal-overview{display:block}.journal-statistics{padding:0;max-width:450px;margin:0 auto 20px}.pill-track{height:100px;border:1px solid #aaa}.pill-fill{print-color-adjust:exact;-webkit-print-color-adjust:exact}.pill-chart>p{color:black}.attendance-number{font-size:28px}.completion{border:1px solid #999;background:white}.groups-table th,.groups-table td{font-size:12px}.groups-table tr{break-inside:avoid}}

@media(min-width:701px) and (max-height:760px){.auth-workspace{padding:14px}.journal-login{padding:20px 22px 16px}.journal-login-head{margin-bottom:14px}.login-day{height:164px}.journal-login-form{margin-top:16px}.journal-login-form>.muted{margin-bottom:10px}.journal-login-form label{margin-top:10px}.journal-login-form .primary{margin-top:17px}.journal-login-foot{margin-top:14px}}
