:root{color:#17211b;background:#f6f3ea;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}.shell{max-width:1120px;min-height:100vh;margin:0 auto;padding:64px 24px}.hero{max-width:760px;padding:72px 0 48px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-weight:800}h1{letter-spacing:-.055em;margin:12px 0 24px;font-size:clamp(3rem,8vw,6.5rem);line-height:.95}.lede{max-width:640px;font-size:1.25rem;line-height:1.6}.actions{flex-wrap:wrap;gap:12px;margin-top:32px;display:flex}.primary,.secondary{cursor:pointer;border-radius:999px;padding:14px 20px;font-weight:700}.primary{color:#fff;background:#17211b;border:1px solid #17211b}.secondary{color:#17211b;background:0 0;border:1px solid #17211b}.card{background:#fff;border:1px solid #ddd8cb;border-radius:24px;padding:32px}.auth-shell,.app-shell{width:min(1120px,100% - 32px);min-height:100vh;margin:0 auto;padding:56px 0}.auth-shell{place-items:center;display:grid}.auth-card{background:#fff;border:1px solid #ddd8cb;border-radius:28px;width:min(100%,560px);padding:clamp(28px,6vw,48px);box-shadow:0 18px 60px #17211b14}.auth-title,.app-title{letter-spacing:-.045em;margin:14px 0 16px;font-size:clamp(2.2rem,6vw,4rem);line-height:1}.auth-copy{color:#536058;margin:0 0 28px;line-height:1.6}.auth-form,.compact-form{gap:10px;display:grid}.auth-form label,.compact-form label{margin-top:8px;font-size:.9rem;font-weight:800}.auth-form input,.auth-form select,.compact-form input,.compact-form select,.compact-form textarea{color:#17211b;background:#fff;border:1px solid #c8cfc9;border-radius:12px;outline:none;width:100%;min-height:48px;padding:11px 13px}.compact-form textarea{resize:vertical;min-height:96px;line-height:1.45}.auth-form input:focus,.auth-form select:focus,.compact-form input:focus,.compact-form select:focus,.compact-form textarea:focus{border-color:#17211b;box-shadow:0 0 0 3px #17211b1a}.auth-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.form-button{appearance:none;border-radius:999px}.form-message{border-radius:12px;padding:12px 14px;line-height:1.45}.error-message{color:#762e22;background:#fff0ed;border:1px solid #e8b8ae}.success-message{color:#225d2c;background:#edf7ef;border:1px solid #b9d8bf}.app-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:32px;display:flex}.family-stack{gap:30px;display:grid}.family-workspace{gap:16px;display:grid}.family-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.family-heading h2,.workspace-columns h3,.curriculum-card h3{letter-spacing:-.03em;margin:6px 0 8px}.family-heading h2{font-size:clamp(2rem,4vw,3rem)}.workspace-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.workspace-columns h3,.curriculum-card h3{font-size:1.6rem}.workspace-counts{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.workspace-counts span,.count-pill{white-space:nowrap;background:#f2efe6;border-radius:999px;padding:9px 13px}.workspace-counts strong,.count-pill strong{margin-right:3px}.record-list{border-top:1px solid #ece8dd;margin:16px 0 22px}.record-row{border-bottom:1px solid #ece8dd;justify-content:space-between;gap:16px;padding:12px 0;display:flex}.record-row span{color:#66716a;text-align:right}.compact-form{margin-top:18px}.compact-form .form-button{justify-self:start;margin-top:10px}.date-grid,.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.date-grid>div,.form-grid-2>div{gap:10px;display:grid}.optional{color:#7b847e;font-weight:500}.workspace-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.workspace-grid h2{letter-spacing:-.03em;margin:8px 0 6px;font-size:1.8rem}.muted{color:#66716a;line-height:1.55}.onboarding-card{margin:24px auto 0}.section-heading-row{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-heading-row>div{max-width:720px}.resource-row>div:first-child{gap:4px;display:grid}.resource-meta{flex-wrap:wrap;justify-content:flex-end;align-items:flex-start;gap:6px;display:flex}.resource-meta span{color:#536058;background:#f6f3ea;border-radius:999px;padding:5px 9px;font-size:.86rem}.curriculum-form{max-width:860px}.calendar-list{margin-bottom:28px}.calendar-row{border-bottom:1px solid #ece8dd;grid-template-columns:120px minmax(0,1fr) auto;align-items:start;gap:18px;padding:16px 0;display:grid}.calendar-date,.calendar-main{gap:4px;display:grid}.calendar-date span,.calendar-main span,.calendar-main small{color:#66716a}.calendar-main small{line-height:1.4}.calendar-actions{justify-items:end;gap:8px;min-width:150px;display:grid}.inline-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.mini-button{appearance:none;color:#17211b;cursor:pointer;background:#fff;border:1px solid #c8cfc9;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:800}.mini-button:hover{border-color:#17211b}.shift-button{background:#f2efe6}.status-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}.status-planned{color:#405047;background:#eef1ef}.status-completed{color:#225d2c;background:#e7f5e9}.status-missed{color:#7b4b0a;background:#fff2df}.status-cancelled{color:#6c5555;background:#f2eeee}.planning-forms{border-top:1px solid #ece8dd;margin-top:12px;padding-top:12px}.planning-forms .compact-form{padding:4px 0}@media (max-width:760px){.workspace-columns{grid-template-columns:1fr}.family-heading,.section-heading-row{flex-direction:column;align-items:flex-start}.workspace-counts{justify-content:flex-start}.record-row{flex-direction:column;gap:4px}.record-row span{text-align:left}.resource-meta{justify-content:flex-start}.calendar-row{grid-template-columns:1fr;gap:8px}.calendar-actions{justify-items:start;min-width:0}.inline-actions{justify-content:flex-start}}@media (max-width:640px){.shell{padding-top:28px}.hero{padding-top:42px}.auth-shell,.app-shell{padding:24px 0 40px}.app-header{flex-direction:column;align-items:stretch}.auth-actions>*{flex:100%}.date-grid,.form-grid-2{grid-template-columns:1fr}.card{padding:24px}}
